Renungan setelah membaca secara gila-gilaan

Bahasa adalah darah jiwa tempat pikiran mengalir dan tumbuh.

-Oliver Wendell Holmes

Pernahkah Anda bertanya-tanya bagaimana cara kerja Google Terjemahan atau Siri? Bagaimana mesin memahami apa yang kita katakan? Pertanyaan seperti ini termasuk dalam bidang Natural Language Processing (NLP), yang merupakan salah satu bidang penelitian paling menarik saat ini. Dalam postingan ini saya akan membagikan arsitektur AI yang umum digunakan dalam tugas NLP.

Setiap kali AI disebutkan, yang terlintas dalam pikiran sering kali adalah terminator jahat yang mencoba menghancurkan dunia. Namun jika Anda tidak mempertimbangkan semua kekacauan yang timbul dari penerapan dan pembersihan data, model AI pada dasarnya adalah model prediktif yang dijalankan berdasarkan matematika. Sebagai model matematis, diperlukan masukan matematis. Oleh karena itu, tidak masuk akal jika Anda memasukkan serangkaian kata dan mengharapkan model untuk memahaminya.

Ada seluruh bidang yang didedikasikan untuk menemukan representasi matematis yang tepat dari kata-kata (tapi sekali lagi, bagaimana Anda mendefinisikan "benar"?), yang akan saya bahas di bagian selanjutnya.

Representasi kata-kata

Penggunaan representasi kata… telah menjadi “saus rahasia” utama bagi keberhasilan banyak sistem NLP dalam beberapa tahun terakhir…- Luong et al. (2013)

Pendekatan yang umum adalah mengubah sebuah kata menjadi vektor (daftar angka); menurut pendapat umum, representasi kata yang baik idealnya adalah representasi yang mempertimbangkan sintaksis, semantik, dan persyaratan komputasi. representasi terdistribusi berupaya mencapai hal ini, seperti yang dibahas dalam makalah ini:

Model Bahasa Probabilistik Neural

Apa yang dimaksud dengan representasi terdistribusi. Cara terbaik untuk mendapatkan intuisi adalah dengan membandingkannya dengan representasi renggang:

Mengapa representasi terdistribusi. Menggunakan representasi renggang untuk kata-kata (seperti satu pengkodean panas) dalam korpus mengarah pada kutukan dimensi, yaitu dimensi vektor kata meningkat seiring dengan ukuran kosakata (sebagai perbandingan, pikirkan bagaimana diagram di atas jika kita memiliki lebih banyak pola). Oleh karena itu, representasi terdistribusi lebih disukai.

Estimasi Representasi Kata yang Efisien di Ruang Vektor

Memperkenalkan model word2vec. Ini menggunakan jaringan saraf dua lapis yang mengubah teks menjadi vektor, baik dengan memprediksi kata berdasarkan konteks kata yang mengelilinginya (continuous bag of word, CBOW) atau memprediksi kata konteks berdasarkan sebuah kata (Skip- gram).

GloVe: Vektor Global untuk Representasi Kata — Stanford NLP

Pendekatan global. Representasi vektor kata-kata yang memperhitungkan kemungkinan kemunculan kata-kata di seluruh korpus. Ini mengatasi kelemahan model word2vec, di mana hanya kata-kata tetangga yang dipertimbangkan dan tidak memperhitungkan statistik keseluruhan korpus.

Sekarang setelah kita memiliki representasi matematis dari kata-kata, apa yang kita masukkan ke dalamnya? Masukkan RNN.

RNN

Bahasa bersifat berurutan, oleh karena itu tidak mengherankan jika model yang umum digunakan dalam permasalahan NLP memiliki sifat yang serupa. Model sekuensial yang populer adalah RNN, yang oleh Andrej Karpathy disebut “ajaib” dalam “postingan blog” -nya. Anda dapat menganggapnya sebagai mesin yang diberi makan satu kata dalam satu waktu. Ia mengingat semua kata yang sebelumnya Anda masukkan ke dalam “memori” (terkadang disebut vektor tersembunyi).

Berikut adalah kesimpulan utama saya dari artikel tersebut:

  • Masalah utama dengan Vanilla Neural Networks dan Convolutional Networks adalah vektor masukan dan keluarannya (kata-kata) harus memiliki panjang yang tetap.
  • Jaring berulang dapat digunakan ketika ukuran masukan dan keluaran tidak tetap. Pikirkan tugas terjemahan bahasa, di mana panjang kalimat yang akan diterjemahkan bervariasi.

  • Keterbatasan RNN adalah biaya komputasinya mahal jika memiliki terlalu banyak “memori”, yaitu jika ukuran vektor tersembunyi terlalu besar. Upaya untuk mengatasi hal ini adalah dengan melakukan komputasi dalam sistem memori eksternal yang disebut Neural Turing Machine. Ia memiliki sistem memori eksternal yang memungkinkannya membaca dan menulis ke lokasi memori tertentu. NTM terbukti mengungguli LSTM vanilla dalam tugas-tugas yang melibatkan penyalinan dan pengurutan urutan data. Namun, saya jarang mendengar orang menggunakan NTM dalam tugas pemodelan bahasa. Beritahu saya jika Anda tidak setuju.

Tugas Penerjemahan Bahasa

Terjemahan mesin saraf dengan belajar bersama untuk menyelaraskan dan menerjemahkan

Apa itu Terjemahan Mesin Neural? Penggunaan jaringan saraf untuk tugas penerjemahan. Pendekatan yang populer dalam hal ini adalah penggunaan sistem encoder dan decoder, seperti yang dibahas dalam makalah (Mempelajari Representasi Frasa menggunakan RNN Encoder-Decoder untuk Terjemahan Mesin Statistik). Namun, sistem menjadi masalah ketika urutan input terlalu panjang, karena jaringan harus mengompresi terlalu banyak informasi menjadi sebuah vektor.

Wawasan utama. Dalam tugas penerjemahan bahasa, terdapat “keselarasan” antara kata masukan dan kata keluaran. Konkritnya, setiap kata yang diterjemahkan lebih berkaitan dengan kata-kata tertentu dalam teks masukan.

Teknik baru yang diperkenalkan dalam makalah ini. Memperkenalkan model baru yang disebut RNNSearch, yang dekodernya memiliki mekanisme perhatian. Hal ini membebaskan pembuat enkode dari keharusan menyimpan semua informasi dalam kalimat sumber.

Masih ada masalah. Makalah ini tidak membahas skenario dengan kata-kata yang tidak diketahui atau jarang terjadi.

Terjemahan Mesin Neural dengan Pemodelan Perhatian Berulang

Teknik baru yang diperkenalkan dalam makalah ini. Menyempurnakan model yang diperkenalkan pada makalah di atas dengan mempertimbangkan riwayat perhatian setiap kata.

Hasil. Model improvisasi ini mengungguli RNNSearch dalam tugas penerjemahan Inggris-Jerman dan Mandarin-Inggris.

Pendekatan efektif terhadap terjemahan mesin saraf berbasis perhatian

Apa yang baru. Memperkenalkan dua model berbasis perhatian — satu dengan pendekatan global, yang mencakup semua kata sumber; pendekatan lain dengan pendekatan lokal, di mana hanya sebagian kata sumber yang dipertimbangkan dalam satu waktu.

Bagaimana perbandingannya dengan model yang sudah ada? Konsep perhatian global serupa dengan yang digunakan dalam model RNNSearch, namun dengan beberapa penyederhanaan. Untuk perhatian lokal, ini merupakan perpaduan model perhatian lembut dan keras seperti yang dibahas dalam makalah ini (“Tunjukkan, hadiri, dan ceritakan: Pembuatan teks gambar saraf dengan perhatian visual”).

Yang Anda Butuhkan Hanya Perhatian

Apa yang berbeda kali ini? Model Terjemahan Mesin Neural pada umumnya menggunakan RNN sebagai kerangka dasar sistem encoder-decoder. Pendekatan ini memiliki dua masalah utama: (1) pemrosesan paralel tidak mungkin dilakukan karena sifat RNN yang berurutan; (2) RNN tidak dapat memodelkan ketergantungan jangka panjang.

Wawasan utama. Tugas penerjemahan lebih dari sekadar memetakan satu kata ke kata lain. Ada beberapa hubungan yang perlu kita waspadai, yaitu ketergantungan (hubungan) (1) antar kata masukan, (2) antara kata masukan dan keluaran, (3) antar kata keluaran. Daripada mempelajari dependensi ini melalui keadaan laten encoder, kita dapat melakukannya melalui mekanisme perhatian.

Jenis perhatian baru. Makalah ini memperkenalkan model transformator, yang menggantikan RNN dengan perhatian multi-head yang terdiri dari beberapa lapisan perhatian.

Mengapa mendapat begitu banyak perhatian. Ini adalah model pemetaan urutan pertama yang sepenuhnya didasarkan pada perhatian. Karena tidak adanya lapisan berulang dalam model, kecepatan pelatihannya jauh lebih cepat dan bahkan mengungguli semua ansambel yang dilaporkan sebelumnya.

Dari penerjemah hingga peringkas. Model transformator dapat disesuaikan untuk meringkas artikel wikipedia("Membuat Wikipedia dengan Meringkas Urutan Panjang").

Sumber daya tambahan. Animasi dan penjelasan tentang trafo dapat ditemukan di sini.

Sistem Terjemahan Mesin Neural Google: Menjembatani Kesenjangan antara Terjemahan Manusia dan Mesin

Motivasi dan tujuan. Model Terjemahan Mesin Neural pada umumnya tidak dapat diskalakan ke kumpulan data besar, kurang kokoh, dan sulit diterapkan. Model penerjemahan ini bertujuan untuk mengatasi masalah ini dan juga mengungguli kualitas terjemahan yang canggih saat ini.

Sistem Terjemahan Mesin Neural Multibahasa Google: Memungkinkan Terjemahan Zero-Shot

Bagaimana Google meningkatkan model sebelumnya? GNMT, teknologi canggih yang diperkenalkan oleh Google sebelumnya, sulit untuk diperluas ke banyak bahasa. Dengan hanya memperkenalkan token tambahan pada kalimat masukan untuk menentukan bahasa target, model ini mampu mencapai terjemahan zero-shot.

Apa yang dimaksud dengan terjemahan zero-shot? Kemampuan menerjemahkan pasangan bahasa yang belum pernah ada sebelumnya oleh model. Misalnya, jika model dilatih menggunakan contoh Bahasa Jepang⇄Inggris dan Bahasa Korea⇄Inggris, model tersebut juga mampu melakukan terjemahan Bahasa Korea⇄Jepang selama waktu pengujian.

Mungkin…Ada “representasi bahasa universal” yang ditemukan oleh model?

"Mencapai Kesetaraan Manusia pada Terjemahan Berita Mandarin ke Inggris Otomatis" (2018)

Kontribusi utama. Diterbitkan oleh Microsoft AI & Research, makalah ini: (1) memperkenalkan cara baru untuk mengukur kualitas terjemahan, yaitu dengan kesetaraan manusia; (2) menjelaskan teknik yang digunakan untuk mencapai tugas penerjemahan bahasa Mandarin ke bahasa Inggris yang canggih.

Potensi batasan. Teknik yang dijelaskan mungkin tidak dapat diterapkan pada pasangan bahasa lain.

Analisis Sentimen

Belajar Menghasilkan Ulasan dan Menemukan Sentimen

Apa itu. Penulis pertama-tama menggunakan pembelajaran tanpa pengawasan untuk membuat representasi teks ulasan. Mereka akhirnya menemukan bahwa unit representasi yang dipelajari menyampaikan sentimen dengan cukup akurat. Oleh karena itu, model yang dilatih dapat diadaptasi menjadi pengklasifikasi sentimen.

Pendekatan serupa. Memperkenalkan langkah-langkah “pra-pelatihan” untuk masalah pembelajaran yang diawasi bukanlah hal baru — lihat makalah ini (“Pembelajaran urutan semi-supervisi”). Alternatifnya, seseorang dapat mengoptimalkan penyematan kata sedemikian rupa sehingga dapat menangkap informasi sentimen, seperti yang dibahas dalam makalah ini (“Menyempurnakan Penyematan Kata untuk Analisis Sentimen”).

Tangkapannya. Representasi yang dipelajari sensitif terhadap distribusi data tempat mereka dilatih. Misalnya, kami mungkin tidak dapat mereplikasi eksperimen menggunakan data pelatihan yang berbeda.

Masalah gradien

Untuk memahami sebuah artikel atau audio tertulis, kita harus menghubungkan informasi masa kini dan masa lalu, yaitu menangkap ketergantungan jangka panjang. RNN adalah metode terkini untuk menangkap dependensi menggunakan propagasi mundur. Namun, hal ini menyebabkan “masalah gradien yang hilang dan meledak”, terutama untuk jaringan dalam dan data sekuensial yang panjang. Solusinya adalah dengan menggunakan LSTM, varian RNN yang lebih canggih. Namun, hal ini bisa menjadi “terlalu rumit” untuk dilatih. Oleh karena itu, sebagian besar peneliti tetap menggunakan RNN tetapi dengan beberapa penyesuaian pelatihan yang cerdas:

  • Bayesian RNN, menggunakan perkiraan posterior dan gradien terpotong untuk meningkatkan kinerja RNN
  • Memotong Backpropagation sepanjang waktu (BPTT) dan"menimbulkan kerugian tambahan tanpa pengawasan" yang memaksa RNN merekonstruksi atau memprediksi sebagian memori:

  • Gunakan Recurrent Highway Networks, varian RNN yang menggabungkan lapisan jalan raya, yang memungkinkan pelatihan jaringan feedforward yang sangat mendalam

Mungkin RNN tidak begitu bagus?

Melatih RNN itu sulit, karena memerlukan memori dan kebutuhan komputasi yang menuntut. Semakin banyak “pemikiran” yang menganjurkan penggunaan CNN atau perhatian terhadap model RNN:

Evaluasi Empiris Jaringan Konvolusional dan Berulang Generik untuk Pemodelan Urutan

Makalah ini merupakan evaluasi sistematis arsitektur berulang dan konvolusional, yang biasa digunakan dalam masalah pemodelan sekuens. Hal ini menunjukkan bahwa yang terakhir mengungguli yang pertama, dan menyimpulkan bahwa penggunaan jaringan berulang dalam tugas pemodelan urutan harus dipertimbangkan kembali.

"Jaringan Konvolusional Sangat Dalam untuk Klasifikasi Teks"n
Memperkenalkan arsitektur baru untuk masalah NLP yang terdiri dari banyak lapisan konvolusi dan penggabungan maksimal. Ini menekankan bahwa kedalaman arsitektur berkontribusi pada hasil yang lebih baik dalam masalah NLP.

Kesimpulan Pikiran

Semua model salah; beberapa model berguna.

- George EP Box

Bahasa manusia itu canggih.

Berbeda dengan gambar yang dapat direpresentasikan dalam piksel numerik, bahasa lebih dari sekadar tanda berlekuk-lekuk yang dirangkai di atas kertas atau dibacakan. Entah bagaimana, di antara karakter dan kata yang terjalin, terdapat sedikit emosi, sejarah, dan budaya, yang mana model matematikanya mungkin terlalu sederhana untuk dipahami (atau apakah mereka benar-benar memahaminya?).

Sepertinya butuh beberapa waktu agar chatbot tingkat lanjut (seperti Samantha dari film Her) bisa terwujud.

Apakah saya melewatkan makalah bagus tentang NLP? Beri tahu saya di komentar di bawah.

Rowen adalah peneliti di nurture.ai. Ikuti dia di twitter.