Beranda
Topics
Embedding
Diterbitkan: 12 Desember 2023
Kontributor: Joel Barnard
Penyematan adalah cara untuk merepresentasikan objek seperti teks, gambar, dan audio sebagai titik-titik dalam ruang vektor kontinu di mana lokasi titik-titik tersebut dalam ruang bermakna secara semantik bagi algoritme machine learning (ML).
Penyematan adalah alat yang sangat penting bagi para insinyur ML yang membangun mesin pencari teks dan gambar, sistem rekomendasi, chatbot, sistem deteksi penipuan, dan banyak aplikasi lainnya. Pada intinya, penyematan memungkinkan model machine learning untuk menemukan objek yang serupa.
Tidak seperti teknik ML lainnya, penyematan dipelajari dari data menggunakan berbagai algoritme, seperti neural networks, dan tidak secara eksplisit membutuhkan keahlian manusia untuk mendefinisikannya. Model ini memungkinkan model untuk mempelajari pola dan hubungan yang kompleks dalam data, yang jika tidak, tidak mungkin diidentifikasi oleh manusia.
Misalnya, implementasi penyematan OpenAI memungkinkan ChatGPT memahami dengan mudah hubungan antara berbagai kata dan kategori, bukan hanya menganalisis setiap kata secara terpisah. Dengan penyematan, model GPT OpenAI dapat menghasilkan respons yang lebih koheren dan relevan secara kontekstual terhadap permintaan dan pertanyaan pengguna.
Studio perusahaan generasi berikutnya bagi pembangun AI untuk melatih, memvalidasi, menyetel, dan menerapkan model AI
Sebagian besar algoritme machine learning hanya dapat menerima data numerik berdimensi rendah sebagai input. Oleh karena itu, data perlu dikonversi ke dalam format numerik. Hal ini dapat melibatkan hal-hal seperti membuat representasi "kantong kata" untuk data teks, mengubah gambar menjadi nilai piksel, atau mengubah data grafik menjadi matriks numerik.
Objek yang masuk ke dalam model penyematan adalah output sebagai penyematan, yang direpresentasikan sebagai vektor. Vektor adalah serangkaian angka (mis 1489, 22 ... 3, 777), yang mana setiap angka menunjukkan di mana objek berada pada dimensi tertentu. Jumlah dimensinya bisa mencapai seribu atau lebih tergantung kompleksitas data inputnya. Makin dekat suatu penyematan dengan penyematan lain dalam ruang berdimensi n ini, makin mirip penyematannya. Kemiripan sebaran ditentukan oleh panjang titik-titik vektor dari suatu benda ke benda lainnya (diukur dengan Euclidean, cosinus atau lainnya).
Salah satu model, Word2Vec (kata ke vektor), yang dikembangkan oleh Google pada tahun 2013, adalah sebuah metode untuk membuat penyematan kata secara efisien dengan menggunakan neural network dua lapis. Aplikasi ini mengambil input sebuah kata dan mengeluarkan koordinat n-dimensi (vektor penyematan) sehingga ketika Anda memplot vektor kata ini dalam ruang tiga dimensi, sinonim akan mengelompok.
Berikut adalah bagaimana dua kata, "dad" dan "mom" akan direpresentasikan sebagai vektor:
"dad" = [0,1548, 0,4848, ..., 1,864]
"mom" = [0,8785, 0,8974, ..., 2,794]
Meskipun ada beberapa kemiripan antara kedua kata ini, kita akan menduga bahwa "father" akan berada lebih dekat dengan "dad" dalam ruang vektor, sehingga menghasilkan titik perkalian (ukuran arah relatif dari dua vektor dan seberapa dekat mereka sejajar ke arah yang mereka tunjuk) yang lebih tinggi.
Contoh yang lebih kompleks adalah penyematan rekomendasi, yang beroperasi dengan merepresentasikan pengguna dan item (misalnya, film, produk, artikel) sebagai vektor berdimensi tinggi dalam ruang vektor yang kontinu. Penyematan ini menangkap fitur laten yang mencerminkan preferensi pengguna dan karakteristik item. Idenya adalah untuk mempelajari representasi untuk setiap pengguna dan item sedemikian rupa sehingga perkalian titik dari penyematan mereka berkorelasi dengan preferensi pengguna untuk item itu.
Setiap pengguna dan item dikaitkan dengan vektor penyematan. Vektor-vektor ini biasanya dipelajari melalui model rekomendasi selama proses pelatihan. Penyematan pengguna dan penyematan item diatur ke dalam matriks. Baris matriks pengguna mewakili pengguna, dan baris matriks item mewakili item.
Skor rekomendasi untuk pasangan pengguna dan item dapat dihitung dengan mengambil perkalian titik dari vektor penyematan pengguna dan vektor penyematan item. Makin tinggi perkalian titik, makin besar kemungkinan pengguna tertarik pada item tersebut.
Skor Rekomendasi = Penyematan Pengguna ⋅ Penyematan Item
Matriks penyematan dipelajari melalui proses pelatihan menggunakan interaksi pengguna-item historis. Model ini bertujuan untuk meminimalkan perbedaan antara skor yang diprediksi dan preferensi pengguna yang sebenarnya (misalnya, peringkat, klik, pembelian).
Setelah model dilatih, model ini dapat digunakan untuk menghasilkan rekomendasi top-N bagi pengguna. Item dengan skor prediksi tertinggi untuk pengguna direkomendasikan.
Penyematan digunakan di berbagai domain dan aplikasi karena kemampuannya untuk mengubah data berdimensi tinggi dan kategorikal menjadi representasi vektor kontinu, menangkap pola, hubungan, dan semantik yang bermakna. Di bawah ini adalah beberapa alasan mengapa penyematan digunakan dalam ilmu data:
Dengan memetakan entitas (kata, gambar, node dalam grafik, dll.) ke vektor dalam ruang kontinu, penyematan menangkap hubungan dan kesamaan semantik, memungkinkan model untuk memahami dan menggeneralisasi dengan lebih baik.
Data berdimensi tinggi, seperti teks, gambar, atau grafik, dapat ditransformasikan ke dalam representasi berdimensi lebih rendah, sehingga lebih efisien secara komputasi dan lebih mudah digunakan.
Dengan mempelajari representasi bermakna dari data, model dapat menggeneralisasi dengan baik contoh-contoh yang tidak terlihat, sehingga penyematan menjadi penting untuk tugas-tugas dengan data berlabel terbatas.
Teknik seperti t-SNE dapat diterapkan untuk memvisualisasikan penyematan dimensi tinggi dalam dua atau tiga dimensi, memberikan insight tentang hubungan dan kelompok dalam data.
Penyematan lapisan biasanya digunakan dalam arsitektur neural network untuk memetakan input kategorikal ke vektor kontinu, memfasilitasi backpropagation dan optimasi.
Penyematan adalah representasi serbaguna yang dapat diterapkan ke berbagai jenis data. Berikut ini sebagian objek paling umum yang bisa disematkan:
Kata-kata
Penyematan kata menangkap hubungan semantik dan makna kontekstual kata-kata berdasarkan pola penggunaannya dalam korpus bahasa tertentu. Setiap kata direpresentasikan sebagai vektor padat berukuran tetap dari bilangan riil. Ini adalah kebalikan dari vektor jarang, seperti one-hot encoding, yang memiliki banyak entri nol.
Penggunaan penyematan kata telah secara signifikan meningkatkan kinerja model pemrosesan bahasa alami (NLP ) dengan menyediakan representasi kata yang lebih bermakna dan efisien. Penyematan ini memungkinkan mesin untuk memahami dan memproses bahasa dengan cara menangkap nuansa semantik dan hubungan kontekstual, sehingga membuatnya bernilai untuk berbagai aplikasi, termasuk analisis sentimen, penerjemahan mesin, dan pengambilan informasi.
Model penyematan kata yang populer termasuk Word2Vec, GloVe (Vektor Global untuk Representasi Kata), FastText, dan penyematan yang berasal dari model berbasis transformator seperti BERT (Representasi Encoder Dua Arah dari Transformer) dan GPT (Generative Pre-trained Transformer).
teks
Penyematan teks memperluas penyematan kata untuk merepresentasikan seluruh kalimat, paragraf, atau dokumen dalam ruang vektor kontinu. Penyematan teks memainkan peran penting dalam berbagai aplikasi NLP, seperti analisis sentimen, klasifikasi teks, penerjemahan mesin, penjawaban pertanyaan, dan pengambilan informasi.
Model seperti Doc2Vec, USE (Universal Sentence Encoder), BERT dan ELMO (Embeddings from Language Models) telah dilatih pada sejumlah besar korpus penyematan yang telah dilatih sebelumnya, seperti Wikipedia dan Google News.
Gambar
Penyematan gambar dirancang untuk menangkap fitur visual dan informasi semantik tentang konten gambar. Penyematan gambar sangat berguna untuk berbagai tugas visual komputer, memungkinkan pemodelan kemiripan gambar, klasifikasi gambar, deteksi objek, dan tugas visual recognition lainnya.
Convolutional Neural Networks (CNN) yang populer untuk penyematan gambar termasuk model seperti VGG (Visual Geometry Group), ResNet (Residual Networks), Inception (GoogLeNet), dan EfficientNet. Model-model ini telah dilatih sebelumnya pada kumpulan data gambar berskala besar dan dapat digunakan sebagai pengekstrak fitur yang kuat.
Audio
Serupa dengan penyematan gambar dan teks, penyematan audio sering kali dibuat menggunakan arsitektur pembelajaran mendalam, khususnya recurrent neural networks (RNN), convolutional neural networks (CNN), atau model hibrida yang menggabungkan keduanya. Penyematan ini menangkap fitur dan karakteristik data audio yang relevan, memungkinkan analisis, pemrosesan, dan metrik kemiripan yang efektif. Penyematan audio sangat berguna dalam aplikasi seperti pengenalan suara, klasifikasi audio, dan analisis musik, di antaranya.
Grafik
Penyematan grafik sangat penting untuk berbagai tugas, termasuk klasifikasi node, prediksi tautan, dan deteksi komunitas dalam jaringan yang kompleks. Penyematan ini dapat digunakan dalam analisis jaringan sosial, sistem rekomendasi, analisis jaringan biologis, deteksi penipuan, dan berbagai domain lain di mana data dapat direpresentasikan sebagai grafik.
Penyematan dibuat melalui proses yang disebut "pembelajaran penyematan." Meskipun metode spesifik yang digunakan tergantung pada jenis data yang disematkan, penyematan dibuat dengan mengikuti langkah-langkah umum berikut ini:
Dalam semua kasus penyematan, idenya adalah untuk merepresentasikan data dalam ruang vektor kontinu di mana hubungan yang bermakna dipertahankan. Proses pelatihan melibatkan penyesuaian parameter model untuk meminimalkan perbedaan antara nilai prediksi dan nilai aktual berdasarkan fungsi objektif yang dipilih. Setelah dilatih, penyematan dapat digunakan untuk berbagai tugas hilir.
Penyematan digunakan secara luas dalam berbagai aplikasi dunia nyata di berbagai domain. Contohnya antara lain:
Contoh-contoh ini menyoroti keserbagunaan penyematan di berbagai aplikasi, yang menunjukkan kemampuannya untuk menangkap representasi dan hubungan yang berarti dalam berbagai jenis data.
IBM Watson Natural Language Understanding menggunakan pembelajaran mendalam untuk mengekstrak makna dan metadata dari data teks yang tidak terstruktur. Gali data Anda menggunakan analisis teks untuk mengekstrak kategori, klasifikasi, entitas, kata kunci, sentimen, emosi, relasi, dan sintaksis.
Lipat gandakan kekuatan AI dengan platform AI dan data generasi berikutnya. IBM watsonx adalah portofolio alat, aplikasi, dan solusi siap bisnis, yang dirancang untuk mengurangi biaya dan rintangan adopsi AI sambil mengoptimalkan hasil dan penggunaan AI yang bertanggung jawab.
Mengoperasikan AI di seluruh bisnis Anda untuk memberikan manfaat dengan cepat dan etis. Portofolio produk AI dan solusi analitik kelas bisnis kami yang lengkap dirancang untuk mengurangi rintangan adopsi AI dan membangun fondasi data yang tepat, sekaligus mengoptimalkan hasil dan penggunaan yang bertanggung jawab.
Dapatkan insight tentang bagaimana ML memanfaatkan data dan algoritme, contoh penggunaannya, dan hal-hal terkait untuk memberdayakan penggunaan teknologi yang bertanggung jawab dan inovatif.
Pelajari lebih lanjut tentang berbagai jenis model bahasa besar (LLM) dan manfaat, risiko, dan contoh penggunaan bisnis LLM sumber terbuka untuk AI generatif.
Python adalah bahasa pemrograman yang biasa digunakan dengan penyematan. Panduan ini akan memperkenalkan Anda pada beberapa konsep dasar yang perlu Anda ketahui untuk memulai dengan bahasa pemrograman yang sederhana ini.