Back to IF3270 Pembelajaran Mesin

Forward Propagation in LSTM Networks

Questions/Cues

  • Bagaimana aliran informasi dalam forward propagation LSTM?
  • Peran fungsi aktivasi sigmoid dan tanh dalam LSTM?
  • Tahapan update cell state pada forward pass?
  • Implementasi forward propagation di Keras?
  • Perhitungan parameter pada jaringan LSTM?

Reference Points

  • Lecture_IF3270.pptx (Slides 8-15, 19-22)
  • Medium_Article_LSTM_Implementation (Pages 17-19)

Arsitektur Dasar LSTM

Long Short-Term Memory (LSTM) merupakan jenis khusus Recurrent Neural Network (RNN) yang dirancang untuk menangani ketergantungan jangka panjang. Modul berulang pada LSTM terdiri dari beberapa lapisan yang saling berinteraksi, berbeda dengan RNN standar yang hanya menggunakan lapisan tanh tunggal. Selama fase forward propagation, informasi mengalir melalui tiga tahap utama: komputasi gate, update cell state, dan generasi output. Contoh analogi: Bayangkan LSTM seperti sistem penyaringan surat di kantor pos. Setiap gate bertindak sebagai petugas yang memutuskan surat mana yang disimpan (input gate), dibuang (forget gate), atau dikirim ke tujuan (output gate). Cell state berperan sebagai ban berjalan yang membawa semua informasi penting antar tahap pemrosesan.

Tahapan Forward Propagation

1. Komputasi Gate:

  • Forget Gate: Menghitung informasi yang akan dipertahankan dari cell state sebelumnya menggunakan fungsi sigmoid. Nilai mendekati 0 menunjukkan informasi akan dibuang, sedangkan nilai mendekati 1 dipertahankan.
  • Input Gate: Menentukan nilai update baru menggunakan fungsi sigmoid dan tanh. Sigmod memfilter informasi penting, sedangkan tanh menghasilkan vektor kandidat update. 2. Update Cell State: Cell state diperbarui dengan menggabungkan informasi dari forget gate dan input gate:
Ct = (Ct-1 * ft) + (it * Čt)

di mana ft adalah output forget gate, it output input gate, dan Čt vektor kandidat baru. 3. Generasi Output: Output gate mengatur informasi yang akan dikirim ke hidden state berikutnya. Cell state yang telah diperbarui diproses melalui tanh kemudian dikalikan dengan output gate:

ht = ot * tanh(Ct)

Contoh Implementasi Praktis

Implementasi forward propagation LSTM menggunakan Keras untuk model Many-to-One:

from keras.models import Sequential
from keras.layers import LSTM, Dense
model = Sequential()
model.add(LSTM(10, input_shape=(50,1)))  # 10 neuron, input 50 timestep
model.add(Dense(1, activation='linear'))

Pada contoh ini, lapisan LSTM memproses urutan data 50 langkah waktu dengan 1 fitur per langkah. Output gate terhubung ke lapisan Dense untuk menghasilkan prediksi numerik.

Visualisasi Aliran Data

Diagram alur forward propagation:

Input (xt) → [Gate Layer] → [Cell State Update] → [Output Gate] → Hidden State (ht)
↑               ↑                    ↑
Hidden State (ht-1) Cell State (Ct-1)  Cell State (Ct)

Setiap panah merah menunjukkan aliran data selama forward pass, dengan operasi element-wise multiplication (*) dan addition (+).

Summary

Forward propagation pada LSTM melibatkan tiga tahap inti: komputasi gate menggunakan fungsi sigmoid dan tanh, update cell state melalui kombinasi informasi lama dan baru, serta generasi output melalui filter output gate. Proses ini memungkinkan LSTM mempertahankan informasi relevan antar langkah waktu dengan mekanisme gate yang terkelola. Implementasi praktis menggunakan framework seperti Keras menunjukkan konfigurasi parameter input_shape yang menentukan dimensi urutan waktu. Perhitungan parameter LSTM secara signifikan lebih kompleks dibanding RNN standar karena adanya empat transformasi linear berbeda dalam setiap sel.