Bỏ học: nhân rộng kích hoạt so với đảo ngược bỏ học


9

Khi áp dụng bỏ học trong các mạng lưới thần kinh nhân tạo, người ta cần phải bù đắp cho thực tế là tại thời điểm đào tạo, một phần của các tế bào thần kinh đã bị vô hiệu hóa. Để làm như vậy, tồn tại hai chiến lược phổ biến:

  • nhân rộng kích hoạt tại thời điểm thử nghiệm
  • đảo ngược học sinh bỏ học trong giai đoạn huấn luyện

Hai chiến lược được tóm tắt trong các slide bên dưới, được lấy từ Standford CS231n: Mạng lưới thần kinh chuyển đổi để nhận dạng trực quan .

Chiến lược nào là thích hợp hơn, và tại sao?


Mở rộng quy mô kích hoạt tại thời điểm thử nghiệm:

nhập mô tả hình ảnh ở đây

Đảo ngược việc bỏ học trong giai đoạn đào tạo:

nhập mô tả hình ảnh ở đây


Tại sao chúng ta nên chia tỷ lệ thay vì ? Trực giác của tôi là càng bỏ học, chúng ta càng phải bù đắp, phải không? Nhìn vào mối quan hệ của tỷ lệ bỏ học với yếu tố bán lại: <br> <br> <br> <br> <br> <br> <br> <br> 11p dropout->111p 0,2->5->1,250,5->2->20,8->1,25->5dropout>1p>11p0.2>5>1.250.5>2>20.8>1.25>5
Ken Chan

"Càng bỏ học nhiều, chúng ta càng phải bù" Chính xác, đây là lý do tại sao chúng ta sử dụng 1 / p. Nếu p = .1 để giảm 90% đầu ra, chúng ta cần tăng tỷ lệ các giá trị đó lên 10. Lưu ý rằng 1 / .1 = 10, trong khi 1 / (1-.1) = 1 / (. 9) = 1.1.
Tahlor

Câu trả lời:


5

"đảo ngược việc bỏ học trong giai đoạn đào tạo" nên được ưu tiên hơn.

Về mặt lý thuyết nếu chúng ta thấy bỏ học Bernoulli như một phương pháp thêm tiếng ồn vào mạng, thì tốt hơn là tiếng ồn có thể có nghĩa là không. Nếu chúng tôi thực hiện chia tỷ lệ tại thời điểm đào tạo để loại bỏ phần đơn vị bị vô hiệu hóa, giá trị trung bình của tiếng ồn sẽ bằng không.

Có các loại phương pháp bỏ / nhiễu khác xuất hiện sau đó (ví dụ: bỏ học nhân Gauss, nhiễu phụ gia Gaussian ) cũng có giá trị trung bình bằng không.

Về mặt đào tạo và thử nghiệm mạng lưới thần kinh trong thực tế, có một lý do để thích thực hiện như vậy là tốt. Nói rằng tôi muốn so sánh hiệu suất của hai mô hình với cùng một kiến ​​trúc, một mô hình được đào tạo bởi học sinh bỏ học và một mô hình thì không.

Nếu tôi "mở rộng quy mô kích hoạt tại thời điểm thử nghiệm", thì tôi sẽ cần hai mạng khác nhau tại thời điểm thử nghiệm. Nếu tôi sử dụng "phiên bản đảo ngược" thì tôi chỉ có thể áp dụng cùng một mạng thử nghiệm (mã) cho cả hai bộ tham số được đào tạo.


Hãy để tôi chắc chắn rằng tôi hiểu chính xác: mô hình đào tạo bỏ học không đảo ngược thực sự sẽ có một kiến ​​trúc khác, bởi vì nó sẽ cần phải thực hiện phép nhân với p ở mỗi lớp? Vì vậy, máy tính thấy nó là khác nhau về mặt tôpô?
Eric Auld

@EricAuld xin lỗi vì đã trả lời trễ, vâng, đó chính là điều tôi muốn nói, chỉ bằng cách "áp dụng cùng một mạng thử nghiệm" tôi có nghĩa là bạn sẽ không cần phải thay đổi mã.
dontloo

4

Một lợi thế khác của việc bỏ học ngược (ngoài việc không phải thay đổi mã khi kiểm tra) là trong quá trình đào tạo, người ta có thể nhận được sự ưa thích và thay đổi tỷ lệ bỏ học một cách linh hoạt. Điều này đã được gọi là bỏ học "ủ". Về cơ bản logic là việc thêm "tiếng ồn" bỏ học vào lúc bắt đầu đào tạo giúp giữ cho việc tối ưu hóa không bị kẹt ở mức tối thiểu cục bộ, trong khi để nó phân rã thành 0 trong kết quả cuối cùng trong một mạng được điều chỉnh tốt hơn với hiệu suất tốt hơn.

ANNEALED DROPAIN ĐÀO TẠO MẠNG DEEP

Bỏ học sửa đổi để đào tạo mạng lưới thần kinh


2

Andrew đã đưa ra lời giải thích rất tốt trong khóa học Deep Learning của mình trong phiên này Bỏ học chính quy :

  • Bỏ học ngược là phổ biến hơn vì nó làm cho việc kiểm tra dễ dàng hơn nhiều
  • Mục đích của việc đảo ngược là để đảm bảo rằng giá trị Z sẽ không bị ảnh hưởng bởi việc giảm W.

Nói a3 = a3 / keep_probở bước cuối cùng của việc thực hiện:

Z [4] = W [4] * a [3] + b [4] , kích thước phần tử của [3] đã bị giảm keep_probtừ D3 (phần trăm các phần tử đã bị loại bỏ bởi D3), do đó, giá trị của Z [4] cũng sẽ bị giảm, vì vậy để bù lại khoảng này, chúng ta sẽ đảo ngược sự thay đổi bằng cách chia keep_probđể đảm bảo giá trị của Z [4] sẽ không bị ảnh hưởng.

nhập mô tả hình ảnh ở đây

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.