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

Đơn vị tuyến tính lỗi Gauss, hay GELU, là một hàm kích hoạt hiệu suất cao được sử dụng rộng rãi trong các mạng nơ-ron hiện đại (NN) , đặc biệt là trong các mô hình biến áp. Được đề xuất trong bài báo " Đơn vị tuyến tính lỗi Gauss (GELU) " của Dan Hendrycks và Kevin Gimpel, GELU giới thiệu một phương pháp tiếp cận xác suất để kích hoạt nơ-ron, thoát khỏi bản chất xác định của các hàm như ReLU . Nó cân nhắc các đầu vào dựa trên độ lớn của chúng thay vì chỉ phân loại chúng theo dấu, kết hợp hiệu quả các thuộc tính từ dropout, zoneout và ReLU.

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

GELU xác định đầu ra của một neuron bằng cách nhân giá trị đầ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 đó. Điều này có nghĩa là sự kích hoạt là ngẫu nhiên, tùy thuộc vào chính giá trị đầu vào. 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. Các đầu vào có độ lớn lớn hơn có nhiều khả năng được bảo toàn, trong khi các đầu vào gần bằng không có nhiều khả năng bị xóa bằng không. Trọng số xác suất mượt mà này cho phép biểu diễn phong phú hơn và có khả năng luồng gradient tốt hơn trong quá trình truyền ngược , điều này rất quan trọng đối với việc đào tạo các mạng sâu.

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

GELU có những đặc điểm riêng biệt so với các hàm kích hoạt thông thường khác:

  • ReLU (Đơn vị tuyến tính chỉnh lưu) : ReLU đơn giản về mặt tính toán (đầu ra là đầu vào nếu dương, bằng không nếu không). GELU mượt mà hơn và không đơn điệu (nó có thể giảm khi đầu vào tăng đối với các giá trị âm), đôi khi có thể giúp nắm bắt các mẫu phức tạp hơn. Tuy nhiên, GELU tốn nhiều tính toán hơn ReLU.
  • SigmoidTanh : Các hàm này nén các đầu vào thành một phạm vi cố định (0 đến 1 đối với Sigmoid, -1 đến 1 đối với Tanh). Mặc dù hữu ích trong một số bối cảnh nhất định (như các lớp đầu ra cho xác suất), chúng có thể gặp phải vấn đề về độ dốc biến mất trong các mạng sâu. GELU, giống như ReLU, không có giới hạn trên, giảm thiểu vấn đề này đối với các giá trị dương.
  • SiLU (Đơn vị tuyến tính Sigmoid) / Swish : SiLU là một hàm kích hoạt trơn tru, không đơn điệu khác nhân đầu vào với sigmoid của nó. Nó có điểm tương đồng với GELU về hình dạng và hiệu suất, thường được coi là một giải pháp thay thế gần. Cả hai đều cho thấy kết quả thực nghiệm mạnh mẽ.

Ưu điểm của GELU

  • Độ mượt: Đường cong mượt mà của nó cho phép động lực giảm dần độ dốc tốt hơn so với điểm nhọn trong ReLU.
  • Không đơn điệu: Cho phép xấp xỉ hàm phức tạp hơn.
  • Diễn giải theo xác suất: Kết hợp cường độ đầu vào vào quyết định kích hoạt theo cách ngẫu nhiên.
  • Hiệu suất hiện đại: Thường được sử dụng trong các mẫu có hiệu suất cao, đặc biệt là máy biến áp.

Nhược điểm và cân nhắc

  • Chi phí tính toán: Tính toán CDF Gaussian tốn kém hơn các thao tác đơn giản trong ReLU. Các phép tính gần đúng hiệu quả thường được sử dụng trong thực tế.
  • Độ phức tạp: Phức tạp hơn một chút để hiểu và triển khai từ đầu so với các chức năng đơn giản hơn như ReLU.

Ứ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ó:

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 . Bạn có thể khám phá nhiều mô hình khác nhau và đào tạo chúng bằng các công cụ như Ultralytics HUB .

Đọc tất cả