1) Fitur yang diekstraksi menggunakan CNN adalah skala dan rotasi invarian?
Fitur itu sendiri dalam CNN bukanlah skala atau invarian rotasi. Untuk lebih jelasnya, lihat: Pembelajaran Jauh. Ian Goodfellow dan Yoshua Bengio dan Aaron Courville. 2016: http://egrcc.github.io/docs/dl/deeplearningbook-convnets.pdf ; http://www.deeplearningbook.org/contents/convnets.html :
Konvolusi tidak secara alami sama dengan beberapa transformasi lain, seperti perubahan skala atau rotasi gambar. Mekanisme lain diperlukan untuk menangani transformasi semacam ini.
Ini adalah lapisan penyatuan maks yang memperkenalkan invarian semacam itu:
2) Kernel yang kita gunakan untuk berbelit-belit dengan data kita sudah didefinisikan dalam literatur? kernel apa ini? apakah berbeda untuk setiap aplikasi?
Kernel dipelajari selama fase pelatihan JST.
Franck Dernoncourt
sumber
Saya pikir ada beberapa hal yang membingungkan Anda, jadi hal pertama yang pertama.
Diberi sinyalx [ n ] , dan kernel (juga disebut filter) h [ n ] , kemudian belokan dari x [ n ] dengan h [n ] ditulis sebagai y[ n ] = ( x ⋆ h ) [ n ] , dan dihitung melalui produk titik geser, secara matematis diberikan oleh:
Di atas jika untuk sinyal satu dimensi, tetapi yang sama dapat dikatakan untuk gambar, yang hanya sinyal dua dimensi. Dalam hal ini, persamaannya menjadi:
Secara imajiner, inilah yang terjadi:
Bagaimanapun, hal yang perlu diingat, adalah bahwa kernel , sebenarnya dipelajari selama pelatihan Deep Neural Network (DNN). Kernel hanya akan menjadi apa yang Anda gabungkan input Anda dengan. DNN akan mempelajari kernel, sehingga menampilkan aspek-aspek tertentu dari gambar (atau gambar sebelumnya), yang akan baik untuk menurunkan kehilangan tujuan target Anda.
Ini adalah poin penting pertama yang harus dipahami: Secara tradisional orang telah mendesain kernel, tetapi dalam Deep Learning, kami membiarkan jaringan memutuskan kernel apa yang terbaik. Namun satu hal yang kami tentukan adalah dimensi kernel. (Ini disebut hyperparameter, misalnya, 5x5, atau 3x3, dll).
sumber
Banyak penulis termasuk Geoffrey Hinton (yang mengusulkan jaring Kapsul) mencoba menyelesaikan masalah ini, tetapi secara kualitatif. Kami mencoba mengatasi masalah ini secara kuantitatif. Dengan memiliki semua konvolusi, kernel menjadi simetris (dihedral simetri orde 8 [Dih4] atau 90 derajat rotasi simetris, dkk) di CNN, kami akan menyediakan platform untuk vektor input dan vektor yang dihasilkan pada setiap konvolusi, lapisan tersembunyi diputar. serempak dengan properti simetris yang sama (yaitu, Dih4 atau 90-rotasi rotasi simetris, et al). Selain itu, dengan memiliki properti simetris yang sama untuk setiap filter (yaitu, sepenuhnya terhubung tetapi berbobot berbagi dengan pola simetris yang sama) pada lapisan pipih pertama, nilai yang dihasilkan pada setiap node akan identik secara kuantitatif dan mengarah ke vektor output CNN yang sama. demikian juga. Saya menyebutnya CNN yang identik dengan transformasi (atau TI-CNN-1). Ada metode lain yang juga dapat membangun CNN identik-transformasi menggunakan input simetris atau operasi di dalam CNN (TI-CNN-2). Berdasarkan TI-CNN, CNNs identik-rotasi diarahkan (GRI-CNN) dapat dibangun oleh beberapa TI-CNN dengan vektor input diputar oleh sudut langkah kecil. Lebih lanjut, CNN yang identik secara kuantitatif tersusun juga dapat dibangun dengan menggabungkan beberapa GRI-CNN dengan berbagai vektor input yang ditransformasikan.
"Jaringan Syaraf Konvolusional Identik dan Invarian Identik melalui Operator Elemen Simetris" https://arxiv.org/abs/1806.03636 (Juni 2018)
“Jaringan Syaraf Konvolusional Identik dan Invarian Identik dengan Menggabungkan Operasi Simetris atau Vektor Input” https://arxiv.org/abs/1807.11156 (Juli 2018)
"Sistem Jaringan Syaraf Konvolusional Identik dan Invarian yang Diarahkan secara Rotari" https://arxiv.org/abs/1808.01280 (Agustus 2018)
sumber
Saya pikir max pooling dapat memesan invariansi translasi dan rotasi hanya untuk terjemahan dan rotasi yang lebih kecil dari ukuran langkahnya. Jika lebih besar, tidak ada invarian
sumber