Why we need attention mechanism?

Oke kalo kita coba recall ke approach atau research paper sebelum transisi ke attention mechanism untuk handle seqeuntial data seperti text, misal RNN, LSTM, GRU dan encoder-decoder model. Nah lalu apa permasalahan dari semua model diatas?simply karena “loss of context and cannot capture long dependecies”.

Problem with encoder-decoder model

Lesgo coba kita recall ke papernya, yaitu model machine translation

Encoder.png

Poin utamanya adalah di context vector w yang dimana context vector disini tidak bisa merepresentasikan semua input sequence yang masuk ke encoder. Simply dia akan ambil satu nilai vector setelah semua kalkulasi pada encoder. Kemudian paper juga dimention bahwasannya ketika input length semakin panjang maka nilai BLUE scorenya semakin rendah. Nilai dari W sebagai context vector ini akan bisa terhadap timestepnya, tentu data C akan bisa lebih direpresentasikan dari pada data A karena data c timestap nya lebih dekat dengan vector W.

Attention mechanism architecture by bahdanau

Decoder.png

So basically di attention mechanism yang di proposed oleh bahdanau adalah dia melakukan perubahan pada encodernya, instead of hanya pake unidirectional encoder pada papernya dia pake bi-directional RNN/ LSTM. jadi cara kerjanya cukup sederhana sebenerny,jadi kita akan punya context vector $Ci$ yang depend terhadap $Tx$ yang dimana $Ci$ disini simply cuma sum dari ouput biderectional LSTM /RNN pada encoder, nah dengan cara ini tentu walaupun kita misal input data $x1$ pada decoder kita punya informasi dari data x2,x3, dst yang bisa aja data $x1$ depend dengan data $x2,x3$ atau sebaliknya melalui parameter alpha yang simply alpha disini merupakan weight selama proses training yang memungkinkan kita untuk nangkep long dependecies context. Naah sum of berapa banyak timestep? itu tergantung dari context window nya, nah kalo based on visualisasi di paper itu context windowsnya tiga jadi dia akan sum oupur dari $x1,x2,x3$ dan yap context windows disini adalah hyperparameter.

image.png

Result dari architecture ini nunjukin bahwasannya dia have no problem with long input sequence, bisa diliat nilai BLEU scorenya ga turun.

Transformer