Apa itu RNN?

Jaringan neural berulang (RNN) adalah model deep learning yang dilatih untuk memproses dan mengubah input data berurutan menjadi output data berurutan tertentu. Data berurutan adalah data—seperti kata, kalimat, atau data deret waktu—yang komponen berurutannya saling terkait berdasarkan semantik kompleks dan aturan sintaks. RNN adalah sistem perangkat lunak yang terdiri dari banyak komponen yang saling berhubungan yang meniru cara manusia melakukan konversi data berurutan, seperti menerjemahkan teks dari satu bahasa ke bahasa lain. Sebagian besar RNN digantikan oleh kecerdasan buatan (AI) berbasis transformator dan model bahasa besar (LLM), yang jauh lebih efisien dalam pemrosesan data berurutan.

Baca tentang jaringan neural

Baca tentang deep learning

Baca tentang transformator dalam kecerdasan buatan

Baca tentang model bahasa besar

Bagaimana cara kerja jaringan neural yang berulang?

Gambar berikut menunjukkan diagram RNN.

RNN dibuat dari neuron: simpul pemrosesan data yang bekerja sama untuk melakukan tugas-tugas yang kompleks. Neuron diatur sebagai input, output, dan lapisan tersembunyi. Lapisan input menerima informasi untuk diproses, dan lapisan output memberikan hasilnya. Pemrosesan data, analisis, dan prediksi terjadi di lapisan tersembunyi. 

Lapisan tersembunyi

RNN bekerja dengan meneruskan data berurutan yang mereka terima ke lapisan tersembunyi satu langkah pada satu waktu. Namun, mereka juga memiliki alur kerja melakukan self-looping atau berulang: lapisan tersembunyi dapat mengingat dan menggunakan input sebelumnya untuk prediksi masa depan dalam komponen memori jangka pendek. RNN menggunakan input saat ini dan memori yang disimpan untuk memprediksi urutan berikutnya. 

Misalnya, perhatikan urutannya: Apel berwarna merah. Anda ingin RNN memprediksi warna merah saat menerima urutan input Apel berwarna. Saat lapisan tersembunyi memproses kata Apel, lapisan tersebut menyimpan salinan di memorinya. Selanjutnya, saat melihat kata berwarna, ia mengingat Apel dari memorinya dan memahami urutan lengkapnya: Apel berwarna untuk konteks. Kemudian dapat memprediksi warna merah untuk meningkatkan akurasi. Hal ini membuat RNN berguna dalam pengenalan ucapan, terjemahan mesin, dan tugas pemodelan bahasa lainnya.

Baca tentang terjemahan mesin

Pelatihan

Rekayasawan machine learning (ML) melatih jaringan neural dalam, seperti RNN dengan mengumpan model ke data pelatihan dan menyempurnakan performanya. Dalam ML, bobot neuron adalah sinyal untuk menentukan seberapa berpengaruh informasi yang dipelajari selama pelatihan saat memprediksi output. Setiap lapisan dalam RNN memiliki berat yang sama. 

Rekayasawan ML menyesuaikan berat untuk meningkatkan akurasi prediksi. Mereka menggunakan teknik yang disebut propagasi mundur melalui waktu (BPTT) untuk menghitung kesalahan model dan menyesuaikan bobotnya. BPTT mengembalikan output ke langkah waktu sebelumnya dan menghitung ulang tingkat kesalahan. Dengan cara ini, BPTT dapat mengidentifikasi status yang tersembunyi dalam urutan yang menyebabkan kesalahan signifikan dan menyesuaikan kembali bobot untuk mengurangi margin kesalahan.

Baca tentang machine learning

Apa saja tipe jaringan neural berulang?

RNN sering ditandai dengan arsitektur satu-ke-satu: satu urutan input dikaitkan dengan satu output. Namun, Anda dapat menyesuaikannya secara fleksibel menjadi berbagai konfigurasi untuk tujuan tertentu. Berikut ini adalah beberapa tipe RNN yang umum.

Satu-ke-banyak

Tipe RNN ini menyalurkan satu input ke beberapa output. Hal ini memungkinkan aplikasi linguistik seperti keterangan gambar dengan menghasilkan kalimat dari satu kata kunci.

Banyak-ke-banyak

Model ini menggunakan beberapa input untuk memprediksi beberapa output. Misalnya, Anda dapat membuat penerjemah bahasa dengan RNN, yang menganalisis kalimat dan menyusun kata-kata dengan benar dalam bahasa yang berbeda. 

Banyak-ke-satu

Beberapa input dipetakan ke satu output. Hal ini sangat membantu dalam aplikasi seperti analisis sentimen, dengan model yang memprediksi sentimen pelanggan, seperti positif, negatif, dan netral dari testimonial input.

Bagaimana jaringan neural berulang dibandingkan dengan jaringan deep learning lainnya?

RNN adalah salah satu dari beberapa arsitektur jaringan neural yang berbeda.

Jaringan neural berulang vs. jaringan neural umpan maju

Seperti RNN, jaringan neural umpan maju adalah jaringan neural buatan yang meneruskan informasi dari satu ujung arsitektur ke ujung arsitektur lainnya. Jaringan neural umpan maju dapat melakukan tugas klasifikasi, regresi, atau pengenalan sederhana, tetapi tidak dapat mengingat input sebelumnya yang telah diproses. Misalnya, jaringan neural umpan maju melupakan Apel pada saat neuronnya memproses kata tersebut. RNN mengatasi keterbatasan memori ini dengan memasukkan status memori tersembunyi di neuron.

Jaringan neural berulang vs. jaringan neural konvolusional

Jaringan neural konvolusional adalah jaringan neural buatan yang dirancang untuk memproses data temporal. Anda dapat menggunakan jaringan neural konvolusional untuk mengekstraksi informasi spasial dari video dan gambar dengan melewatkannya melalui serangkaian lapisan konvolusional dan pengumpulan dalam jaringan neural. RNN dirancang untuk menangkap dependensi jangka panjang dalam data berurutan

Apa saja keterbatasan jaringan neural berulang?

Sejak pengenalan RNN, rekayasawan ML telah membuat kemajuan signifikan dalam aplikasi pemrosesan bahasa alami (NLP) dengan RNN dan variannya. Namun, kelompok model RNN memiliki beberapa keterbatasan.

Baca tentang pemrosesan bahasa alami

Ledakan gradien

RNN dapat salah memprediksi output dalam pelatihan awal. Anda memerlukan beberapa iterasi untuk menyesuaikan parameter model dalam mengurangi tingkat kesalahan. Anda dapat menggambarkan sensitivitas tingkat kesalahan yang sesuai dengan parameter model sebagai gradien. Anda dapat membayangkan gradien sebagai kemiringan yang Anda ambil untuk menuruni puncak. Gradien yang lebih curam memungkinkan model belajar lebih cepat, dan gradien dangkal menurunkan tingkat pembelajaran.

Ledakan gradien terjadi ketika gradien meningkat secara eksponensial hingga RNN menjadi tidak stabil. Ketika gradien menjadi sangat besar, RNN berperilaku tidak menentu sehingga mengakibatkan masalah performa, seperti overfitting. Overfitting adalah fenomena dengan model yang dapat memprediksi secara akurat menggunakan data pelatihan, tetapi tidak dapat melakukan hal yang sama dengan data dunia nyata. 

Gradien yang menghilang

Masalah gradien yang menghilang adalah suatu kondisi dengan gradien model mendekati nol dalam pelatihan. Saat gradien menghilang, RNN gagal belajar secara efektif dari data pelatihan, yang mengakibatkan underfitting. Model yang kurang sesuai (underfit) tidak dapat bekerja dengan baik dalam aplikasi kehidupan nyata karena bobotnya tidak disesuaikan dengan tepat. RNN berisiko menghilang dan meledak karena masalah gradien saat mereka memproses urutan data yang panjang. 

Waktu pelatihan lambat

RNN memproses data secara berurutan, yang membatasi kemampuannya untuk memproses sejumlah besar teks secara efisien. Misalnya, model RNN dapat menganalisis sentimen pembeli dari beberapa kalimat. Namun, model ini memerlukan daya komputasi, ruang memori, dan waktu yang besar untuk meringkas satu halaman esai. 

Apa saja varian arsitektur jaringan neural berulang?

Arsitektur RNN meletakkan fondasi bagi model ML untuk memiliki kemampuan pemrosesan bahasa. Beberapa varian yang telah muncul berbagi prinsip retensi memori dan meningkatkan fungsi aslinya. Berikut adalah beberapa contohnya.

Jaringan neural berulang dua arah

Jaringan neural berulang dua arah (BRNN) memproses urutan data dengan lapisan simpul tersembunyi maju dan mundur. Lapisan maju bekerja mirip dengan RNN, yang menyimpan input sebelumnya dalam status tersembunyi dan menggunakannya untuk memprediksi output berikutnya. Sementara itu, lapisan mundur bekerja dalam arah yang berlawanan dengan mengambil input saat ini dan status tersembunyi pada masa mendatang untuk memperbarui status tersembunyi saat ini. Menggabungkan kedua lapisan memungkinkan BRNN untuk meningkatkan akurasi prediksi dengan mempertimbangkan konteks masa lalu dan masa depan. Misalnya, Anda dapat menggunakan BRNN untuk memprediksi kata pohon dalam kalimat Pohon apel tinggi

Memori jangka panjang-pendek

Memori jangka panjang-pendek (LSTM) adalah varian RNN yang memungkinkan model untuk memperluas kapasitas memorinya dalam mengakomodasi garis waktu yang lebih lama. RNN hanya dapat mengingat input langsung sebelumnya. RNN tidak dapat menggunakan input dari beberapa urutan sebelumnya untuk meningkatkan prediksinya. 

Pertimbangkan kalimat berikut: Tom adalah kucing. Makanan favorit Tom adalah ikan. Saat Anda menggunakan RNN, model tersebut tidak dapat mengingat bahwa Tom adalah kucing. RNN mungkin menghasilkan berbagai makanan saat memprediksi kata terakhir. Jaringan LSTM menambahkan blok memori khusus yang disebut sel di lapisan tersembunyi. Setiap sel dikendalikan oleh gerbang input, gerbang output, dan gerbang lupakan, yang memungkinkan lapisan untuk mengingat informasi yang berguna. Misalnya, sel mengingat kata Tom dan kucing, yang memungkinkan model untuk memprediksi kata ikan

Unit berulang berpagar

Unit berulang berpagar (GRU) adalah RNN yang memungkinkan retensi memori selektif. Model menambahkan pembaruan dan melupakan gerbang ke lapisan tersembunyi, yang dapat menyimpan atau menghapus informasi dalam memori. 

Bagaimana transformator mengatasi keterbatasan jaringan neural berulang?

Transformator adalah model deep learning yang menggunakan mekanisme perhatian diri dalam jaringan neural umpan maju enkoder-dekoder. Mereka dapat memproses data berurutan dengan cara yang sama seperti yang RNN lakukan. 

Perhatian diri

Transformator tidak menggunakan status tersembunyi untuk menangkap saling ketergantungan urutan data. Sebaliknya, mereka menggunakan tujuan perhatian diri untuk memproses urutan data secara paralel. Hal ini memungkinkan transformator untuk melatih dan memproses urutan yang lebih panjang dalam waktu yang lebih singkat daripada RNN. Dengan mekanisme perhatian diri, transformator mengatasi keterbatasan memori dan ketergantungan urutan yang dihadapi RNN. Transformator dapat memproses urutan data secara paralel dan menggunakan pengenkodean posisi untuk mengingat cara setiap input berhubungan dengan yang lain. 

Paralelisme

Transformator memecahkan masalah gradien yang dihadapi RNN dengan mengaktifkan paralelisme selama pelatihan. Dengan memproses semua urutan input secara bersamaan, transformator tidak tunduk pada batasan propagasi mundur karena gradien dapat mengalir bebas ke semua bobot. Mereka juga dioptimalkan untuk komputasi paralel, yang ditawarkan unit pemrosesan grafis (GPU) untuk pengembangan AI generatif. Paralelisme memungkinkan transformator untuk menskalakan secara besar-besaran dan menangani tugas NLP yang kompleks dengan membangun model yang lebih besar. 

Bagaimana AWS dapat mendukung kebutuhan RNN Anda?

AI generatif di Amazon Web Services (AWS) memberikan layanan, alat, dan sumber daya yang dapat Anda gunakan untuk membangun, mengelola, dan menskalakan aplikasi AI tradisional dengan teknologi berbasis transformator lanjutan. Misalnya:

  • Amazon SageMaker adalah layanan terkelola penuh untuk menyiapkan data dan membangun, melatih, serta melakukan deployment model ML untuk kasus penggunaan apa pun. Amazon SageMaker memiliki infrastruktur, alat, dan alur kerja yang terkelola penuh.
  • Amazon Bedrock menyederhanakan pengembangan AI generatif dengan memungkinkan penyesuaian dan deployment model fondasi (FM) terkemuka di industri dengan aman dan efisien.
  • AWS Trainium adalah akselerator ML yang dapat Anda gunakan untuk melatih dan menskalakan model deep learning dengan harga yang terjangkau di cloud

Mulai AI generatif di AWS dengan mendaftar akun sekarang juga.

Langkah Berikutnya di AWS

Daftar untuk akun gratis

Dapatkan akses secara instan ke AWS Tingkat Gratis.

Daftar 
Mulai membangun di konsol

Mulai membangun di Konsol Manajemen AWS.

Masuk