Embeddings: Mendapatkan Embeddings

Ada sejumlah cara untuk mendapatkan penyematan, termasuk algoritme canggih yang dibuat di Google.

Teknik Pengurangan Dimensi Standar

Ada banyak teknik matematika yang dapat digunakan untuk mengetahui struktur penting dari ruang dimensi tinggi dalam ruang dimensi rendah. Secara teori, salah satu teknik ini dapat digunakan untuk membuat penyematan untuk sistem machine learning.

Misalnya, analisis komponen utama (PCA) telah digunakan untuk membuat penyematan kata. Mengingat kumpulan instance seperti vektor tas kata-kata, PCA mencoba menemukan dimensi yang sangat berkorelasi yang dapat diciutkan menjadi satu dimensi.

Word2vec

Word2vec adalah algoritme yang ditemukan di Google untuk melatih penyematan kata. Word2vec bergantung pada hipotesis distribusi untuk memetakan kata-kata yang memiliki kesamaan secara semantik guna menutup vektor penyematan secara geometris.

Hipotesis distribusi menyatakan bahwa kata-kata yang sering memiliki kata yang berdekatan cenderung sama secara semantik. "anjing" dan "kucing" sering muncul di dekat kata "dokter hewan", dan fakta ini mencerminkan kemiripan semantik mereka. Seperti kata ahli bahasa John Firth pada tahun 1957, "Anda akan mengetahui kata yang digunakan perusahaan ini".

Word2Vec memanfaatkan informasi kontekstual seperti ini dengan melatih jaringan neural untuk membedakan grup kata yang muncul secara bersamaan dari kata yang dikelompokkan secara acak. Lapisan input membutuhkan representasi renggang dari kata target bersama dengan satu atau beberapa kata konteks. Input ini terhubung ke satu lapisan tersembunyi yang lebih kecil.

Dalam satu versi algoritme, sistem membuat contoh negatif dengan mengganti kata derau acak dengan kata target. Mengingat contoh positif "pesawat terbang", sistem mungkin menukar "joging" untuk membuat contoh negatif yang kontras "joging terbang".

Versi lain dari algoritme membuat contoh negatif dengan menyambungkan kata target yang sebenarnya dengan kata konteks yang dipilih secara acak. Jadi, Google Analytics dapat mengambil contoh positif (pesawat, pesawat), (terbang, pesawat) dan contoh negatif (kompilasi, pesawat), (siapa, pesawat) dan belajar untuk mengidentifikasi pasangan mana yang benar-benar muncul dalam teks.

Namun, pengklasifikasi bukanlah sasaran sebenarnya untuk versi sistem mana pun. Setelah model dilatih, Anda akan memiliki penyematan. Anda dapat menggunakan bobot yang menghubungkan lapisan input dengan lapisan tersembunyi untuk memetakan representasi renggang dari kata ke vektor yang lebih kecil. Penyematan ini dapat digunakan kembali di pengklasifikasi lain.

Untuk informasi selengkapnya tentang Word2vec, lihat tutorial di tensorflow.org

Melatih Embeddings sebagai Bagian dari Model yang Lebih Besar

Anda juga dapat mempelajari penyematan sebagai bagian dari jaringan neural untuk tugas target. Pendekatan ini memberi Anda penyematan yang disesuaikan dengan baik untuk sistem tertentu, tetapi mungkin memerlukan waktu lebih lama daripada melatih penyematan secara terpisah.

Secara umum, jika Anda memiliki data renggang (atau data padat yang ingin disematkan), Anda dapat membuat unit penyematan yang hanya merupakan jenis khusus dari unit tersembunyi dengan ukuran d. Lapisan penyematan ini dapat digabungkan dengan fitur lain dan lapisan tersembunyi. Seperti pada DNN lainnya, lapisan akhir akan menjadi kehilangan yang sedang dioptimalkan. Misalnya, katakanlah kita melakukan pemfilteran kolaboratif, yang tujuannya adalah untuk memprediksi minat pengguna dari minat pengguna lain. Kita dapat membuat model ini sebagai masalah pembelajaran yang diawasi dengan menyisihkan (atau menahan) secara acak sejumlah kecil film yang telah ditonton pengguna sebagai label positif, lalu mengoptimalkan kerugian softmax.

Gambar 5. Contoh arsitektur DNN untuk mempelajari penyematan film dari data pemfilteran kolaboratif.

Sebagai contoh lain, jika Anda ingin membuat lapisan penyematan untuk kata dalam iklan real estat sebagai bagian dari DNN untuk memprediksi harga perumahan, Anda perlu mengoptimalkan L2 Kerugian menggunakan harga promo rumah yang diketahui dalam data pelatihan Anda sebagai label.

Saat mempelajari penyematan d dimensi, setiap item dipetakan ke titik dalam ruang dimensi d sehingga item serupa berada di sekitar dalam ruang ini. Gambar 6 membantu mengilustrasikan hubungan antara bobot yang dipelajari dalam lapisan penyematan dan tampilan geometris. Bobot tepi antara node input dan node dalam lapisan penyematan dimensi d sesuai dengan nilai koordinat untuk setiap sumbu d.

Gambar yang mengilustrasikan hubungan antara bobot lapisan penyematan
dan tampilan geometris penyematan.

Gambar 6. Tampilan geometris dari bobot lapisan penyematan.