Normalisasi Batch adalah teknik yang digunakan di jaringan neural dalam untuk meningkatkan kecepatan pelatihan, stabilitas, dan konvergensi. Tujuan utamanya adalah untuk mengatasi masalah pergeseran kovariat internal, yang mengacu pada perubahan distribusi input setiap lapisan selama pelatihan karena perubahan parameter lapisan sebelumnya. Pergeseran ini dapat memperlambat proses pelatihan dan mempersulit setiap lapisan untuk belajar secara efektif.
Cara Kerja Normalisasi Batch
-
Normalisasi dalam Mini-batch: Selama pelatihan, normalisasi batch akan menormalkan input setiap lapisan dengan mengurangi rata-rata mini-batch dan membaginya dengan deviasi standar mini-batch. Hal ini membantu mengurangi pergeseran kovariat internal, membuat jaringan lebih stabil dan memungkinkan pelatihan lebih cepat.
-
Parameter yang Dapat Dipelajari: Normalisasi batch memperkenalkan dua parameter yang dapat dipelajari per aktivasi, biasanya disebut sebagai parameter skala dan shift. Parameter ini memungkinkan model untuk beradaptasi dan mempelajari skala dan pergeseran optimal untuk masukan setiap lapisan.
-
Normalisasi di Seluruh Fitur: Selain normalisasi di seluruh dimensi batch mini, normalisasi batch juga menormalkan seluruh fitur untuk setiap sampel dalam batch. Normalisasi ini dilakukan secara independen untuk setiap dimensi fitur.
Dampak pada Pelatihan
-
Konvergensi Lebih Cepat: Normalisasi batch sering kali menghasilkan konvergensi yang lebih cepat selama pelatihan dengan memungkinkan penggunaan kecepatan pembelajaran yang lebih tinggi tanpa risiko divergensi.
-
Pengurangan Overfitting: Ini bertindak sebagai bentuk regularisasi, mengurangi ketergantungan pada teknik dropout atau regularisasi lainnya, sehingga membantu mencegah overfitting sampai batas tertentu.
-
Stabilitas dan Aliran Gradien: Menstabilkan proses pelatihan dengan mengurangi kemungkinan hilangnya atau meledaknya gradien, sehingga memungkinkan aliran gradien yang lebih kuat melalui jaringan.
Kekurangan dan Keterbatasan
-
Ketergantungan Ukuran Batch: Efektivitas normalisasi batch dapat dipengaruhi oleh ukuran batch yang digunakan selama pelatihan. Ukuran batch yang sangat kecil dapat menyebabkan perkiraan statistik mini-batch yang tidak akurat, sehingga mempengaruhi kinerjanya.
-
Kesulitan dalam Penerapan pada Beberapa Arsitektur: Normalisasi batch mungkin tidak bekerja secara optimal dengan jaringan neural berulang (RNN) karena sifat komputasinya yang berurutan.
-
Dampak pada Inferensi: Selama inferensi, mean dan deviasi standar yang digunakan untuk normalisasi harus diperkirakan dari seluruh set data pelatihan atau dari statistik yang berjalan, yang dapat menimbulkan beberapa perbedaan, terutama jika distribusi data inferensi berbeda secara signifikan dari data pelatihan.
Meskipun normalisasi batch adalah teknik yang ampuh dan umum digunakan di banyak arsitektur pembelajaran mendalam, efektivitasnya dapat bervariasi berdasarkan arsitektur jaringan, distribusi data, dan kasus penggunaan tertentu. Dalam beberapa skenario, alternatif seperti normalisasi lapisan atau normalisasi instance mungkin lebih disukai.