| Istilah | Arti |
|---|---|
| makemore | Proyek sederhana buatan Karpathy yang belajar dari daftar nama lalu membuat nama baru yang terdengar mirip, dan di video ini ditingkatkan dari bigram menjadi MLP. |
| bigram | Model bahasa yang menebak karakter berikutnya hanya dari satu karakter sebelumnya, dipakai sebagai pembanding dengan loss sekitar 2,45 yang berhasil dikalahkan MLP. |
| embedding | Vektor angka yang dilatih untuk mewakili setiap karakter, disimpan dalam tabel C, sehingga karakter yang perannya mirip seperti huruf vokal letaknya berdekatan. |
| hidden layer | Lapisan neuron di tengah jaringan yang menerima gabungan embedding dan memakai fungsi tanh, ukurannya dicoba dari 100 hingga 300 neuron di video ini. |
| logits | Angka mentah keluaran lapisan terakhir jaringan untuk tiap kemungkinan karakter, yang kemudian dipangkatkan dan dinormalkan menjadi probabilitas. |
| PyTorch | Library Python untuk deep learning yang dipakai di video ini untuk membuat tensor, mengindeks tabel embedding, menghitung cross entropy, dan menjalankan backpropagation. |
| learning rate | Besar langkah perubahan parameter pada setiap putaran pelatihan, yang di video ini dicari lewat percobaan rentang 0,001 sampai 1 dan ternyata sekitar 0,1 cukup baik. |
| loss | Angka yang mengukur seberapa buruk tebakan model terhadap karakter yang benar, sehingga pelatihan berusaha menurunkannya dari sekitar 17 hingga kira-kira 2,17. |
| training set | Bagian data, sekitar 80 persen nama, yang dipakai untuk menyesuaikan parameter model selama pelatihan dengan gradient descent. |
| test split | Bagian data sekitar 10 persen yang disimpan dan hanya dipakai sesekali di akhir untuk menilai kinerja model agar hasilnya jujur. |
| neural net | Model berupa lapisan-lapisan neuron dengan bobot yang bisa dilatih, di sini berupa MLP yang menebak karakter berikutnya dari tiga karakter sebelumnya. |
| tensor | Larik angka berdimensi banyak di PyTorch, dan video ini menunjukkan bahwa fungsi view bisa mengubah bentuknya tanpa menyalin memori sehingga sangat efisien. |
Dalam video ini Andrej Karpathy melanjutkan proyek makemore, model bahasa tingkat karakter yang belajar membuat nama baru dari sekitar 32 ribu contoh nama. Model bigram di video sebelumnya hanya melihat satu karakter sebelumnya, sehingga hasilnya kurang mirip nama. Masalahnya, bila konteks diperpanjang dengan cara menghitung, tabelnya membengkak secara eksponensial: dua karakter sudah memberi 729 kemungkinan dan tiga karakter sekitar 20 ribu, sehingga setiap kemungkinan punya terlalu sedikit data. Sebagai jalan keluar, Karpathy membangun multi-layer perceptron (MLP) berdasarkan makalah Bengio dan rekan tahun 2003. Gagasan utamanya adalah memberi setiap kata atau karakter sebuah vektor embedding yang dilatih, sehingga hal yang mirip berdekatan dan pengetahuan bisa dipindahkan ke frasa yang belum pernah terlihat, misalnya dari "the dog was running" ke "a dog was running". Video ini penting karena memperkenalkan pola kerja inti deep learning modern, mulai dari embedding, lapisan tersembunyi, cara memilih learning rate, sampai pembagian data agar model tidak sekadar menghafal.
Karpathy menyusun dataset dengan block size 3, yaitu tiga karakter untuk menebak karakter keempat, lalu membuat tabel embedding C berukuran 27 kali 2. Ia menunjukkan bahwa mengindeks C setara dengan mengalikan vektor one-hot, menggabungkan embedding dengan view yang tidak menyalin memori, lalu meneruskannya ke hidden layer 100 neuron dengan tanh dan lapisan keluaran 27 logits. Loss dihitung dengan F.cross_entropy karena lebih efisien dan stabil secara numerik, sebab PyTorch mengurangi nilai logit terbesar agar tidak terjadi overflow. Pelatihan memakai mini batch 32 contoh dari sekitar 228 ribu contoh, learning rate dicari dengan menyapu eksponen dari minus 3 sampai 0, dan learning rate decay diterapkan di akhir. Data dibagi menjadi 80 persen training, 10 persen dev, dan 10 persen test. Model awal sekitar 3.400 parameter mencapai loss 2,3, mengalahkan bigram 2,45. Setelah embedding diperbesar menjadi 10 dimensi dan hidden layer 200 neuron, loss validasi terbaik sekitar 2,17. Plot embedding dua dimensi memperlihatkan huruf vokal berkumpul, sampel nama menjadi lebih mirip nama asli, penonton ditantang mengalahkan angka itu, dan notebook-nya tersedia di Google Colab.
Kata kunci
- makemore
- embedding
- hidden layer
- learning rate
- Melanjutkan makemore dengan model bahasa berbasis MLP yang melihat beberapa karakter sebelumnya, bukan hanya satu seperti model bigram.
- Membangun embedding karakter, hidden layer, dan logits dengan PyTorch, menghitung loss, dan memilih learning rate.
- Memisahkan data menjadi training, dev, dan test split untuk menghindari overfitting, serta menyinggung stabilitas numerik saat nilai besar.
Tulis catatan pribadimu untuk video ini. Catatan tersimpan di akunmu dan bisa dibuka dari perangkat mana pun.
