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 phi tuyến tính trơn tru, xác suất của nó hỗ trợ các Transformer, BERT và AI hiện đại.
Gaussian Error Linear Unit (GELU) là một activation function tinh vi, đóng vai trò then chốt trong hiệu suất của các hệ thống artificial intelligence (AI) hiện đại, đặc biệt là các hệ thống dựa trên kiến trúc Transformer. Khác với các hàm truyền thống áp dụng ngưỡng cứng nhắc và có tính tất định cho đầu vào của neuron, GELU đưa ra một khía cạnh xác suất lấy cảm hứng từ các thuộc tính của Gaussian distribution. Bằng cách cân trọng số đầu vào theo độ lớn thay vì chỉ đơn thuần là chặn (gate) chúng, GELU cung cấp một tính phi tuyến mượt mà hơn, hỗ trợ tối ưu hóa các model deep learning (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, đóng góp đáng kể vào thành công của các foundation models khổng lồ.
Link to this sectionCách thức hoạt động của GELU#
Tại cốt lõi của bất kỳ neural network nào, các activation function quyết định xem một neuron có "kích hoạt" (fire) 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 giống như một công tắc, xuất ra giá trị bằng không cho bất kỳ đầu vào âm nào và chính giá trị đó cho các giá trị dương. Mặc dù hiệu quả, việc cắt giảm đột ngột này có thể cản trở động lực học trong quá trình đào tạo.
GELU cải thiện điều này bằng cách mở rộng đầu vào thông qua hàm phân phối tích lũy của một phân phối Gaussian. Theo trực giác, đ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ỏ (dropout) tăng lên, nhưng quá trình này diễn ra dần dần thay vì đột ngột. Độ cong này tạo ra một hàm mượt mà, phi đơn điệu và có thể đạo hàm tại mọi điểm. Sự mượt mà này tạo điều kiện cho việc backpropagation gradient tốt hơn, giúp giảm thiểu các vấn đề như vanishing gradient problem, vốn có thể làm đình trệ quá trình đào tạo các mạng sâu.
Link to this sectionCác ứng dụng trong thực tế#
Không gian 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 machine learning (ML).
- Large Language Models (LLMs): GELU trở nên nổi bật với sự ra đời của BERT (Bidirectional Encoder Representations from Transformers) bởi các nhà nghiên cứu tại Google. Hiện nay, nó là một thành phần tiêu chuẩn trong GPT series và các model tạo văn bản khác. Trong các tác vụ như text summarization hoặc phân tích cảm xúc, GELU giúp model nắm bắt được những sắc thái tinh tế trong các biểu diễn ngôn ngữ mà các hàm kích hoạt cứng nhắc có thể bỏ lỡ.
- Vision Transformers (ViT): Trong lĩnh vực computer vision, các model thích ứng kiến trúc Transformer cho image classification phụ thuộc rất nhiều vào GELU. Bằng cách xử lý hình ảnh dưới dạng các chuỗi bản vá (patches), các model này sử dụng GELU để duy trì thông tin đặc trưng phong phú xuyên suốt các lớp sâu, cho phép đạt độ chính xác cao trên các bộ đánh giá (benchmarks) như ImageNet.
Link to this sectionSo 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 activation function phổ biến khác có trong Ultralytics glossary.
- GELU vs. ReLU: ReLU có tính toán đơn giản hơn và tạo ra sự thưa thớt (các số không chính xác), điều này có thể mang lại hiệu quả. Tuy nhiên, "góc nhọn" tại điểm bằng không 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à thường mang lại độ chính xác cao hơn trong các tác vụ phức tạp, mặc dù đi kèm với chi phí tính toán cao hơn một chút.
- GELU vs. SiLU (Swish): Sigmoid Linear Unit (SiLU) có cấu trúc rất giống với GELU và chia sẻ các đặc tính mượt mà, phi đơn điệu của nó. Trong khi GELU chiếm ưu thế trong Natural Language Processing (NLP), thì SiLU thường được ưu tiên trong các trình phát hiện đối tượng được tối ưu hóa cao như YOLO26 do tính hiệu quả trên các thiết bị edge và hiệu suất xuất sắc trong các tác vụ phát hiện.
- GELU vs. Leaky ReLU: Leaky ReLU cố gắng giải quyết vấn đề "neuron chết" của ReLU tiêu chuẩn bằng cách cho phép một độ dốc tuyến tính nhỏ, hằng số cho các đầu vào âm. Ngược lại, GELU mang tính phi tuyến cho các giá trị âm, mang lại 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 rất sâu.
Link to this sectionVí dụ về triển khai#
Việc triển khai GELU rất đơn giản bằng cách sử dụng các thư viện deep learning 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 những activation function tiên tiến này trong các dự án computer vision của riêng họ, Ultralytics Platform giúp đơn giản hóa toàn bộ quy trình làm việc. Nền tảng này cung cấp giao diện hợp nhất để chú thích dữ liệu, đào tạo model bằng các kiến trúc như YOLO26 (sử dụng các hàm kích hoạt tối ưu như SiLU) và triển khai chúng hiệu quả lên đám mây hoặc các thiết bị edge.






