Arkus Neural Network (RNN) yang mampu menghasilkan beberapa output dari satu input mungkin bukan konsep yang sesederhana yang kita bayangkan. Sebelum kita memahaminya, kita perlu terlebih dahulu memahami beberapa konsep inti dari RNN dan bagaimana cara kerjanya.
Apakah itu RNN?
RNN atau Recurrent Neural Network adalah kelas dari jaringan saraf tiruan yang hebat dalam memodelkan data urutan atau data temporal. Mereka disebut “recurrent” karena melibatkan perulangan yang mendalam dalam struktur jaringan; mereka mengoperasikan representasi tersembunyi dari sejarah sebelumnya untuk informasi yang saat ini mereka proses.
Struktur umum RNN termasuk input ke hidden state (biasanya dilakukan dengan non-linearitas seperti tangens hiperbolik atau ReLU), dan dari hidden state ke output, yang biasanya linier. Faktanya yang paling penting, bagaimanapun, adalah penggunaan hidden state: hidden state sebelumnya dimasukkan kembali ke dalam hidden state berikutnya. Ini memungkinkan RNN memiliki bentuk “ingatan”.
Bagaimana RNN Bisa Menghasilkan Banyak Output dari Satu Input?
Tipe terkait RNN yang dapat menghasilkan beberapa output atas satu input biasa disebut sebagai ‘many-to-many’ dalam struktur RNN. Konsep ini biasa digunakan dalam aplikasi seperti penerjemahan mesin secara real-time, di mana setiap kata input (dalam satu bahasa) dapat ditranslasikan ke sekelompok kata output (di bahasa lain).
Salah satu contoh populer dari arsitektur ini adalah Long Short-Term Memory (LSTM) dan Gated Recurrent Unit (GRU). LSTM dan GRU merancang cara untuk ‘mengingat’ dan ‘melupakan’ informasi tertentu dalam hidden state, yang dapat sangat bermanfaat ketika membiasakan pola jangka panjang dan dependensi dalam data urutan.
Kesimpulan
RNN adalah jenis jaringan saraf tiruan yang penting yang memungkinkan kita dalam memproses data sekuensial dan temporal. Dalam beberapa kasus, seperti penerjemahan mesin dan generasi teks, kita mungkin perlu untuk menghasilkan banyak output atas satu input, yang bisa dilakukan menggunakan struktur ‘many-to-many’ dalam RNN dengan bantuan model seperti LSTM dan GRU.
Meski begitu, penting juga untuk memahami bahwa setiap model memiliki kelebihan dan kekurangannyanya sendiri, dan pemilihan model yang tepat akan tergantung pada berbagai faktor seperti sifat data yang kita miliki dan apa yang kita coba capai.