Tại sao hàm kích hoạt Sigmoid dễ gây Vanishing Gradient hơn ReLU?

Tác giả: AI VIET NAM (AI VIET NAM)

Keywords: sigmoid, relu, vanishing gradient, deep learning, activation function

Vì sao Sigmoid có khả năng gây Vanishing Gradient?

Trong giai đoạn đầu học Deep Learning, rất nhiều bạn gặp cảm giác “mạng không học được gì”, loss đứng yên hoặc giảm rất chậm. Khi kiểm tra lại, nguyên nhân thường nằm ở hàm kích hoạt, đặc biệt là khi dùng Sigmoid. Câu hỏi quen thuộc: “Tại sao Sigmoid có khả năng gây Vanishing Gradient, còn ReLU lại ít bị hơn?”
Bài viết dưới đây giải thích theo cách gần gũi, không nặng toán.

Bản chất Sigmoid: vùng bão hòa khiến gradient gần như bằng 0

Hàm Sigmoid biến mọi giá trị thành một số trong khoảng từ 0 đến 1.
Nghe có vẻ lý tưởng, nhưng lại tạo ra hai vùng

bão hòa
:

  • Khi đầu vào quá lớn → giá trị tiến gần 1
  • Khi đầu vào quá nhỏ → giá trị tiến gần 0

Ở hai vùng này, độ dốc (gradient) của Sigmoid gần như bằng 0.
Vì Gradient Descent cập nhật trọng số bằng cách nhân gradient theo từng lớp, nên:

→ gradient nhỏ × gradient nhỏ × gradient nhỏ
→ gradient bị triệt tiêu khi lan ngược về các lớp đầu.

Kết quả: các lớp sâu phía trước gần như không được cập nhật.

ReLU: không bão hòa ở phía dương, gradient giữ ổn định

ReLU có công thức đơn giản:

  • Đầu vào ≤ 0 → trả về 0
  • Đầu vào > 0 → trả về chính nó

Điều quan trọng:
Ở phía dương, gradient luôn bằng

1
, không bị nén vào khoảng (0,1) như Sigmoid.

Điều này giúp:

  • Gradient truyền ngược không bị thu nhỏ liên tục
  • Mô hình học nhanh hơn
  • Các lớp sâu vẫn nhận được thông tin đầy đủ

ReLU vẫn có nhược điểm

chết ReLU
(neuron luôn bằng 0), nhưng nhìn chung ít gây Vanishing Gradient hơn Sigmoid.

Ví dụ trực quan

Hãy tưởng tượng bạn nhân một số nhỏ nhiều lần:

0.2 × 0.2 × 0.2 × 0.2 × … = rất nhỏ → tiến về 0

Đây chính là điều xảy ra khi nhiều lớp Sigmoid xếp chồng lên nhau.

Trong khi ReLU:

Gradient ở phía dương =

1

1 × 1 × 1 × … = 1
→ không triệt tiêu

Góc nhìn dự án: vì sao Sigmoid hiếm khi được dùng cho hidden layer?

Trong thực tế triển khai mô hình:

  • Mạng có nhiều lớp → rủi ro Vanishing Gradient cao
  • Người làm dự án ưu tiên ReLU, Leaky ReLU, GELU… cho hidden layer
  • Sigmoid chỉ phù hợp cho đầu ra nhị phân (Binary Classification)

Đây là lý do các nhóm kiến thức về Deep Learning (Module 7 trong lộ trình học thuật) luôn nhấn mạnh việc chọn activation phù hợp.

Liên hệ kiến thức nền trong các module AIO

Khi đi qua các phần Toán – Optimization – Deep Learning trong các module:

  • Module 5: tối ưu hóa & gradient
  • Module 7: kiến trúc mạng, các loại activation
  • Module 8: hiện tượng vanishing/exploding gradient trong mạng sâu

Người học sẽ thường xuyên thấy Sigmoid được dùng rất hạn chế ở hidden layer do vấn đề bão hòa gradient.

Lời khuyên cho người bắt đầu

Bạn có thể thử xây một mạng nhỏ 5–10 lớp:

  • Một phiên bản dùng Sigmoid
  • Một phiên bản dùng ReLU

Sau vài epoch, bạn sẽ thấy sự khác biệt rất rõ về tốc độ học và khả năng hội tụ.

Hỏi đáp nhanh về chủ đề Sigmoid vs ReLU

Sigmoid có phải luôn gây Vanishing Gradient?
Không phải luôn, nhưng rất dễ xảy ra khi mạng sâu hoặc đầu vào lớn/nhỏ.

ReLU có hoàn toàn tránh được Vanishing Gradient không?
Không hoàn toàn, nhưng ít bị hơn rất nhiều.

Sigmoid có còn được dùng không?
Có, chủ yếu ở đầu ra nhị phân.

ReLU có thể “chết” không?
Có. Nếu trọng số khiến đầu vào ≤ 0 lâu dài, neuron có thể không kích hoạt nữa.

FAQ về chương trình AIO

Q: Mình con số 0 thì học nổi không?
A: Chỉ cần có thời gian học mỗi ngày. Kiến thức và tài liệu team admin lo.

Q: Ai dạy AIO?
A: Toàn bộ admin AIO trực tiếp dạy và hỗ trợ trong suốt hành trình.

Q: Admin có “xịn” không?
A: Admin đều là người làm nghề thật. Không dám nói xịn, chỉ dạy bằng hết sức mình.

Q: AIO khác gì trung tâm khác?
A: AIO không phải trung tâm. Đây là dự án học tập cộng đồng với tinh thần

Cùng nhau học – cùng nhau khổ – cùng nhau lớn
.

Tài nguyên học AI: