Số lượng và kích thước của các lớp dày đặc trong một CNN


10

Hầu hết các mạng tôi đã thấy có một hoặc hai lớp dày đặc trước lớp softmax cuối cùng.

  • Có cách nào nguyên tắc chọn số lượng và kích thước của các lớp dày đặc không?
  • Là hai lớp dày đặc đại diện hơn một, cho cùng một số lượng tham số?
  • Nên bỏ học trước mỗi lớp dày đặc, hay chỉ một lần?

Câu trả lời:


14

Đầu tiên:

Không có cách nào để xác định cấu trúc liên kết mạng tốt chỉ từ số lượng đầu vào và đầu ra. Nó phụ thuộc rất nhiều vào số lượng ví dụ đào tạo và mức độ phức tạp của phân loại bạn đang cố gắng học. [1]

và Yoshua Bengio đã đề xuất một quy tắc rất đơn giản:

Chỉ cần tiếp tục thêm các lớp cho đến khi lỗi kiểm tra không cải thiện nữa. [2]

Hơn thế nữa:

Các tính năng trước đó của ConvNet chứa các tính năng chung hơn (ví dụ: trình phát hiện cạnh hoặc trình phát hiện màu) sẽ hữu ích cho nhiều tác vụ, nhưng các lớp sau của ConvNet trở nên cụ thể hơn đối với các chi tiết của các lớp có trong tập dữ liệu gốc. [ 3]

Ví dụ, trong một phương pháp để tìm hiểu các tính năng phát hiện:

lớp đầu tiên học các máy dò cạnh và các lớp tiếp theo học các tính năng phức tạp hơn và các lớp cấp cao hơn mã hóa các tính năng trừu tượng hơn. [4]

Vì vậy, sử dụng hai lớp dày đặc hơn là một lớp.

Cuối cùng:

Bài viết gốc về Dropout cung cấp một số phương pháp phỏng đoán hữu ích để xem xét khi sử dụng bỏ học trong thực tế. Một trong số đó là: Sử dụng bỏ học trên các đơn vị đến (hiển thị) cũng như các đơn vị ẩn. Áp dụng bỏ học ở mỗi lớp của mạng đã cho thấy kết quả tốt. [5]

trong CNN, thông thường, một lớp Dropout được áp dụng sau mỗi lớp gộp và cả sau lớp Dense của bạn. Một hướng dẫn tốt là ở đây [6]

Người giới thiệu:

[1] https://www.cs.cmu.edu/group/AI/util/html/faqs/ai/neural/faq.html

[2] Bengio, Yoshua. "Khuyến nghị thực tế cho đào tạo dựa trên độ dốc của kiến ​​trúc sâu." Mạng lưới thần kinh: Thủ thuật của thương mại. Springer Berlin Heidelberg, 2012. 437-478.

[3] http://cs231n.github.io/transfer-learning/

[4] http://learning.eng.cam.ac.uk/pub/Public/Turner/Teaching/ml-lecture-3-slides.pdf

[5] https://machinelearningmastery.com/dropout-THERization-deep-learning-models-keras/

[6] https://camopedgespark.com/content/tutorials/convolutional-neural-networks-with-keras/index.html

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.