Dasar-dasar AI
Apa itu RNN dan LSTM dalam Deep Learning?
Banyak kemajuan yang paling mengesankan dalam pengolahan bahasa alami dan AI chatbot didorong oleh Recurrent Neural Networks (RNNs) dan Long Short-Term Memory (LSTM) networks. RNNs dan LSTMs adalah arsitektur jaringan saraf khusus yang dapat memproses data berurutan, data di mana urutan kronologis penting. LSTMs pada dasarnya adalah versi yang ditingkatkan dari RNNs, yang dapat menafsirkan urutan data yang lebih panjang. Mari kita lihat bagaimana RNNs dan LSTMs disusun dan bagaimana mereka memungkinkan pembuatan sistem pengolahan bahasa alami yang canggih.
Apa itu Feed-Forward Neural Networks?
Jadi sebelum kita membahas bagaimana Long Short-Term Memory (LSTM) dan Convolutional Neural Networks (CNN) bekerja, kita harus membahas format jaringan saraf pada umumnya.
Jaringan saraf dimaksudkan untuk memeriksa data dan mempelajari pola yang relevan, sehingga pola tersebut dapat diterapkan pada data lain dan data baru dapat diklasifikasikan. Jaringan saraf dibagi menjadi tiga bagian: lapisan input, lapisan tersembunyi (atau beberapa lapisan tersembunyi), dan lapisan output.
Lapisan input adalah yang menerima data ke jaringan saraf, sedangkan lapisan tersembunyi adalah yang mempelajari pola dalam data. Lapisan tersembunyi dalam dataset dihubungkan dengan lapisan input dan output oleh “bobot” dan “bias” yang merupakan asumsi tentang bagaimana titik data terkait satu sama lain. Bobot ini disesuaikan selama pelatihan. Saat jaringan dilatih, tebakan model tentang data pelatihan (nilai output) dibandingkan dengan label pelatihan yang sebenarnya. Selama pelatihan, jaringan seharusnya (semoga) menjadi lebih akurat dalam memprediksi hubungan antara titik data, sehingga dapat mengklasifikasikan titik data baru dengan akurat. Jaringan saraf dalam yang memiliki lebih banyak lapisan di tengah/lapisan tersembunyi lebih banyak. Semakin banyak lapisan tersembunyi dan neuron/node yang dimiliki model, semakin baik model dapat mengenali pola dalam data.
Jaringan saraf feed-forward biasa, seperti yang saya deskripsikan di atas, sering disebut “jaringan saraf padat”. Jaringan saraf padat ini digabungkan dengan arsitektur jaringan yang berbeda yang mengkhususkan diri dalam menafsirkan jenis data yang berbeda.
Apa itu RNNs (Recurrent Neural Networks)?

Recurrent Neural Networks mengambil prinsip umum jaringan saraf feed-forward dan memungkinkan mereka untuk menangani data berurutan dengan memberikan model memori internal. Bagian “Recurrent” dari nama RNN berasal dari fakta bahwa input dan output berulang. Setelah output jaringan dihasilkan, output disalin dan dikembalikan ke jaringan sebagai input. Saat membuat keputusan, tidak hanya input dan output saat ini yang dianalisis, tetapi juga input sebelumnya yang dipertimbangkan. Dengan cara ini, konteks data (input sebelumnya) dipertahankan saat jaringan dilatih.
Hasil dari arsitektur ini adalah RNNs dapat menangani data berurutan. Namun, RNNs menderita beberapa masalah. RNNs menderita masalah gradien yang menghilang dan gradien yang meledak.
Panjang urutan yang dapat ditafsirkan oleh RNN terbatas, terutama dibandingkan dengan LSTMs.
Apa itu LSTMs (Long Short-Term Memory Networks)?
Long Short-Term Memory networks dapat dianggap sebagai ekstensi RNNs, sekali lagi menerapkan konsep mempertahankan konteks input. Namun, LSTMs telah dimodifikasi dalam beberapa cara penting yang memungkinkan mereka untuk menafsirkan data masa lalu dengan metode yang lebih baik. Perubahan yang dilakukan pada LSTMs berkaitan dengan masalah gradien yang menghilang dan memungkinkan LSTMs untuk mempertimbangkan urutan input yang lebih panjang.

Model LSTMs terdiri dari tiga komponen yang berbeda, atau gerbang. Ada gerbang input, gerbang output, dan gerbang lupa. Seperti RNNs, LSTMs mengambil input dari waktu sebelumnya dalam pertimbangan saat memodifikasi memori model dan bobot input. Gerbang input membuat keputusan tentang nilai mana yang penting dan harus dibiarkan melewati model. Fungsi sigmoid digunakan dalam gerbang input, yang membuat keputusan tentang nilai mana yang harus dilewatkan melalui jaringan berulang. Nol menghilangkan nilai, sedangkan 1 mempertahankannya. Fungsi TanH digunakan di sini juga, yang memutuskan seberapa penting nilai input bagi model, berkisar dari -1 hingga 1.
Setelah input saat ini dan keadaan memori diperhitungkan, gerbang output memutuskan nilai mana yang harus diteruskan ke langkah waktu berikutnya. Dalam gerbang output, nilai dianalisis dan diberi kepentingan yang berkisar dari -1 hingga 1. Ini mengatur data sebelum data tersebut dibawa ke perhitungan langkah waktu berikutnya. Akhirnya, tugas gerbang lupa adalah menghilangkan informasi yang model anggap tidak perlu untuk membuat keputusan tentang sifat nilai input. Gerbang lupa menggunakan fungsi sigmoid pada nilai, menghasilkan angka antara 0 (lupa ini) dan 1 (pertahankan ini).
Jaringan saraf LSTMs terdiri dari lapisan LSTMs khusus yang dapat menafsirkan data kata berurutan dan lapisan yang terhubung rapat seperti yang dijelaskan di atas. Setelah data melewati lapisan LSTMs, data tersebut masuk ke lapisan yang terhubung rapat seperti yang dijelaskan di atas. Once the data moves through the LSTM layers, it proceeds into the densely connected like those described above.












