Arsitektur yang sama dapat menghasilkan akurasi yang sangat berbeda bergantung pada cara pelatihannya. Section ini membahas seluruh rantai keputusan training: dari penyiapan dan normalisasi data, pemilihan batch size dan learning rate, keluarga optimizer, hingga teknik lanjutan seperti gradient clipping dan mixed precision.

# Menyiapkan Dataset

Rangkai siklus penyiapan dataset dari data mentah menjadi tensor siap dilatih — diagnosis nilai hilang, pembersihan duplikat, pemetaan label string, hingga batching dengan DataLoader.

Buka →
# Pembagian Data Training, Validasi, dan Testing

Bagi dataset menjadi tiga subset dengan peran berbeda — training memindahkan bobot, validasi memandu keputusan, testing memberi angka final — memakai stratified split dua tahap dengan train_test_split.

Buka →
# Normalisasi dan Standardisasi

Samakan skala fitur dengan MinMaxScaler dan StandardScaler — kalibrasi hanya pada data latih — lalu buktikan lewat eksperimen gradient descent bahwa standardisasi mempercepat konvergensi dan mencegah divergensi.

Buka →
# Batch Size dan Epoch

Pahami perbedaan batch, iterasi, dan epoch beserta trade-off ukuran batch — gradien lebih halus lawan pembaruan lebih sering — dibuktikan dengan training make_moons pada batch 8, 32, dan 128.

Buka →
# Learning Rate

Kendalikan panjang langkah pembaruan parameter — learning rate — melalui eksperimen sweep 0.001, 0.1, dan 10 yang memperlihatkan lintasan loss lambat, sehat, dan berayun, plus panduan diagnosis gejala.

Buka →
# Optimizer SGD

Pakai torch.optim.SGD dengan momentum — akumulasi kecepatan yang mempercepat gradien konsisten dan meredam gradien goyah — dibuktikan dengan perlombaan SGD polos melawan SGD momentum 0.9.

Buka →
# Optimizer Adam

Pahami Adam — learning rate adaptif per parameter lewat momen pertama dan kedua dengan koreksi bias — lalu adu melawan SGD pada kondisi sama dan intip langkah efektif tiap koordinat di optimizer.state.

Buka →
# Momentum dan Adaptive Optimizer

Telusuri evolusi keluarga optimizer dari SGD+momentum, AdaGrad, RMSProp, Adam, hingga AdamW: ide inti tiap generasi, rumus intuitifnya, dan trade-off kecepatan adaptif melawan generalisasi.

Buka →
# Learning Rate Scheduling

Atur learning rate sepanjang training dengan StepLR, CosineAnnealingLR, dan OneCycleLR — termasuk posisi benar scheduler.step() setelah optimizer.step() dan akibat yang diam bila pemanggilan itu terlewat.

Buka →
# Gradient Clipping

Batasi gradien yang membengkak dengan clip_grad_norm_ dan clip_grad_value_ — bedah perbedaan norma L2 global dari pemotongan per elemen, lalu lihat clip_grad_norm_ menyelamatkan training saat batch bermasalah masuk.

Buka →
# Weight Initialization

Pahami mengapa bobot awal nol merusak arsitektur karena simetri, lalu pilih Xavier untuk tanh/sigmoid dan Kaiming untuk ReLU — dibuktikan lewat variansi aktivasi delapan layer yang diukur nyata.

Buka →
# Batch Normalization

Bedah BatchNorm1d dari dalam: statistik per channel per batch, parameter learnable gamma dan beta, perbedaan mode train dan eval yang memakai running stats, serta efek stabilnya pada training dengan learning rate besar.

Buka →
# Layer Normalization

Normalisasi per sampel per layer yang tidak bergantung pada batch: hitungan manual LayerNorm yang cocok bit demi bit dengan nn.LayerNorm, bukti bebas ketergantungan batch, dan tabel perbandingan lengkap dengan BatchNorm.

Buka →
# Mixed Precision Training

Pangkas memori dan percepat training dengan float16 dan bfloat16: anatomi tiga tingkat presisi, autocast di jalur CPU dengan bfloat16, konsep loss scaling lewat GradScaler, serta batas jujur hasil CPU dibanding GPU.

Buka →