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

GELU (Gaussian Error Linear Unit)

Khám phá hàm kích hoạt Gaussian Error Linear Unit (GELU). Tìm hiểu cách tính chất phi tuyến tính mượt mà, dựa trên xác suất của nó hỗ trợ Transformer, BERT và trí tuệ nhân tạo hiện đại.

Hàm kích hoạt GELU (Gaussian Error Linear Unit) là một hàm kích hoạt phức tạp đóng vai trò then chốt trong hiệu suất của các hệ thống trí tuệ nhân tạo (AI) hiện đại, đặc biệt là những hệ thống dựa trên kiến ​​trúc Transformer. Không giống như các hàm truyền thống áp dụng ngưỡng cố định, mang tính xác định cho đầu vào của nơ-ron, GELU đưa vào một khía cạnh xác suất được lấy cảm hứng từ các thuộc tính của phân phối Gaussian . Bằng cách trọng số hóa đầu vào theo độ lớn của chúng thay vì chỉ đơn giản là điều chỉnh chúng, GELU cung cấp một độ phi tuyến tính mượt mà hơn, hỗ trợ tối ưu hóa các mô hình học sâu (DL) . Đặc điểm độc đáo này cho phép các mạng lưới mô hình hóa các mẫu dữ liệu phức tạp hiệu quả hơn, góp phần đáng kể vào sự thành công của các mô hình nền tảng quy mô lớn.

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

Cốt lõi của bất kỳ mạng nơ-ron nào , các hàm kích hoạt xác định xem một nơ-ron có "phát xung" hay không dựa trên tín hiệu đầu vào của nó. Các hàm cũ hơn như Rectified Linear Unit (ReLU) hoạt động như một công tắc, xuất ra giá trị 0 cho bất kỳ đầu vào âm nào và chính giá trị đầu vào đó cho các giá trị dương. Mặc dù hiệu quả, việc cắt đột ngột này có thể cản trở động lực huấn luyện.

GELU cải tiến điều này bằng cách nhân đầu vào với hàm phân phối tích lũy của phân phối Gaussian. Một cách trực quan, điều này có nghĩa là khi giá trị đầu vào giảm, xác suất neuron bị loại bỏ tăng lên, nhưng nó diễn ra dần dần chứ không đột ngột. Độ cong này tạo ra một hàm không đơn điệu, mượt mà và có thể vi phân tại mọi điểm. Tính mượt mà này tạo điều kiện thuận lợi cho việc lan truyền ngược gradient tốt hơn, giúp giảm thiểu các vấn đề như hiện tượng gradient biến mất có thể làm đình trệ quá trình huấn luyện mạng nơ-ron sâu.

Các Ứng dụng Thực tế

Môi trường tối ưu hóa mượt mà hơn do GELU cung cấp đã khiến nó trở thành lựa chọn mặc định cho một số ứng dụng tiên tiến nhất trong học máy (ML) .

So sánh với các thuật ngữ liên quan

Để hiểu GELU, thường cần phải phân biệt nó với các hàm kích hoạt phổ biến khác được tìm thấy trong thuật ngữ Ultralytics .

  • GELU so với ReLU : ReLU có tính toán đơn giản hơn và tạo ra tính thưa thớt (các giá trị bằng 0 chính xác), điều này có thể hiệu quả. Tuy nhiên, "góc nhọn" tại điểm 0 có thể làm chậm quá trình hội tụ. GELU cung cấp một phép xấp xỉ mượt mà hơn, thường cho độ chính xác cao hơn trong các tác vụ phức tạp, mặc dù chi phí tính toán cao hơn một chút.
  • GELU so với SiLU (Swish) : Bộ xử lý tuyến tính Sigmoid (SiLU) có cấu trúc rất giống với GELU và cùng chia sẻ các đặc tính mượt mà, không đơn điệu. Trong khi GELU chiếm ưu thế trong Xử lý ngôn ngữ tự nhiên (NLP) , SiLU thường được ưu tiên trong các bộ phát hiện đối tượng được tối ưu hóa cao như YOLO26 do hiệu quả trên phần cứng biên và hiệu suất tuyệt vời trong các tác vụ phát hiện.
  • GELU so với Leaky ReLU : Leaky ReLU cố gắng khắc phục vấn đề "nơron chết" của hàm ReLU chuẩn bằng cách cho phép một độ dốc tuyến tính nhỏ, không đổi đối với các đầu vào âm. Ngược lại, GELU không tuyến tính đối với các giá trị âm, cung cấp một phản hồi phức tạp và thích ứng hơn, thường dẫn đến việc học biểu diễn tốt hơn trong các mạng nơron rất sâu.

Ví dụ triển khai

Việc triển khai GELU khá đơn giản bằng cách sử dụng các thư viện học sâu hiện đại như PyTorch . Ví dụ sau đây minh họa cách áp dụng hàm này cho một... tensor dữ liệu đầu vào.

import torch
import torch.nn as nn

# Initialize the GELU activation function
gelu_activation = nn.GELU()

# Create sample input data including negative and positive values
input_data = torch.tensor([-3.0, -1.0, 0.0, 1.0, 3.0])

# Apply GELU to the inputs
output = gelu_activation(input_data)

# Print results to see the smoothing effect on negative values
print(f"Input: {input_data}")
print(f"Output: {output}")

Đối với các nhà phát triển muốn tận dụng các chức năng kích hoạt nâng cao này trong các dự án thị giác máy tính của riêng mình, Nền tảng Ultralytics đơn giản hóa toàn bộ quy trình làm việc. Nó cung cấp một giao diện thống nhất để chú thích dữ liệu, huấn luyện mô hình bằng cách sử dụng các kiến ​​trúc như YOLO26 (sử dụng các chức năng kích hoạt được tối ưu hóa như SiLU) và triển khai chúng một cách hiệu quả lên đám mây hoặc các thiết bị biên.

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