Jaringan Neural Berulang Tradisional – Pembelajaran Penguatan Bagian 1/3 – Menuju AI – Teknologi, Sains, dan Teknik Terbaik

Penulis: Shabarish PILKUN RAVI

Sumber: Unsplash

Pembelajaran Mendalam, Pembelajaran Mesin

Jaringan Neural Berulang Tradisional – Pembelajaran Penguatan Bagian 1/3

Blog ini akan menjadi seri 3 bagian di mana saya akan menjelaskan berbagai Algoritma Pembelajaran Penguatan,

Bagian 1: Penjelasan Jaringan Neural Berulang Tradisional.
Bagian 2: Penjelasan GRU.
Bagian 3: Penjelasan LSTM.

Jaringan Neural Berulang Tradisional (RNN):

Pengantar:

Jaringan saraf berulang adalah jenis Jaringan Syaraf Tiruan (JST) di mana keluaran dari langkah sebelumnya diumpankan sebagai masukan dalam langkah saat ini. RNN terutama digunakan dalam masalah prediksi, ini bisa seperti memprediksi cuaca, harga saham pasar saham, atau memprediksi kata berikutnya dalam kalimat yang diberikan pada kata sebelumnya.

Bagaimana cara kerjanya ??

Sebelum memahami cara kerja Jaringan Neural Berulang, mari kita pahami bagaimana bobot dihitung dalam RNN. Rumus untuk menghitung bobot adalah sebagai berikut:

Bobot Baru = Bobot Saat Ini – (Kecepatan pembelajaran * Gradien)

Bobot: Untuk memahami kita dapat mengatakan bahwa ini adalah angka-angka yang bila dikalikan dengan input memprediksi output.
Kecepatan Pembelajaran: Misalkan kita mendekati prediksi yang akurat, kecepatan pembelajaran memberi tahu kita tentang berapa banyak langkah yang kita ambil menuju solusi yang tepat selama setiap iterasi.
Gradien: Memberi tahu kami tentang arah pergerakan kami menuju solusi yang tepat.

Intuisi untuk memahami RNN:

Mari kita lihat bagaimana kita bisa menghubungkan cara kita berpikir dengan cara kerja RNN, katakanlah Anda ingin membeli pendingin udara untuk rumah Anda, dan Anda membaca ulasan produk dari sebuah pendingin udara. Contoh ulasannya bisa seperti di bawah ini:

“Produk hebat, mengkonsumsi lebih sedikit daya, membuat ruangan benar-benar dingin. Pasti akan menyarankan Anda membeli, jempol. ” – {1}

Jadi pada titik mana pun, pikiran kita dapat mengingat kata-kata seperti:
“Produk hebat… lebih sedikit daya… keren .. pasti menyarankan .. jempol ..”

Sekarang jika seseorang dapat bertanya tentang produk tersebut, Anda akan berkata:

“Ini adalah produk hebat yang mengkonsumsi lebih sedikit daya, menjaga ruangan tetap sejuk, dan saya sangat menyarankan Anda untuk membeli.”

Sekarang mari kita lihat bagaimana intuisi ini dapat diekspresikan secara matematis dalam RNN.

Kerja matematika dari sebuah RNN:

Dalam RNN, untuk kalimat di {1}, kata-kata tersebut pertama-tama diubah menjadi vektor yang dapat dibaca mesin, kemudian algoritme memproses vektor ini satu per satu.

Mari kita lihat representasi RNN.

Versi Jaringan Neural Berulang yang tidak diputar

Dimana,
‘ht’ adalah keadaan tersembunyi pada langkah waktu t (Ini dalam contoh kalimat kami dapat setara dengan memori kata-kata yang kami miliki, diberikan ulasan produk),
‘A’ adalah aktivasi (di sini mengacu pada aktivasi tanh),
‘xt’ adalah masukan pada langkah waktu ‘t’,
‘t’ adalah langkah waktu.

Algoritma mempertimbangkan vektor masukan pertama X0, memprosesnya untuk menghasilkan keadaan tersembunyi pertama h0 ini menjadi masukan untuk lapisan berikutnya untuk menghitung keadaan tersembunyi berikutnya h1, dan seterusnya. Jadi keadaan tersembunyi bertindak sebagai memori jaringan saraf, ini menyimpan data dari langkah sebelumnya.

Dengan demikian, rumus untuk menghitung keadaan tersembunyi yang diberi masukan adalah sebagai berikut:

Persamaan untuk menghitung Status Tersembunyi (Status tersembunyi saat ini adalah fungsi dari status dan input tersembunyi sebelumnya).

Ini selanjutnya diekspresikan dengan fungsi aktivasi sebagai,

Bentuk yang diperluas untuk menghitung keadaan tersembunyi dengan fungsi aktivasi dan bobot

dimana,
Whh adalah bobot pada keadaan tersembunyi sebelumnya,
Wxh adalah bobot pada keadaan tersembunyi saat ini,
bt adalah biasnya.

Fungsi aktivasi tanh memastikan bahwa vektor nilai dari keadaan tersembunyi tetap antara -1 hingga +1, ini karena tanpa fungsi aktivasi tanh nilai-nilai tertentu dalam vektor keadaan tersembunyi dapat menjadi tinggi secara astronomis sementara yang lain tetap rendah dengan informasi yang diteruskan ke berikutnya lapisan.

Proses Pelatihan:

1 – Input pada langkah waktu tertentu diberikan ke jaringan.
2 – Keadaan saat ini dihitung untuk input saat ini menggunakan keadaan sebelumnya.
3 – Status saat ini menjadi status tersembunyi h[t-1] untuk langkah waktu berikutnya.
4 – Seseorang dapat menghitung langkah waktu sebanyak mungkin tergantung pada pernyataan masalah dan menggabungkan informasi dari status sebelumnya, namun, ini mengarah pada masalah gradien menghilang / meledak, yang akan dijelaskan di posting saya berikutnya di LSTM.
5 – Setelah semua langkah waktu selesai, status tersembunyi terakhir digunakan untuk menghitung keluaran saat ini.
6 – Output yang dihasilkan dibandingkan dengan output asli dan kesalahan dihitung.
7 – Kesalahan ini di-propagasi mundur untuk meningkatkan akurasi dan menghitung bobot baru. Untuk mengetahui lebih lanjut tentang Backpropagation Anda bisa klik di sini.

Ini adalah cara kerja RNN, bekerja cukup baik untuk urutan pendek dan secara komputasi lebih murah daripada jaringan Long Short Term Memory Networks (LSTM) atau Gated Recurrent Units (GRU).

Aplikasi Jaringan Neural Berulang:

1 – Deteksi anomali deret waktu.
2 – Komposisi musik.
3 – Prediksi kata.
4 – Pengakuan Tindakan Manusia.
5 – Memprediksi tren (prediksi cuaca, prediksi harga saham, dll)

Saya harap posting ini memberi Anda beberapa pengetahuan dan motivasi untuk lebih mengeksplorasi topik pembelajaran mendalam lainnya.

Tolong dorong dengan Tepuk tangan Anda jika ini luas.

1 – Jika Anda tertarik dengan Computer Vision, silakan periksa posting di bawah ini di mana saya telah menjelaskan bagaimana Anda dapat mengembangkan kode sederhana yang dapat melakukan pengurangan latar belakang:

Pengurangan Latar Belakang OpenCV dan Musik di Latar Belakang Video

2 – Jika Anda tertarik untuk memahami Jaringan Saraf Tiruan dan Propagasi Balik, silakan periksa posting di bawah ini, di mana saya telah menjelaskan konsep-konsep ini dengan kata-kata sederhana:

Jaringan Syaraf Tiruan yang Disederhanakan: Dari Perceptrons ke BackPropagation

Jaringan Neural Berulang Tradisional – Pembelajaran Penguatan Bagian 1/3 awalnya diterbitkan di Towards AI on Medium, di mana orang-orang melanjutkan percakapan dengan menyoroti dan menanggapi cerita ini.

Diterbitkan melalui Towards AI