Một vài giải thích về mạng lưới thần kinh tích chập


6

Khi đọc về việc chuyển đổi lớp được kết nối đầy đủ thành lớp chập, được đăng trong http://cs231n.github.io/convolutional-networks/#convert .

Tôi chỉ cảm thấy bối rối về hai ý kiến ​​sau đây:

Hóa ra việc chuyển đổi này cho phép chúng tôi "trượt" ConvNet ban đầu rất hiệu quả trên nhiều vị trí không gian trong một hình ảnh lớn hơn, trong một lần chuyển tiếp duy nhất.

Một ConvNet tiêu chuẩn sẽ có thể hoạt động trên mọi kích thước hình ảnh. Bộ lọc tích chập có thể trượt trên lưới hình ảnh, vậy tại sao chúng ta cần phải trượt ConvNet ban đầu ở bất kỳ vị trí không gian nào trong một hình ảnh lớn hơn?

Việc đánh giá ConvNet ban đầu (với các lớp FC) một cách độc lập trên các cây trồng 224x224 của hình ảnh 384x384 trong các bước 32 pixel cho kết quả giống hệt nhau để chuyển tiếp ConvNet đã chuyển đổi một lần.

"Bước tiến của 32 pixel" nghĩa là gì ở đây? Điều đó có đề cập đến kích thước bộ lọc? Khi nói về 224 * 224 vụ mùa của hình ảnh 384 * 384, điều đó có nghĩa là chúng ta sử dụng trường tiếp nhận là 224 * 224?

Tôi đánh dấu hai bình luận này là màu đỏ trong bối cảnh ban đầu.

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


3
Bạn cần đọc lên trên ConvNet. Sải bước có nghĩa là kích thước nhảy. "Khi sải chân là 1 thì chúng ta di chuyển các bộ lọc một pixel tại một thời điểm. Khi sải chân là 2 (hoặc không phổ biến 3 trở lên, mặc dù điều này rất hiếm trong thực tế), sau đó các bộ lọc nhảy 2 pixel mỗi lần khi chúng trượt chúng xung quanh . Điều này sẽ tạo ra khối lượng đầu ra nhỏ hơn theo không gian. " nguồn: cs231n.github.io/convolutional-networks
horaceT

Câu trả lời:


6

Các lớp được kết nối đầy đủ chỉ có thể xử lý đầu vào có kích thước cố định, vì nó yêu cầu một lượng tham số nhất định để "kết nối đầy đủ" đầu vào và đầu ra. Mặc dù các lớp chập chỉ "trượt" các bộ lọc giống nhau trên đầu vào, do đó về cơ bản nó có thể xử lý đầu vào có kích thước không gian tùy ý.

Trong mạng ví dụ với các lớp được kết nối đầy đủ ở cuối, hình ảnh 224 * 224 sẽ tạo ra một vectơ 1000d của điểm số lớp. Nếu chúng ta áp dụng mạng trên một hình ảnh lớn hơn, mạng sẽ thất bại do sự không nhất quán giữa đầu vào và các tham số của lớp được kết nối đầy đủ đầu tiên.

Mặt khác, nếu chúng ta sử dụng mạng tích chập hoàn toàn, khi áp dụng cho hình ảnh lớn hơn, chúng ta sẽ nhận được 1000 "bản đồ nhiệt" về điểm số của lớp.

Như được hiển thị trong hình dưới đây (từ bài viết phân đoạn FCN ), mạng phía trên cho một điểm cho mỗi lớp và sau khi chuyển đổi (tích chập), chúng ta có thể lấy sơ đồ nhiệt cho mỗi lớp cho hình ảnh lớn hơn.
nhập mô tả hình ảnh ở đây

Về "sải chân", trên cùng một trang, trong phần Sắp xếp không gian:

Khi sải chân là 1 thì chúng ta di chuyển các bộ lọc một pixel mỗi lần. Khi sải chân là 2 (hoặc không phổ biến từ 3 trở lên, mặc dù điều này rất hiếm trong thực tế) thì các bộ lọc sẽ nhảy 2 pixel mỗi lần khi chúng ta trượt chúng xung quanh. Điều này sẽ tạo ra khối lượng đầu ra nhỏ hơn theo không gian.


1
@ user3269 nếu đầu vào của lớp kết nối đầy đủ là 7 * 7 * 512, chúng ta sẽ cần các tham số 7 * 7 * 512 * 4096 để "kết nối đầy đủ" đầu vào và đầu ra. nếu kích thước không gian của đầu vào tăng, chúng ta sẽ cần nhiều tham số hơn. đối với các lớp chập, chúng tôi chỉ áp dụng cùng một bộ lọc cho mọi phần của đầu vào.
dontloo

2
@ user3269 mạng đầu ra một giá trị cho mỗi lớp cho hình ảnh 224 * 224, khi chúng tôi cung cấp hình ảnh 384 * 384, nó sẽ tạo ra sơ đồ nhiệt 12 * 12 cho mỗi lớp, mỗi pixel của sơ đồ nhiệt tương đương với giá trị chúng tôi nhận được áp dụng mạng trên bản vá 224 * 224 ở một vị trí cụ thể. bởi vì mạng làm giảm kích thước không gian của đầu vào anh ta theo hệ số 32 (224 * 224-> 7 * 7), do đó trượt một pixel ở lớp trên cùng sẽ trượt 32 pixel trong hình ảnh đầu vào.
dontloo

1
Điều gì xảy ra nếu chúng ta "trượt" trên một số kích thước đầu vào lớn hơn với fc cnn, chúng ta vẫn có thể nhận được "bản đồ nhiệt". Nếu vậy, điểm của một mạng lưới đầy đủ là gì?
flankechen

1
@flankechen hi, nếu tôi hiểu chính xác, việc trượt toàn bộ cnn để có được bản đồ nhiệt sẽ kém hiệu quả hơn vì sẽ có sự chồng chéo lớn giữa các cửa sổ khác nhau được gửi vào mạng và cuối cùng chúng tôi sẽ áp dụng cùng một bộ lọc cho các vùng chồng lấp này . Một lựa chọn tốt hơn là lưu lại sự dư thừa đó và áp dụng mạng cho toàn bộ hình ảnh một lần và điều đó có thể được thực hiện bởi một mạng chập hoàn toàn.
dontloo

1
@flankechen cho các mạng hoàn toàn gửi toàn bộ hình ảnh vào mạng và trượt các bộ lọc tích chập hiệu quả hơn so với trượt toàn bộ mạng, ngoài ra tôi nghĩ rằng một mạng được kết nối đầy đủ cũng sẽ hoạt động.
dontloo
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.