Makalah · arXiv 1301.3781
Efficient Estimation of Word Representations in Vector Space
Ringkasan tiga baris
- 🎯 Model bahasa neural sebelumnya membutuhkan biaya komputasi yang terlalu mahal untuk melatih representasi kata berdimensi tinggi pada korpus multi-miliar token.
- 🔧 Memperkenalkan dua arsitektur log-linier yang membuang hidden layer non-linier: Continuous Bag-of-Words (memprediksi kata tengah dari konteks) dan Continuous Skip-gram (memprediksi konteks sekitar dari sebuah kata tengah), keduanya dioptimalkan dengan hierarchical softmax.
- 📈 Dilatih pada 6 miliar token dengan 1000 dimensi via DistBelief, Skip-gram meraih akurasi keseluruhan 65,6% pada tolak ukur analogi semantik-sintaktis baru berisi 19.544 pertanyaan, mengungguli model neural yang kompleks dengan sebagian kecil komputasi.
Abstrak
Kami mengusulkan dua arsitektur model baru untuk menghitung representasi vektor kontinu dari kata-kata pada kumpulan data yang sangat besar. Kualitas representasi ini diukur dalam tugas kemiripan kata, dan hasilnya dibandingkan dengan teknik-teknik berperforma terbaik sebelumnya yang berbasis berbagai jenis neural network. Kami mengamati peningkatan akurasi yang besar dengan biaya komputasi yang jauh lebih rendah, yakni membutuhkan waktu kurang dari sehari untuk mempelajari vektor kata berkualitas tinggi dari kumpulan data 1,6 miliar kata. Selain itu, kami menunjukkan bahwa vektor-vektor ini memberikan performa state-of-the-art pada set pengujian kami untuk mengukur kemiripan kata secara sintaktis dan semantik.
Abstrak asli (bahasa Inggris)
We propose two novel model architectures for computing continuous vector representations of words from very large data sets. The quality of these representations is measured in a word similarity task, and the results are compared to the previously best performing techniques based on different types of neural networks. We observe large improvements in accuracy at much lower computational cost, i.e. it takes less than a day to learn high quality word vectors from a 1.6 billion words data set. Furthermore, we show that these vectors provide state-of-the-art performance on our test set for measuring syntactic and semantic word similarities.
Panduan membaca
Masalah dan motivasi
Sistem NLP tradisional merepresentasikan kata sebagai indeks atomik diskret, mengabaikan hubungan semantik dan sintaktis yang melekat. Meskipun representasi kata terdistribusi yang dilatih menggunakan neural network language models (NNLM) atau recurrent neural network language models (RNNLM) secara signifikan mengungguli n-gram, kompleksitas komputasinya membuat penskalaan menjadi sangat mahal. Arsitektur sebelumnya jarang dilatih pada lebih dari beberapa ratus juta kata, dan biasanya dibatasi pada dimensionalitas antara dan .
Pada NNLM feedforward, bottleneck komputasi berasal dari hidden layer non-linier yang padat () dan output layer kosakata yang belum dinormalisasi (). Tujuan dari makalah ini adalah untuk mengeliminasi bottleneck hidden layer non-linier, memungkinkan model untuk diskalakan ke miliaran token pelatihan dan kosakata yang mencakup jutaan kata, sambil tetap mempertahankan hubungan linier yang halus (misalnya, ).
Ide-ide utama
- Menghilangkan Non-Linearitas Hidden Layer: Dengan menghapus lapisan aktivasi non-linier, kompleksitas pelatihan menurun secara drastis, memungkinkan peningkatan besar pada ukuran korpus maupun dimensi embedding.
- Continuous Bag-of-Words (CBOW): Pengklasifikasi log-linier yang memprediksi kata tengah target berdasarkan kata-kata konteks di sekitarnya (baik riwayat sebelumnya maupun kata berikutnya). Vektor-vektor konteks dirata-ratakan ke dalam projection layer bersama.
- Continuous Skip-gram: Pengklasifikasi log-linier yang memprediksi kata-kata konteks di sekitarnya dalam suatu jendela hanya berdasarkan kata tengah saat ini, dengan mengambil sampel kata-kata yang jauh secara lebih jarang.
- Hierarchical Softmax dengan Huffman Coding: Biaya normalisasi softmax dikurangi dari menjadi sekitar (atau melalui pohon Huffman, yang menetapkan kode lebih pendek untuk kata-kata yang sering muncul).
- Tolak Ukur Evaluasi Analogi: Set pengujian baru berisi 19.544 pertanyaan yang mengevaluasi keteraturan linguistik sintaktis (misalnya, komparatif, past tense) dan semantik (misalnya, ibu kota-negara, mata uang) menggunakan aritmetika vektor dan jarak kosinus.
Metode (dengan persamaan-persamaan utama)
Kompleksitas pelatihan didefinisikan sebagai jumlah akses parameter di seluruh epoch, kata dalam set pelatihan, dan biaya per contoh :
Baseline NNLM Feedforward
Untuk panjang konteks , dimensi embedding , unit tersembunyi , dan ukuran kosakata : Ketika menggunakan hierarchical softmax, suku keluaran berkurang menjadi , menyisakan sebagai bottleneck.
Baseline Recurrent Neural Net Language Model (RNNLM)
Dengan dimensi hidden state sama dengan dimensi embedding : Menggunakan hierarchical softmax, suku keluaran berkurang menjadi , menyisakan transisi rekuren sebagai biaya dominan.
Continuous Bag-of-Words (CBOW)
CBOW menggantikan hidden layer dengan projection layer yang dirata-ratakan di seluruh kata konteks (biasanya 4 kata sebelum dan 4 kata sesudah):
Continuous Skip-gram
Skip-gram mengambil kata tengah dan memprediksi kata-kata konteks dalam jarak maksimum (dalam eksperimen, ). Untuk setiap kata, offset diambil secara seragam, memprediksi kata sebelum dan sesudahnya:
Pencarian Analogi
Pertanyaan dalam bentuk " terhadap seperti halnya terhadap " dijawab dengan mencari vektor kosakata yang memaksimalkan:
Hasil (dengan angka-angka terpenting)
- Performa Tolak Ukur Analogi (640-D, 320 juta kata):
- RNNLM: 9% Semantik, 36% Sintaktis.
- NNLM: 23% Semantik, 53% Sintaktis.
- CBOW: 24% Semantik, 64% Sintaktis.
- Skip-gram: 55% Semantik, 59% Sintaktis.
- Penskalaan pada Google News 6 miliar token (pelatihan terdistribusi DistBelief):
- NNLM (-D): 34,2% Semantik, 64,5% Sintaktis, 50,8% Total (memerlukan waktu hari-core CPU).
- CBOW (-D): 57,3% Semantik, 68,9% Sintaktis, 63,7% Total (memerlukan waktu hari-core CPU).
- Skip-gram (-D): 66,1% Semantik, 65,1% Sintaktis, 65,6% Total (memerlukan waktu hari-core CPU).
- Microsoft Sentence Completion Challenge: Skip-gram mandiri mencapai akurasi 48,0%; digabungkan dengan ansambel RNNLM, model ini mencapai akurasi state-of-the-art sebesar 58,9%.
- Epoch vs. Data: Pelatihan selama 1 epoch pada data dua kali lebih banyak menunjukkan performa yang sebanding atau lebih baik daripada 3 epoch pada data yang lebih kecil, sekaligus mengurangi waktu pelatihan (wall-clock time).
Keterbatasan dan pertanyaan terbuka
- Metrik Evaluasi Exact Match: Set pengujian menganggap sinonim sebagai kesalahan (misalnya, memprediksi kota ekuivalen yang valid atau bentuk jamak), yang menetapkan batas atas artifisial di bawah 100%.
- Kurangnya Morfologi Subkata: Kata diperlakukan sebagai token tunggal; model tidak mengeksploitasi struktur karakter atau morfem internal, membatasi generalisasi sintaktisnya pada kata-kata langka atau terinfleksi.
- Frasa Multi-Kata: Model ini hanya beroperasi pada kata ber-token tunggal dan secara native tidak menangani ekspresi multi-kata (seperti "New York").
- Performa pada Sentence Completion: Skip-gram saja mencetak skor lebih rendah (48,0%) dibandingkan rata-rata kemiripan LSA (49,0%) pada tugas Microsoft Sentence Completion, sehingga bergantung pada hibridisasi dengan RNNLM untuk mencapai hasil yang kompetitif.
Istilah kunci
- Continuous Bag-of-Words Model
- Arsitektur neural log-linier (CBOW) yang memprediksi target kata tengah dari rata-rata kontinu vektor kata konteks sebelum dan sesudahnya tanpa hidden layer.
- Continuous Skip-gram Model
- Model log-linier yang menggunakan vektor kata target untuk memprediksi kata-kata konteks di sekitarnya dalam jendela yang disampel secara dinamis.
- Hierarchical Softmax
- Aproksimasi lapisan output yang menyusun kosakata ke dalam pohon biner (seperti pohon Huffman), mengurangi kompleksitas evaluasi dari menjadi sekitar .
- Semantic-Syntactic Word Relationship test set
- Tolak ukur dari 19.544 pertanyaan analogi (8.869 semantik dan 10.675 sintaktis) yang dirancang untuk mengevaluasi offset vektor menggunakan cosine similarity.
- DistBelief
- Kerangka komputasi terdistribusi yang dikembangkan di Google untuk melatih arsitektur neural network di ratusan core CPU via pembaruan gradien asinkron.
- Word offset technique
- Aritmetika vektor sederhana (misalnya, ) yang digunakan untuk mengidentifikasi kata analogi via pencarian kosinus tetangga terdekat.
- Huffman binary tree
- Representasi pohon pengodean berbasis frekuensi dari kosakata yang digunakan dalam hierarchical softmax untuk menetapkan jalur yang lebih pendek ke kata-kata yang sering muncul, memangkas biaya evaluasi.
Pertanyaan
Apa perbedaan arsitektur utama antara NNLM dan CBOW?
CBOW menghapus hidden layer non-linier sepenuhnya dan merata-ratakan representasi kontinu dari kata-kata konteks dalam projection layer bersama, mengeliminasi bottleneck komputasi .
Bagaimana Continuous Skip-gram menangani kata-kata konteks pada jarak yang berbeda?
Skip-gram mengambil sampel kata konteks hingga jarak maksimum (biasanya 10), tetapi mengambil sampel kata yang lebih jauh secara lebih jarang dengan menarik ukuran jendela secara acak untuk setiap kata pelatihan.
Model mana yang berkinerja lebih baik pada tugas semantik vs. sintaktis?
CBOW mencapai akurasi lebih tinggi pada analogi sintaktis (64% vs. 59% pada 640-D), sedangkan Skip-gram berkinerja jauh lebih baik pada analogi semantik (55% vs. 24% pada 640-D).
Apakah lebih baik melatih untuk beberapa epoch atau menggunakan lebih banyak data dengan lebih sedikit epoch?
Makalah ini menemukan bahwa melatih selama satu epoch pada data dua kali lebih banyak menghasilkan kualitas representasi yang setara atau lebih unggul dibandingkan dengan melakukan iterasi pada data yang lebih kecil selama tiga epoch, sekaligus melatih lebih cepat.
Ulasan di halaman ini ditulis oleh AI dari makalah dan mungkin mengandung kesalahan. Baca makalahnya untuk detail.