Mô hình Google Inception: tại sao có nhiều softmax?


12

Cấu trúc liên kết của mô hình Google Inception có thể được tìm thấy ở đây: Google Inception Netowrk

Tôi nhận thấy rằng có 3 lớp softmax trong mô hình này (# 154, # 152, # 145) và 2 trong số đó là một lối thoát sớm của mô hình này.

Từ những gì tôi biết, lớp softmax là cho đầu ra cuối cùng, vậy tại sao có quá nhiều? mục đích của 2 lớp khác là gì?

Câu trả lời:


26

Câu trả lời ngắn: Kiến trúc sâu, và cụ thể là GoogLeNet (22 lớp) có nguy cơ xảy ra sự cố biến mất độ dốc trong quá trình đào tạo (thuật toán lan truyền ngược). Các kỹ sư của GoogLeNet đã giải quyết vấn đề này bằng cách thêm các phân loại vào các lớp trung gian, sao cho tổn thất cuối cùng là sự kết hợp giữa tổn thất trung gian và tổn thất cuối cùng. Đây là lý do tại sao bạn thấy tổng cộng ba lớp mất, không giống như lớp đơn thông thường là lớp cuối cùng của mạng.

Câu trả lời dài hơn: Trong Machine Learning cổ điển, thường có sự phân biệt giữa kỹ thuật tính năng và phân loại. Mạng lưới thần kinh nổi tiếng nhất với khả năng giải quyết các vấn đề "từ đầu đến cuối", tức là, họ kết hợp các giai đoạn học cách biểu diễn dữ liệu và đào tạo một bộ phân loại. Do đó, bạn có thể nghĩ về một mạng nơ ron có kiến ​​trúc tiêu chuẩn (ví dụ AlexNet) được cấu thành từ giai đoạn "học đại diện" (các lớp cho đến trước đó đến cuối cùng) và giai đoạn "phân loại", như mong đợi, bao gồm một chức năng mất.

Khi tạo các mạng sâu hơn, sẽ phát sinh một vấn đề được đặt ra là vấn đề "độ dốc biến mất". Nó thực sự không đặc trưng cho các mạng lưới thần kinh; thay vì bất kỳ phương pháp học tập dựa trên độ dốc. Nó không tầm thường và do đó xứng đáng được giải thích thích hợp cho chính nó; xem ở đây để tham khảo tốt. Theo trực giác, bạn có thể nghĩ về các gradient mang ít thông tin hơn khi chúng ta vào sâu hơn trong mạng, điều này tất nhiên là mối quan tâm chính, vì chúng ta điều chỉnh các tham số (trọng số) của mạng chỉ dựa trên độ dốc, sử dụng "back-prop "Thuật toán.

Các nhà phát triển của GoogLeNet đã xử lý vấn đề này như thế nào? Họ nhận ra một thực tế rằng không chỉ các tính năng của các lớp cuối cùng mang tất cả thông tin phân biệt đối xử: các tính năng trung gian cũng có khả năng phân biệt các nhãn khác nhau; và quan trọng nhất là các giá trị của chúng "đáng tin cậy" hơn vì chúng được trích xuất từ ​​các lớp trước đó trong đó gradient mang nhiều thông tin hơn. Dựa trên trực giác này, họ đã thêm "phân loại phụ trợ" vào hai lớp trung gian. Đây là lý do cho các lớp mất "thoát sớm" ở giữa mạng mà bạn đã tham chiếu trong câu hỏi của mình.

Tổng tổn thất sau đó là sự kết hợp của ba lớp mất này. Tôi trích dẫn từ bài viết gốc:

Các phân loại này có dạng các mạng chập nhỏ hơn đặt lên trên đầu ra của các mô-đun Inception (4a) và (4d). Trong quá trình đào tạo, tổn thất của họ được cộng vào tổng tổn thất của mạng với trọng số chiết khấu (tổn thất của các lớp phụ trợ được tính bằng 0,3). Tại thời điểm suy luận, các mạng phụ trợ bị loại bỏ.

Trực quan:

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


1
"... các lớp trước đó trong đó gradient mang nhiều thông tin hơn" - tại sao vậy?
tối đa

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.