Back to IF3270 Pembelajaran Mesin

Attention Mechanisms for Contextual Processing

Questions/Cues

  • Mengapa vektor konteks tunggal menyebabkan bottleneck informasi?
  • Bagaimana mekanisme attention menyelesaikan masalah urutan panjang?
  • Apa perbedaan weighted sum vs final state sebagai konteks?
  • Bagaimana menghitung bobot attention secara dinamis?
  • Apa keuntungan menggunakan attention pada decoder?

Reference Points

  • Attention_&_Transformer.pptx (Slides 2-21)

Masalah Arsitektur Encoder-Decoder Tradisional

Arsitektur encoder-decoder konvensional menggunakan vektor konteks tunggal yang diambil dari state akhir encoder untuk menginisialisasi decoder. Pendekatan ini menimbulkan masalah information bottleneck, terutama untuk urutan panjang. Vektor konteks yang berukuran tetap harus menyimpan semua informasi dari seluruh urutan input, yang seringkali tidak memadai karena keterbatasan kapasitas memori jaringan saraf. Contoh pada terjemahan mesin: Kalimat input 20 kata harus direpresentasikan dalam vektor 512-dimensi yang sama dengan kalimat 5 kata. Ini seperti mencoba menyimpan isi seluruh buku dalam satu paragraf ringkasan - detail penting akan hilang. Masalah ini semakin kritis ketika panjang urutan melebihi 30-50 token, di mana kinerja model tradisional menurun drastis.

Konsep Dasar Attention Mechanism

Mekanisme attention mengatasi keterbatasan tersebut dengan memanfaatkan semua state encoder, bukan hanya state akhir. Setiap langkah decoder mengakses weighted sum dari seluruh state encoder, di mana bobot (α) menentukan seberapa besar perhatian diberikan ke setiap posisi input. Analogi: Seperti editor yang membuat ringkasan dokumen dengan menyoroti bagian-bagian kunci berbeda untuk setiap topik. Untuk menerjemahkan “memberi up” ke “menyerah”, model memberi bobot tinggi pada kata kerja “gave” dan partikel “up”, sambil mengabaikan kata “Budi”. Proses ini dipelajari secara otomatis selama pelatihan melalui mekanisme alignment yang menyelaraskan input-output.

Arsitektur dengan Attention Layer

Lapisan attention ditempatkan antara encoder dan decoder. Terdiri dari tiga komponen utama:

  1. Alignment Model: Menghitung skor keselarasan antara state encoder (h_i) dan state decoder sebelumnya (s_{t-1})
  2. Attention Weights: Bobot α_i dihitung dengan softmax dari skor keselarasan
  3. Context Vector: Hasil weighted sum ∑α_i h_i Pada implementasi Fibonacci, attention layer mengurangi MSE test set sebesar 40% dibanding model tanpa attention. Struktur parameternya melibatkan matriks berat U (input→hidden), W (recurrent), dan V (hidden→output), dengan perhitungan forward propagation:
e_i = f(s_{t-1}, h_i)  # Skor keselarasan
α_i = exp(e_i) / ∑exp(e_j)
c_t = ∑α_i h_i
s_t = g(s_{t-1}, y_{t-1}, c_t)

Dynamic Context Adaptation

Vektor konteks menjadi dinamis dan spesifik-waktu, berbeda dengan pendekatan tradisional yang menggunakan konteks statis. Setiap langkah decoder menghasilkan distribusi attention baru yang berfokus pada bagian input yang relevan dengan langkah output saat ini. Contoh pada terjemahan “Budi gave up → Budi menyerah”:

  • Saat menghasilkan “Budi”, α tinggi pada token pertama input
  • Saat menghasilkan “menyerah”, α tinggi pada “gave” dan “up” Pola ini muncul sendiri melalui pelatihan end-to-end tanpa anotasi alignment eksplisit, menunjukkan kemampuan model untuk mempelajari ketergantungan lintas bahasa secara otomatis.

Manfaat dan Aplikasi Praktis

Penggunaan attention memberikan tiga keuntungan utama:

  1. Peningkatan akurasi: Model lebih baik dalam menangani urutan panjang (>50 token)
  2. Interpretabilitas: Distribusi α memberi insight proses pengambilan keputusan model
  3. Fleksibilitas arsitektur: Dapat diintegrasikan dengan berbagai RNN/LSTM/GRU Aplikasi meliputi terjemahan mesin (BLEU score ↑3-7 poin), summarization teks, dan speech recognition. Pada tugas generasi urutan seperti prediksi Fibonacci, attention mengurangi error akumulatif dengan mempertimbangkan pola jangka panjang.

Summary

Mekanisme attention merevolusi pemrosesan urutan dengan mengizinkan model fokus secara selektif pada bagian input yang relevan melalui dynamic context vectors. Teknik ini mengatasi information bottleneck arsitektur encoder-decoder tradisional dengan memanfaatkan weighted sum seluruh state encoder, menghasilkan peningkatan kinerja signifikan terutama pada urutan panjang. Implementasinya yang fleksibel memungkinkan integrasi dengan berbagai arsitektur dasar sambil menyediakan visualisasi interpretabel melalui distribusi bobot attention.