Aturan untuk memilih hyperparameters jaringan saraf convolutional

22

Apakah ada makalah yang bagus yang membahas beberapa cara metodis dalam memilih dimensi untuk filter, menyatukan unit, dan menentukan jumlah lapisan konvolusional?

spacemonkey
sumber
1
Saya mengedit judul Anda. Lebih baik menggunakan nama lengkap daripada singkatan karena dalam banyak kasus nama pendek tidak jelas.
Tim

Jawaban:

11

Untuk tingkat tertentu, ya, makalah baru-baru ini dikeluarkan oleh peneliti Google tentang bagaimana memilih arsitektur Inception yang baik. Jaring Inception mencapai kinerja yang sangat tinggi pada anggaran parameter terbatas, jadi ini adalah tempat yang baik untuk memulai, dan ini baru. Berikut tautannya: Memikirkan Kembali Arsitektur Inception untuk Computer Vision .

Mereka tidak menawarkan aturan kuantitatif yang sulit melainkan pedoman yang mereka gunakan dan percaya telah membantu mereka mencapai kinerja yang baik dalam kompetisi ImageNet baru-baru ini.

Sebagai contoh, beberapa prinsip yang mereka diskusikan adalah:

  • Gunakan tumpukan lapisan konvolusional bidang reseptif yang lebih kecil daripada menggunakan lapisan konvolusional bidang reseptif besar tunggal, yaitu 2 tumpukan lapisan konv 3x3 vs lapisan konv 7x7 tunggal. Gagasan ini bukan hal baru, itu juga dibahas dalam Kembalinya Iblis dalam Rincian: Menggali Jauh ke dalam Jaringan Konvolusional oleh tim Oxford VGG. Ini dimotivasi oleh kebutuhan untuk menjadi parameter yang efisien. Ini juga memiliki efek ganda dari kapasitas yang lebih representasional karena kami memperkenalkan lebih banyak nonlinier dengan lebih banyak lapisan.

  • Sesuatu yang belum saya lihat dalam literatur yang artikel ini sebutkan adalah faktorisasi lapisan konvolusional menjadi lapisan dalam. Jadi alih-alih memiliki lapisan 7x7 konv tunggal, kita akan memiliki lapisan konv 1x7 dan kemudian lapisan konv 7x1. Menambahkan lebih dalam, saya yakin itu juga parameter yang efisien.

  • Seimbangkan kedalaman dan lebar jaring Anda. Gunakan representasi dimensi tinggi. Ini adalah salah satu prinsip di balik modul Inception mereka, yang menggabungkan beberapa lapisan konvolutinal bersama-sama. Jadi, bahkan jika Anda memiliki ukuran spasial kecil di internet Anda, menggunakan modul Inception kami dapat menggunakan representasi dimensi tinggi melalui penggabungan konvolusional multi-skala: 1x1, 3x3, 3x3-3x3, kumpulan max semua disatukan. Modul-modul Inception ini memiliki "lebar" karena mereka dapat diartikan sebagai melakukan beberapa operasi secara paralel. Mereka melangkah lebih jauh dengan modul Inception baru yang memiliki faktor ukuran konvolusional, 1x3, 3x1, dll.

  • Gunakan lapisan konv 1x1 (Jaringan dalam gaya Jaringan) untuk mengurangi dimensi. Mereka menggunakan banyak teknik reduksi dimensi untuk mencapai efisiensi parameter. Mereka percaya bahwa ini efektif karena peta fitur yang berdekatan memiliki output yang sangat berkorelasi. Yang masuk akal karena gambar alami diketahui menunjukkan beberapa sifat statistik lokal yang konsisten dengan ini. Jadi mengurangi dimensi melalui 1x1 lapisan NIN tidak memiliki efek bencana pada kekuatan representasional.

Ada lebih banyak di artikel ini. Saya pikir ini adalah artikel yang dapat menawarkan beberapa wawasan tentang apa yang Anda tanyakan. Mereka berbicara tentang beberapa konsep inti dari desain arsitektur internet.

AI indie
sumber
2

Saya belum menemukan literatur tentang memilih parameter-hiper ini sebagai fungsi dari spesifikasi masalah. Tapi, ini pemahaman saya bahwa sebagian besar mengadopsi metode optimasi Bayesian untuk memberikan nilai efektif. Anda menentukan rentang yang masuk akal, dan dengan menguji berbagai kombinasi, Anda mempelajari suatu model tentang bagaimana parameter-hiper itu berhubungan dengan akurasi model. Ini bekerja dengan baik untuk saya. Lihatlah "Optimalisasi Bayesian Praktis dari Algoritma Pembelajaran Mesin" dari Snoek, Larochelle, dan Adams ( http://papers.nips.cc/paper/4522-praktis-bayesian-optimisasi-of-machine-learning-algorith.pdf ).

David Kelley
sumber