ReLU

ReLU (viết tắt từ tiếng Anh Rectified Linear Unit, tạm dịch là hàm tuyến tính hiệu chỉnh) là một hàm kích hoạt phi tuyến thường được sử dụng trong mạng thần kinh nhân tạo. Với một giá trị đầu vào, hàm ReLU trả lại chính giá trị đó nếu nó là số dương, và trả về 0 nếu giá trị đó là số âm.

ReLU và các biến thể của nó hiện là nhóm hàm kích hoạt được sử dụng phổ biến nhất trong học máy, đặc biệt trong các lĩnh vực như thị giác máy tính, nhận dạng tiếng nói và xử lý ngôn ngữ tự nhiên.

Lịch sử 

Ý tưởng của ReLU xuất hiện từ khá sớm trong lịch sử nghiên cứu mạng thần kinh nhân tạo. Năm 1941, Alston Householder sử dụng một dạng hàm ngưỡng tuyến tính để mô tả hoạt động ổn định của mạng sợi thần kinh sinh học dưới dạng mô hình toán học trừu tượng. Năm 1969, Kunihiko Fukushima tiếp tục áp dụng ý tưởng này trong bài toán trích xuất đặc trưng thị giác bằng mạng nhiều tầng gồm các phần tử ngưỡng tương tự. Công trình này sau đó phát triển thành mô hình Neocognitron, một tiền thân quan trọng của mạng thần kinh tích chập.

Đến năm 2000, Hahnloser và cộng sự cho rằng dạng hàm này phản ánh hợp lý hơn mối liên hệ sinh học giữa cường độ dòng điện đầu vào và tần suất phát xung của neuron. Họ cũng chỉ ra rằng nó giúp mạng thần kinh hoạt động ổn định hơn trong một số điều kiện yếu hơn so với các hàm kích hoạt truyền thống.

Tuy nhiên, trước năm 2010, phần lớn các mạng thần kinh vẫn chủ yếu sử dụng hàm sigmoid và hàm hyperbol (tanh) thay vì ReLU. Nguyên nhân là vì các hàm này khả vi tại mọi điểm và phù hợp với thuật toán lan truyền ngược, mặc dù chúng thường gặp vấn đề gradient biến mất khi mạng có quá nhiều lớp.

Năm 2009, Jarrett và cộng sự chỉ ra rằng phép chỉnh lưu bằng ReLU là thành phần quan trọng trong mạng CNN dùng cho nhận dạng đối tượng. Đặc biệt, nó giúp lấy mẫu trung bình (average pooling) hoạt động hiệu quả hơn mà không làm triệt tiêu lẫn nhau giữa các đầu ra lân cận. Năm 2010, Vinod Nair và Geoffrey Hinton tiếp tục cho thấy ReLU có thể được xem là một dạng xấp xỉ đơn giản của Softplus và cho kết quả tốt trong mô hình Restricted Boltzmann Machine.

Năm 2011, Glorot, Bordes và Yoshua Bengio chỉ ra rằng ReLU giúp giảm ảnh hưởng của hiện tượng gradient biến mất, giảm chi phí tính toán và tạo ra biểu diễn thưa (sparse representation), tức chỉ một phần nhỏ neuron được kích hoạt tại một thời điểm. Thành công của AlexNet tại cuộc thi ImageNet năm 2012 khi sử dụng ReLU xuyên suốt đã khiến ReLU trở thành lựa chọn mặc định trong phần lớn các kiến trúc học sâu hiện đại.

Sau đó, nhiều biến thể của ReLU được đề xuất nhằm khắc phục hiện tượng "ReLU chết" (dying ReLU), khi một neuron luôn cho đầu ra bằng 0 và không còn được cập nhật trong quá trình huấn luyện. Leaky ReLU cho phép gradient vẫn tồn tại ở miền âm; PReLU biến hệ số này thành tham số có thể học được; còn ELU thêm nhánh hàm mũ ở miền âm để đưa giá trị trung bình của kích hoạt gần về 0 hơn. Về sau, các hàm như GELU, Swish và Mish tiếp tục được phát triển nhằm thay thế ReLU trong các mô hình lớn hơn, đặc biệt là các kiến trúc Transformer.

Công thức 

Hàm ReLU được định nghĩa như sau:

hay viết dưới dạng từng phần:

Điều này có nghĩa là ReLU giữ nguyên mọi giá trị dương và loại bỏ toàn bộ giá trị âm.

Đạo hàm của ReLU là:

Tại , hàm không khả vi. Trong thực tế, khi huấn luyện mạng thần kinh, giá trị đạo hàm tại điểm này thường được quy ước là 0 hoặc 1 để thuận tiện cho việc tính toán.

Các biến thể của ReLU 

Sau khi ReLU trở thành hàm kích hoạt mặc định trong phần lớn các mạng sâu, nhiều biến thể của nó được đề xuất nhằm khắc phục các nhược điểm như hiện tượng ReLU chết, bắt nguồn bởi đầu ra của ReLU không đối xứng quanh 0 và tính không khả vi tại gốc tọa độ. Một số biến thể vẫn giữ dạng hàm từng đoạn của ReLU nhưng thay đổi độ dốc ở miền âm, trong khi các biến thể khác thay thế hoàn toàn bằng các hàm trơn hơn để cải thiện quá trình tối ưu hóa.

Ứng dụng thực tế 

ReLU là hàm kích hoạt phổ biến nhất trong học sâu hiện đại, đặc biệt trong thị giác máy tính, nhận dạng tiếng nói và xử lý ngôn ngữ tự nhiên.

Trong thị giác máy tính, ReLU được sử dụng rộng rãi trong các mạng CNN như AlexNet, VGGNet và ResNet. Việc thay thế sigmoid bằng ReLU giúp quá trình huấn luyện nhanh hơn và giảm đáng kể ảnh hưởng của gradient biến mất.

Trong nhận dạng tiếng nói, ReLU được dùng trong các mạng sâu để xây dựng mô hình âm học (acoustic model) thay cho sigmoid truyền thống. Maas, Hannun và Andrew Ng cho thấy các hàm chỉnh lưu giúp cải thiện rõ rệt kết quả nhận dạng âm vị trong các hệ thống nhận dạng giọng nói sâu.

Trong xử lý ngôn ngữ tự nhiên, các biến thể như GELU và SwiGLU hiện là lựa chọn phổ biến trong các mô hình Transformer. GELU được sử dụng trong BERT, còn nhiều phiên bản GPT và LLaMA sử dụng các biến thể khác của ReLU để cải thiện khả năng biểu diễn và hiệu quả huấn luyện.

Tham khảo 

Khoa học máy tính
Trí tuệ nhân tạo
Học máy
Mạng thần kinh nhân tạo
Hàm số sơ cấp đặc biệt