Saya telah menemukan bahwa Imagenet dan CNN besar lainnya menggunakan lapisan normalisasi respons lokal. Namun, saya tidak dapat menemukan banyak informasi tentang mereka. Seberapa penting mereka dan kapan mereka harus digunakan?
Dari http://caffe.berkeleyvision.org/tutorial/layers.html#data-layers :
"Lapisan normalisasi respons lokal melakukan semacam" penghambatan lateral "dengan menormalkan lebih dari daerah input lokal. Dalam mode ACROSS_CHANNELS, daerah lokal memperluas melintasi saluran terdekat, tetapi tidak memiliki batas spasial (yaitu, mereka memiliki bentuk local_size x 1 x 1) Dalam mode WITHIN_CHANNEL, wilayah lokal diperluas secara spasial, tetapi berada dalam saluran terpisah (yaitu, mereka memiliki bentuk 1 x local_size x local_size). Setiap nilai input dibagi dengan (1+ (α / n) ixix2i) β, di mana n adalah ukuran masing-masing wilayah lokal, dan jumlah diambil atas wilayah yang berpusat pada nilai itu (nol padding ditambahkan jika perlu). "
Edit:
Tampaknya jenis lapisan ini memiliki dampak minimal dan tidak digunakan lagi. Pada dasarnya, peran mereka telah dikalahkan oleh teknik regularisasi lainnya (seperti dropout dan normalisasi batch), inisialisasi yang lebih baik dan metode pelatihan. Lihat jawaban saya di bawah ini untuk lebih jelasnya.
Dengan jawaban ini saya ingin merangkum kontribusi dari penulis lain dan memberikan penjelasan satu tempat teknik LRN (atau normalisasi kontras) bagi mereka, yang hanya ingin mengetahui apa itu dan bagaimana cara kerjanya.
Motivasi: ' Semacam ini respon normalisasi (LRN) mengimplementasikan bentuk penghambatan lateral terinspirasi oleh jenis yang ditemukan dalam neuron nyata, menciptakan persaingan untuk kegiatan besar di antara output neuron dihitung menggunakan kernel yang berbeda. ' AlexNet 3.3
Dengan kata lain LRN memungkinkan untuk mengurangi respons yang seragam besar untuk lingkungan dan membuat aktivasi besar lebih jelas dalam lingkungan yaitu menciptakan kontras yang lebih tinggi dalam peta aktivasi. prateekvjoshi.com menyatakan bahwa ini sangat berguna dengan fungsi aktivasi tanpa batas sebagai RELU.
Formula Asli: Untuk setiap posisi tertentu (x, y) dan kernel i yang sesuai dengan output 'pixel' tunggal, kami menerapkan 'filter', yang menggabungkan informasi tentang output dari kernel n lain yang diterapkan pada posisi yang sama. Peraturan ini diterapkan sebelum fungsi aktivasi. Regularisasi ini, memang, bergantung pada urutan kernel yang, setahu saya, hanya kebetulan yang disayangkan.
Dalam praktiknya (lihat Caffe ) 2 pendekatan dapat digunakan:
Penggunaan aktual LRN digunakan lebih sering pada hari-hari konvet awal seperti LeNet-5. Implementasi GoogLeNet (Inception) saat ini di Caffe sering menggunakan LRN sehubungan dengan teknik pooling, tetapi tampaknya dilakukan hanya demi memilikinya. Baik Inception asli / GoogLeNet (di sini ) maupun versi-versi berikut tidak menyebutkan LRN dengan cara apa pun. Juga, implementasi TensorFlow dari Inception (disediakan dan diperbarui oleh tim penulis asli) jaringan tidak menggunakan LRN meskipun tersedia.
Kesimpulan Menerapkan LRN bersama dengan pooling layer tidak akan merusak kinerja jaringan selama nilai-nilai hyper-parameter masuk akal. Meskipun begitu, saya tidak mengetahui adanya justifikasi baru-baru ini untuk menerapkan LRN / normalisasi kontras dalam jaringan saraf.
sumber
Jenis respon lapisan Normalisasi Normalisasi (LRN) ternyata bermanfaat ketika menggunakan neuron dengan aktivasi tanpa batas (misalnya neuron linier yang diperbaiki), karena memungkinkan deteksi fitur frekuensi tinggi dengan respons neuron besar, sementara meredam respons yang seragam besar di lingkungan setempat. Ini adalah jenis regulator yang mendorong "persaingan" untuk kegiatan besar di antara kelompok neuron terdekat.
src- https://code.google.com/p/cuda-convnet/wiki/LayerParams#Local_response_normalization_layer_(same_map)
sumber
Normalisasi respons lokal (LRN) dilakukan berdasarkan piksel untuk setiap saluran :i
dengan adalah konstanta. Perhatikan bahwa Anda mendapatkan normalisasi L2 jika Anda mengatur , , . κ = 0 α = 1 β = 1k,α,β∈R κ=0 α=1 β=12
Namun, ada teknik yang jauh lebih baru yang disebut "batch normalisasi" (lihat kertas ) yang berfungsi sangat mirip dan menyarankan untuk tidak menggunakan LRN lagi. Normalisasi batch juga berfungsi baik untuk pixel:
di mana adalah rata-rata, adalah varians, adalah konstanta kecil, adalah parameter yang dapat dipelajari yang memungkinkan jaring untuk menghapus normalisasi.σ 2 ε > 0 γ , β ∈ Rμ σ2 ε>0 γ,β∈R
Jadi jawabannya adalah: Normalisasi Respons Lokal tidak penting lagi, karena kami memiliki sesuatu yang berfungsi lebih baik dan diganti LRN: Normalisasi Batch.
Lihat juga
sumber