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.
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.
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) .
Để 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 .
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.