Mengapa berbelit-belit jika Max Pooling hanya akan menurunkan gambar?


13

Gagasan menerapkan filter untuk melakukan sesuatu seperti mengidentifikasi tepi, adalah ide yang cukup keren.

Misalnya, Anda dapat mengambil gambar 7. Dengan beberapa filter, Anda dapat berakhir dengan gambar yang diubah yang menekankan berbagai karakteristik gambar asli. 7 yang asli:

masukkan deskripsi gambar di sini

dapat dialami oleh jaringan sebagai:

masukkan deskripsi gambar di sini

Perhatikan bagaimana setiap gambar telah mengekstraksi tepi yang berbeda dari yang asli 7.

Ini semua hebat, tetapi kemudian, katakanlah lapisan berikutnya dalam jaringan Anda adalah lapisan Max Pooling.

Pertanyaan saya adalah, secara umum, bukankah ini sedikit berlebihan? Kami hanya sangat berhati-hati dan sengaja mengidentifikasi tepi menggunakan filter - sekarang, kami tidak lagi peduli tentang hal itu, karena kami telah menghancurkan nilai-nilai piksel! Harap perbaiki jika saya salah, tetapi kami beralih dari 25 X 25 ke 2 X 2! Mengapa tidak langsung saja ke Max Pooling, bukankah pada dasarnya kita akan mendapatkan hal yang sama?

Sebagai perpanjangan pertanyaan saya, saya bertanya-tanya apa yang akan terjadi jika, secara kebetulan, masing-masing dari 4 kotak semua kebetulan memiliki piksel dengan nilai maksimal yang sama. Tentunya ini bukan kasus yang langka, bukan? Tiba-tiba semua gambar latihan Anda terlihat sama persis.

Jawaban:


15

Max pooling tidak mengurangi sampel gambar. Ini fitur sampel bawah (seperti tepi) yang baru saja Anda ekstrak. Yang berarti Anda mendapatkan lebih banyak di mana tepi atau fitur lainnya berada. Seringkali inilah yang dibutuhkan jaringan untuk generalisasi - untuk mengklasifikasikannya tidak perlu tahu ada tepi vertikal yang berjalan dari 10,5 ke 10.20, tetapi ada sekitar tepi vertikal sekitar 1/3 dari tepi kiri sekitar 2/3 tinggi gambar.

Kategori fitur yang lebih kasar ini secara inheren mencakup lebih banyak variasi dalam gambar input dengan biaya yang sangat kecil, dan pengurangan ukuran peta fitur juga merupakan efek samping yang bagus, membuat jaringan lebih cepat.

Agar ini berfungsi dengan baik, Anda masih perlu mengekstrak fitur untuk memulai, yang tidak dilakukan penyatuan maks, sehingga lapisan konvolusional diperlukan. Anda harus menemukan bahwa Anda dapat mengambil sampel gambar asli (ke 14x14) daripada menggunakan lapisan max-pooling pertama, dan Anda masih akan mendapatkan akurasi yang cukup masuk akal. Berapa banyak penyatuan yang harus dilakukan, dan di mana menambahkan lapisan-lapisan itu adalah masalah hyper-parameter lain ketika membangun jaringan saraf yang dalam.


5

Kita tidak bisa langsung dari layer input ke max pooling karena convolution layerdi antaranya. Alasan konvolusi adalah untuk mengekstrak fitur. Max mengumpulkan sampel fitur yang telah diekstraksi. Jika Anda berpikir ada fitur yang hilang karena lompatan langsung dari matriks besar ke lapisan penggabungan max, Anda dapat menambahkan lebih banyak lapisan lilitan di antara sampai Anda tampak puas dengan ukuran dan kemudian lakukan penggabungan max ke atasnya sehingga bukan berlebihan.

Max pooling, yang merupakan bentuk down-sampling digunakan untuk mengidentifikasi fitur yang paling penting. Tetapi pooling rata-rata dan berbagai teknik lainnya juga dapat digunakan. Saya biasanya bekerja dengan teks dan bukan gambar. Bagi saya, nilainya biasanya tidak sama. Tetapi jika mereka juga, itu tidak akan membuat banyak perbedaan karena hanya mengambil nilai terbesar.

Pemahaman yang sangat bagus dari wiki -The intuition is that once a feature has been found, its exact location isn't as important as its rough location relative to other features. The function of the pooling layer is to progressively reduce the spatial size of the representation to reduce the amount of parameters and computation in the network, and hence to also control overfitting. It is common to periodically insert a pooling layer in-between successive conv layers in a CNN architecture. The pooling operation provides a form of translation invariance.


Bisakah Anda menjelaskan kalimat terakhir The pooling operation provides a form of translation invariance?
HelloWorld

@StudentT Ini berarti bahwa output max-pool akan hampir sama jika fitur terdeteksi di mana saja pada gambar. Pindahkan benda di gambar yang mengaktifkan fitur dan input berbeda ke max-pool akan maksimal tetapi put out dari max-pool harus sama.
mrmcgreg

@ mrmcgreg Saya percaya itu berlaku untuk global pooling, bukan max pooling. Max pooling memberikan semacam invarian terhadap terjemahan lokal di dalam area pool (mis. 2x2). Ini memungkinkan beberapa jitter dalam fitur.
geometrikal

0

Konvolusi pada dasarnya memfilter gambar dengan filter piksel yang lebih kecil untuk mengurangi ukuran gambar tanpa kehilangan hubungan antara piksel (parameter jaringan), Pooling juga mengurangi ukuran spasial dengan mengekstraksi Max, Rata atau Jumlah piksel ke ukuran Namun filter mungkin kehilangan parameter penting dalam proses yang konvolusi tercapai dengan tidak mengurangi ukuran secara signifikan.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.