Thuật ngữ

SiLU (Đơn vị tuyến tính Sigmoid)

Khám phá cách hàm kích hoạt SiLU (Swish) thúc đẩy hiệu suất học sâu trong các tác vụ AI như phát hiện đối tượng và NLP.

Xe lửa YOLO mô hình đơn giản
với Ultralytics TRUNG TÂM

Tìm hiểu thêm

SiLU (Đơn vị tuyến tính Sigmoid), còn được gọi là hàm Swish, là một hàm kích hoạt được sử dụng trong các mô hình học sâu (DL) , đặc biệt là trong mạng nơ-ron (NN) . Nó được đề xuất bởi các nhà nghiên cứu tại Google và đã trở nên phổ biến do hiệu quả của nó trong việc cải thiện hiệu suất mô hình so với các hàm kích hoạt truyền thống như ReLUSigmoid . SiLU được đánh giá cao vì tính trơn tru và các đặc tính không đơn điệu, có thể giúp tối ưu hóa dòng chảy gradient và mô hình. Để hiểu rõ hơn, hãy xem tổng quan về hàm kích hoạt chung .

SiLU hoạt động như thế nào

SiLU được định nghĩa là tích của đầu vào và Hình chữ S chức năng được áp dụng cho đầu vào. Về cơ bản, SiLU(x) = x * sigmoid(x). Công thức này cho phép SiLU hoạt động như một cơ chế tự đóng, trong đó thành phần sigmoid xác định mức độ mà đầu vào tuyến tính x được truyền qua. Khi đầu ra sigmoid gần bằng 1, đầu vào đi qua gần như không thay đổi (tương tự như ReLU đối với các giá trị dương) và khi gần bằng 0, đầu ra bị triệt tiêu về 0. Không giống như ReLU, SiLU trơn tru và không đơn điệu (nó có thể giảm ngay cả khi đầu vào tăng), các đặc tính bắt nguồn từ Chi tiết hàm Sigmoid thành phần. Khái niệm đã được trình bày chi tiết trong giấy Swish gốc.

Ưu điểm của SiLU

SiLU có một số lợi thế góp phần nâng cao hiệu quả của các mô hình học sâu:

  • Độ mượt: Không giống như ReLU, SiLU là một hàm mượt, nghĩa là đạo hàm của nó là liên tục. Độ mượt này có thể có lợi cho các thuật toán tối ưu hóa dựa trên gradient trong quá trình truyền ngược , dẫn đến quá trình đào tạo ổn định hơn.
  • Không đơn điệu: Hình dạng của hàm, giảm nhẹ đối với các đầu vào âm trước khi tăng lên về 0, có thể giúp mạng biểu diễn các mẫu phức tạp hơn.
  • Tránh hiện tượng Gradient biến mất: Trong khi các hàm Sigmoid có thể bị ảnh hưởng đáng kể do vấn đề gradient biến mất trong các mạng sâu, SiLU có thể giảm thiểu vấn đề này, đặc biệt là đối với các đầu vào dương khi nó hoạt động tuyến tính, tương tự như ReLU.
  • Cải thiện hiệu suất: Các nghiên cứu thực nghiệm đã chỉ ra rằng việc thay thế ReLU bằng SiLU có thể cải thiện độ chính xác của mô hình trên nhiều tác vụ và tập dữ liệu khác nhau, đặc biệt là trong các kiến trúc sâu hơn.

So sánh với các hàm kích hoạt khác

SiLU khác biệt với các hàm kích hoạt thông thường khác:

  • ReLU: ReLU đơn giản hơn về mặt tính toán (max(0, x)) và tuyến tính đối với các giá trị dương nhưng gặp phải vấn đề "ReLU đang chết" khi các tế bào thần kinh có thể trở nên không hoạt động đối với các đầu vào âm. Xem Giải thích ReLU. SiLU hoạt động trơn tru và tránh được vấn đề này nhờ đầu ra khác không đối với các giá trị âm.
  • Sigmoid: Sigmoid ánh xạ các đầu vào trong phạm vi từ 0 đến 1 nhưng bị bão hòa và mất dần độ dốc, khiến nó ít phù hợp hơn với các lớp ẩn trong mạng sâu so với SiLU.
  • Leaky ReLU: Leaky ReLU giải quyết vấn đề ReLU đang chết dần bằng cách cho phép một gradient nhỏ, không bằng không cho các đầu vào âm. SiLU cung cấp một cấu hình khác, mượt mà hơn.
  • GELU: GELU (Đơn vị tuyến tính lỗi Gauss) là một hàm kích hoạt trơn tru khác thường hoạt động tương tự như SiLU. SiLU thường được coi là đơn giản hơn một chút về mặt tính toán so với GELU.

Ứng dụng của SiLU

SiLU rất linh hoạt và đã được ứng dụng thành công trong nhiều lĩnh vực sử dụng mô hình học sâu:

Thực hiện

SiLU có sẵn trong các khuôn khổ học sâu chính:

Các nền tảng như Ultralytics HUB hỗ trợ các mô hình đào tạo và khám phá nhiều tùy chọn triển khai khác nhau cho các mô hình sử dụng các thành phần tiên tiến như SiLU. Nghiên cứu liên tục và các nguồn lực từ các tổ chức như DeepLearning.AI giúp các học viên tận dụng các chức năng như vậy một cách hiệu quả.

Đọc tất cả