Activation Function
Khám phá cách các hàm kích hoạt như ReLU, Sigmoid và SiLU hỗ trợ deep learning. Tìm hiểu cách Ultralytics YOLO26 sử dụng chúng để làm chủ các mẫu hình ảnh phức tạp.
Hàm kích hoạt là một thành phần cơ bản của neural network (NN) giúp xác định đầu ra của một nơ-ron dựa trên tập hợp các đầu vào. Thường được ví như "người gác cổng", nó quyết định xem một nơ-ron có nên hoạt động hay không—nghĩa là liệu nó có đóng góp vào dự đoán của mạng lưới hay không. Nếu không có các phép toán này, neural network sẽ hoạt động giống như một mô hình linear regression đơn giản và không thể nắm bắt được các mô hình phức tạp bất kể độ sâu của nó. Bằng cách đưa vào tính phi tuyến tính, các hàm kích hoạt cho phép các mô hình deep learning (DL) học được các cấu trúc tinh vi, chẳng hạn như các đường cong trong chữ số viết tay hoặc những điểm bất thường nhỏ trong medical image analysis.
Link to this sectionChức năng cốt lõi và các loại phổ biến#
Vai trò chính của hàm kích hoạt là ánh xạ các tín hiệu đầu vào sang một phạm vi đầu ra mong muốn và đưa tính phức tạp vào các feature maps được tạo bởi mạng lưới. Các nhà phát triển lựa chọn các hàm cụ thể dựa trên vị trí của lớp và mục tiêu của quá trình model training.
- ReLU (Rectified Linear Unit): Hiện là hàm được sử dụng rộng rãi nhất cho các lớp ẩn. Nó xuất dữ liệu đầu vào trực tiếp nếu giá trị đó dương và bằng không nếu ngược lại. Sự đơn giản này giúp tăng tốc tính toán và giảm thiểu vấn đề vanishing gradient, một thách thức thường gặp khi huấn luyện các kiến trúc chuyên sâu.
- Sigmoid: Hàm này "ép" các giá trị đầu vào vào phạm vi từ 0 đến 1. Nó thường được sử dụng trong lớp cuối cùng cho các tác vụ phân loại nhị phân, chẳng hạn như xác định xem một email có phải là thư rác hay không, vì đầu ra có thể được hiểu là một probability score.
- Softmax: Cần thiết cho các bài toán phân loại đa lớp, Softmax chuyển đổi một vector số thành một phân phối xác suất trong đó tổng tất cả các giá trị bằng một. Đây là tiêu chuẩn trong các thử thách image classification như trong ImageNet dataset.
- SiLU (Sigmoid Linear Unit): A smooth, non-monotonic function often used in state-of-the-art architectures like YOLO26. SiLU allows for better gradient flow than ReLU in very deep models, contributing to higher accuracy.
Link to this sectionCác ứng dụng thực tế trong AI#
Việc lựa chọn hàm kích hoạt ảnh hưởng trực tiếp đến hiệu suất và inference latency của các hệ thống AI được triển khai trong hoạt động hàng ngày.
-
Phát hiện vật thể trong bán lẻ: Trong các hệ thống thanh toán tự động, các mô hình object detection xác định sản phẩm trên băng chuyền. Các lớp ẩn sử dụng các hàm hiệu quả như ReLU hoặc SiLU để xử lý các tính năng hình ảnh một cách nhanh chóng. Lớp đầu ra xác định lớp (ví dụ: "táo", "ngũ cốc") và tọa độ bounding box, giúp hệ thống tính hóa đơn tự động. Điều này rất quan trọng đối với AI in retail để đảm bảo tốc độ và sự hài lòng của khách hàng.
-
Phân tích cảm xúc: Trong natural language processing (NLP), các mô hình phân tích đánh giá của khách hàng để đo lường mức độ hài lòng. Một mạng lưới có thể xử lý dữ liệu văn bản và sử dụng hàm Sigmoid trong lớp cuối cùng để đưa ra điểm số cảm xúc từ 0 (tiêu cực) đến 1 (tích cực), giúp các doanh nghiệp hiểu phản hồi của khách hàng ở quy mô lớn bằng cách sử dụng machine learning (ML).
Link to this sectionVí dụ về triển khai#
Bạn có thể hình dung cách các hàm kích hoạt khác nhau chuyển đổi dữ liệu bằng cách sử dụng thư viện PyTorch. Đoạn mã sau đây minh họa sự khác biệt giữa ReLU (vốn đưa các giá trị âm về không) và Sigmoid (vốn ép các giá trị vào một phạm vi).
import torch
import torch.nn as nn
# Input data: negative, zero, and positive values
data = torch.tensor([-2.0, 0.0, 2.0])
# Apply ReLU: Negatives become 0, positives stay unchanged
relu_output = nn.ReLU()(data)
print(f"ReLU: {relu_output}")
# Output: tensor([0., 0., 2.])
# Apply Sigmoid: Squashes values between 0 and 1
sigmoid_output = nn.Sigmoid()(data)
print(f"Sigmoid: {sigmoid_output}")
# Output: tensor([0.1192, 0.5000, 0.8808])Link to this sectionPhân biệt các khái niệm liên quan#
Việc phân biệt các hàm kích hoạt với các thành phần toán học khác trong quy trình học tập là rất quan trọng.
- Hàm kích hoạt so với Loss Function: Hàm kích hoạt hoạt động trong quá trình truyền tiến (forward pass) để định hình đầu ra của nơ-ron. Hàm mất mát (loss function), chẳng hạn như Mean Squared Error, tính toán sai số giữa dự đoán và mục tiêu thực tế vào cuối quá trình truyền tiến.
- Hàm kích hoạt so với Optimization Algorithm: Trong khi hàm kích hoạt xác định cấu trúc đầu ra, bộ tối ưu hóa (như Adam hoặc Stochastic Gradient Descent) quyết định cách cập nhật model weights để giảm thiểu sai số được tính toán bởi hàm mất mát.
- Hàm kích hoạt so với Transfer Learning: Các hàm kích hoạt là các phép toán cố định bên trong các lớp của mạng lưới. Transfer learning là một kỹ thuật trong đó một mô hình đã được huấn luyện trước được điều chỉnh cho một tác vụ mới, thường là giữ nguyên các hàm kích hoạt của kiến trúc ban đầu trong khi tinh chỉnh (fine-tuning) các trọng số trên tập dữ liệu tùy chỉnh thông qua Ultralytics Platform.
Để tìm hiểu sâu hơn về cách các hàm này phù hợp với các hệ thống lớn hơn, hãy khám phá tài liệu PyTorch về các hàm kích hoạt phi tuyến tính hoặc đọc về cách các computer vision tasks dựa vào chúng để trích xuất đặc trưng.






