- Terminologi (A ke D)
- Kontrol Kemampuan AI
- Operasi AI
- Albumentasi
- Kinerja Aset
- Penyandi otomatis
- Propagasi mundur
- Teorema Bayes
- Big data
- Chatbot: Panduan Pemula
- Berpikir Komputasi
- Visi Komputer
- Matriks Kebingungan
- Jaringan Saraf Konvolusional
- Keamanan cyber
- Kain Data
- Bercerita Data
- Ilmu Data
- Pergudangan Data
- Pohon Keputusan
- Deepfakes
- Belajar mendalam
- Pembelajaran Penguatan Deep
- berkembang
- DevSecOps
- Model Difusi
- Digital Twin
- Pengurangan Dimensi
- Terminologi (E ke K)
- Tepi AI
- Emosi AI
- Pembelajaran Ensemble
- Ethical Hacking
- ETL
- AI yang bisa dijelaskan
- Pembelajaran Federasi
- FinOps
- AI generatif
- Jaringan Adversarial Generatif
- Generatif vs Diskriminatif
- Meningkatkan Gradien
- Keturunan Gradien
- Pembelajaran Sedikit Tembakan
- Klasifikasi Gambar
- Operasi TI (ITOP)
- Otomasi Insiden
- Rekayasa Pengaruh
- Pengelompokan K-Means
- K-Tetangga Terdekat
- Terminologi (L ke Q)
- Terminologi (R ke Z)
- Pembelajaran Penguatan
- AI yang bertanggung jawab
- RLHF
- Otomatisasi Proses Robot
- Terstruktur vs Tidak Terstruktur
- Analisis Sentimen
- Diawasi vs Tidak Diawasi
- Mendukung Mesin Vektor
- Data Sintetis
- Media Sintetis
- Klasifikasi Teks
- ML kecil
- Transfer Belajar
- jaringan saraf transformator
- Uji Turing
- Pencarian Kesamaan Vektor
AI 101
Apakah Jaringan Neural Transformer itu?
Daftar Isi
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:
- Menghitung skor untuk semua status encoder.
- Menghitung bobot perhatian
- Menghitung vektor konteks
- Memperbarui vektor konteks dengan keluaran langkah waktu sebelumnya
- 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.
Blogger dan programmer dengan spesialisasi di Pembelajaran mesin dan Belajar mendalam topik. Daniel berharap dapat membantu orang lain menggunakan kekuatan AI untuk kebaikan sosial.
Kamu mungkin suka
Snowflake Arctic: LLM Mutakhir untuk AI Perusahaan
EfficientViT: Transformator Visi Hemat Memori untuk Visi Komputer Resolusi Tinggi
MPT-30B: MosaicML Mengungguli GPT-3 Dengan LLM Baru Untuk Mendorong Batas NLP
Menghapus Objek Dari Video Lebih Efisien Dengan Machine Learning
Anyaman Gambar AI Yang Memahami Adegan
Keyboard Seluler Tak Terlihat Berbasis AI yang Memungkinkan Anda Mengetik 157% Lebih Cepat