Makalah: Apa perbedaan antara Normalisasi Lapisan, Normalisasi Batch Berulang (2016), dan Batch Normalisasi RNN (2015)?

30

Jadi, baru-baru ini ada kertas Normalisasi Layer . Ada juga implementasi di Keras.

Tapi saya ingat ada makalah yang berjudul Normalisasi Batch Berulang (Cooijmans, 2016) dan Batch Normalisasi Jaringan Saraf Berulang (Laurent, 2015). Apa perbedaan antara ketiganya?

Ada bagian Pekerjaan Terkait ini yang saya tidak mengerti:

Normalisasi batch sebelumnya telah diperluas ke jaringan saraf berulang [Laurent et al., 2015, Amodei et al., 2015, Cooijmans et al., 2016]. Pekerjaan sebelumnya [Cooijmans et al., 2016] menunjukkan kinerja terbaik dari normalisasi batch berulang diperoleh dengan menjaga statistik normalisasi independen untuk setiap langkah waktu. Para penulis menunjukkan bahwa menginisialisasi parameter gain di lapisan normalisasi batch berulang menjadi 0,1 membuat perbedaan yang signifikan dalam kinerja akhir model. Pekerjaan kami juga terkait dengan normalisasi berat badan [Salimans dan Kingma, 2016]. Dalam normalisasi berat, alih-alih varians, norma L2 dari bobot yang masuk digunakan untuk menormalkan input yang dijumlahkan ke neuron.. Menerapkan salah satu normalisasi berat atau normalisasi bets menggunakan statistik yang diharapkan setara dengan memiliki parameterisasi yang berbeda dari jaringan saraf umpan maju. Parameterisasi ulang dalam jaringan ReLU dipelajari dalam Pathnormalized SGD [Neyshabur et al., 2015]. Metode normalisasi layer yang kami usulkan, bagaimanapun, bukan parameterisasi ulang dari jaringan saraf asli. Model lapisan dinormalisasi, dengan demikian, memiliki sifat invarian yang berbeda dari metode lain , yang akan kita pelajari di bagian berikut

rilut
sumber

Jawaban:

25
  • Normalisasi layer ( Ba 2016 ): Tidak menggunakan statistik batch. Normalisasi menggunakan statistik yang dikumpulkan dari semua unit dalam lapisan sampel saat ini. Tidak bekerja dengan baik dengan ConvNets.

  • Recurrent Balization Normalalization (BN) ( Cooijmans, 2016 ; juga diusulkan bersamaan oleh Qianli Liao & Tomaso Poggio , tetapi diuji pada ConvNets Berulang, alih-alih RNN / LSTM): Sama seperti normalisasi bets. Gunakan statistik normalisasi yang berbeda untuk setiap langkah waktu. Anda perlu menyimpan satu set mean dan standar deviasi untuk setiap langkah waktu.

  • Batch Normalalized Recurrent Neural Networks ( Laurent, 2015 ): normalisasi batch hanya diterapkan antara input dan status tersembunyi, tetapi tidak antara status tersembunyi. yaitu, normalisasi tidak diterapkan seiring waktu.

  • Streaming Normalisasi ( Liao et al. 2016 ): meringkas normalisasi yang ada dan mengatasi sebagian besar masalah yang disebutkan di atas. Ini bekerja dengan baik dengan ConvNets, pembelajaran berulang dan pembelajaran online (yaitu, batch kecil atau satu sampel sekaligus):

  • L2L21y=x(w/|w|)xwgy=ygg tampaknya tidak penting untuk kinerja (lapisan hilir yang dapat dipelajari juga dapat mempelajari hal ini).

  • L2y=(x/|x|)(w/|w|)xw

Perhatikan bahwa Normalisasi Berat dan Kosinus telah digunakan secara luas (disebut produk titik dinormalisasi) pada tahun 2000 di kelas ConvNets yang disebut HMAX (Riesenhuber 1999) untuk memodelkan visi biologis. Anda mungkin menemukan mereka menarik.

Ref: Referensi Model HMAX

Ref: Referensi Simulator Jaringan Cortical

Ref: Normalisasi Cosine: Menggunakan Kesamaan Cosine Alih-alih Produk Dot di Jaringan Saraf Tiruan , Luo Chunjie, Zhan jianfeng, Wang lei, Yang Qiang

NeuralWorks
sumber