Chuyển tới nội dung chính

Dropout

Kéo trượt pĐổi mẫuMỗi lượt một mạng con

Dropout

Tắt ngẫu nhiên một phần nơ-ron ở mỗi lượt huấn luyện, để mạng học bền hơn thay vì học vẹt.

Một mạng lớn dễ tìm ra vài nơ-ron cùng nhau ghi nhớ đúng tập huấn luyện: chúng bắt tay thành một đường tắt, cho điểm đẹp trên dữ liệu đã thấy nhưng hỏng ngay khi gặp dữ liệu mới. Đó là overfit, và gốc rễ là mạng dựa dẫm quá nhiều vào vài đường cố định.

Dropout phá thói dựa dẫm đó bằng cách rất thô: ở mỗi lượt huấn luyện, mỗi nơ-ron có xác suất p bị tắt hẳn, dây của nó coi như không tồn tại trong lượt đó. Nơ-ron không biết trước bạn nào sẽ còn mặt, nên không thể trông cậy vào một đường duy nhất, buộc phải học tín hiệu hữu ích một cách phân tán.

Thử ngay

Dropout · tắt ngẫu nhiên nơ-ron, học bền hơn
p = 0.40·giữ 4/6 nơ-ron·scale ×1.67
Đầu vàoLớp ẩn (có dropout)Đầu rax₁x₂x₃x₄h₁h₂h₃h₄h₅h₆ŷ₁ŷ₂

Thử điều này:

  • Bấm Đổi mẫu nhiều lần ở cùng một p: mỗi lần là một mạng con khác, cùng bộ trọng số nhưng khác hình.
  • Đẩy p lên cao dần và xem số nơ-ron giữ tụt xuống, hệ số scale phình to.
  • Kéo p về 0: không nơ-ron nào bị tắt, mạng trở lại đầy đủ như khi suy luận.
  • So một p nhỏ với một p lớn: p quá cao thì mạng con còn quá ít nơ-ron, gần như không học nổi.

Vì sao chống overfit

Mỗi lượt tắt một tập nơ-ron khác nhau nghĩa là bạn đang huấn luyện rất nhiều mạng con mảnh, tất cả dùng chung một bộ trọng số. Kết quả cuối giống như lấy trung bình cả một tập hợp mạng, mà tập hợp thì luôn ổn định hơn một mô hình đơn lẻ hay học vẹt. Vì bất kỳ nơ-ron nào cũng có thể vắng mặt, không nơ-ron nào được phép trở thành đường tắt không thể thiếu.

Khi suy luận thì ngược lại: ta bật hết mọi nơ-ron cho ổn định, không tắt gì nữa. Nhưng lúc huấn luyện trung bình chỉ có 1-p phần nơ-ron hoạt động, nên để tổng tín hiệu khớp nhau, đầu ra được nhân với hệ số scale 1/(1-p). Đó chính là con số scale trong sim.

Điều rút ra

Dropout huấn luyện vô số mạng con dùng chung trọng số bằng cách tắt ngẫu nhiên nơ-ron mỗi lượt, nên không đường nào thành chỗ dựa duy nhất và mạng bớt overfit.

Câu hỏi tự kiểm0/3 đúngchưa trả lời
  1. 1Trong lúc huấn luyện, dropout với tỉ lệ p làm gì ở mỗi lượt?
  2. 2Vì sao dropout giúp giảm overfit?
  3. 3Khi suy luận (dự đoán), mạng dùng dropout xử lý thế nào?