"Attention Is All You Need" - Arsitektur revolusioner yang menjadi fondasi semua model AI modern
Transformer pada Level Neuron & Edge
Sebelum melihat diagram high-level, mari kita pahami: di dalam setiap blok Transformer, sebenarnya ada neuron-neuron yang terhubung dengan edge (koneksi berbobot) - sama seperti neural network biasa! Klik tombol untuk melihat data mengalir melalui setiap neuron.
Klik tombol untuk melihat alur data melalui neuron di dalam Transformer
Apa yang Anda lihat di atas:
- Setiap lingkaran = 1 neuron (unit komputasi)
- Setiap garis = 1 edge/koneksi dengan bobot (weight)
- Warna garis: biru = bobot positif, merah = bobot negatif
- Tebal garis = besarnya bobot
- Titik bergerak = sinyal data yang mengalir
Blok "Self-Attention" dan "Feed-Forward" yang terlihat di paper sebenarnya adalah kumpulan neuron-neuron ini, hanya digambar sebagai kotak untuk menyederhanakan!
Sebelum masuk ke Transformer, input teks harus melalui 3 tahap persiapan:
1. Tokenization
Memecah teks menjadi token (bisa kata, subword, atau karakter). Setiap token diberi ID unik dari vocabulary.
2. Token Embedding
Setiap token ID diubah menjadi vector berdimensi tinggi (misal 512 dimensi). Vector ini awalnya random, lalu dipelajari saat training.
3. Positional Encoding
Karena Transformer memproses semua token sekaligus (paralel, bukan sekuensial seperti RNN), kita perlu menambahkan informasi posisi agar model tahu urutan kata.
Ini adalah inti dari Transformer! Self-Attention memungkinkan setiap kata "memperhatikan" semua kata lain dalam kalimat untuk memahami konteks.
Analogi: Perpustakaan
Bayangkan Anda di perpustakaan mencari informasi:
Query (Q) = Pertanyaan Anda: "Saya ingin tahu tentang kucing" - apa yang sedang Anda cari
Key (K) = Judul/Label buku: Setiap buku punya label yang menjelaskan isinya
Value (V) = Isi buku: Informasi sebenarnya yang terkandung dalam buku
Anda mencocokkan Query Anda dengan semua Key. Buku yang judulnya paling cocok mendapat skor tinggi, lalu Anda membaca Value (isi) dari buku-buku tersebut secara proporsional.
Langkah-langkah Self-Attention:
1. Setiap token embedding dikalikan dengan 3 matriks weight (W_Q, W_K, W_V) untuk menghasilkan Q, K, V
2. Hitung skor: Q * K^T (seberapa cocok query dengan setiap key)
3. Scale: bagi dengan sqrt(d_k) agar gradient stabil
4. Softmax: ubah skor jadi probabilitas (0-1, total=1)
5. Kalikan probabilitas dengan V untuk mendapat output berbobot
Mengapa ini powerful?
Dengan self-attention, kata "duduk" bisa langsung "melihat" kata "kucing" meski terpisah jauh. Berbeda dengan RNN yang harus melewati kata-kata di antaranya.
Setiap kata menghasilkan representasi baru yang sudah mengandung konteks dari seluruh kalimat!
2. Multi-Head Attention
Satu attention head mungkin hanya menangkap satu jenis hubungan. Multi-head attention menjalankan beberapa attention secara paralel, masing-masing menangkap aspek berbeda.
Contoh: "dia makan nasi karena dia lapar"
- Head 1 (Syntax): "dia" (subjek) → "makan" (predikat) → "nasi" (objek)
- Head 2 (Coreference): "dia" pertama ↔ "dia" kedua (merujuk orang yang sama)
- Head 3 (Causality): "makan" ← "karena" ← "lapar" (hubungan sebab-akibat)
- Head 4 (Semantic): "makan" ↔ "nasi" ↔ "lapar" (topik makanan)
Hasil dari semua head digabung (concatenate) lalu diproyeksikan kembali.
Transformer lengkap terdiri dari tumpukan (stack) encoder layers dan decoder layers. Setiap layer memiliki multi-head attention dan feed-forward network.
Setiap Decoder Layer terdiri dari:
1. Masked Multi-Head Self-Attention + Add & Norm (mask agar tidak melihat token masa depan)
2. Multi-Head Cross-Attention + Add & Norm (attend ke output encoder)
3. Feed-Forward Network + Add & Norm
Paper asli menggunakan 6 layer encoder + 6 layer decoder, d_model=512, 8 attention heads.
Referensi:
[1] A. Vaswani et al., "Attention is all you need," in Advances in Neural Information Processing Systems (NeurIPS), vol. 30, 2017, pp. 5998-6008.
[2] J. L. Ba, J. R. Kiros, and G. E. Hinton, "Layer normalization," arXiv preprint arXiv:1607.06450, 2016.
[3] K. He, X. Zhang, S. Ren, and J. Sun, "Deep residual learning for image recognition," in Proc. IEEE Conf. Computer Vision and Pattern Recognition (CVPR), 2016, pp. 770-778. Lihat semua referensi →