Tại sao việc thêm một lớp bỏ học lại cải thiện hiệu suất học tập sâu / máy, với điều kiện là học sinh bỏ học sẽ loại bỏ một số tế bào thần kinh khỏi mô hình?


12

Nếu loại bỏ một số tế bào thần kinh dẫn đến một mô hình hoạt động tốt hơn, tại sao không sử dụng một mạng lưới thần kinh đơn giản hơn với ít lớp hơn và ít tế bào thần kinh hơn ở nơi đầu tiên? Tại sao lại xây dựng một mô hình lớn hơn, phức tạp hơn ngay từ đầu và triệt tiêu các phần của nó sau này?

Câu trả lời:


28

Chức năng của bỏ học là tăng cường độ mạnh mẽ của mô hình và cũng để loại bỏ bất kỳ sự phụ thuộc đơn giản nào giữa các tế bào thần kinh.

Các nơ-ron chỉ được loại bỏ cho một lần chuyển tiếp và lùi qua mạng - có nghĩa là trọng lượng của chúng được đặt thành không cho tổng số đó, và do đó, lỗi của chúng cũng không có nghĩa là các trọng số không được cập nhật. Dropout cũng hoạt động như một hình thức chính quy , vì nó đang phạt người mẫu vì sự phức tạp của nó, phần nào.

Tôi khuyên bạn nên đọc phần bỏ học trong phần Học tập sâu của Michael Nielsen (miễn phí và trực tuyến), mang lại trực giác tốt và cũng có sơ đồ / giải thích rất hữu ích. Ông giải thích rằng:

Bỏ học là một kỹ thuật hoàn toàn khác để chuẩn hóa. Không giống như chính quy hóa L1 và L2, học sinh bỏ học không phụ thuộc vào việc sửa đổi hàm chi phí. Thay vào đó, trong việc bỏ học, chúng tôi sửa đổi mạng.

Đây là một bài viết tóm tắt tốt đẹp . Từ bài báo đó:

Một số quan sát:

  • Dropout buộc một mạng lưới thần kinh phải học các tính năng mạnh mẽ hơn, hữu ích kết hợp với nhiều tập hợp ngẫu nhiên khác nhau của các tế bào thần kinh khác.
  • Bỏ học gần gấp đôi số lần lặp cần thiết để hội tụ. Tuy nhiên, thời gian đào tạo cho mỗi kỷ nguyên là ít hơn.
  • Với các đơn vị ẩn H, mỗi đơn vị có thể được loại bỏ, chúng ta có 2 ^ H mô hình có thể. Trong giai đoạn thử nghiệm, toàn bộ mạng được xem xét và mỗi lần kích hoạt được giảm bởi một yếu tố p.

Thí dụ

Hãy tưởng tượng tôi yêu cầu bạn pha cho tôi một tách trà - bạn có thể luôn luôn dùng tay phải để rót nước, mắt trái của bạn để đo mức nước và sau đó dùng tay phải một lần nữa để khuấy trà bằng thìa. Điều này có nghĩa là tay trái và mắt phải của bạn phục vụ mục đích nhỏ. Sử dụng bỏ học, ví dụ như trói tay phải ra sau lưng - buộc bạn phải sử dụng tay trái. Bây giờ sau khi pha cho tôi 20 tách trà, bằng một mắt hoặc một tay không hoạt động, bạn được đào tạo tốt hơn về cách sử dụng mọi thứ có sẵn. Có thể sau này bạn sẽ bị buộc phải pha trà trong một nhà bếp nhỏ, nơi chỉ có thể sử dụng ấm đun nước với cánh tay trái của bạn ... và sau khi sử dụng bỏ học, bạn có kinh nghiệm làm điều đó! Bạn đã trở nên mạnh mẽ hơn để không nhìn thấy dữ liệu.


Làm thế nào để xác định giá trị bỏ học tốt nhất để phân loại nhiều lớp? và làm thế nào để xác định số lượng bỏ học tốt nhất?
N.IT

2
@ N.IT - theo như tôi biết, không có phương pháp nào được xác định rõ ràng sẽ tìm thấy mức bỏ học tốt nhất hoặc có bao nhiêu lớp - ngoài jsut đang thử nhiều kết hợp. Cũng như các phương pháp chính quy và thăm dò kiến ​​trúc khác, bạn có thể sẽ nhận được kết quả tốt nhất bằng cách đào tạo một mô hình và so sánh các đường cong mất mát đào tạo / xác nhận. Kiểm tra lời giải thích này xung quanh chủ đề .
n1k31t4

Câu trả lời chính xác. Để cụ thể hơn liên quan đến sự tương tự nhà bếp của bạn, Dropout chỉ được sử dụng trong quá trình đào tạo, không phải trong quá trình suy luận. Do đó, mô hình phức tạp không được sử dụng một phần.
Vaibhav Garg

Tôi đang gõ câu trả lời này khi mắt tôi nhắm lại. gyes cần đào tạo thêm. nwws moew seopour.
VHanded

3

Dropout không thực sự loại bỏ tế bào thần kinh, chỉ là những tế bào thần kinh cụ thể đó không đóng vai trò gì (không được kích hoạt) cho lô dữ liệu nhất định.

Ví dụ - Giả sử có đường có 8 làn - Khi Xe tải đến, họ đi qua làn 1,2,4,6,7, khi Ô tô đến, họ đi qua làn 2,3,4,7,8 và khi Xe đạp đến , họ đi qua làn đường 1,2,5,8. Vì vậy, bất kể phương tiện nào, tất cả các làn đường đều ở đó, nhưng chỉ một số trong số chúng được sử dụng.

Tương tự, tất cả các nơ-ron được sử dụng trong toàn bộ mô hình, nhưng chỉ một tập hợp các nơ-ron được kích hoạt cho một lô dữ liệu cụ thể. Và mô hình không bị cắt giảm sau đó, độ phức tạp của mô hình vẫn như cũ.

Tại sao nên sử dụng bỏ học?

Như được đưa ra trong cuốn sách Deep learning của Ian Goodfellow,

bỏ học có hiệu quả hơn so với các bộ chuẩn hóa tính toán rẻ tiền tiêu chuẩn khác, chẳng hạn như phân rã trọng lượng, các ràng buộc định mức của bộ lọc và chính quy hóa hoạt động thưa thớt.

Anh cũng nói-

Một lợi thế của việc bỏ học là nó rất rẻ.

Một lợi thế đáng kể khác của việc bỏ học là nó không giới hạn đáng kể loại mô hình hoặc quy trình đào tạo có thể được sử dụng. Nó hoạt động tốt với gần như bất kỳ mô hình nào sử dụng biểu diễn phân tán và có thể được đào tạo với độ dốc dốc ngẫu nhiên. Điều này bao gồm các mạng thần kinh hướng tới, các mô hình xác suất như máy Boltzmann bị hạn chế (Srivastava et al., 2014) và mạng thần kinh tái phát (Bayer và Osendorfer, 2014; Pascanu et al., 2014a).

Cuốn sách này nói-

Ý tưởng cốt lõi là việc đưa ra nhiễu trong các giá trị đầu ra của một lớp có thể phá vỡ các mẫu tình huống không đáng kể, mà mạng sẽ bắt đầu ghi nhớ nếu không có nhiễu.


Tôi đã chỉnh sửa câu hỏi để sử dụng từ triệt tiêu và không xóa. Câu hỏi vẫn còn. Tại sao xây dựng nhiều làn đường khi chỉ một số trong số chúng được sử dụng cuối cùng?
user781486

@ user781486 Theo một số người trong số họ, điều đó có nghĩa là một số trong số họ cho mỗi lô dữ liệu, nhưng tất cả chúng sẽ được sử dụng nếu bạn xem xét toàn bộ dữ liệu. Giống như trong ví dụ của tôi, tất cả các làn đường được sử dụng nếu bạn sử dụng bộ số làn đường kết hợp cho mỗi chiếc xe.
Ankit Seth

3

Một cách khác để xem xét những gì bỏ học là nó giống như một hệ số trượt trước hệ số cho một hiệp phương sai (đó là một số thuật ngữ tương tác phức tạp của hiệp phương sai với một số biến đổi chức năng phức tạp) trong mô hình Bayes. Đây là cách giải thích được đề xuất bởi Yarin Gal trong luận án của ông (xem danh sách các ấn phẩm của ông ).

Dưới đây là một lập luận vẫy tay ngắn gọn cho lý do tại sao điều này là như vậy:

  • Trong các lô đó, khi loại bỏ một nơ-ron, hệ số tính năng / hiệp phương sai (được xây dựng bằng kết nối trong mạng nơ-ron đi vào nơ-ron) là 0 (tăng đột biến ở 0).
  • Trong các lô đó, nơi có tế bào thần kinh, hệ số không bị giới hạn (căn hộ không đúng trước = tấm).
  • Tính trung bình trên tất cả các lô, bạn sẽ nhận được một đột biến trước.

Tại sao chúng ta muốn có một slab-and-spike trước? Nó tạo ra một mô hình Bayes trung bình giữa một mạng trung tính không có nơ-ron đó và một mạng không có nơ-ron. Nói cách khác, nó cho phép chúng ta bày tỏ sự không chắc chắn về việc mạng trung tính có thực sự cần phải có sự phức tạp đầy đủ của nó hay không và tính đến sự không chắc chắn này. phỏng đoán. Điều này giải quyết vấn đề chính của các mạng trung tính có thể phù hợp với dữ liệu (mặc dù tất nhiên đó không phải là cách khả thi duy nhất để đạt được điều đó).


Điểm tốt. Sẽ cập nhật câu trả lời.
Bjorn

2

Lớp bỏ học bừa bãi loại bỏ một phần tế bào thần kinh xác định, làm giảm khả năng đại diện của mô hình trong câu hỏi. Điều này ngăn mạng phù hợp với các ranh giới quyết định phi tuyến phức tạp (nghĩa là "nhiễu" trong tập dữ liệu), do đó ngăn chặn (hoặc cải thiện) quá mức.

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.