Yolo Tầm nhìn Thâm Quyến
Thâm Quyến
Tham gia ngay
Bảng chú giải thuật ngữ

Hàm kích hoạt

Khám phá cách các hàm kích hoạt như ReLU, Sigmoid và SiLU hỗ trợ học sâu. Tìm hiểu cách thức Ultralytics YOLO26 sử dụng những công nghệ này để nắm vững 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 mạng nơ-ron (NN) quyết đị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", nó quyết định xem một nơ-ron có nên hoạt động - nghĩa là nó đóng góp vào dự đoán của mạng - hay không hoạt động. Nếu không có các phép toán này, mạng nơ-ron sẽ hoạt động giống như một mô hình hồi quy tuyến tính đơn giản, không thể nắm bắt được các mẫu 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 học sâu (DL) học được 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 bất thường tinh tế trong phân tích hình ảnh y tế .

Chức năng cốt lõi và các kiểu thông dụng

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 phạm vi đầu ra mong muốn và đưa độ phức tạp vào các bản đồ đặc trưng do mạng tạo ra. 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 huấn luyện mô hình .

  • 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ó trả về giá trị đầ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 đề suy giảm độ dốc , một thách thức thường gặp khi huấn luyện các kiến ​​trúc mạng sâu.
  • Hàm Sigmoid : Hàm này "nén" các giá trị đầu vào vào một phạm vi 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 hiểu là một điểm số xác suất .
  • 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 vectơ các số thành một phân phối xác suất trong đó tổng của tất cả các giá trị bằng một. Đây là phương pháp tiêu chuẩn trong các bài toán phân loại hình ảnh như những bài toán được tìm thấy trong tập dữ liệu ImageNet .
  • SiLU (Sigmoid Linear Unit) : Một hàm trơn tru, không đơn điệu, thường được sử dụng trong các kiến ​​trúc hiện đại 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 mang lại độ chính xác cao hơn.

Ứ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 năng và độ trễ suy luận của các hệ thống AI được triển khai trong hoạt động hàng ngày.

  1. Phát hiện đối tượng trong bán lẻ: Trong các hệ thống thanh toán tự động, mô hình phát hiện đối tượng 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ý nhanh chóng các đặc điểm hình ảnh. Lớp đầu ra xác định loại đối tượng (ví dụ: "táo", "ngũ cốc") và tọa độ hộp giới hạn , cho phép hệ thống tự động tính tổng hóa đơn. Điều này rất quan trọng đối với trí tuệ nhân tạo trong bán lẻ để đảm bảo tốc độ và sự hài lòng của khách hàng.
  2. Phân tích cảm xúc: Trong xử lý ngôn ngữ tự nhiên (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 ở 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 doanh nghiệp hiểu được phản hồi của khách hàng trên quy mô lớn bằng cách sử dụng học máy (ML) .

Ví dụ triển khai

Bạn có thể hình dung cách các hàm kích hoạt khác nhau biến đổi dữ liệu bằng thư viện PyTorch . Đoạn mã sau đây minh họa sự khác biệt giữa ReLU (làm cho các giá trị âm bằng 0) và Sigmoid (làm cho các giá trị bị nén lại).

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

Điều quan trọng là phải 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 máy.

  • Hàm kích hoạt so với hàm mất mát : Hàm kích hoạt hoạt động trong quá trình truyền tiến để định hình đầu ra của nơ-ron. Hàm mất mát, chẳng hạn như sai số bình phương trung bì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 truyền tiến.
  • Hàm kích hoạt so với thuật toán tối ưu hóa : Trong khi hàm kích hoạt xác định cấu trúc đầu ra, thuật toán tối ưu hóa (như Adam hoặc Stochastic Gradient Descent ) quyết định cách cập nhật trọng số của mô hình để 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 Học chuyển giao : Hàm kích hoạt là các phép toán cố định 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 nhiệm vụ mới, thường giữ nguyên 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 Nền tảng Ultralytics .

Để hiểu sâu hơn về cách các chức năng này phù hợp với các hệ thống lớn hơn, hãy tham khảo 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 tác vụ thị giác máy tính dựa vào chúng để trích xuất đặc trưng.

Tham gia Ultralytics cộng đồng

Tham gia vào tương lai của AI. Kết nối, hợp tác và phát triển cùng với những nhà đổi mới toàn cầu

Tham gia ngay