potongan Apakah Jaringan Neural Transformer itu? - Bersatu.AI
Terhubung dengan kami

AI 101

Apakah Jaringan Neural Transformer itu?

mm
Updated on

Jaringan Neural Transformer Dijelaskan

transformer adalah jenis model pembelajaran mesin yang berspesialisasi dalam pemrosesan dan interpretasi data berurutan, menjadikannya optimal untuk tugas pemrosesan bahasa alami. Untuk lebih memahami apa itu transformator pembelajaran mesin, dan cara pengoperasiannya, mari kita lihat lebih dekat model transformator dan mekanisme yang menggerakkannya.

Artikel ini akan mencakup:

  • Model Urutan-ke-Urutan
  • Arsitektur Jaringan Neural Transformer
  • Mekanisme Perhatian
  • Perbedaan Antara Transformers dan RNNs / LSTMs

Model Urutan-ke-Urutan

Model urutan-ke-urutan adalah jenis model NLP yang digunakan untuk mengubah urutan dari satu jenis ke urutan jenis lain. Ada berbagai jenis model sequence-to-sequence, seperti Jaringan Neural Berulang model dan Memori Jangka Pendek Panjang (LSTM) model.

Model urutan-ke-urutan tradisional seperti RNN dan LSTMS bukan fokus dari artikel ini, tetapi pemahaman tentang mereka diperlukan untuk menghargai bagaimana model transformator beroperasi dan mengapa mereka lebih unggul dari model urutan-ke-urutan tradisional.

Singkatnya, model RNN dan model LSTM terdiri dari jaringan encoder dan decoder yang menganalisis data masukan pada berbagai langkah waktu. Model encoder bertanggung jawab untuk membentuk representasi kata-kata yang dikodekan dalam data masukan. Pada setiap langkah waktu, jaringan encoder mengambil urutan masukan dan keadaan tersembunyi dari langkah waktu sebelumnya dalam rangkaian tersebut. Nilai status tersembunyi diperbarui saat data mengalir melalui jaringan, hingga langkah terakhir, di mana “vektor konteks” dihasilkan. Vektor konteks kemudian diteruskan ke jaringan dekoder, yang digunakan untuk menghasilkan urutan target dengan memprediksi kata yang paling mungkin berpasangan dengan kata masukan untuk langkah waktu masing-masing.

Model ini dapat ditambah melalui penggunaan "mekanisme perhatian”. Mekanisme perhatian menentukan bagian mana dari vektor input yang harus difokuskan jaringan untuk menghasilkan output yang tepat. Dengan kata lain, mekanisme perhatian memungkinkan model transformator memproses satu kata input sementara juga memperhatikan informasi relevan yang terkandung oleh kata input lainnya. Mekanisme perhatian juga menutupi kata-kata yang tidak mengandung informasi yang relevan.

Arsitektur Jaringan Neural Transformer

Kami akan masuk ke mekanisme perhatian lebih detail nanti, tapi untuk saat ini mari kita lihat arsitektur jaringan saraf transformator pada tingkat yang lebih tinggi.

Secara umum, jaringan saraf transformator terlihat seperti berikut:

Meskipun struktur umum ini dapat berubah di antara jaringan, potongan inti akan tetap sama: pengkodean posisi, vektor kata, mekanisme perhatian, jaringan saraf umpan-maju.

Pengkodean Posisi dan Vektor Kata

Sebuah jaringan saraf transformator beroperasi dengan mengambil urutan input dan mengubah input ini menjadi dua urutan lainnya. Trafo menghasilkan urutan penyematan vektor kata dan pengkodean posisi.

Penyematan vektor kata hanyalah teks yang direpresentasikan dalam format numerik yang dapat diproses oleh jaringan saraf. Sementara itu, positional encoding adalah representasi vektor yang berisi informasi tentang posisi kata saat ini dalam kalimat masukan, dalam kaitannya dengan kata lain.

Model jaringan saraf berbasis teks lainnya seperti RNN dan LSTM menggunakan vektor untuk merepresentasikan kata-kata dalam data masukan. Penyematan vektor ini memetakan kata ke nilai konstan, tetapi ini membatasi karena kata dapat digunakan dalam konteks yang berbeda. Sebuah jaringan transformator memecahkan masalah ini dengan membuat nilai kata lebih fleksibel, menggunakan fungsi sinusoidal untuk membiarkan vektor kata mengambil nilai yang berbeda tergantung pada posisi kata dalam kalimat.

Hal ini memungkinkan model jaringan saraf untuk menyimpan informasi mengenai posisi relatif kata masukan, bahkan setelah vektor berpindah melalui lapisan jaringan transformator.

Pengkodean posisional dan penyematan vektor kata dijumlahkan bersama kemudian diteruskan ke jaringan pembuat enkode dan dekoder. Sementara jaringan saraf transformator menggunakan skema encoder/decoder seperti RNN dan LSTM, satu perbedaan utama di antara mereka adalah bahwa semua input data dimasukkan ke dalam jaringan pada waktu yang sama, sedangkan di RNN/LSTM, data diteruskan secara berurutan.

Jaringan encoder bertanggung jawab untuk mengubah input menjadi representasi jaringan yang dapat dipelajari, sedangkan jaringan decoder melakukan sebaliknya dan mengubah pengkodean menjadi distribusi probabilitas yang digunakan untuk menghasilkan kata-kata yang paling mungkin dalam kalimat output. Yang terpenting, jaringan encoder dan decoder memiliki mekanisme perhatian.

Karena GPU mampu melakukan pemrosesan paralel, beberapa mekanisme perhatian digunakan secara paralel, menghitung informasi yang relevan untuk semua kata masukan. Kemampuan untuk memperhatikan banyak kata ini, dijuluki perhatian "multi-kepala", sekaligus membantu jaringan saraf mempelajari konteks kata dalam kalimat, dan ini adalah salah satu keuntungan utama yang dimiliki jaringan transformator dibandingkan RNN dan LSTM.

Mekanisme Perhatian

Mekanisme perhatian adalah bagian terpenting dari jaringan transformator. Mekanisme perhatian inilah yang memungkinkan model transformator melampaui batas perhatian model RNN atau LSTM biasa. Model Sequence-to-Sequence tradisional membuang semua status perantara dan hanya menggunakan vektor status/konteks akhir saat menginisialisasi jaringan dekoder untuk menghasilkan prediksi tentang urutan input.

Membuang semuanya kecuali vektor konteks terakhir berfungsi dengan baik ketika urutan input cukup kecil. Namun seiring bertambahnya panjang urutan input, kinerja model akan menurun saat menggunakan metode ini. Ini karena menjadi cukup sulit untuk meringkas rangkaian masukan yang panjang sebagai satu vektor. Solusinya adalah dengan meningkatkan "perhatian" model dan memanfaatkan status enkoder perantara untuk membangun vektor konteks untuk dekoder.

Mekanisme perhatian menentukan seberapa penting token input lain bagi model saat pengkodean dibuat untuk setiap token yang diberikan. Misalnya, "itu" adalah kata ganti umum, sering digunakan untuk merujuk pada hewan ketika jenis kelaminnya tidak diketahui. Mekanisme perhatian akan membiarkan model transformator menentukan bahwa dalam konteks saat ini "itu" mengacu pada tupai, karena dapat memeriksa semua kata yang relevan dalam kalimat masukan.

Mekanisme perhatian dapat digunakan dalam tiga cara berbeda: encoder-to-decoder, encoder-only, decoder-only.

Perhatian encoder-decoder memungkinkan decoder mempertimbangkan urutan input saat menghasilkan output, sedangkan mekanisme perhatian encoder-only dan decoder-only memungkinkan jaringan mempertimbangkan semua bagian dari urutan sebelumnya dan saat ini.

Pembangunan mekanisme perhatian dapat dibagi menjadi lima langkah:

  1. Menghitung skor untuk semua status encoder.
  2. Menghitung bobot perhatian
  3. Menghitung vektor konteks
  4. Memperbarui vektor konteks dengan keluaran langkah waktu sebelumnya
  5. Menghasilkan Output Dengan Decoder

Langkah pertama adalah membuat dekoder menghitung skor untuk semua status pembuat enkode. Ini dilakukan dengan melatih jaringan dekoder, yang merupakan jaringan saraf feed-forward dasar. Saat decoder dilatih pada kata pertama dalam urutan input, belum ada status internal/tersembunyi yang dibuat, sehingga status terakhir encoder biasanya digunakan sebagai status decoder sebelumnya.

Untuk menghitung bobot perhatian, fungsi softmax digunakan untuk menghasilkan distribusi probabilistik untuk bobot perhatian.

Setelah bobot perhatian dihitung, vektor konteks perlu dihitung. Ini dilakukan dengan mengalikan bobot perhatian dan status tersembunyi secara bersamaan untuk setiap langkah waktu.

Setelah vektor konteks dihitung, itu digunakan bersama dengan kata yang dihasilkan pada langkah waktu sebelumnya untuk menghasilkan kata berikutnya dalam urutan keluaran. Karena dekoder tidak memiliki keluaran sebelumnya untuk dirujuk pada langkah pertama kali, token "mulai" khusus sering digunakan sebagai gantinya.

Perbedaan Antara Transformers & RNNs / LSTMs

Mari kita bahas beberapa perbedaan antara RNN dan LSTM dengan cepat.

RNN memproses input secara berurutan, sementara vektor keadaan tersembunyi dipertahankan dan diubah oleh kata-kata input saat bergerak melalui jaringan. Status tersembunyi dari RNN biasanya berisi sangat sedikit informasi yang relevan mengenai input sebelumnya. Masukan baru sering menimpa keadaan saat ini, yang menyebabkan hilangnya informasi dan menurunkan kinerja dari waktu ke waktu.

Sebaliknya, model transformator memproses seluruh urutan input sekaligus. Mekanisme perhatian memungkinkan setiap kata keluaran diinformasikan oleh setiap masukan dan status tersembunyi, membuat jaringan lebih andal untuk potongan teks yang panjang.

LSTM adalah versi RNN yang dimodifikasi, disesuaikan untuk menangani urutan input yang lebih panjang. Arsitektur LSTM menggunakan struktur yang disebut “gates”, dengan “input gates”, “output gates”, dan “forget gates”. Desain berpagar berkaitan dengan hilangnya informasi yang umum terjadi pada model RNN. Data masih diproses secara berurutan, dan desain arsitektur yang berulang membuat model LSTM sulit untuk dilatih menggunakan komputasi paralel, membuat waktu pelatihan menjadi lebih lama secara keseluruhan.

Insinyur LSTM sering menambahkan mekanisme perhatian ke jaringan, yang diketahui meningkatkan kinerja model. Namun, akhirnya ditemukan bahwa mekanisme perhatian itu sendiri meningkatkan akurasi. Penemuan ini mengarah pada penciptaan jaringan transformator yang menggunakan mekanisme perhatian dan komputasi paralel berkat GPU.