Seperti neural networks tradisional, seperti neural networks feedforward dan neural networks convolutional (CNN), neural networks berulang menggunakan data pelatihan untuk belajar. Mereka dibedakan berdasarkan “memori” mereka karena mereka mengambil informasi dari input sebelumnya untuk mempengaruhi input dan hasil saat ini.
Sementara jaringan pembelajaran mendalam tradisional mengasumsikan bahwa input dan hasil independen satu sama lain, hasil neural networks berulang bergantung pada elemen sebelumnya dalam urutan. Meskipun peristiwa masa depan juga akan membantu dalam menentukan hasil dari urutan yang diberikan, recurrent neural networks searah tidak dapat menjelaskan peristiwa ini dalam prediksi mereka.
Mari kita ambil sebuah idiom, seperti “feeling under the weather,“ yang biasanya digunakan ketika seseorang sakit, untuk membantu kita dalam menjelaskan RNN. Agar idiom masuk akal, perlu diekspresikan dalam urutan spesifik itu. Akibatnya, jaringan berulang perlu memperhitungkan posisi setiap kata dalam idiom, dan mereka menggunakan informasi tersebut untuk memprediksi kata berikutnya dalam urutan.
Setiap kata dalam frasa "feeling under the weather" membentuk sebuah urutan, di mana urutan tersebut memiliki arti yang bergantung pada susunannya. RNN melacak konteks dengan mempertahankan hidden state pada setiap langkah waktu. Loop masukan dibuat dengan meneruskan status tersembunyi dari langkah satu kali ke langkah berikutnya. Status tersembunyi berfungsi sebagai memori yang menyimpan informasi tentang input sebelumnya. Pada setiap langkah waktu, RNN memproses input saat ini (misalnya, sebuah kata dalam kalimat) bersama dengan keadaan tersembunyi dari langkah waktu sebelumnya. Hal ini memungkinkan RNN untuk "mengingat" data sebelumnya dan menggunakannya untuk memengaruhi hasil saat ini.
Karakteristik lain yang membedakan jaringan recurrent adalah bahwa mereka berbagi parameter di setiap lapisan jaringan. Sementara jaringan feedforward memiliki bobot yang berbeda pada setiap node-nya, recurrent neural networks memiliki parameter bobot yang sama dalam setiap lapisan jaringan. Konon, bobot ini masih disesuaikan melalui proses backpropagation dan gradien descent untuk memfasilitasi pembelajaran penguatan.
Jaringan neural networks menggunakan algoritme perambatan maju dan perambatan balik melalui waktu (BPTT) untuk menentukan gradien (atau turunannya), yang sedikit berbeda dengan perambatan balik tradisional karena algoritme ini khusus untuk data berurutan. Prinsip-prinsip BPTT sama dengan backpropagation tradisional, di mana model melatih dirinya sendiri dengan menghitung kesalahan dari lapisan hasil ke lapisan input. Perhitungan ini memungkinkan kita untuk menyesuaikan dan menyesuaikan parameter model dengan tepat. BPTT berbeda dengan pendekatan tradisional karena BPTT menjumlahkan kesalahan pada setiap langkah waktu, sedangkan jaringan feedforward tidak perlu menjumlahkan kesalahan karena tidak berbagi parameter di setiap lapisan.