Pada 2017, Jeffrey Hinton (salah satu pendiri pendekatan propagasi balik) menerbitkan sebuah artikel yang menggambarkan jaringan saraf kapsular dan mengusulkan algoritma untuk perutean dinamis antar kapsul untuk mengajarkan arsitektur yang diusulkan.
Jaringan saraf convolutional klasik memiliki kelemahan. Representasi internal data jaringan saraf convolutional tidak memperhitungkan hierarki spasial antara objek sederhana dan kompleks. Jadi, jika mata, hidung dan bibir untuk jaringan saraf convolutional ditampilkan secara acak dalam gambar, ini adalah tanda yang jelas dari kehadiran wajah. Dan rotasi objek mempengaruhi kualitas pengakuan, sementara otak manusia dengan mudah menyelesaikan masalah ini.

Untuk jaringan saraf convolutional, 2 gambar serupa [2]

Ribuan contoh akan dibutuhkan untuk melatih pengenalan objek dari berbagai sudut CNN.

Jaringan kapsul mengurangi kesalahan pengenalan suatu objek dari sudut lain sebesar 45%.
Kapsul resep
Kapsul merangkum informasi tentang keadaan fungsi, yang ditemukan dalam bentuk vektor. Kapsul mengkodekan kemungkinan mendeteksi objek sebagai panjang vektor output. Keadaan fungsi yang terdeteksi dikodekan sebagai arah di mana titik vektor ("misalnya parameter pembuatan"). Oleh karena itu, ketika fungsi yang terdeteksi bergerak melalui gambar atau keadaan gambar berubah, probabilitas tetap tidak berubah (panjang vektor tidak berubah), tetapi orientasi berubah.
Bayangkan sebuah kapsul mendeteksi wajah dalam gambar dan menghasilkan vektor 3D dengan panjang 0,99. Lalu, gerakkan wajah pada gambar. Vektor akan berputar di ruangnya, mewakili keadaan berubah, tetapi panjangnya akan tetap karena kapsul yakin bahwa ia telah mendeteksi wajah.

Perbedaan antara kapsul dan neuron. [2]
Neuron buatan dapat dijelaskan dalam tiga langkah:
1. pembobotan skalar dari skalar input
2. jumlah skalar masukan tertimbang
3. transformasi skalar non-linear.
Kapsul memiliki bentuk vektor dari 3 langkah di atas, di samping fase baru dari transformasi affine input:
1. perkalian matriks vektor input
2. pembobotan skalar dari vektor input
3. jumlah vektor input tertimbang
4. vektor nonlinier.
Inovasi lain yang diperkenalkan di CapsNet adalah fungsi aktivasi nonlinier baru yang mengambil vektor dan kemudian "memberikan" panjangnya tidak lebih dari 1, tetapi tidak mengubah arah.

Sisi kanan persamaan (kotak biru) skala vektor input sehingga vektor memiliki panjang blok, dan sisi kiri (kotak merah) melakukan penskalaan tambahan.
Desain kapsul didasarkan pada konstruksi neuron buatan, tetapi diperluas ke bentuk vektor untuk memberikan kemampuan representatif yang lebih kuat. Matriks bobot juga diperkenalkan untuk mengkode hubungan hierarkis antara fitur-fitur dari lapisan yang berbeda. Kesetaraan aktivitas saraf dicapai dalam kaitannya dengan perubahan dalam input data dan invarian dalam probabilitas mendeteksi tanda-tanda.
Perutean dinamis antar kapsul

Algoritma routing dinamis [1].
Baris pertama mengatakan bahwa prosedur ini mengambil kapsul pada level bawah l dan hasilnya u_hat, serta jumlah iterasi perutean r. Baris terakhir mengatakan bahwa algoritma akan menghasilkan output dari kapsul level yang lebih tinggi v_j.
Baris kedua berisi koefisien b_ij baru, yang belum pernah kita lihat sebelumnya. Koefisien ini adalah nilai sementara yang akan diperbarui secara iteratif, dan setelah prosedur selesai, nilainya akan disimpan dalam c_ij. Pada awal pelatihan, nilai b_ij diinisialisasi ke nol.
Baris 3 mengatakan langkah 4-7 akan diulang kali.
Langkah di baris 4 menghitung nilai vektor c_i, yang merupakan semua bobot rute untuk kapsul bawah i.
Setelah bobot c_ij dihitung untuk kapsul dari level yang lebih rendah, lanjutkan ke baris 5, di mana kita melihat kapsul dari level yang lebih tinggi. Langkah ini menghitung kombinasi linear dari vektor-vektor input yang ditimbang menggunakan koefisien routing c_ij yang didefinisikan pada langkah sebelumnya.
Kemudian, pada baris 6, vektor dari langkah terakhir melewati transformasi nonlinier, yang menjamin arah vektor, tetapi panjangnya tidak boleh melebihi 1. Langkah ini menciptakan vektor output v_j untuk semua tingkat kapsul yang lebih tinggi. [2]
Ide dasarnya adalah bahwa kesamaan antara input dan output diukur sebagai produk skalar antara input dan output kapsul, dan kemudian perubahan koefisien routing. Praktik terbaik adalah menggunakan tiga iterasi routing.
Kesimpulan
Jaringan saraf capsular adalah arsitektur jaringan saraf yang menjanjikan yang meningkatkan pengenalan gambar dengan perubahan sudut dan struktur hierarkis. Jaringan saraf kapsuler dilatih menggunakan rute dinamis antara kapsul. Jaringan kapsul mengurangi kesalahan pengenalan suatu objek dari sudut yang berbeda sebesar 45% dibandingkan dengan CNN.
Tautan[1] MATRIX MENGHITUNG DENGAN EM ROUTING. Geoffrey Hinton, Sara Sabour, Nicholas Frosst. 2017
[2] Memahami Jaringan Kapsul Hinton. Max pechyonkin