Làm thế nào để các lớp chập tiếp theo hoạt động?


29

Câu hỏi này tập trung vào "làm thế nào để các lớp chập hoạt động chính xác .

Giả sử tôi có một hình ảnh thang độ xám. Vì vậy, hình ảnh có một kênh. Trong lớp đầu tiên, tôi áp dụng tích chập với bộ lọc và đệm . Sau đó, tôi có một lớp chập khác với bộ lọc và bộ lọc . Tôi có bao nhiêu bản đồ?3 × 3 k 1 5 × 5 k 2n×m3×3k15×5k2

Tổ hợp loại 1

Lớp đầu tiên được thực thi. Sau đó, tôi có bản đồ tính năng k1 (một bản đồ cho mỗi bộ lọc). Mỗi cái có kích thước n×m . Mỗi pixel đơn lẻ được tạo bằng cách lấy 33=9 pixel từ hình ảnh đầu vào được đệm.

Sau đó, lớp thứ hai được áp dụng. Mỗi bộ lọc được áp dụng riêng cho từng bản đồ tính năng . Điều này dẫn đến các bản đồ tính năng k2 cho mọi bản đồ tính năng k1 . Vì vậy, có các bản đồ tính năng k1×k2 sau lớp thứ hai. Mỗi pixel của mỗi bản đồ tính năng mới đã được tạo bằng cách lấy 55=25 "pixel" của bản đồ tính năng được đệm từ trước đó.

Hệ thống phải tìm hiểu k133+k255 tham số.

Tổ hợp loại 2.1

Giống như trước: Lớp đầu tiên được thực thi. Sau đó, tôi có bản đồ tính năng k1 (một bản đồ cho mỗi bộ lọc). Mỗi cái có kích thước n×m . Mỗi pixel được tạo bằng cách lấy 33=9 pixel từ hình ảnh đầu vào được đệm.

Không giống như trước: Sau đó, lớp thứ hai được áp dụng. Mỗi bộ lọc được áp dụng cho cùng một khu vực, nhưng tất cả các bản đồ tính năng từ trước đó. Điều này dẫn đến tổng số bản đồ tính năng k2 sau khi lớp thứ hai được thực thi. Mỗi pixel của mỗi bản đồ tính năng mới đã được tạo bằng cách lấy k255=25k2 "pixel" của bản đồ tính năng được đệm từ trước đó.

Hệ thống phải tìm hiểu tham số.k133+k255

Tổ hợp loại 2.2

Giống như ở trên, nhưng thay vì có tham số cho mỗi bộ lọc phải học và được sao chép đơn giản cho các bản đồ tính năng đầu vào khác, bạn có số cần phải học.55=25k133+k2k155

Câu hỏi

  1. Là loại 1 hoặc loại 2 thường được sử dụng?
  2. Loại nào được sử dụng trong Alexnet ?
  3. Loại nào được sử dụng trong GoogLeNet ?
    • Nếu bạn nói loại 1: Tại sao kết luận lại có ý nghĩa gì? Không phải họ chỉ nhân dữ liệu với một hằng số sao?1×1
    • Nếu bạn nói loại 2: Vui lòng giải thích chi phí bậc hai ("Ví dụ: trong mạng tầm nhìn sâu, nếu hai lớp chập bị xiềng xích, bất kỳ sự tăng đồng đều nào về số lượng bộ lọc của chúng sẽ dẫn đến tăng tính toán bậc hai")

Đối với tất cả các câu trả lời, xin vui lòng cung cấp một số bằng chứng (giấy tờ, sách giáo khoa, tài liệu về khung) rằng câu trả lời của bạn là chính xác.

Câu hỏi thưởng 1

Việc gộp chung luôn được áp dụng chỉ trên mỗi bản đồ tính năng hay nó cũng được thực hiện trên nhiều bản đồ tính năng?

Câu hỏi thưởng 2

Tôi tương đối chắc chắn rằng loại 1 là chính xác và tôi đã có điều gì đó không đúng với bài báo GoogLe. Nhưng cũng có một kết cấu 3D. Giả sử bạn có 1337 bản đồ tính năng có kích thước và bạn áp dụng bộ lọc . Làm thế nào để bạn trượt bộ lọc trên các bản đồ tính năng? (Trái sang phải, từ trên xuống dưới, bản đồ tính năng đầu tiên đến bản đồ tính năng cuối cùng?) Có vấn đề gì miễn là bạn làm điều đó một cách nhất quán?42×3143×4×5

Nghiên cứu của tôi

  • Tôi đã đọc hai bài báo ở trên, nhưng tôi vẫn không chắc những gì được sử dụng.
  • Tôi đã đọc tài liệu lasagne
  • Tôi đã đọc tài liệu của theano
  • Tôi đã đọc câu trả lời về Tìm hiểu mạng nơ ron tích chập (không theo tất cả các liên kết)
  • Tôi đã đọc Mạng thần kinh chuyển đổi (LeNet) . Đặc biệt là hình 1 làm cho tôi tương đối chắc chắn rằng Type 2.1 là đúng. Điều này cũng phù hợp với nhận xét "chi phí bậc hai" trong GoogLe Net và với một số kinh nghiệm thực tế tôi có với Caffee.

Một lát sau: Phân tích và tối ưu hóa các kiến ​​trúc mạng thần kinh chuyển đổi , đặc biệt là chương 2 và hình 2.2 và hình 2.3.
Martin Thoma

Câu trả lời:


5

Tôi không chắc chắn về các lựa chọn thay thế được mô tả ở trên, nhưng phương pháp thường được sử dụng là:

Trước khi áp dụng tính phi tuyến tính, mỗi đầu ra của bộ lọc phụ thuộc tuyến tính vào tất cả các ánh xạ tính năng trước trong bản vá, do đó bạn kết thúc với bộ lọc sau các lớp thứ hai. Số tổng thể các thông số là 3 ˙k2 .3˙3˙k1+k1˙5˙5˙k2

Phần thưởng 1: Pooling được thực hiện trên mỗi bản đồ tính năng, riêng biệt.

Phần thưởng 2: Thứ tự "trượt" không quan trọng. Trong thực tế, mỗi đầu ra được tính toán dựa trên lớp trước đó, vì vậy các phản hồi của bộ lọc đầu ra không phụ thuộc vào nhau. Chúng có thể được tính toán song song.


1
Tôi hoàn toàn quên mất câu hỏi này. Trong khi đó, tôi đã viết luận văn thạc sĩ về CNNs. Chương 3 giải thích cách họ làm việc.
Martin Thoma

1
Để làm rõ: Loại 2.2 là loại chính xác (được mô tả trong câu trả lời này)
Martin Thoma

1
Trong trường hợp bất cứ ai thực sự muốn thấy điều này trong thực tế, tôi đã triển khai một mạng lưới thần kinh tích chập sâu trong các tờ google. Bạn có thể thấy các bộ lọc và hình ảnh đầu vào, pixel cho pixel khi nó hoạt động thông qua CNN, cho đến khi CNN dự đoán câu trả lời: docs.google.com.vn/s
rải tờ / d / khăn

5

Tôi vừa vật lộn với câu hỏi tương tự trong vài giờ. Nghĩ rằng tôi muốn chia sẻ sự giúp đỡ đã giúp tôi hiểu nó.

Câu trả lời là các bộ lọc cho lớp chập thứ hai không có cùng chiều với các bộ lọc cho lớp đầu tiên. Nói chung, bộ lọc phải có cùng số lượng kích thước với đầu vào của nó . Vì vậy, trong lớp đối lưu đầu tiên, đầu vào có 2 chiều (vì đó là hình ảnh). Do đó, các bộ lọc cũng có hai chiều. Nếu có 20 bộ lọc trong lớp đối lưu đầu tiên, thì đầu ra của lớp đối lưu đầu tiên là một chồng gồm 20 bản đồ tính năng 2D. Vì vậy, đầu ra của lớp đối lưu thứ nhất là 3 chiều, trong đó kích thước của chiều thứ ba bằng với số lượng bộ lọc trong lớp đầu tiên.

Bây giờ, ngăn xếp 3D này tạo thành đầu vào cho lớp đối lưu thứ hai. Vì đầu vào của lớp thứ 2 là 3D, nên các bộ lọc cũng phải là 3D. Đặt kích thước của các bộ lọc của lớp thứ hai trong chiều thứ ba bằng với số bản đồ đặc trưng là đầu ra của lớp đầu tiên.

Bây giờ bạn chỉ cần kết hợp trong 2 chiều đầu tiên; hàng và cột. Do đó, tích chập của mỗi bộ lọc lớp 2 với chồng bản đồ tính năng (đầu ra của lớp đầu tiên) tạo ra một bản đồ tính năng duy nhất.

Do đó, kích thước của chiều thứ ba của đầu ra của lớp thứ hai bằng với số lượng bộ lọc trong lớp thứ hai.


2

Kiểm tra bài giảng này và hình dung này

Thông thường nó được sử dụng chập 2.1. Trong đầu vào bạn có hình ảnh NxMx1, sau đó sau khi tích chập đầu tiên, bạn sẽ có được N_1xM_1xk_1, vì vậy hình ảnh của bạn sau khi tích chập đầu tiên sẽ có các kênh k_1. Kích thước mới N_1 và M_1 sẽ phụ thuộc vào sải chân của bạn và phần đệm P: N_1 = (N - 3 + 2P) / S + 1, bạn tính toán M_1 theo cách tương tự. Đối với lớp đối lưu đầu tiên, bạn sẽ có trọng lượng 3x3xk_1 + k_1. Có thêm k_1 cho các sai lệch trong hàm phi tuyến.

Trong lớp thứ hai, bạn có hình ảnh đầu vào với kích thước N_1xM_1xk_1, trong đó k_1 là số kênh mới. Và sau khi tích chập thứ hai, bạn có được hình ảnh (mảng) N_2xM_2xk_2. Bạn có các tham số 5x5xk_2xk_1 + k_2 trong lớp thứ hai.

Đối với tích chập 1x1 với bộ lọc k_3 và đầu vào NxMxC (C là số kênh đầu vào), bạn sẽ thu được hình ảnh (mảng) mới NxMxk_3, do đó 1x1 có ý nghĩa. Họ đã được giới thiệu trong bài báo này

Phần thưởng 1: gộp chung được áp dụng cho mỗi bản đồ tính năng.

Để biết chi tiết, vui lòng xem các trang trình bày về khóa học CNN trên Stanford - bạn có hình dung đẹp về cách tích chập được tổng hợp từ một số kênh đầu vào.


2
Câu trả lời chỉ liên kết không được khuyến khích - liên kết có thể ngừng hoạt động. Bạn có thể nội tuyến thông tin liên quan?
Sean Owen

1
hình dung đã thực sự hữu ích. Khoảnh khắc hiển linh của tôi là khi tôi nhận ra rằng các bộ lọc là 3D chứ không phải 2D.
kmace

1
Liên kết tuyệt vời, sắp xếp các công cụ cho tôi. Nhưng câu trả lời của bạn có vẻ không nhất quán với những gì được nói trong các liên kết, cụ thể là ở lớp đối lưu 2, mỗi trường tiếp nhận là 3D với kích thước 5x5xk_1, vì vậy số lượng tham số phải là 5 * 5 * k_1 * k_2 (cộng với độ lệch).
Daniel Schlaug

@DanielSchlaug bạn nói đúng, tôi đã sửa câu trả lời.
pplonski

1

k1331k1

k255k1k2

Đó là, các hạt nhân trong một lớp chập trải dài theo chiều sâu của đầu ra của lớp trước đó.

1×1kn11kn1

Đầu cơ:

Câu hỏi phần thưởng 2 không phải là thứ tôi quen thuộc, nhưng tôi sẽ đoán tham số độ sâu trong tích chập trở thành một thứ nguyên phụ.

mnknmnkn+1kn

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.