potongan Apa itu RNN dan LSTM dalam Deep Learning? - Bersatu.AI
Terhubung dengan kami

AI 101

Apa itu RNN dan LSTM dalam Deep Learning?

mm
Updated on

Banyak kemajuan paling mengesankan dalam pemrosesan bahasa alami dan chatbot AI didorong oleh Jaringan Syaraf Berulang (RNNs) dan jaringan Memori Jangka Pendek Panjang (LSTM). RNN dan LSTM adalah arsitektur jaringan saraf khusus yang mampu memproses data berurutan, data yang urutan kronologisnya penting. LSTM adalah versi RNN yang pada dasarnya ditingkatkan, mampu menafsirkan urutan data yang lebih panjang. Mari kita lihat bagaimana RNN dan LSTMS disusun dan bagaimana mereka memungkinkan terciptanya sistem pemrosesan bahasa alami yang canggih.

Apa itu Jaringan Neural Feed-Forward?

Jadi sebelum kita berbicara tentang cara kerja Long Short-Term Memory (LSTM) dan Convolutional Neural Networks (CNN), kita harus membahas format jaringan saraf secara umum.

Jaringan saraf dimaksudkan untuk memeriksa data dan mempelajari pola yang relevan, sehingga pola tersebut dapat diterapkan ke data lain dan data baru dapat diklasifikasikan. Jaringan saraf dibagi menjadi tiga bagian: lapisan masukan, lapisan tersembunyi (atau beberapa lapisan tersembunyi), dan lapisan keluaran.

Lapisan input adalah yang memasukkan data ke dalam jaringan saraf, sedangkan lapisan tersembunyi adalah yang mempelajari pola dalam data. Lapisan tersembunyi dalam kumpulan data terhubung ke lapisan input dan output dengan "bobot" dan "bias" yang hanya merupakan asumsi tentang bagaimana titik data terkait satu sama lain. Bobot ini disesuaikan selama latihan. Saat jaringan berlatih, tebakan model tentang data pelatihan (nilai keluaran) dibandingkan dengan label pelatihan yang sebenarnya. Selama pelatihan, jaringan harus (semoga) menjadi lebih akurat dalam memprediksi hubungan antara titik data, sehingga dapat mengklasifikasikan titik data baru secara akurat. Jaringan saraf dalam adalah jaringan yang memiliki lebih banyak lapisan di tengah/lebih banyak lapisan tersembunyi. Semakin banyak lapisan tersembunyi dan semakin banyak neuron/node yang dimiliki model, semakin baik model tersebut dapat mengenali pola dalam data.

Jaringan saraf biasa, umpan maju, seperti yang telah saya jelaskan di atas sering disebut "jaringan saraf padat". Jaringan saraf padat ini digabungkan dengan arsitektur jaringan berbeda yang berspesialisasi dalam menafsirkan berbagai jenis data.

Apa itu RNN (Recurrent Neural Networks)?

Recurrent Neural Networks mengambil prinsip umum feed-forward neural network dan memungkinkannya untuk menangani data sekuensial memberikan model memori internal. Bagian "Berulang" dari nama RNN berasal dari fakta bahwa input dan output berputar. Setelah keluaran jaringan dihasilkan, keluaran tersebut disalin dan dikembalikan ke jaringan sebagai masukan. Saat mengambil keputusan, tidak hanya input dan output saat ini yang dianalisis, tetapi input sebelumnya juga dipertimbangkan. Dengan kata lain, jika masukan awal untuk jaringan adalah X dan keluarannya adalah H, H dan X1 (masukan berikutnya dalam urutan data) dimasukkan ke dalam jaringan untuk putaran pembelajaran berikutnya. Dengan cara ini, konteks data (input sebelumnya) dipertahankan saat jaringan dilatih.

Hasil dari arsitektur ini adalah RNN mampu menangani data berurutan. Namun, RNN menderita beberapa masalah. RNNs menderita dari menghilang gradien dan meledak masalah gradien.

Panjang urutan yang dapat ditafsirkan oleh RNN agak terbatas, terutama jika dibandingkan dengan LSTM.

Apa itu LSTM (Long Short-Term Memory Networks)?

Jaringan Memori Jangka Pendek Panjang dapat dianggap sebagai perpanjangan dari RNN, sekali lagi menerapkan konsep mempertahankan konteks input. Namun, LSTM telah dimodifikasi dalam beberapa cara penting yang memungkinkan mereka menginterpretasikan data masa lalu dengan metode yang unggul. Perubahan yang dilakukan pada LSTM menangani masalah gradien yang hilang dan memungkinkan LSTM untuk mempertimbangkan urutan input yang lebih lama.

Model LSTM terdiri dari tiga komponen yang berbeda, atau gerbang. Ada sebuah gerbang masukan, gerbang keluaran, dan gerbang lupa. Sama seperti RNN, LSTM mempertimbangkan masukan dari langkah waktu sebelumnya saat memodifikasi memori model dan bobot masukan. Gerbang input membuat keputusan tentang nilai mana yang penting dan harus dibiarkan melalui model. Fungsi sigmoid digunakan di gerbang input, yang menentukan nilai mana yang akan diteruskan melalui jaringan berulang. Nol menjatuhkan nilainya, sementara 1 mempertahankannya. Fungsi TanH juga digunakan di sini, yang memutuskan seberapa penting nilai input bagi model, mulai dari -1 hingga 1.

Setelah input saat ini dan status memori diperhitungkan, gerbang output memutuskan nilai mana yang akan didorong ke langkah waktu berikutnya. Di gerbang keluaran, nilai dianalisis dan diberi nilai penting mulai dari -1 hingga 1. Ini mengatur data sebelum dibawa ke perhitungan langkah waktu berikutnya. Terakhir, tugas dari gerbang lupa adalah membuang informasi yang dianggap tidak perlu oleh model untuk membuat keputusan tentang sifat nilai masukan. Gerbang lupa menggunakan fungsi sigmoid pada nilai, menghasilkan angka antara 0 (lupakan ini) dan 1 (simpan ini).

Jaringan saraf LSTM dibuat dari kedua lapisan LSTM khusus yang dapat menginterpretasikan data kata berurutan dan terhubung secara padat seperti yang dijelaskan di atas. Setelah data bergerak melalui lapisan LSTM, ia melanjutkan ke lapisan yang terhubung dengan rapat.

Blogger dan programmer dengan spesialisasi di Pembelajaran mesin dan Belajar mendalam topik. Daniel berharap dapat membantu orang lain menggunakan kekuatan AI untuk kebaikan sosial.