Làm thế nào để kiến ​​trúc cổ chai làm việc trong các mạng lưới thần kinh?


21

Chúng tôi định nghĩa kiến ​​trúc nút cổ chai là loại được tìm thấy trong bài báo ResNet , trong đó [hai lớp đối lưu 3x3] được thay thế bằng [một đối tượng 1x1, một đối tượng 3x3 và một lớp đối lưu 1x1 khác].nhập mô tả hình ảnh ở đây

Tôi hiểu rằng các lớp đối lưu 1x1 được sử dụng như một hình thức giảm kích thước (và phục hồi), được giải thích trong bài đăng khác . Tuy nhiên, tôi không rõ tại sao cấu trúc này hiệu quả như bố cục ban đầu.

Một số giải thích tốt có thể bao gồm: Chiều dài sải chân được sử dụng và ở lớp nào? Ví dụ kích thước đầu vào và đầu ra của mỗi mô-đun là gì? Các bản đồ tính năng 56x56 được thể hiện trong sơ đồ trên như thế nào? Do 64-d đề cập đến số lượng bộ lọc, tại sao điều này khác với các bộ lọc 256-d? Có bao nhiêu trọng lượng hoặc FLOP được sử dụng ở mỗi lớp?

Bất kỳ cuộc thảo luận được đánh giá rất cao!


Tôi nghĩ rằng nó có thể giúp với việc khái quát hóa và phòng ngừa phù hợp hơn. Nhưng đó chỉ là một hồi ức mơ hồ.
Chris

Câu trả lời:


5

Kiến trúc nút cổ chai được sử dụng trong các mạng rất sâu do các xem xét tính toán.

Để trả lời câu hỏi của bạn:

  1. Bản đồ tính năng 56x56 không được thể hiện trong hình trên. Khối này được lấy từ ResNet với kích thước đầu vào là 224x224. 56x56 là phiên bản rút gọn của đầu vào ở một số lớp trung gian.

  2. 64-d đề cập đến số lượng bản đồ tính năng (bộ lọc). Kiến trúc nút cổ chai có 256-d, đơn giản vì nó có nghĩa là cho mạng sâu hơn nhiều, có thể lấy hình ảnh có độ phân giải cao hơn làm đầu vào và do đó yêu cầu nhiều bản đồ tính năng hơn.

  3. Tham khảo hình này cho các tham số của từng lớp nút cổ chai trong ResNet 50.


1
Đối với những độc giả tương lai, tôi nên đề cập rằng tôi nghĩ rằng các đối tượng 1x1 có sải chân = 1 và pad = 0, để bảo toàn (WxH) là 56x56. Tương tự, các đối tượng 3x3 có stride = 1 và pad = 1 để duy trì kích thước.
derekchen14

Tôi vẫn không hiểu. Có vẻ như cả hai đều có số lượng tham số tương tự nhau, trong trường hợp đó tôi vẫn không hiểu mục đích của lớp bootleneck.
dùng570593

-1

Tôi thực sự nghĩ rằng điểm thứ 2 trong câu trả lời của Newstein là sai lệch.

Các 64-dhoặc 256-dnên tham khảo các số kênh của bản đồ tính năng đầu vào - không phải là số lượng tính năng đầu vào bản đồ.

Hãy xem xét khối "nút cổ chai" (bên phải của hình) trong câu hỏi của OP làm ví dụ:

  • 256-dcó nghĩa là chúng ta có một bản đồ tính năng đầu vào duy nhất với kích thước n x n x 256. Trong 1x1, 64hình có nghĩa là 64 các bộ lọc , mỗi bộ lọc1x1 và có 256các kênh ( 1x1x256).
  • Vì vậy, ở đây chúng ta có thể thấy rằng tích chập của một bộ lọc ( 1x1x256) với bản đồ tính năng đầu vào ( n x n x 256) cung cấp cho chúng ta n x nđầu ra.
  • Bây giờ chúng ta có 64các bộ lọc, do đó, bằng cách xếp chồng các đầu ra, kích thước bản đồ tính năng đầu ra là n x n x 64.

Đã chỉnh sửa:

  • @Michael Chernick: Ok, đây sẽ là một câu trả lời một phần, vì tôi đã cố gắng sửa câu trả lời được chấp nhận. Bạn có thể dành thời gian để xem câu trả lời một phần của tôi và cho tôi biết nếu tôi hiểu đúng không?

Bất kể danh tiếng, bạn không nên sử dụng câu trả lời cho ý kiến.
Michael R. Chernick
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.