Thuật ngữ

GELU (Đơn vị tuyến tính lỗi Gauss)

Khám phá cách chức năng kích hoạt GELU tăng cường các mô hình máy biến áp như GPT-4, thúc đẩy dòng chảy theo độ dốc, độ ổn định và hiệu quả.

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

Tìm hiểu thêm

GELU (Gaussian Error Linear Unit) là một loại hàm kích hoạt thường được sử dụng trong các mạng nơ-ron hiện đại, đặc biệt là trong các kiến trúc Transformer . Được Dan Hendrycks và Kevin Gimpel đề xuất trong bài báo " Gaussian Error Linear Units (GELUs) ", nó nhằm mục đích kết hợp các thuộc tính từ dropout, zoneout và ReLU (Rectified Linear Unit) để cải thiện hiệu suất mô hình. Không giống như ReLU, cắt đứt mạnh các giá trị âm, GELU cung cấp một đường cong mượt mà hơn, tính trọng số đầu vào dựa trên độ lớn của chúng thay vì chỉ dấu của chúng.

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

Hàm GELU điều chỉnh đầu vào dựa trên giá trị của nó, quyết định có nên "kích hoạt" một nơ-ron hay không. Hàm này nhân đầu vào với giá trị của hàm phân phối tích lũy Gaussian chuẩn (CDF) được áp dụng cho đầu vào đó. Theo trực giác, điều này có nghĩa là các đầu vào càng xa số không (cả dương và âm) thì càng có nhiều khả năng được bảo toàn, trong khi các đầu vào càng gần số không thì càng có nhiều khả năng bị xóa về số không. Phương pháp xác suất này giới thiệu một dạng chính quy hóa ngẫu nhiên tương tự như dropout nhưng được xác định bởi chính giá trị đầu vào, dẫn đến một hàm phi tuyến tính có thể nắm bắt các mẫu phức tạp hơn trong dữ liệu.

GELU so với các hàm kích hoạt khác

GELU có nhiều ưu điểm hơn so với các hàm kích hoạt đơn giản hơn, góp phần đưa GELU vào áp dụng trong các mô hình hiện đại:

  • ReLU: ReLU đơn giản về mặt tính toán nhưng có thể gặp phải vấn đề "ReLU chết" khi các tế bào thần kinh trở nên không hoạt động đối với các đầu vào tiêu cực, có khả năng cản trở việc học. Đường cong trơn tru của GELU cho phép các gradient chảy dễ dàng hơn, đặc biệt là đối với các giá trị âm, có khả năng giảm thiểu vấn đề này.
  • Leaky ReLU: Trong khi 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ác không đối với các đầu vào âm, nó vẫn duy trì mối quan hệ tuyến tính đơn giản trong miền âm. GELU cung cấp một phép biến đổi phi tuyến tính phức tạp hơn.
  • SiLU (Swish): SiLU (Đơn vị tuyến tính Sigmoid) là một hàm kích hoạt trơn tru khác thường hoạt động tương tự như GELU. Sự lựa chọn giữa GELU và SiLU có thể phụ thuộc vào kiến trúc và tập dữ liệu cụ thể, thường được xác định thông qua thử nghiệm thực nghiệm hoặc điều chỉnh siêu tham số .

Ứng dụng và ý nghĩa

GELU đã trở thành sự lựa chọn phổ biến trong nhiều mô hình học sâu tiên tiến do hiệu suất thực nghiệm mạnh mẽ của nó:

  1. Xử lý ngôn ngữ tự nhiên (NLP): Được sử dụng rộng rãi trong các mô hình dựa trên Transformer như mô hình BERTGPT , góp phần vào sự thành công của chúng trong các tác vụ như tạo văn bảnhiểu ngôn ngữ tự nhiên .
  2. Computer Vision: GELU cũng được tìm thấy trong Vision Transformers (ViT) và các mô hình thị giác tiếp theo. Ví dụ, các thành phần như Generalized Efficient Layer Aggregation Network (GELAN) được sử dụng trong Ultralytics YOLOv9 sử dụng GELU để tăng cường trích xuất tính năng và cải thiện độ chính xác trong các tác vụ phát hiện đối tượng , như được nêu chi tiết trong bài báo YOLOv9 .

Khả năng cung cấp tính phi tuyến tính mượt mà và kết hợp cường độ đầu vào vào các quyết định kích hoạt của hàm này giúp nó hiệu quả trong việc đào tạo các mạng sâu. Mặc dù tốn nhiều tính toán hơn một chút so với ReLU, nhưng lợi ích về hiệu suất của nó thường biện minh cho việc sử dụng nó trong các mô hình quy mô lớn có sẵn thông qua các khuôn khổ như PyTorchTensorFlow .

Đọc tất cả