Transformer adalah sebuah model jaringan saraf yang revolusioner dalam bidang pemrosesan bahasa alami dan tugas-tugas terkait lainnya. Model ini diperkenalkan dalam artikel yang berjudul “Attention is All You Need” pada tahun 2017 oleh Vaswani et al.
Transformer mengatasi beberapa kendala yang ditemukan pada arsitektur Recurrent Neural Network (RNN) sebelumnya, seperti Long Short-Term Memory (LSTM) ataupun Gate Recurrent Unit (GRU). RNN memerlukan urutan data yang disusun secara berurutan, yang membatasi paralelisasi dan meningkatkan waktu pemrosesan. Sebaliknya, Transformer menghilangkan ketergantungan urutan ini dengan menggunakan mekanisme attention untuk memahami hubungan kontekstual antara kata-kata dalam kalimat.
Arsitektur Transformer terdiri dari dua komponen utama: encoder dan decoder. Encoder bertugas mengubah input teks menjadi representasi yang signifikan secara kontekstual, sedangkan decoder menghasilkan keluaran berdasarkan representasi tersebut. Masing-masing komponen terdiri dari beberapa blok yang terdiri dari beberapa layer.
Setiap layer dalam Transformer memiliki dua sub-layer: mekanisme multi-head attention dan feed-forward network. Mekanisme multi-head attention memungkinkan model untuk mengatasi ketergantungan jarak jauh antara kata-kata dalam teks. Feed-forward network sepenuhnya bertanggung jawab untuk memproses informasi lokal di setiap posisi dalam urutan.
Mekanisme attention dalam Transformer memungkinkan model untuk memberikan bobot yang berbeda pada setiap kata dalam konteksnya. Ini memungkinkan model untuk memfokuskan perhatian pada kata-kata yang paling relevan dalam teks yang diberikan. Mekanisme ini memainkan peran kunci dalam kemampuan Transformer untuk memahami hubungan kontekstual antara kata-kata dan mengatasi masalah seperti long-range dependencies.
Mekanisme attention disebut “Self-Attention” atau “Scaled Dot-Product Attention”. Dalam mekanisme attention Transformer, setiap kata dalam urutan input (misalnya, kalimat) diwakili oleh tiga vektor: Query (Q), Key (K), dan Value (V). Vektor Query digunakan untuk mengirimkan permintaan informasi ke kata-kata lain dalam urutan, vektor Key digunakan untuk memberikan penilaian tentang relevansi kata-kata lain terhadap permintaan, dan vektor Value berisi informasi aktual yang akan diteruskan ke lapisan selanjutnya.
Proses mekanisme attention terdiri dari beberapa langkah:
- Membangun Query, Key, dan Value: Masing-masing kata dalam urutan input diubah menjadi vektor Query, Key, dan Value melalui proyeksi linear. Proyeksi linear ini memungkinkan kata-kata tersebut untuk berada dalam ruang dimensi yang sesuai untuk perhitungan perhatian.
- Menghitung Skor attention: Skor attention dihitung dengan mengalikan matriks Query dengan matriks Key secara transpos dan kemudian diukur dengan faktor skala. Skor attention menggambarkan sejauh mana setiap kata dalam urutan memperhatikan kata-kata lainnya.
- Mengaplikasikan Fungsi Softmax: Skor attention yang dihasilkan diteruskan melalui fungsi softmax untuk mendapatkan bobot perhatian yang dinormalisasi. Fungsi softmax memastikan bahwa bobot attention yang dihasilkan untuk setiap kata dalam urutan jumlahnya sama dengan 1.
- Menggabungkan Value dengan Bobot attention: Bobot attention yang dihasilkan dikalikan dengan matriks Value untuk menghasilkan representasi perhatian pada setiap kata. Representasi perhatian ini mencerminkan sejauh mana setiap kata berkontribusi terhadap pemahaman kontekstual dalam teks.
- Menggabungkan Hasil attention: Hasil attention dari semua kata-kata dalam urutan digabungkan menjadi satu matriks yang mewakili pemahaman kontekstual dari urutan tersebut.
Mekanisme attention ini diterapkan secara paralel pada semua kata dalam urutan input dan memungkinkan Transformer untuk memperhatikan hubungan kontekstual antara kata-kata yang berbeda secara bersamaan. Dengan demikian, Transformer dapat menangkap informasi kontekstual yang lebih luas dan mengatasi ketergantungan jarak jauh antara kata-kata dalam teks.
Transformer telah digunakan secara luas dalam berbagai tugas pemrosesan bahasa alami, termasuk penerjemahan mesin, pemahaman bahasa alami, ringkasan teks, dan banyak lagi. Keunggulan Transformer terletak pada kemampuannya untuk memahami konteks dan mengenali pola yang kompleks dalam teks, menjadikannya alat yang sangat berguna dalam banyak aplikasi yang melibatkan pemrosesan teks.