Rumah >Peranti teknologi >AI >Apakah model pembelajaran mesin Transformer?
Penterjemah |. Li Rui
Penilai |. teknologi. Ia digunakan terutamanya untuk aplikasi lanjutan dalam pemprosesan bahasa semula jadi. Google menggunakannya untuk meningkatkan hasil enjin cariannya. OpenAI menggunakan Transformer untuk mencipta model GPT-2 dan GPT-3 yang terkenal.
Sejak kemunculannya pada tahun 2017, seni bina Transformer telah terus berkembang dan berkembang menjadi pelbagai varian yang berbeza, bermula daripada tugasan bahasa ke domain lain. Ia telah digunakan untuk ramalan siri masa. Mereka adalah inovasi utama di sebalik AlphaFold, model ramalan struktur protein DeepMind. Model penjanaan kod sumber OpenAI Codex juga berdasarkan Transformer. Transformer juga baru-baru ini memasuki bidang penglihatan komputer, di mana mereka perlahan-lahan menggantikan rangkaian neural convolutional (CNN) dalam banyak tugas yang kompleks.
Penyelidik masih meneroka cara untuk menambah baik Transformer dan menggunakannya untuk aplikasi baharu. Berikut ialah penjelasan ringkas tentang perkara yang membuatkan Transformers menarik dan cara ia berfungsi.
1. Gunakan rangkaian saraf untuk memproses data jujukan
Rangkaian saraf suapan hadapan tradisional tidak direka bentuk untuk menjejak data berjujukan dan memetakan setiap input kepada output. Ia berfungsi dengan baik untuk tugas seperti klasifikasi imej, tetapi gagal pada data jujukan seperti teks. Model pembelajaran mesin yang memproses teks bukan sahaja mesti memproses setiap perkataan, tetapi juga mempertimbangkan cara perkataan disusun mengikut susunan dan berkaitan antara satu sama lain. Dan makna sesuatu perkataan mungkin berubah bergantung kepada perkataan lain yang muncul sebelum dan selepasnya dalam ayat.
Sebelum kemunculan Transformer, Recurrent Neural Networks (RNN) adalah penyelesaian pilihan untuk pemprosesan bahasa semula jadi. Apabila diberi urutan perkataan, Rangkaian Neural Berulang (RNN) akan memproses perkataan pertama dan menyuapkan hasil kembali ke lapisan yang memproses perkataan seterusnya. Ini membolehkannya menjejaki keseluruhan ayat dan bukannya memproses setiap perkataan secara individu.
Kekurangan Rangkaian Neural Berulang (RNN) mengehadkan kegunaannya. Pertama, ia sangat lambat untuk diproses. Kerana mereka mesti memproses data secara berurutan, mereka tidak boleh memanfaatkan perkakasan pengkomputeran selari dan unit pemprosesan grafik (GPU) untuk latihan dan inferens. Kedua, mereka tidak boleh mengendalikan urutan teks yang panjang. Apabila rangkaian saraf berulang (RNN) masuk lebih dalam ke dalam petikan teks, kesan beberapa perkataan pertama ayat itu beransur-ansur berkurangan. Masalah yang dikenali sebagai "kecerunan lenyap" ini berlaku apabila dua perkataan yang dipautkan berjauhan dalam teks. Ketiga, mereka hanya menangkap hubungan antara perkataan dan perkataan yang mendahuluinya. Sebenarnya, makna perkataan bergantung kepada perkataan yang datang sebelum dan selepasnya.
Rangkaian Memori Jangka Pendek Panjang (LSTM) ialah pengganti Rangkaian Neural Berulang (RNN), yang boleh menyelesaikan masalah kecerunan yang hilang pada tahap tertentu dan boleh mengendalikan urutan teks yang lebih besar. Tetapi Memori Jangka Pendek Panjang (LSTM) adalah lebih perlahan untuk dilatih daripada Rangkaian Neural Berulang (RNN), dan masih tidak dapat memanfaatkan sepenuhnya pengkomputeran selari. Mereka masih bergantung pada pemprosesan bersiri jujukan teks.
Kertas kerja 2017 bertajuk "Perhatian Adalah Semua Yang Diperlukan" memperkenalkan Transformer, menyatakan bahawa Transformer
membuat dua sumbangan utama: Pertama, mereka membolehkan untuk memproses keseluruhan jujukan secara selari mungkin, dengan itu menskalakan kelajuan dan kapasiti model pembelajaran mendalam berurutan kepada kelajuan yang tidak pernah berlaku sebelum ini. Kedua, mereka memperkenalkan "mekanisme perhatian" yang boleh menjejaki hubungan antara perkataan dalam urutan teks yang sangat panjang, ke hadapan dan ke belakang.Sebelum membincangkan cara model Transformer berfungsi, adalah perlu untuk membincangkan jenis masalah yang menyelesaikan rangkaian neural urutan.
Walaupun terdapat perbezaannya, semua jenis model ini mempunyai satu persamaan - mereka mempelajari ungkapan. Tugas rangkaian saraf adalah untuk menukar satu jenis data kepada jenis data yang lain. Semasa latihan, lapisan tersembunyi rangkaian saraf (lapisan antara input dan output) melaraskan parameternya dengan cara yang paling mewakili ciri jenis data input dan memetakannya kepada output. Transformer asal telah direka bentuk sebagai model urutan-ke-jujukan (seq2seq) untuk terjemahan mesin (sudah tentu, model urutan-ke-jujukan tidak terhad kepada tugas terjemahan). Ia terdiri daripada modul pengekod yang memampatkan rentetan input daripada bahasa sumber kepada vektor yang mewakili perkataan dan hubungannya antara satu sama lain. Modul penyahkod menukarkan vektor yang dikodkan kepada rentetan teks dalam bahasa sasaran.
Teks input mesti diproses dan ditukar kepada format bersatu , dan kemudian boleh dimasukkan ke Transformer. Pertama, teks itu dihantar melalui "tokenizer", yang memecahkannya kepada beberapa ketulan aksara yang boleh diproses secara individu. Algoritma tokenisasi boleh bergantung pada aplikasi. Dalam kebanyakan kes, setiap perkataan dan tanda baca kira-kira dikira sebagai satu token. Sesetengah akhiran dan awalan dikira sebagai token berasingan (contohnya, "ize", "ly", dan "pre"). Tokenizer menjana senarai nombor yang mewakili ID token teks input.
Token kemudiannya ditukar menjadi "pembenaman perkataan". Pembenaman perkataan ialah vektor yang cuba menangkap nilai perkataan dalam ruang berbilang dimensi. Sebagai contoh, perkataan "kucing" dan "anjing" mungkin mempunyai nilai yang sama pada beberapa dimensi kerana kedua-duanya digunakan dalam ayat tentang haiwan dan haiwan peliharaan. Walau bagaimanapun, pada dimensi lain yang membezakan kucing daripada taring, "kucing" lebih dekat dengan "singa" daripada "serigala." Begitu juga, "Paris" dan "London" mungkin lebih dekat antara satu sama lain kerana kedua-duanya adalah bandar. Walau bagaimanapun, "London" lebih dekat dengan "England" dan "Paris" lebih dekat dengan "Perancis" kerana dimensi yang membezakan sesebuah negara. Dan pembenaman perkataan biasanya mempunyai ratusan dimensi.
Pembenaman perkataan dibuat melalui model pembenaman yang dilatih secara berasingan daripada Transformer. Terdapat beberapa model benam yang telah dilatih untuk tugasan bahasa.
Sekali Ayat itu ditukarkan kepada senarai penyusunan perkataan, yang dimasukkan ke dalam modul pengekod Transformer. Tidak seperti model Rangkaian Neural Berulang (RNN) dan Memori Jangka Pendek Panjang (LSTM), Transformer tidak menerima satu input pada satu masa. Ia boleh menerima nilai benam untuk keseluruhan ayat dan memprosesnya secara selari. Ini menjadikan Transformers lebih cekap dari segi pengiraan daripada pendahulunya, dan juga membolehkan mereka memeriksa senario teks dalam kedua-dua urutan hadapan dan belakang.
Untuk mengekalkan susunan perkataan dalam ayat, Transformer menggunakan "pengekodan kedudukan", yang pada asasnya bermakna ia mengubah suai nilai setiap vektor benam untuk mewakili kedudukannya dalam teks.
Seterusnya, input dihantar ke blok pengekod pertama, yang memprosesnya melalui "lapisan perhatian". Lapisan perhatian cuba menangkap hubungan antara perkataan dalam ayat. Sebagai contoh, pertimbangkan ayat "Kucing hitam besar itu menyeberang jalan selepas ia menjatuhkan botol di sisinya." Di sini, model mesti mengaitkan "ia" dengan "kucing" dan "ia" dengan "botol". Oleh itu, ia harus menubuhkan persatuan lain, seperti "besar" dan "kucing" atau "bersilang" dan "kucing". Jika tidak, lapisan perhatian menerima senarai penyusunan perkataan yang mewakili nilai perkataan individu dan menghasilkan senarai vektor yang mewakili perkataan individu dan hubungannya. Lapisan perhatian mengandungi berbilang "kepala perhatian", setiap satunya boleh menangkap pelbagai jenis perhubungan antara perkataan.
Output lapisan perhatian disalurkan kepada rangkaian neural suapan, yang menukarkannya kepada perwakilan vektor dan menghantarnya ke lapisan perhatian seterusnya. Transformer
mengandungi beberapa blok perhatian dan lapisan suapan ke hadapan untuk menangkap perhubungan yang lebih kompleks secara beransur-ansur.
Modul penyahkod ditugaskan untuk menukar vektor perhatian pengekod kepada data output (cth., versi terjemahan teks input). Semasa fasa latihan, penyahkod mempunyai akses kepada vektor perhatian yang dihasilkan oleh pengekod dan hasil yang dijangkakan (cth., rentetan terjemahan).
Penyahkod menggunakan tokenisasi yang sama, pembenaman perkataan dan mekanisme perhatian untuk memproses hasil yang diharapkan dan mencipta vektor perhatian. Ia kemudian melepasi vektor perhatian dan lapisan perhatian ini dalam modul pengekod untuk mewujudkan hubungan antara nilai input dan output. Dalam aplikasi terjemahan, ini adalah bahagian di mana perkataan dalam bahasa sumber dan bahasa sasaran dipetakan antara satu sama lain. Seperti modul pengekod, vektor perhatian penyahkod disalurkan melalui lapisan suapan hadapan. Hasilnya kemudian dipetakan ke kumpulan vektor yang sangat besar, iaitu saiz data sasaran (dalam kes terjemahan, ini boleh melibatkan puluhan ribu perkataan).
Semasa latihan, Transformer menyediakan korpus A yang sangat besar contoh berpasangan (cth., ayat bahasa Inggeris dan terjemahan Perancis yang sepadan). Modul pengekod menerima dan memproses rentetan input lengkap. Walau bagaimanapun, penyahkod menerima versi bertopeng rentetan output (satu perkataan pada satu masa) dan cuba untuk mewujudkan pemetaan antara vektor perhatian yang dikodkan dan hasil yang dijangkakan. Pengekod cuba meramalkan perkataan seterusnya dan membuat pembetulan berdasarkan perbezaan antara outputnya dan hasil yang dijangkakan. Maklum balas ini membolehkan penukar mengubah suai parameter pengekod dan penyahkod dan secara beransur-ansur mencipta pemetaan yang betul antara bahasa input dan output.
Lebih banyak data latihan dan parameter yang dimiliki oleh Transformer, lebih baik ia mengekalkan kepaduan dan ketekalan merentas jujukan teks yang lebih panjang.
Dalam contoh terjemahan mesin yang dikaji di atas, modul pengekod Transformer mempelajari hubungan antara bahasa Inggeris. perkataan dan ayat, manakala penyahkod mempelajari pemetaan antara bahasa Inggeris dan Perancis.
Tetapi tidak semua aplikasi Transformer memerlukan modul pengekod dan penyahkod. Sebagai contoh, keluarga GPT model bahasa besar menggunakan timbunan modul penyahkod untuk menjana teks. BERT ialah satu lagi varian model Transformer yang dibangunkan oleh penyelidik Google, tetapi ia hanya menggunakan modul pengekod.
Kelebihan sesetengah seni bina ini ialah ia boleh dilatih melalui pembelajaran diselia sendiri atau kaedah tanpa pengawasan. BERT, sebagai contoh, melakukan kebanyakan latihannya dengan mengambil korpus besar teks tidak berlabel, menutup bahagiannya dan cuba meramal bahagian yang hilang. Ia kemudian melaraskan parameternya berdasarkan jarak atau jarak ramalannya daripada data sebenar. Dengan mengulangi proses ini secara berterusan, BERT menangkap hubungan antara perkataan yang berbeza dalam adegan yang berbeza. Selepas fasa pra-latihan ini, BERT boleh diperhalusi untuk tugasan hiliran seperti menjawab soalan, ringkasan teks atau analisis sentimen dengan melatih sebilangan kecil contoh berlabel. Menggunakan pralatihan tanpa pengawasan dan penyeliaan sendiri boleh mengurangkan usaha yang diperlukan untuk menganotasi data latihan.
Terdapat banyak lagi tentang Transformers dan apl baharu yang mereka buka kunci, yang di luar skop artikel ini. Penyelidik masih mencari cara untuk mendapatkan lebih banyak bantuan daripada Transformer.
Transformer juga mencetuskan perbincangan tentang pemahaman bahasa dan kecerdasan buatan am. Apa yang jelas ialah Transformer, seperti rangkaian saraf lain, adalah model statistik yang mampu menangkap keteraturan dalam data dengan cara yang bijak dan canggih. Walaupun mereka tidak "memahami" bahasa seperti yang dilakukan manusia, perkembangan mereka masih menarik dan banyak lagi yang boleh ditawarkan.
Pautan asal: https://bdtechtalks.com/2022/05/02/what-is-the-transformer/
Atas ialah kandungan terperinci Apakah model pembelajaran mesin Transformer?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!