Artikel ini akan mengangkat topik membangun lapisan kustom jaringan saraf, menggunakan diferensiasi otomatis dan bekerja dengan lapisan pembelajaran mendalam standar jaringan saraf di MATLAB berdasarkan pengklasifikasi menggunakan jaringan transformasi spasial.
Spatial Transformer Network (STN) adalah salah satu contoh modul LEGO yang dapat Anda gunakan untuk membangun dan meningkatkan jaringan saraf Anda. STN, menerapkan transformasi affine yang dapat dilatih dengan interpolasi berikutnya, menghilangkan gambar invariansi spasial. Secara garis besar, tugas STN adalah memutar atau memperkecil / memperbesar citra asli sehingga jaringan pengklasifikasi utama dapat lebih mudah mengidentifikasi objek yang diinginkan. Blok STN dapat ditempatkan di jaringan saraf konvolusional (CNN), bekerja di dalamnya sebagian besar secara mandiri, mempelajari gradien yang berasal dari jaringan utama (untuk detail selengkapnya tentang topik ini, lihat tautan: Habr dan Manual ).
Dalam kasus kita, tugasnya adalah mengklasifikasikan 99 kelas kaca depan mobil, tetapi pertama-tama, mari kita mulai dengan sesuatu yang lebih sederhana. Untuk berkenalan dengan topik ini, kita akan mengambil database MNIST dari nomor tulisan tangan dan membangun jaringan lapisan saraf pembelajaran mendalam MATLAB dan lapisan transformasi gambar affine kustom (Anda dapat melihat daftar semua lapisan yang tersedia dan fungsinya di sini ).
Untuk mengimplementasikan lapisan transformasi kustom, kita akan menggunakan template lapisan kustom dan kemampuan MATLAB untuk secara otomatis membedakan dan membangun kembali propagasi turunan kesalahan, yang diimplementasikan menggunakan array pembelajaran mendalam untuk loop pelatihan kustom - dlarray (Anda dapat membiasakan diri dengan template melalui tautan , Anda dapat membiasakan diri dengan struktur dlarray untuk tautan ).
Untuk mengimplementasikan kapabilitas dlarray, kita perlu mendaftarkan transformasi affine image secara manual, karena fungsi MATLAB yang mengimplementasikan fitur ini tidak mendukung struktur dlarray. Di bawah ini adalah fungsi transformasi yang telah kami tulis, seluruh proyek tersedia di sini .

, , . , . , , - - .

, . Y, . (, ), . .
Y |
|
|
|
|
|
|
|
|
, , STN. MNIST.


, , , , , .
, MNIST, .
— , — , — RGB, , , . . , , , , 2, , 0, , , . , , STN , , , . , . STN - , , dropout STN.
, , [0;255], [0;1], — . .

, 255 0.3 0.75, . , .

, , , , [-10;10] [-50; 50]. MATLAB, dlarray . .
.


, , , , 90. , , , , , . , , , , .
, STN, . .

, .
, , STN .