The spelled-out intro to neural networks and backpropagation: building micrograd
| Istilah | Arti |
|---|---|
| micrograd | Pustaka autograd kecil buatan Andrej Karpathy yang bekerja pada angka skalar, dibangun ulang langkah demi langkah di video ini untuk menjelaskan backpropagation dan pelatihan neural network. |
| derivative | Turunan, yaitu ukuran seberapa besar dan ke arah mana keluaran sebuah fungsi berubah ketika masukannya digeser sedikit, ditaksir di video ini dengan menambah nilai h yang sangat kecil. |
| grad | Atribut pada setiap objek Value di micrograd yang menyimpan turunan keluaran akhir terhadap nilai tersebut, dimulai dari nol lalu diisi saat backpropagation berjalan. |
| backward | Fungsi yang menjalankan backpropagation dari sebuah node keluaran, menyusun node dengan topological sort lalu memanggil langkah chain rule setiap operasi dalam urutan terbalik. |
| chain rule | Aturan kalkulus yang menyatakan turunan fungsi bersusun didapat dengan mengalikan turunan-turunan perantaranya, seperti contoh mobil, sepeda, dan pejalan kaki di video ini. |
| neuron | Model matematika sederhana yang mengalikan setiap masukan dengan bobotnya, menjumlahkannya bersama bias, lalu meneruskan hasilnya ke fungsi aktivasi seperti tanh. |
| gradient | Kumpulan turunan yang menunjukkan arah perubahan setiap parameter yang paling menaikkan loss, sehingga parameter digeser berlawanan arah untuk menurunkannya. |
| loss | Satu angka yang mengukur seberapa jauh prediksi jaringan dari target, di video ini dihitung dengan mean squared error dan dibuat sekecil mungkin selama pelatihan. |
| Value object | Objek di micrograd yang membungkus satu angka sekaligus mencatat nilai asal, jenis operasi, dan gradient-nya, sehingga seluruh ekspresi matematika bisa ditelusuri mundur. |
| mlp | Multi-layer perceptron, yaitu jaringan berisi beberapa lapisan neuron yang tersambung berurutan, di video ini terdiri dari 3 masukan, dua lapisan 4 neuron, dan 1 keluaran. |
| forward pass | Tahap menghitung keluaran sebuah ekspresi atau jaringan dari masukan hingga hasil akhir, misalnya prediksi dan nilai loss, sebelum gradient dihitung mundur. |
| local derivative | Turunan keluaran satu operasi kecil terhadap masukannya sendiri tanpa melihat sisa graf, misalnya bernilai 1 untuk penjumlahan, lalu dikalikan lewat chain rule. |
Dalam video ini, Andrej Karpathy mengajak penonton melihat cara kerja pelatihan neural network di balik layar dengan membangun micrograd langkah demi langkah dari notebook Jupyter kosong. Micrograd adalah autograd engine kecil yang ia rilis di GitHub dan mengimplementasikan backpropagation, yaitu algoritma untuk menghitung gradient sebuah loss function terhadap bobot jaringan secara efisien. Karpathy menegaskan bahwa neural network hanyalah ekspresi matematika yang menerima data dan bobot sebagai masukan, sehingga backpropagation sebenarnya berlaku untuk ekspresi apa pun. Micrograd sengaja bekerja pada tingkat skalar, bukan tensor, demi tujuan belajar, karena tensor hanya dipakai untuk efisiensi dan matematikanya tidak berubah. Menurutnya, mesin autograd sekitar 100 baris Python ditambah pustaka neural network kecil di atasnya sudah cukup untuk memahami inti pelatihan jaringan, sedangkan sisanya hanyalah urusan efisiensi. Video ini penting bagi pemula karena membangun intuisi tentang turunan, chain rule, dan gradient descent dari nol, yang juga menjadi dasar pustaka besar seperti PyTorch.
Karpathy memulai dengan fungsi 3x kuadrat minus 4x plus 5 dan menaksir turunannya secara numerik memakai h yang sangat kecil, misalnya kemiringan 14 di titik x sama dengan 3. Ia lalu membangun kelas Value yang menyimpan data, children, jenis operasi, dan grad, serta menggambar grafnya dengan Graphviz. Backpropagation manual pada ekspresi L menunjukkan bahwa node penjumlahan sekadar meneruskan gradient, sedangkan node perkalian mengalikannya dengan nilai pasangannya, dan setiap hasil dicek secara numerik. Contoh neuron dua masukan dengan tanh, yang turunan lokalnya 1 minus t kuadrat, kemudian diotomatisasi lewat fungsi _backward per operasi dan topological sort. Ia memperbaiki bug saat sebuah variabel dipakai dua kali dengan mengakumulasi gradient, menambah operasi exp, pangkat, pembagian, dan pengurangan, lalu membuktikan hasilnya sama dengan PyTorch. Terakhir ia membangun Neuron, Layer, dan MLP berisi 41 parameter, melatihnya pada empat contoh dengan mean squared error, menemukan bug lupa zero grad, dan menutup dengan catatan bahwa GPT bekerja dengan prinsip yang sama dalam skala jauh lebih besar.
Kata kunci
- micrograd
- chain rule
- local derivative
- Value object
- Mengikuti kuliah membangun micrograd dari notebook kosong untuk melihat apa yang terjadi di balik layar saat neural network dilatih.
- Memahami turunan secara intuitif, Value object, grafik ekspresi, gradien lokal, chain rule, dan backward yang mempropagasikan grad lewat tanh.
- Membangun neuron, layer, dan MLP, menghitung loss, lalu memperbarui parameter berdasarkan gradien.
Tulis catatan pribadimu untuk video ini. Catatan tersimpan di akunmu dan bisa dibuka dari perangkat mana pun.
