Regularisasi? Ortogonisasi! Meningkatkan jaringan yang ringkas


Sementara perusahaan lain sedang membahas mengelola tim dari jarak jauh, kami di Smart Engines terus berbagi tumpukan teknologi kami dengan Anda. Hari ini tentang optimalisasi jaringan saraf. Untuk membuat sistem pengenalan berbasis jaringan saraf yang dapat bekerja dengan cepat di telepon pintar dan perangkat seluler lainnya sangat sulit. Dan untuk memastikan bahwa kualitasnya tinggi bahkan lebih sulit. Pada artikel ini, kita akan berbicara tentang metode sederhana mengatur jaringan saraf yang kita gunakan di Smart Engine untuk meningkatkan kualitas jaringan "mobile" dengan sejumlah kecil parameter. Gagasan metode ini didasarkan pada penurunan bertahap dalam ketergantungan linear dari filter di lapisan convolutional selama pelatihan, karena setiap neuron bekerja lebih efisien, dan oleh karena itu, kemampuan generalisasi model ditingkatkan.Untuk melakukan ini, kami sajikan filter dalam bentuk vektor satu dimensi dan ortogonalisasi pasangan dengan panjang proyeksi terpanjang satu sama lain.

Ketika merancang sebagian besar jaringan saraf modern, dapat dipahami bahwa mereka akan dilakukan di suatu tempat secara jarak jauh di server, dan data untuk pemrosesan akan datang melalui klien pada PC atau perangkat seluler. Namun, pendekatan ini tidak dapat diterima jika menyangkut keamanan data pribadi yang tidak ingin Anda transfer ke suatu tempat (misalnya, foto paspor atau kartu bank untuk pengakuan). Untungnya bagi kami, perangkat seluler saat ini memiliki kapasitas yang cukup untuk menjalankan jaringan saraf, sehingga Anda dapat menghindari pengiriman data ke pihak ketiga. Hal lain adalah bahwa jaringan ini harus kecil dan mengandung sejumlah kecil operasi, agar tidak menguji kesabaran pengguna. Kondisi seperti itu membatasi kualitas kerja mereka yang maksimal,dan bagaimana meningkatkan jaringan yang ringan tanpa mengorbankan runtime adalah pertanyaan terbuka. Merefleksikan hal ini, kami datang dengan metode baru regularisasi dalam jaringan saraf, fokus pada jaringan kompak dan terdiri dalam ortogonisasi filter konvolusional.

Posting ini adalah versi singkat dari laporan "Jaringan saraf convolutional menimbang regularisasi melalui ortogonisasi", disajikan pada November 2019 pada konferensi internasional ICMV 2019, Amsterdam, Belanda.

Gagasan regularisasi menggunakan orthogonalization


Karena metode yang diusulkan berkaitan dengan regularisasi, kami pertama-tama mengingat secara singkat apa itu. Regularisasi terdiri dalam memaksakan beberapa pembatasan pada model berdasarkan ide-ide kami tentang bagaimana tugas harus diselesaikan. Akibatnya, kemampuan generalisasi jaringan meningkat. Sebagai contoh, regularisasi L1 berkontribusi pada zeroing bagian dari keseimbangan dengan membuat jaringan kosong, L2 - memegang koefisien dalam jumlah kecil, Dropout menghilangkan ketergantungan neuron individu, dll. Metode-metode ini merupakan bagian integral dari proses pembelajaran banyak jaringan modern, terutama jika mengandung banyak parameter - regularisasi memungkinkan Anda menangani pelatihan ulang dengan cukup baik.

Sekarang kembali ke metode kita. Kami membuat reservasi segera bahwa, pertama-tama, kami mempertimbangkan masalah mengklasifikasikan gambar dengan jaringan saraf convolutional. Asumsinya, atas dasar di mana kita sampai pada penggunaan ortogonisasi, adalah sebagai berikut: jika jaringan sangat terbatas dalam sumber dayanya untuk konsep pola dalam data, maka setiap neuron di dalamnya harus dibuat agar bekerja seefisien mungkin, dan sehingga ia menjalankan fungsi yang secara ketat ditugaskan kepadanya. Dengan kata lain, sehingga "menghubungkan" fitur-fitur yang tidak dapat dideteksi oleh neuron lain. Kami memecahkan masalah ini dengan secara bertahap mengurangi hubungan linier antara vektor bobot neuron selama pelatihan. Untuk melakukan ini, kami memodifikasi algoritma orthogonalization klasik, mengadaptasinya dengan realitas proses pembelajaran.

Filter konvolusi ortogonisasi


Tentukan filter lapisan convolutional sebagai satu set vektor , di mana c adalah indeks lapisan convolutional, dan N adalah jumlah filter di dalamnya. Setelah bobot diperbarui selama propagasi kembali kesalahan, di setiap lapisan convolutional individu kita mencari sepasang vektor dengan panjang proyeksi maksimal di atas satu sama lain:



Proyeksi vektor f g ke f k dapat dihitung sebagai . Kemudian, untuk ortogonisasi filter f a dan f b , kami mengganti langkah pertama dari algoritma Gram-Schmidt dengan



rumus berikut: di



mana η adalah kecepatan belajar dan wortkoefisien orthogonalization, nilai-nilai yang terletak pada interval [0,0, 1.0]. Pengenalan koefisien ortogonisasi disebabkan oleh fakta bahwa ortogonisasi “sesaat” dari filter sangat memecah proses pembelajaran, meniadakan perubahan sistematis dalam bobot pada iterasi masa lalu. Nilai wort yang kecil menjaga dinamika pembelajaran dan berkontribusi pada penurunan hubungan linear yang mulus antara filter di setiap lapisan secara terpisah. Kami mencatat sekali lagi poin penting dalam metode ini: dalam satu iterasi kami memodifikasi hanya satu vektor agar tidak merusak algoritma pengoptimalan.


Ara. Visualisasi satu iterasi.

Kami menganggap ortogonisasi hanya dari filter konvolusional, karena dalam jaringan saraf modern lapisan konvolusional merupakan bagian besar dari arsitektur. Namun, algoritma ini dengan mudah digeneralisasikan ke bobot neuron pada lapisan yang terhubung sepenuhnya.

Eksperimen


Kami beralih dari teori ke praktik. Untuk percobaan, kami memutuskan untuk menggunakan 2 dataset paling populer untuk mengevaluasi jaringan saraf di bidang visi komputer - MNIST (klasifikasi gambar angka tulisan tangan) dan CIFAR10 (foto 10 kelas - kapal, truk, kuda, dll.).

Karena kami berasumsi bahwa orthogonalization akan berguna terutama untuk jaringan kompak, kami mengambil arsitektur seperti LeNet dalam 3 modifikasi, yang berbeda satu sama lain dalam jumlah filter dalam lapisan convolutional. Arsitektur jaringan kami, yang akan disebut LeNet 1.0 untuk kenyamanan, ditunjukkan pada Tabel 1. Arsitektur LeNet 2.0 dan LeNet 3.5 yang diturunkan darinya dibedakan oleh sejumlah besar filter pada lapisan convolutional, masing-masing 2 dan 3,5 kali.

Memilih fungsi aktivasi, kami berhenti di ReLU tidak hanya karena itu adalah fungsi yang paling populer dan efisien secara komputasi (kami mengingatkan Anda bahwa kami masih berbicara tentang jaringan cepat). Faktanya adalah bahwa penggunaan fungsi linear yang tidak terpisah-pisah meniadakan efek ortogonisasi: misalnya, garis singgung hiperbolik sangat mendistorsi vektor input karena ia memiliki nonlinier diucapkan di daerah yang dekat dengan saturasi.

Tabel 1. Arsitektur jaringan LeNet 1.0 yang digunakan dalam percobaan.
Layers
#Sebuah tipeParameterFungsi
aktivasi
1konv8 filter 3x3, langkah 1x1, tanpa bantalanRelu
2konv16 filter 5x5, langkah 2x2, padding 2x2Relu
3konv16 filter 3x3, langkah 1x1, padding 1x1Relu
4konv32 filter 5x5, langkah 2x2, padding 2x2Relu
5konv32 filter 3x3, langkah 1x1, padding 1x1Relu
6konv32 filter 3x3, langkah 1x1, padding 1x1Relu
7terhubung sepenuhnya10 neuronSoftmax

Kami mencoba 3 nilai dari koefisien ortogonalization wort : 0,01, 0,05, 0,1. Semua percobaan dilakukan 10 kali, dan hasilnya dirata-rata (standar deviasi ( std ) untuk tingkat kesalahan ditunjukkan pada tabel dengan hasilnya). Kami juga menghitung berapa persen jumlah kesalahan ( manfaat ) menurun .

Hasil percobaan mengkonfirmasi bahwa peningkatan dari orthogonalization lebih besar, semakin kecil parameter dalam jaringan (tabel 2 dan 3). Kami juga memperoleh hasil yang menarik bahwa penggunaan ortogonisasi dalam kasus jaringan "berat" mengarah pada kualitas yang buruk.

Tabel 2. Hasil percobaan untuk MNIST
MnistLeNet 1.0 (par 52k)LeNet 2.0 (par 179k)LeNet 3.5 (par 378k)
tingkat kesalahanstdmanfaattingkat kesalahanstdmanfaattingkat kesalahanstdmanfaat
baseline0,402%0,033-0,366%0,026-0,361%0,028-
wort = 0,010,379%0,0275,72%0,355%0,013,01%0,359%0,0260,55%
wort = 0,050,36%0,02210,45%0,354%0,0183,28%0,356%0,0341,39%
wort = 0,10,368%0,0158,46%3,53%0,0243,55%0,353%0,0182,22%

Tabel 3. Hasil Eksperimental untuk CIFAR10
Cifar10LeNet 1.0 (par 52k)LeNet 2.0 (par 179k)LeNet 3.5 (par 378k)
tingkat kesalahanstdmanfaattingkat kesalahanstdmanfaattingkat kesalahanstdmanfaat
baseline22,09%0,65-18,49%1.01-17,08%0,47-
wort = 0,0121,56%0,862,38%18,14%0,651,89%17,33%0,49-1,46%
wort = 0,0521,59%0,482,24%18.30%0,571,03%17,59%0,31-3,02%
wort = 0,121,54%0,412,48%18.15%0,531,85%17,53%0,4-2,63%

Namun, jaringan LeNet sekarang jarang dan model yang lebih modern biasanya digunakan. Oleh karena itu, kami juga bereksperimen dengan model ResNet, yang difasilitasi oleh sejumlah filter, yang terdiri dari 25 lapisan konvolusional. 7 lapisan pertama berisi 4 filter, 12 oleh 8 filter berikutnya, dan 6 oleh 16 filter terakhir. Jumlah parameter terlatih dari model ini adalah 21 ribu.Hasilnya serupa: orthogonalization meningkatkan kualitas jaringan.


Ara. Perbandingan dinamika pembelajaran ResNet di MNIST dengan dan tanpa ortogonisasi.

Terlepas dari peningkatan kualitas yang dicapai, untuk kepercayaan penuh dalam operasi yang benar dari metode yang diusulkan, Anda perlu melihat perubahan apa yang terjadi pada filter itu sendiri. Untuk ini, nilai-nilai panjang proyeksi filter maksimum dalam 2, 12 dan 25 lapisan ResNet dihapuskan untuk semua era pelatihan. Kami memberikan dinamika perubahan pada grafik di bawah ini. Yang paling penting adalah bahwa di semua lapisan ada penurunan ketergantungan linear dari filter.


Ara. Dinamika perubahan dalam panjang proyeksi maksimum filter dalam lapisan convolutional menggunakan ResNet sebagai contoh.

Regulatorisasi berbasis orthogonalization sangat mudah diimplementasikan: pada python menggunakan modul numpy, dibutuhkan kurang dari 10 baris kode. Pada saat yang sama, itu tidak memperlambat pelatihan dan kompatibel dengan metode regularisasi lainnya.

Kesimpulan


Terlepas dari kesederhanaannya, ortogonalisasi membantu meningkatkan kualitas jaringan "ringan", yang memaksakan pembatasan pada ukuran dan kecepatan eksekusi. Mengingat proliferasi teknologi seluler, pembatasan seperti itu semakin umum: jaringan saraf tidak boleh berjalan di suatu tempat di cloud, tetapi langsung pada perangkat dengan prosesor yang lemah dan memori yang rendah. Pelatihan jaringan semacam itu bertentangan dengan tren modern dalam ilmu jaringan saraf, di mana ansambel model dengan jutaan parameter terlatih yang tidak dapat ditarik oleh ponsel cerdas digunakan secara aktif. Itulah sebabnya, dalam rangka memecahkan masalah industri, sangat penting untuk menemukan dan mengembangkan metode untuk meningkatkan kualitas jaringan yang sederhana dan cepat.

Daftar sumber yang digunakan


Alexander V. Gayer, Alexander V. Sheshkus, "Jaringan saraf convolutional menimbang regularisasi melalui ortogonalisasi," Proc. SPIE 11433, Konferensi Internasional Keduabelas tentang Visi Mesin (ICMV 2019), 1143326 (31 Januari 2020); https://doi.org/10.1117/12.2559346

All Articles