Saya sering mendengar orang mengatakan bahwa mengapa jaringan saraf convolutional masih kurang dipahami. Apakah diketahui mengapa jaringan saraf convolutional selalu berakhir dengan belajar fitur yang semakin canggih saat kita naik lapisan? Apa yang menyebabkan mereka membuat setumpuk fitur dan apakah ini juga berlaku untuk jenis jaringan saraf dalam lainnya?
machine-learning
neural-network
deep-learning
convnet
cnn
Puji Tuhan
sumber
sumber
Jawaban:
Sebenarnya saya kira pertanyaannya agak luas! Bagaimanapun.
Memahami Jaring Konvolusi
Apa yang dipelajari dalam
ConvNets
upaya meminimalkan fungsi biaya untuk mengategorikan input dengan benar dalam tugas klasifikasi. Semua perubahan parameter dan filter yang dipelajari adalah untuk mencapai tujuan yang disebutkan.Fitur-Fitur yang Dipelajari dalam Berbagai Lapisan
Mereka mencoba mengurangi biaya dengan mempelajari fitur tingkat rendah, kadang-kadang tidak berarti, seperti garis-garis horizontal dan vertikal di lapisan pertama mereka dan kemudian menumpuknya untuk membuat bentuk abstrak, yang sering memiliki makna, di lapisan terakhir mereka. Untuk menggambarkan gambar ini. 1, yang telah digunakan dari sini , dapat dipertimbangkan. Input adalah bus dan gird menunjukkan aktivasi setelah melewati input melalui berbagai filter di lapisan pertama. Seperti dapat dilihat bingkai merah yang merupakan aktivasi filter, yang parameternya telah dipelajari, telah diaktifkan untuk tepi yang relatif horizontal. Bingkai biru telah diaktifkan untuk tepi yang relatif vertikal. Mungkin saja itu
ConvNets
pelajari filter tidak dikenal yang bermanfaat dan kami, misalnya praktisi penglihatan komputer, belum menemukan bahwa mereka mungkin berguna. Bagian terbaik dari jaring ini adalah bahwa mereka mencoba menemukan filter yang sesuai sendiri dan tidak menggunakan filter kami yang terbatas. Mereka mempelajari filter untuk mengurangi jumlah fungsi biaya. Seperti disebutkan filter ini belum tentu diketahui.Pada lapisan yang lebih dalam, fitur-fitur yang dipelajari pada lapisan sebelumnya bersatu dan membuat bentuk yang sering memiliki makna. Dalam makalah ini telah dibahas bahwa lapisan-lapisan ini mungkin memiliki aktivasi yang berarti bagi kita atau konsep-konsep yang memiliki makna bagi kita, sebagai manusia, dapat didistribusikan di antara aktivasi lainnya. Dalam gbr. 2 bingkai hijau menunjukkan aktivatin filter di lapisan kelima a
ConvNet
. Filter ini peduli dengan wajah. Misalkan yang merah peduli dengan rambut. Ini memiliki makna. Seperti dapat dilihat ada aktivasi lain yang telah diaktifkan tepat di posisi wajah khas dalam input, bingkai hijau adalah salah satunya; Bingkai biru adalah contoh lain dari ini. Dengan demikian, abstraksi bentuk dapat dipelajari dengan filter atau banyak filter. Dengan kata lain, setiap konsep, seperti wajah dan komponennya, dapat didistribusikan di antara filter. Dalam kasus di mana konsep didistribusikan di antara lapisan yang berbeda, jika seseorang melihat masing-masing, mereka mungkin canggih. Informasi tersebut didistribusikan di antara mereka dan untuk memahami bahwa informasi semua filter itu dan aktivasinya harus dipertimbangkan walaupun mungkin terlihat sangat rumit.CNNs
seharusnya tidak dianggap sebagai kotak hitam sama sekali. Zeiler et all dalam makalah yang luar biasa ini telah membahas pengembangan model yang lebih baik direduksi menjadi trial and error jika Anda tidak memiliki pemahaman tentang apa yang dilakukan di dalam jaring ini. Makalah ini mencoba memvisualisasikan peta fitur diConvNets
.Kemampuan untuk Menangani Berbagai Transformasi untuk Menyamaratakan
ConvNets
gunakanpooling
layer tidak hanya untuk mengurangi jumlah parameter tetapi juga memiliki kemampuan untuk menjadi tidak sensitif terhadap posisi yang tepat dari setiap fitur. Juga penggunaannya memungkinkan lapisan untuk mempelajari fitur yang berbeda yang berarti lapisan pertama mempelajari fitur tingkat rendah sederhana seperti tepi atau busur, dan lapisan yang lebih dalam mempelajari fitur yang lebih rumit seperti mata atau alis.Max Pooling
misalnya mencoba untuk menyelidiki apakah fitur khusus ada di kawasan khusus atau tidak. Gagasanpooling
lapisan sangat berguna tetapi hanya mampu menangani transisi di antara transformasi lainnya. Meskipun filter di lapisan yang berbeda mencoba menemukan pola yang berbeda, misalnya wajah yang diputar dipelajari menggunakan lapisan yang berbeda dari wajah yang biasa,CNNs
oleh sana sendiri tidak memiliki lapisan untuk menangani transformasi lainnya. Untuk mengilustrasikan ini anggaplah bahwa Anda ingin mempelajari wajah-wajah sederhana tanpa rotasi dengan jaring minimal. Dalam hal ini model Anda dapat melakukannya dengan sempurna. misalkan Anda diminta mempelajari semua jenis wajah dengan rotasi wajah sewenang-wenang. Dalam hal ini model Anda harus jauh lebih besar dari jaring yang dipelajari sebelumnya. Alasannya adalah bahwa harus ada filter untuk mempelajari rotasi ini di input. Sayangnya ini tidak semua transformasi. Masukan Anda juga dapat terdistorsi. Kasus-kasus ini membuat Max Jaderberg dan semua marah. Mereka menyusun makalah ini untuk menangani masalah-masalah ini untuk menenangkan kemarahan kita sebagai masalah mereka.Jaringan Saraf Konvolusional Bekerja
Akhirnya setelah merujuk pada poin-poin ini, mereka bekerja karena mereka mencoba untuk menemukan pola dalam data input. Mereka menumpuknya untuk membuat konsep abstrak dengan lapisan konvolusi di sana. Mereka mencoba mencari tahu apakah data input memiliki masing-masing konsep ini atau tidak di sana lapisan padat untuk mencari tahu kelas mana data input milik.
Saya menambahkan beberapa tautan yang bermanfaat:
ConvNets
sumber
ConvNets berfungsi karena mereka mengeksploitasi lokalitas fitur. Mereka melakukannya pada granularities yang berbeda, oleh karena itu mampu memodelkan fitur tingkat yang lebih tinggi secara hierarkis . Mereka adalah terjemahan terjemahan berkat unit penyatuan. Mereka bukan invarian rotasi per se , tetapi mereka biasanya menyatu dengan filter yang merupakan versi rotasi dari filter yang sama , karenanya mendukung input yang diputar.
Saya tahu tidak ada arsitektur saraf lain yang mendapat keuntungan dari fitur lokalitas dalam arti yang sama seperti yang dilakukan ConvNets.
sumber
Seseorang seharusnya tidak pernah melupakan komponen lain dalam ConvNet yang khas. Filter konvolusi memilih fitur invarian spasial, seperti tepi dan lingkaran. Fitur-fitur ini dikuantifikasi dalam lapisan penyatuan yang mengikuti lapisan C. Akhirnya, mereka dimasukkan ke dalam (biasanya) beberapa lapisan yang sepenuhnya terhubung (fc). Kredit harus diberikan kepada lapisan yang terhubung sepenuhnya ini yang tidak lebih dari apa yang Anda temukan di MLP biasa.
sumber
Jaringan saraf convolutional berfungsi karena merupakan perluasan yang baik dari algoritma pembelajaran mendalam standar.
Dengan sumber daya dan uang yang tidak terbatas, tidak perlu konvolusional karena algoritma standar juga akan berfungsi. Namun, konvolusional lebih efisien karena mengurangi jumlah parameter . Pengurangan ini dimungkinkan karena memanfaatkan keunggulan fitur, persis seperti yang ditulis oleh @ncasas.
sumber
Apakah diketahui mengapa jaringan saraf convolutional selalu berakhir dengan belajar fitur yang semakin canggih saat kita naik lapisan?
Ini adalah matematika murni. Jaringan saraf, pada akhirnya, adalah fungsi matematika yang besar. Dan semakin dalam jaringan, semakin besar fungsi yang diwakilinya. Dan yang lebih besar, saya jelas berarti dimensi tinggi. Fitur yang dipelajari lebih canggih karena mereka adalah hasil dari fungsi yang lebih canggih.
Apa yang menyebabkan mereka membuat banyak fitur
Yang cukup menarik, jaringan saraf konvensional terinspirasi oleh biologi kita sendiri, sebenarnya kucing. Hubel dan Wiesel melakukan percobaan pada korteks visual kucing, dan mereka menyadari bahwa cahaya dirasakan oleh tumpukan bidang optik. Inilah yang menginspirasikan lapisan konvolusional dan arsitektur yang lebih dalam.
sumber
Membangun ncasas dan horaceT jawaban, ConvNets sangat efisien karena:
Jika Anda ingin mempelajari lebih lanjut tentang convnets dan blok yang berbeda membangunnya serta intuisi yang mendasari, berikut adalah posting yang baru-baru ini saya tulis di blog pribadi saya yang membahas rinciannya.
sumber