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.
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 TestingBagi 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 StandardisasiSamakan 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 EpochPahami 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 RateKendalikan 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 SGDPakai 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 AdamPahami 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 OptimizerTelusuri 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 SchedulingAtur 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 ClippingBatasi 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 InitializationPahami 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 NormalizationBedah 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 NormalizationNormalisasi 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 TrainingPangkas 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 →