Apa itu model encoder-decoder?

Penyusun

Jacob Murel Ph.D.

Senior Technical Content Creator

Joshua Noble

Data Scientist

Encoder-decoder adalah jenis arsitektur neural network yang digunakan untuk pemrosesan dan pembuatan data berurutan.

Dalam pembelajaran mendalam, arsitektur encoder-decoder adalah jenis neural network yang paling banyak dikaitkan dengan arsitektur transformator dan digunakan dalam pembelajaran urutan-ke-urutan. Karenanya, banyak referensi terkadang mengacu pada encoder-decoder sebagai bentuk model urutan-ke-urutan ( modelseq2seq). Banyak riset machine learning berfokus pada model encoder-decoder untuk tugas pemrosesan bahasa alami yang melibatkan model bahasa besar (LLM).

Model encoder-decoder digunakan untuk menangani data sekuensial, khususnya memetakan urutan input ke urutan output dengan panjang yang berbeda, seperti terjemahan mesin neural, peringkasan teks, teks gambar, dan pengenalan suara. Dalam tugas-tugas seperti itu, pemetaan token dalam input ke satu di output sering kali tidak langsung. Sebagai contoh, ambil terjemahan mesin: dalam beberapa bahasa, kata kerja muncul di dekat awal kalimat (seperti dalam bahasa Inggris), dalam bahasa lain di akhir (seperti bahasa Jerman) dan dalam beberapa bahasa, lokasi kata kerja mungkin lebih bervariasi (misalnya, bahasa Latin). Jaringan encoder-decoder menghasilkan output yang panjangnya bervariasi, tetapi sesuai dengan konteksnya agar berkaitan dengan urutan input yang diberikan.1

Tren AI terbaru, dipersembahkan oleh para pakar

Dapatkan kurasi insight tentang berita AI yang paling penting dan menarik. Berlangganan buletin Think mingguan. Lihat Pernyataan Privasi IBM.

Terima kasih! Anda telah berlangganan.

Langganan Anda akan dikirimkan dalam bahasa Inggris. Anda akan menemukan tautan berhenti berlangganan di setiap buletin. Anda dapat mengelola langganan atau berhenti berlangganan di sini. Lihat Pernyataan Privasi IBM kami untuk informasi lebih lanjut.

Arsitektur encoder-decoder

Seperti yang dapat disimpulkan dari namanya masing-masing, encoder mengodekan input yang diberikan ke dalam representasi vektor dan decoder menguraikan vektor ini menjadi jenis data yang sama dengan kumpulan data input asli.

Baik encoder dan decoder adalah neural network yang terpisah dan terhubung sepenuhnya. Mereka mungkin recurrent neural network (RNN)—ditambah varian memori jangka pendek (LSTM), gated recurrent unit (GRU)—dan neural network konvolusional (CNN), serta model transformator. Model encoder-decoder biasanya berisi beberapa encoder dan decoder.

Diagram arsitektur encoder-decoder

Setiap encoder terdiri dari dua lapisan: lapisan perhatian diri (atau mekanisme perhatian diri) dan jaringan neural networks feed-forward. Lapisan pertama memandu encoder dalam menyurvei dan berfokus pada kata-kata lain yang terkait dalam input yang diberikan saat mengodekan satu kata tertentu di dalamnya. Neural Networks feed-forward memproses lebih lanjut pengodean sehingga dapat diterima untuk lapisan encoder atau decoder berikutnya.

Bagian decoder juga terdiri dari lapisan atensi mandiri dan neural network feed-forward, serta lapisan ketiga tambahan: lapisan atensi encoder-decoder. Lapisan ini memfokuskan perhatian jaringan pada bagian tertentu dari output encoder. Lapisan perhatian multi-head dengan demikian memetakan token dari dua urutan yang berbeda.2

Diagram bagian tumpukan encoder dan decoder

Cara kerja model encoder-decoder

Referensi secara luas menyajikan model encoder-decoder yang terdiri dari tiga komponen: encoder, vektor konteks, dan decoder.3

Encoder

Komponen utama dari encoder adalah mekanisme atensi mandiri. Mekanisme atensi mandiri menentukan bobot token dalam input untuk mencerminkan hubungan antar-token. Berbeda dengan menanamkan kata tradisional yang mengabaikan urutan kata, atensi mandiri memproses seluruh urutan input untuk menghitung menanamkan rata-rata tertimbang setiap token yang memperhitungkan jarak token tersebut dari semua token lain dalam urutan input. Ini mengkomputasi penyematan rata-rata ini sebagai kombinasi linier dari semua penyematan untuk urutan input sesuai dengan rumus berikut:

Encoder input rumus urutan matematika yang menggambarkan x sub prima i sama dengan jumlah dari j sama dengan 1 sampai n dari w sub j i kali x sub j

Di sini, xj adalah token input yang diberikan pada posisi ke-j dalam untai teks input dan xi adalah token output yang sesuai pada posisi ke-i dalam untai teks input. Koefisien wij adalah bobot perhatian yang dihitung menggunakan apa yang disebut fungsi softmax dan menunjukkan seberapa penting token tersebut dalam teks output pada urutan sumber yang sesuai. Dengan kata lain, koefisien ini menandakan seberapa besar perhatian yang harus diberikan oleh encoder kepada setiap token dalam teks output sehubungan dengan pentingnya token asli dalam teks sumber.4

Diagram yang menunjukkan menanamkan kata yang dikombinasikan dengan pengodean posisi untuk membuat menanamkan dengan sinyal waktu untuk tiga kata: Aduh, malangnya, Yorick

Encoder meneruskan penyematan token ini ke lapisan feed-forward yang menambahkan pengodean posisi (atau, penyematan posisi) ke penyematan token. Pengodean posisi ini memperhitungkan urutan token dalam teks, khususnya jarak antar token. Bersama-sama, menanamkan token dan penyematan posisi ini terdiri dari status tersembunyi yang diteruskan ke decoder.5

Vektor konteks

Referensi secara luas menyebut keadaan tersembunyi akhir encoder sebagai vektor konteks. Ini adalah representasi numerik yang ringkas dari teks input awal encoder. Lebih sederhana, ini adalah penyematan dan pengodean posisi yang dihasilkan oleh encoder untuk setiap kata dalam input.

Referensi sering kali mendefinisikan vektor konteks menggunakan fungsi berikut, dengan vektor konteks X didefinisikan sebagai setiap token (x) pada posisi ke-idalam urutan input:6

Rumus fungsi vektor konteks yang menunjukkan C sama dengan urutan nilai x dari 1 hingga n sub x

Decoder

Sama seperti encoder, decoder terdiri dari lapisan perhatian diri dan jaringan feed-forward. Di antara ini, decoder berisi lapisan masking atensi multi-head. Ini menandai perbedaan antara encoder dan decoder. Di saat encoder menghasilkan penyematan token kontekstual secara bersamaan, lapisan atensi multi-head decoder menggunakan masking autoregresif.

Pertama, decoder menerima vektor konteks dari encoder. Decoder menggunakan penanaman posisi ini untuk menghitung skor perhatian bagi setiap token. Skor perhatian ini menentukan sejauh mana setiap token dari urutan input akan memengaruhi token selanjutnya di dalamnya; dengan kata lain, skor menentukan berapa banyak bobot yang dimiliki setiap token dalam penentuan token lain saat menghasilkan urutan output.

Namun, salah satu fitur penting dari ini adalah bahwa decoder tidak akan menggunakan token masa depan untuk menentukan token sebelumnya dalam urutan yang sama. Setiap output token yang dihasilkan hanya bergantung pada token sebelumnya; dengan kata lain, ketika menghasilkan output token, decoder tidak mempertimbangkan kata atau token berikutnya setelah yang saat ini. Seperti halnya dengan banyak teknik kecerdasan buatan, ini bertujuan untuk meniru pemahaman konvensional tentang bagaimana manusia memproses informasi, khususnya bahasa. Pendekatan untuk pemrosesan informasi ini disebut autoregresif.7

Diagram penyamaran autoregresif dari kutipan Hamlet

Mengapa menggunakan model encoder-decoder dalam NLP?

Salah satu keuntungan utama dari model encoder-decoder untuk tugas NLP hilir seperti analisis sentimen atau pemodelan bahasa tertutup adalah produksi penyematan kontekstual. Penyematan ini berbeda dari penyematan kata tetap yang digunakan dalam model bag of words.

Pertama, penyematan tetap tidak memperhitungkan urutan kata. Dengan demikian, mereka mengabaikan hubungan antara token dalam urutan teks. Namun, penyematan kontekstual memperhitungkan urutan kata via pengodean posisi. Selain itu, penyematan kontekstual mencoba menangkap hubungan antara token melalui mekanisme atensi yang mempertimbangkan jarak antara token dalam urutan tertentu saat menghasilkan menanamkan.

Penanaman tetap menghasilkan satu penanaman untuk token yang diberikan, menggabungkan semua contoh token itu. Model encoder-decoder menghasilkan penanaman kontekstual untuk setiap contoh token dari sebuah token. Hasilnya, penanaman kontekstual lebih mahir menangani kata-kata polisemi—yaitu, kata-kata dengan banyak makna. Misalnya, flies dapat menandakan tindakan atau serangga. Penyematan kata tetap meruntuhkan beberapa arti kata ini dengan membuat satu penanaman untuk token atau kata tersebut. Tetapi model encoder-decoder menghasilkan penanaman kontekstual terpisah untuk setiap kemunculan kata flies, sehingga yang ditangkap adalah banyak sekali makna melalui beberapa penanaman berbeda.8

Gabungan Para Pakar | 28 Agustus, episode 70

Decoding AI: Rangkuman Berita Mingguan

Bergabunglah dengan panel insinyur, peneliti, pemimpin produk, dan sosok kelas dunia lainnya selagi mereka mengupas tuntas tentang AI untuk menghadirkan berita dan insight terbaru seputar AI.

Jenis varian encoder-decoder

Sesuai perkiraan, arsitektur encoder-decoder memiliki banyak varian, masing-masing dengan contoh penggunaan utama mereka sendiri dalam ilmu data dan machine learning.

Khusus encoder. Semua model ini (digambarkan juga sebagai encoder otomatis) hanya menggunakan tumpukan encoder, menghindari decoder. Model seperti itu dengan demikian tidak memiliki pemodelan samar autoregresif dan memiliki akses ke semua token dalam teks input awal. Dengan demikian, model ini digambarkan sebagai memiliki dua arah karena menggunakan semua token di sekitarnya, baik token sebelumnya maupun berikutnya, untuk membuat prediksi bagi token yang diberikan. Model encoder yang terkenal adalah keluarga model BERT, seperti BERT,9 RoBERTa,10 dan ELECTRA11, serta model IBM Slate. Model khusus encoder sering digunakan untuk tugas yang memerlukan pemahaman seluruh input teks, seperti klasifikasi teks atau named entity recognition.

Khusus decoder. Model ini (disebut juga model autoregresif) hanya menggunakan tumpukan decoder, mengesampingkan encoder apa pun. Dengan demikian, ketika membuat prediksi token, lapisan perhatian model hanya dapat mengakses token yang mendahului token yang sedang dipertimbangkan. Model khusus decoder sering digunakan untuk tugas pembuatan teks seperti menjawab pertanyaan, menulis kode, atau chatbot seperti ChatGPT. Contoh model khusus decoder adalah model dasar dari keluarga IBM® Granite.12

Solusi terkait
IBM watsonx.ai

Latih, validasi, lakukan tuning, dan terapkan AI generatif, model dasar, dan kemampuan machine learning dengan IBM watsonx.ai, studio perusahaan generasi berikutnya untuk pembangun AI. Bangun aplikasi AI dalam waktu singkat, dengan sedikit data.

Temukan watsonx.ai
Solusi kecerdasan buatan (AI)

Gunakan AI di bisnis Anda dalam perpaduan antara keahlian AI terdepan di industri dari IBM dan portofolio solusi Anda.

Jelajahi solusi AI
Konsultasi dan layanan AI

Temukan kembali alur kerja dan operasi yang penting dengan menambahkan AI untuk memaksimalkan pengalaman, pengambilan keputusan secara real-time, dan nilai bisnis.

Jelajahi layanan AI
Ambil langkah selanjutnya

Dapatkan akses satu atap ke kemampuan yang mencakup siklus hidup pengembangan AI. Hasilkan solusi AI yang kuat dengan antarmuka ramah pengguna, alur kerja yang efisien, serta akses ke API dan SDK berstandar industri.

Jelajahi watsonx.ai Pesan demo langsung
Catatan kaki

Jurafsky, D. and Martin, J.,  “Speech and Language Processing: An Introduction to Natural Language Processing, Computational Linguistics, and Speech Recognition”, Third edition, 2023.

Telmo, P., Lopes, A. V., Assogba, Y. and Setiawan, H. “One Wide Feedforward Is All You Need” , 2023.
Vaswani, A., Shazeer, N., Parmar, N., Uszkoreit, J., Jones, L., Gomez, A. N., Kaiser, L. and Polosukhin I. “Attention Is All You Need”, 2017.
Tunstall, L., Werra, L. and Wolf and T. “Natural Language Processing with Transformers”, Revised Edition, O’Reilly, 2022

3 Goodfellow, I., Bengio, Y. and Courville, A. “Deep Learning”, MIT Press, 2016.
Jurafsky, D. and Martin, J. “Speech and Language Processing”, Third Edition, 2023.
Tunstall, L., Werra, L. and Wolf and T. “Natural Language Processing with Transformers”, Revised Edition, O’Reilly, 2022.

4 Tunstall, L., Werra, L. and Wolf and T. “Natural Language Processing with Transformers”, Revised Edition, O’Reilly, 2022.
Goldberg, Y. “Neural network methods for Natural Language Processing”, Springer, 2022.

5 Alammar, J. and Grootendorst, M. “Hands-on Large Language Models”, O’Reilly, 2024.

6
Goodfellow, I., Bengio, Y. and Courville, A. “Deep Learning”, MIT Press, 2016.
Jurafsky, D. and Martin, J. “Speech and Language Processing”, Third Edition, 2023.

7 Foster, D. “Generative Deep Learning”, Second Edition, O’Reilly, 2023.
Rothman, D. “Transformers for Natural Language Processing”, Second Edition, 2022. 
Jurafsky, D. and Martin, J. Speech and Language Processing”, Third Edition, 2023.

8 Tunstall, L., Werra, L. and Wolf and T. “Natural Language Processing with Transformers”, Revised Edition, O’Reilly, 2022. 

9 Devlin, J. et al. “BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding”, 2019.

10 Liu, Y., Ott, M., Goyal, N., Du, J.,  Joshi, M., Chen,  D., Levy, O., Lewis, M. ,  Zettlemoyer,  L.  and Stoyanov, V. “RoBERTa: A Robustly Optimized BERT Pretraining Approach”,  2019.

11 Clark, K. et all. “ELECTRA: Pre-training Text Encoders as Discriminators Rather Than Generators”,  2020.

12 Mayank, M. et al. “Granite Code Models: A Family of Open Foundation Models for Code Intelligence” 2024.
Ruiz, A. “IBM Granite Large Language Models Whitepaper” 2024.