Rangkaian Neural Kapsul - Set Lapisan Neural Bersarang



Rangkaian Kapsul - Blog ini membincangkan mengenai batasan Rangkaian Neural Konvolusional, dan bagaimana Rangkaian Neural Kapsul menyelesaikan batasan tersebut.

Rangkaian Kapsul:

Apa itu Rangkaian Kapsul? Pada dasarnya, rangkaian rangkaian lapisan neural bersarang.

Saya mengesyorkan anda untuk membaca blog di bawah ini juga:





Saya menganggap bahawa, anda semua tahu Rangkaian Neural Konvolusional (CNN). Di sini, saya akan memberikan pengenalan kecil mengenai perkara yang sama, supaya saya dapat membincangkan batasan CNN.

Anda juga boleh merujuk video di bawah di Rangkaian Neural Konvolusional.



Rangkaian Neural Konvolusional (CNN)

Rangkaian Neural Konvolusional, pada dasarnya adalah susunan pelbagai lapisan neuron tiruan, yang digunakan untuk penglihatan komputer. Di bawah ini, saya telah menyebut lapisan tersebut:

Rangkaian Neural Konvolusional - Rangkaian Neural Kapsul - Edureka

Lapisan konvolusional: Apabila kita menggunakan Feedforward Neural Networks (Multi Layer Perceptron) untuk klasifikasi gambar, ada banyak cabaran dengannya. Cabaran yang paling mengecewakan adalah bahawa, ia memperkenalkan banyak parameter, pertimbangkan tutorial video di CNN.



Untuk mengatasi cabaran ini Lapisan Konvolusi telah diperkenalkan. diandaikan bahawa, piksel yang lebih dekat secara spasial akan 'bekerjasama' untuk membentuk ciri menarik tertentu lebih daripada yang ada di sudut bertentangan gambar. Juga, jika ciri tertentu (lebih kecil) didapati sangat penting ketika menentukan label gambar, akan menjadi sama pentingnya, jika ciri ini dijumpai di mana saja di dalam gambar, tanpa mengira lokasi.

Lapisan ReLU: Fungsi transformasi Rectified Linear Unit (ReLU) hanya mengaktifkan nod jika input melebihi kuantiti tertentu, sedangkan input di bawah sifar, outputnya sifar, tetapi apabila input naik di atas ambang tertentu, ia mempunyai hubungan linear dengan pemboleh ubah bersandar.

  • Di lapisan ini, kami membuang setiap nilai negatif dari gambar yang disaring dan menggantikannya dengan nilai sifar
  • Ini dilakukan untuk mengelakkan nilai menjumlahkan hingga sifar

Lapisan Pengumpulan: Ini digunakan untuk melakukan downsampling, yang memakan potongan kecil dan (biasanya) membelah gambar dan menggabungkannya menjadi satu nilai. Terdapat beberapa kemungkinan skema untuk penggabungan - yang paling popular Max-Pooling , di mana nilai piksel maksimum dalam setiap potongan diambil. Ini menjadikan rangkaian tidak berubah menjadi transformasi, distorsi dan terjemahan kecil dalam gambar input (distorsi kecil dalam input tidak akan mengubah output Pooling - kerana kita mengambil nilai maksimum / rata-rata di kawasan setempat).

Lapisan Bersambung Sepenuhnya: Lapisan ini akan menghitung skor kelas, di mana setiap nombor sesuai dengan skor kelas. Seperti Rangkaian Neural biasa dan seperti namanya, setiap neuron di lapisan ini akan disambungkan ke semua neuron pada jilid sebelumnya. Ringkasnya, ia melakukan klasifikasi terakhir.

Dengan cara ini, ConvNets mengubah lapisan gambar asal demi lapisan dari nilai piksel asal ke skor kelas akhir.

Ini adalah pengenalan yang sangat singkat untuk Rangkaian Neural Konvolusional, saya tetap mengesyorkan anda melihat video CNN yang telah saya masukkan dalam siaran ini.

Dalam blog Rangkaian Kapsul ini, saya sekarang akan membincangkan beberapa batasan Rangkaian Neural Konvolusional

Batasan Rangkaian Neural Konvolusional:

Baiklah, izinkan saya menerangkan ini dengan analogi.

Katakan ada manusia, yang matanya dapat mengesan ciri-ciri pelbagai gambar. Mari kita menganggap wajah manusia sebagai contoh. Oleh itu, lelaki malang ini dapat mengenal pasti pelbagai ciri seperti, mata, hidung dan lain-lain tetapi, tidak dapat mengenal pasti hubungan ruang antara ciri (perspektif, ukuran, orientasi). Sebagai contoh, gambar berikut mungkin memperbodohkan lelaki itu dalam mengklasifikasikannya sebagai lakaran wajah manusia yang baik.

Ini juga masalah dengan Rangkaian Neural Konvolusional. CNN pandai mengesan ciri, tetapi akan mengaktifkan neuron secara salah untuk pengesanan wajah. Ini kerana ia kurang berkesan untuk meneroka hubungan spasial antara ciri.

Model CNN yang ringkas dapat mengekstrak ciri untuk hidung, mata dan mulut dengan betul tetapi akan mengaktifkan neuron secara salah untuk pengesanan wajah. Tanpa menyedari kecocokan dalam orientasi dan ukuran spasial, pengaktifan untuk pengesanan wajah akan terlalu tinggi.

Nah, batasan ini adalah kerana lapisan Max Pooling.

Pengumpulan maksimum dalam CNN menangani varians terjemahan. Bahkan fiturnya sedikit dipindahkan, jika masih berada di dalam jendela penyatuan, masih dapat dikesan. Walaupun begitu, pendekatan ini hanya menyimpan ciri maksimum (yang paling mendominasi) dan membuang yang lain.

Jadi, gambar wajah yang ditunjukkan di atas akan digolongkan sebagai wajah normal. Lapisan kolam juga menambah jenis invariance ini.

Ini bukanlah tujuan lapisan penyatuan. Apa yang harus dilakukan penyatuan adalah memperkenalkan invarian kedudukan, orientasi, berkadar.

Pada hakikatnya, lapisan penyatuan ini menambahkan pelbagai jenis invarians kedudukan. Seperti yang anda lihat dalam rajah di atas juga, ia membawa kepada dilema untuk mengesan wajah dengan betul.

Mari kita lihat apakah penyelesaian yang dicadangkan oleh Geoffrey Hinton .

Bagaimana Mengatasi Masalah Ini?

Sekarang, kita membayangkan bahawa setiap neuron mengandungi kemungkinan dan sifat ciri tersebut. Sebagai contoh, ia mengeluarkan vektor yang mengandungi [kemungkinan, orientasi, ukuran]. Dengan maklumat spasial ini, kita dapat mengesan ketidakkonsistenan dalam orientasi dan ukuran antara ciri hidung, mata dan telinga dan oleh itu menghasilkan pengaktifan yang jauh lebih rendah untuk pengesanan wajah.

Dalam makalah yang dikeluarkan oleh Geoffrey Hinton , jenis neuron ini dipanggil kapsul. Kapsul ini mengeluarkan vektor dan bukannya nilai penimbang tunggal.

Izinkan saya meletakkan beberapa lampu pada apa itu Rangkaian Kapsul.

Apa itu Rangkaian Kapsul?

Kapsul pada dasarnya, satu set lapisan saraf bersarang. Keadaan neuron di dalam kapsul menangkap pelbagai sifat seperti - pose (kedudukan, ukuran, orientasi), ubah bentuk, halaju, tekstur dll, satu entiti di dalam gambar.

Alih-alih menangkap fitur dengan varian tertentu, kapsul dilatih untuk menangkap kesesuaian ciri dan variannya. Oleh itu, tujuan kapsul ini bukan hanya untuk mengesan ciri tetapi, tetapi juga untuk melatih model mempelajari variannya.

Sehingga kapsul yang sama dapat mengesan kelas objek yang sama dengan orientasi yang berbeza (contohnya, putar mengikut arah jam):

Kita boleh mengatakan ia berfungsi pada keseimbangan bukan invarians.

perbezaan kelas dan antara muka abstrak

Invarian: adalah pengesanan ciri tanpa mengira variannya. Contohnya, neuron pengesan hidung mengesan hidung tanpa mengira orientasi.

Persamaan: adalah pengesanan objek yang boleh bertukar satu sama lain (contohnya, mengesan wajah dengan orientasi yang berbeza). Secara intuitif, rangkaian kapsul mengesan wajah dipusingkan tepat 31 ° (keseimbangan) dan bukannya menyedari wajah dipadankan dengan varian yang diputar 31 °. Dengan memaksa model untuk mempelajari varian fitur dalam kapsul, kita dapat mengekstrapolasi varian yang mungkin lebih efektif dengan data latihan yang kurang. Sebagai tambahan, kita mungkin menolak lawan dengan lebih berkesan.

Kapsul mengeluarkan vektor untuk mewakili kewujudan entiti. Orientasi vektor mewakili sifat entiti.

Vektor dihantar kepada semua ibu bapa yang mungkin berada dalam rangkaian saraf. Untuk setiap ibu bapa yang mungkin, kapsul dapat mencari vektor ramalan. Vektor ramalan dikira berdasarkan mengalikan beratnya sendiri dan matriks berat. Mana-mana ibu bapa yang mempunyai produk vektor ramalan skalar terbesar, meningkatkan ikatan kapsul. Ibu bapa yang lain mengurangkan ikatan mereka. Ini dipanggil sebagai Laluan Mengikut Perjanjian .

Ini jelas merupakan pendekatan yang lebih baik daripada penyatuan maksimum, di mana perutean didasarkan pada ciri terkuat yang dikesan di lapisan bawah.

Selepas ini terdapat fungsi squashing yang ditambahkan. Ini dilakukan untuk memperkenalkan non-linear. Fungsi squashing ini diterapkan pada output vektor setiap kapsul.

Izinkan saya memberitahu anda sekarang, bagaimana Rangkaian Kapsul berfungsi.

Bagaimana Rangkaian Kapsul Berfungsi?

Mari kita mundur selangkah. Dalam rangkaian yang disambungkan sepenuhnya, output setiap neuron adalah jumlah input tertimbang.

Sekarang, mari kita lihat apa yang berlaku di Rangkaian Kapsul.

Rangkaian Neural Kapsul:

Mari kita pertimbangkan Rangkaian Neural Kapsul di mana ‘ui'Adalah vektor aktiviti untuk kapsul'sayadalam lapisan di bawah.

Langkah - 1: Terapkan matriks transformasiDALAMijke output kapsul ui dari lapisan sebelumnya. Sebagai contoh, dengan matriks m × k, kita mengubah k-Dawaki ke m-Dawak ^j | i. ((m × k) × (k × 1) = m × 1).

Ini adalah ramalan ( mengundi ) dari kapsul ‘i’ pada keluaran kapsul ‘j’ di atas. ‘Vj'Adalah vektor aktiviti untuk kapsul'j ’di lapisan di atas

Langkah - 2: Hitung jumlah berwajaran sjdengan beratcij.cijadalah pekali gandingan. Jumlah pekali ini sama dengan satu. Ini adalah parameter sebenar yang berfungsi pada hubungan kumpulan kapsul yang telah kita bincangkan sebelumnya.

Langkah - 3: Dalam Rangkaian Neural Konvolusional kami menggunakan fungsi ReLU. Di sini, kita akan menerapkan fungsi squashing untuk menskala vektor antara 0 dan panjang unit. Ia mengecilkan vektor kecil menjadi vektor sifar dan panjang menjadi vektor unit. Oleh itu, kemungkinan setiap kapsul dibatasi antara sifar dan satu.

Ini adalah ramalan ( mengundi ) dari kapsul ‘i’ pada keluaran kapsul ‘j’ di atas. Sekiranya vektor aktiviti mempunyai persamaan yang hampir dengan vektor ramalan, kami menyimpulkan bahawa kapsul 'sayasangat berkaitan dengan kapsul 'j ’. (Contohnya, kapsul hidung sangat berkaitan dengan kapsul wajah.) Kesamaan seperti itu diukur dengan menggunakan produk skalar ramalan dan vektor aktiviti. Oleh itu, kesamaan mengambil kira kesesuaian dan sifat ciri. (bukan sekadar kesukaan pada neuron).

Langkah - 4: Hitung skor relevansi ‘bij'. Ini akan menjadi produk titik vektor aktiviti dan vektor ramalan. Pekali gandingancijdikira sebagai softmaxbij:

Pekali gandingan cijdikira sebagai softmax bij.

Ini bijdikemas kini secara berulang dalam pelbagai lelaran.

Ini dipanggil sebagai Laluan Mengikut Perjanjian .

Gambar rajah di bawah adalah salah satu contoh:

Selepas blog ini di Capsule Networks, saya akan muncul dengan blog mengenai pelaksanaan Capsule Neural Network menggunakan TensorFlow.

Saya harap anda menikmati membaca blog ini di rangkaian kapsul, lihat di oleh Edureka, sebuah syarikat pembelajaran dalam talian yang dipercayai dengan rangkaian lebih daripada 250,000 pelajar berpuas hati yang tersebar di seluruh dunia. Kursus Latihan Edureka Deep Learning with TensorFlow Certification membantu pelajar menjadi pakar dalam latihan dan mengoptimumkan rangkaian saraf asas dan konvolusional menggunakan projek dan tugasan masa nyata bersama dengan konsep seperti fungsi SoftMax, Auto-encoder Neural Networks, Restricted Boltzmann Machine (RBM).

Ada soalan untuk kami? Sila sebutkan di bahagian komen dan kami akan menghubungi anda.