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) nhằm xác định đầu ra của một nơ-ron dựa trên một tập hợp các đầu vào. Thường được mô tả như "người gác cổng", hàm này quyết định xem một nơ-ron có nên hoạt động hay không—nghĩa là nó có đóng góp vào dự đoán của mạng hay không—hoặc không hoạt động. Nếu không có các phép toán toán học này, mạng nơ-ron sẽ hoạt động giống như một mô hình linear regression đơn giản, không thể nắm bắt các mẫu phức tạp bất kể độ sâu của nó. Bằng cách giới thiệu 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 hỏi các cấu trúc phức tạp, chẳng hạn như các đường cong trong chữ số viết tay hoặc các điểm bất thường tinh tế trong medical image analysis.
Chứ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 đến một dải đầu ra mong muốn và đưa sự phức tạp vào các feature maps do mạng tạo ra. Các nhà phát triển chọn các hàm cụ thể dựa trên vị trí của lớp và các 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 đầu vào trực tiếp nếu giá trị đó dương và bằng 0 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ử thách thường gặp khi huấn luyện các kiến trúc sâu.
- Sigmoid: Hàm này "nén" các giá trị đầu vào vào khoảng từ 0 đến 1. Nó thường được sử dụng ở 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 diễn giải là một probability score.
- Softmax: Rất cần thiết cho các bài toán đa lớp, Softmax chuyển đổi một véc-tơ số thành một phân phối xác suất trong đó tất cả các giá trị có tổng bằng một. Điều này là tiêu chuẩn trong các thử thách image classification giống như những thử thách được tìm thấy trong ImageNet dataset.
- SiLU (Sigmoid Linear Unit): Một hàm mịn, không đơn điệu thường được sử dụng trong các kiến trúc tiên tiến như YOLO26. SiLU cho phép dòng gradient tốt hơn ReLU trong các mô hình rất sâu, góp phần đạt được accuracy cao hơn.
Các ứng dụng thực tế trong AI#
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 các 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 nhận dạng 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 đặc trưng trực quan 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, cho phé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 nhằm đả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 có thể xử lý dữ liệu văn bản và sử dụng hàm Sigmoid ở lớp cuối cùng để xuất 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 được phản hồi của khách hàng ở quy mô lớn bằng cách sử dụng machine learning (ML).
Ví 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 minh họa sự khác biệt giữa ReLU (loại bỏ các số âm về 0) và Sigmoid (nén các giá trị).
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])Phâ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 lan truyền tiến để định hình đầu ra của nơ-ron. Một hàm mất mát, 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ế ở cuối quá trình lan 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 thức cập nhật model weights để giảm thiểu sai số do hàm mất mát tính toán.
- 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 toán học cố định bên trong các lớp của mạng. Học chuyển giao 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 giữ lại các hàm kích hoạt của kiến trúc ban đầu trong khi tinh chỉnh trọng số trên một 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 tích hợp vào các hệ thống lớn hơn, hãy khám phá PyTorch documentation on non-linear activations hoặc đọc về cách computer vision tasks dựa vào chúng để trích xuất đặc trưng.






