Begini Cara Kerja dan Implementasi Recurrent Neural Networks

Recurrent Neural Networks memiliki prinsip yang hampir sama seperti otak manusia untuk memprediksi sesuatu. Seperti apa itu? Simak selengkapnya di sini.

Bunga Dea Laraswati
Bunga Dea Laraswati

Table of Contents

Recurrent Neural Networks, atau yang biasa disingkat sebagai RNN, adalah satu tipe jaringan neural yang memiliki perilaku mirip seperti fungsi otak manusia. Singkatnya, RNN dapat memprediksi sesuatu berdasarkan urutan data yang di-input, sesuatu yang tidak bisa dilakukan oleh jaringan-jaringan lainnya. Mengapa bisa begitu? Simak selengkapnya berikut ini!

Apa Itu Recurrent Neural Networks (RNN)?

Recurrent neural networks (RNN) adalah jenis jaringan saraf tiruan (artificial neural network) yang menggunakan data berurutan atau data deret waktu. Tipe deep learning seperti ini biasanya digunakan untuk masalah ordinal atau temporal, seperti terjemahan bahasa, pemrosesan bahasa alami, pengenalan ucapan, dan teks gambar.

Anda dapat menemui sistem RNN pada aplikasi populer seperti Siri, pencarian suara (voice search), dan Google Translate. Sama halnya dengan jaringan saraf feedforward dan convolutional neural networks (CNNs), RNN juga menggunakan data pelatihan untuk dipelajari. Jaringan RNN mengambil informasi dari input dan output saat ini yang dapat membedakan ‘memori’-nya.

Berdasarkan penggunaannya, seperti untuk pembuatan musik, klasifikasi sentimen, atau terjemahan mesin, RNN dibedakan menjadi empat tipe. Ada tipe one-to-one yang membentuk diagram vertikal. Lalu, ada one-to-many, yaitu satu input yang dapat memecah menjadi banyak output, serta many-to-one yang merupakan kebalikannya. Tidak ketinggalan many-to-many yang terdiri dari banyak input untuk banyak output.

Kapan RNN Diperlukan?

Menurut Lex Fridman dari MIT, RNN adalah jaringan saraf yang diperlukan setiap kali ada sequence data dan dinamika temporal penghubung data yang lebih penting daripada konten spasial. Konten spasial yang dimaksud ini dapat ditemukan dari setiap individual frame. Oleh sebab itu, RNN digunakan dalam software seperti Siri dan Google Translate yang memiliki prinsip seperti itu. Selain kedua software tersebut, RNN juga banyak digunakan dalam kehidupan sehari-hari.

Cara Kerja Recurrent Neural Networks

Cara kerja RNN hampir sama seperti sebuah loop. Ketika membuat keputusan, jaringan saraf ini akan mempertimbangkan input yang masuk sekaligus hal-hal lain yang telah dipelajari dari riwayat input sebelumnya. Input RNN biasa dituliskan sebagai X dalam diagram. Kemudian, X ini akan memiliki alur menuju Y (output) dengan melalui hidden layer yang disimbolkan sebagai H.

Layer H ini dapat terdiri dari beberapa hidden layer yang masing-masing memiliki fungsi aktivasi, bobot, dan biasnya sendiri. RNN pun akan menstandarkan fungsi aktivasi tersebut sehingga hidden layer memiliki parameter yang sama. Selanjutnya, alih-alih membuat banyak hidden layer, jaringan RNN hanya akan membuat satu layer untuk diulang kembali sebanyak yang diperlukan.

RNN biasanya memiliki memori jangka pendek. Memorinya bisa berubah menjadi memori jangka panjang jika RNN dikombinasikan dengan jaringan lain, seperti LSTM Network misalnya. Berbeda lagi jika menggunakan jaringan neural feedforward normal.

Cara kerja Recurrent Neural Networks dapat diilustrasikan seperti berikut ini untuk mempermudah pemahaman. Misalnya, jika Anda memiliki jaringan saraf feedforward normal, kemudian Anda memasukkan kata ‘neural’ sebagai input. Maka, jaringan itu akan memproses kata ‘neural’ karakter demi karakter, mulai dari ‘n’, ‘e’, ‘u’, dan selanjutnya.

Namun, ketika mencapai karakter ‘r’ misalnya, jaringan ini akan melupakan ‘neu’ yang sudah di-input. Oleh sebab itu, tidak mungkin bagi jenis jaringan ini untuk memprediksi karakter apa yang akan datang berikutnya. Hal ini berbeda dari RNN yang dapat mengingat setiap karakter tersebut berkat adanya memori internal dalam jaringannya. RNN akan menghasilkan output, menyalinnya, lalu mengulanginya kembali ke dalam jaringan.

Dengan demikian, dapat disimpulkan bahwa RNN memiliki dua masukan, yaitu masa kini dan masa lalu. Urutan data ini dianggap penting karena dapat memprediksi apa yang akan terjadi berikutnya.

Implementasi Recurrent Neural Networks

RNN dapat diimplementasikan untuk fungsi-fungsi seperti berikut ini:

  • Memberikan keterangan (caption) pada gambar, dengan cara menganalisis aktivitas yang sedang terjadi.
  • Memprediksi deret waktu, misalnya harga saham pada bulan tertentu.
  • Pemrosesan bahasa alami (Natural Language Processing/NLP).
  • Menerjemahkan mesin.
  • Siri, Google Translate, voice search.

Kesimpulan

Berdasarkan penjelasan di atas, dapat disimpulkan bahwa RNN atau Recurrent Neural Networks adalah jaringan saraf yang berprinsip seperti otak manusia untuk mengingat hal-hal yang pernah di-input agar bisa memprediksi yang akan terjadi berikutnya. Cara kerjanya bergantung pada riwayat input dan memori internal pada jaringan. Berkat keunggulannya itu, RNN dimanfaatkan untuk software seperti Siri, Google Translate, voice search, image captioning, dan sebagainya.

Apakah Anda tertarik untuk mempelajari lebih lanjut tentang seluk-beluk jaringan neural seperti RNN? Anda bisa mengikuti kelas data science dari Algoritma Data Science School. Algoritma menyediakan beragam kelas mengenai data science yang bisa Anda pilih sesuai kebutuhan atau level expertise Anda. Mari bergabung!

Referensi:

  • IBM - Recurrent Neural Networks
  • Built In - A Guide to RNN: Understanding Recurrent Neural Networks and LSTM Networks
  • Simplilearn - Recurrent Neural Network (RNN) Tutorial: Types, Examples, LSTM and More

Get Free Learning Resources

* indicates required
Insights

Bunga Dea Laraswati

Sr. Writer Algoritma Data Science School