Apa itu Multi-Head Attention (Mekanisme Atensi Multi-Kepala)?
Mekanisme dasar arsitektur Transformer yang memproyeksikan token ke beberapa sub-ruang atensi secara paralel untuk menangkap relasi bahasa yang kaya.
Apa itu Multi-Head Attention?
Multi-Head Attention adalah mekanisme komputasi inti dalam arsitektur jaringan saraf Transformer yang memungkinkan model memperhatikan berbagai bagian dari sebuah urutan teks secara simultan dari sudut pandang representasi yang berbeda.
Mekanisme ini pertama kali diperkenalkan oleh tim peneliti Google Brain dan Google Research dalam makalah mani mereka, "Attention Is All You Need" (Vaswani et al., 2017). Sebelum adanya Multi-Head Attention, model pemrosesan bahasa alami mengandalkan jaringan berulang (RNN dan LSTM) yang memproses kata satu per satu secara berurutan, sehingga lambat dilatih dan sulit mengingat hubungan antarkata yang berjarak jauh.
Dengan Multi-Head Attention, kalimat tidak diproses satu demi satu, melainkan dianalisis secara menyeluruh sekaligus melalui matriks hubungan antar-token.
Cara kerja Multi-Head Attention
Prinsip kerja mekanisme ini terdiri dari empat tahapan matematis:
- Proyeksi Linier (Q, K, V): Vektor representasi setiap token dikalikan dengan matriks bobot yang dapat dipelajari untuk membentuk tiga komponen utama:
- Query ($Q$): Pertanyaan tentang informasi apa yang sedang dicari oleh token saat ini.
- Key ($K$): Label atau kunci identifikasi dari setiap token lain dalam kalimat.
- Value ($V$): Nilai kandungan informasi sebenarnya yang dibawa oleh token tersebut.
- Pemecahan Menjadi Multi-Kepala (Splitting into Heads): Alih-alih menghitung atensi satu kali pada dimensi penuh, representasi $Q, K,$ dan $V$ dipecah menjadi $h$ kepala paralel (misalnya 8 atau 32 heads), masing-masing dengan dimensi lebih kecil ($d_k = d_{model} / h$).
- Scaled Dot-Product Attention: Setiap kepala menghitung skor kecocokan antara Query dan Key secara mandiri melalui rumus: $$\text{Attention}(Q, K, V) = \text{softmax}\left(\frac{Q K^T}{\sqrt{d_k}}\right) V$$ Skor ini menentukan seberapa besar perhatian (bobot bobot atensi) yang diberikan sebuah kata ke kata lainnya.
- Penggabungan dan Proyeksi Akhir: Keluaran dari seluruh kepala digabungkan kembali (concatenated) lalu dikalikan dengan matriks proyeksi linier akhir $W^O$ untuk menghasilkan vektor representasi terpadu.
Mengapa membutuhkan banyak kepala (multi-head)?
Penggunaan banyak kepala memungkinkan model menangkap beragam jenis hubungan linguistik secara bersamaan:
- Satu kepala dapat fokus menghubungkan kata ganti orang (dia/mereka) dengan subjek nama yang telah disebutkan sebelumnya.
- Kepala lain dapat mempelajari kecocokan tata bahasa antara subjek tunggal dengan kata kerja bentuk tunggal.
- Kepala ketiga dapat memetakan hubungan semantik antara kata sifat dan kata benda objek.
Jika model hanya memiliki satu kepala atensi tunggal, kemampuan membedakan berbagai konteks tersebut akan saling menimpa dan menghasilkan representasi yang kurang tajam.
Batasan dan salah paham umum
- Kompleksitas komputasi kuadratik $O(N^2)$: Setiap token harus menghitung kecocokan dengan seluruh token lainnya dalam satu urutan. Akibatnya, peningkatan panjang dokumen menyebabkan konsumsi komputasi dan memori melonjak tajam secara kuadratik.
- Konsumsi memori saat inferensi: Menyimpan status Key dan Value untuk setiap kepala atensi pada teks panjang membutuhkan kapasitas memori VRAM GPU yang sangat besar (sehingga model modern mulai beralih ke Grouped-Query Attention atau FlashAttention).
Rujukan resmi
- Vaswani et al. (Google Brain & Google Research) — Attention Is All You Need: arxiv.org/abs/1706.03762 (Pengecekan: 11 Oktober 2026)
- PyTorch Documentation — torch.nn.MultiheadAttention API Specification: pytorch.org/docs/stable/generated/torch.nn.MultiheadAttention.html (Pengecekan: 11 Oktober 2026)
Istilah Terkait