Part 12: Normalization & Initialization

Rahasia Training Stabil dan Cepat

1. Weight Initialization (Awal yang Baik)

Jika kita menginisialisasi bobot (weights) dengan angka 0, Neural Network mati (Symmetry problem). Jika terlalu besar, gradien meledak (Exploding Gradient).

Xavier / Glorot Init

Cocok untuk fungsi aktivasi Sigmoid / Tanh.

Menjaga variansi sinyal tetap sama dari layer ke layer. $$ W \sim \mathcal{N}(0, \frac{2}{n_{in} + n_{out}}) $$

He Initialization

Wajib untuk ReLU.

Didesain khusus untuk mengatasi sifat ReLU yang "mematikan" setengah neuron. $$ W \sim \mathcal{N}(0, \frac{2}{n_{in}}) $$

2. Batch Normalization

Masalah: Saat training, distribusi data di hidden layer berubah-ubah terus (Internal Covariate Shift). Ini membuat training lambat karena learning rate harus kecil.

Solusi: Normalisasi output setiap layer agar rata-ratanya 0 dan variansinya 1. Lalu biarkan network mempelajari parameter skala ($\gamma$) dan geseran ($\beta$) sendiri.
  • Training Cepat: Bisa pakai Learning Rate besar.
  • Regularisasi: Punya efek samping mengurangi Overfitting (seperti Dropout).
  • Tidak sensitif: Tidak terlalu pusing mikirin inisialisasi bobot awal.

Data Kurang?

Teknik di atas membantu training lebih stabil. Tapi kalau datanya sedikit, model tetap bodoh. Mari kita "perbanyak" data secara ajaib.

Lanjut ke Part 13: Data Augmentation