Apa itu penyematan

22 Desember 2023

Penyusun

Joel Barnard

Writer

Apa itu penyematan

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.

Desain 3D bola yang menggelinding di lintasan

Berita + Insight AI terbaru 


Temukan insight dan berita yang dikurasi oleh para pakar tentang AI, cloud, dan lainnya di Buletin Think mingguan. 

Cara kerja penyematan

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] 

 jutaojuta=[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.

 RecojutajutaenDationScore=UserEjutaBeDDingadalahtejutaEjutaBeDDing 

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.

Mixture of Experts | Podcast

Decoding AI: Rangkuman Berita Mingguan

Bergabunglah dengan panel insinyur, peneliti, pemimpin produk, dan sosok kelas dunia lainnya selagi mereka mengupas tuntas tentang AI untuk menghadirkan berita dan insight terbaru seputar AI.

Mengapa menggunakan penyematan

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:

Representasi semantik

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.

Pengurangan dimensi

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.

Generalisasi model yang lebih baik

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.

Visualisasi yang efektif

Teknik seperti t-SNE dapat diterapkan untuk memvisualisasikan penyematan dimensi tinggi dalam dua atau tiga dimensi, memberikan insight tentang hubungan dan kelompok dalam data.

Pelatihan yang efisien dalam neural networks

Penyematan lapisan biasanya digunakan dalam arsitektur neural network untuk memetakan input kategorikal ke vektor kontinu, memfasilitasi backpropagation dan optimasi.

Objek apa saja yang bisa disematkan?

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.

Bagaimana penyematan dibuat

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:

  1. Pilih atau latih model penyematan: Pilih model penyematan yang sudah ada sebelumnya yang sesuai untuk data dan tugas Anda, atau latih yang baru jika perlu. Untuk teks, Anda dapat memilih Word2Vec, GLove, atau BERT. Untuk gambar, Anda dapat menggunakan CNN yang sudah dilatih seperti VGG atau ResNet.

  2. Siapkan data Anda: Format data Anda dengan cara yang kompatibel dengan model penyematan yang dipilih. Untuk teks, ini melibatkan tokenisasi dan mungkin prapemrosesan. Untuk gambar, Anda mungkin perlu mengubah ukuran dan menormalkan gambar.

  3. Muat atau latih model penyematan: Jika menggunakan model yang telah dilatih sebelumnya, muat bobot dan arsitektur. Jika melatih model baru, berikan data pelatihan yang Anda siapkan ke algoritma.

  4. Buat penyematan: Untuk setiap titik data, gunakan model yang telah dilatih atau dimuat untuk menghasilkan penyematan. Misalnya, jika menggunakan model penyematan kata, masukkan kata untuk mendapatkan vektor yang sesuai.

  5. Integrasikan penyematan ke dalam aplikasi Anda: Gunakan penyematan yang dihasilkan sebagai fitur dalam model machine learning Anda, atau untuk pencarian kemiripan, rekomendasi, pengelompokan, dll., tergantung pada tugas spesifik Anda.

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.

Contoh dunia nyata dari penyematan

 

Penyematan digunakan secara luas dalam berbagai aplikasi dunia nyata di berbagai domain. Contohnya antara lain:

Pemrosesan Bahasa Alami (NLP)

  • Penyematan kata dalam analisis sentimen: Penyematan kata seperti Word2Vec atau GloVe digunakan untuk merepresentasikan kata dalam ruang vektor berkelanjutan. Model analisis sentimen dapat memanfaatkan penyematan ini untuk memahami dan mengklasifikasikan sentimen suatu teks.

  • BERT untuk menjawab pertanyaan: Penyematan BERT digunakan dalam sistem penjawab pertanyaan. Model ini dapat memahami konteks pertanyaan dan dokumen untuk mengekstrak informasi yang relevan.

  • Kemiripan teks dengan Doc2Vec: Penyematan Doc2Vec diterapkan dalam tugas-tugas seperti menemukan dokumen yang serupa. Penempatan dokumen dibandingkan untuk mengukur kesamaan semantik antara dokumen.

Visi komputer

  • Klasifikasi gambar dengan CNN: CNN, seperti VGG atau ResNet, digunakan untuk tugas klasifikasi gambar. Fitur lapisan akhir atau lapisan perantara dapat berfungsi sebagai penyematan gambar.

  • Pengambilan gambar menggunakan CLIP: Model CLIP mempelajari penyematan bersama untuk gambar dan teks. Hal ini memungkinkan aplikasi seperti pengambilan gambar berdasarkan kueri bahasa alami.

  • Pengenalan wajah dengan FaceNet: FaceNet membuat penyematan untuk wajah yang dapat digunakan untuk pengenalan wajah. Penyematan ini sering digunakan untuk mengukur kemiripan antara wajah yang berbeda.

Sistem pemberi rekomendasi

  • Pemfilteran kolaboratif dengan penyematan: Penyematan digunakan untuk merepresentasikan pengguna dan item dalam model penyaringan kolaboratif. Metode faktorisasi matriks memanfaatkan penyematan ini untuk membuat rekomendasi yang dipersonalisasi.

  • Rekomendasi produk dengan penyematan kata: Dalam e-commerce, deskripsi produk atau ulasan dapat disematkan menggunakan penyematan kata. Produk serupa dapat direkomendasikan berdasarkan kesamaan semantik dari penyematan mereka.

Aplikasi lintas modal

  • Penerjemahan multimodal dengan MUSE: MUSE (Multilingual Universal Sentence Encoder) memungkinkan pemahaman lintas bahasa dan lintas modalitas. Ini dapat digunakan untuk tugas-tugas seperti menerjemahkan teks antara bahasa yang berbeda atau menghubungkan gambar dengan deskripsi yang sesuai.

  • Pencarian lintas modal menggunakan penyematan bersama: Penyematan bersama dipelajari untuk modalitas yang berbeda, seperti gambar dan teks. Hal ini memungkinkan pencarian lintas modalitas, yang mana kueri dalam satu modalitas mengambil hasil dalam modalitas lain.

Deteksi anomali

  • Deteksi anomali jaringan dengan penyematan graf: Penyematan node jaringan dapat digunakan untuk mendeteksi anomali. Perubahan pada ruang penyematan mungkin mengindikasikan perilaku yang tidak biasa.

  • Deteksi penipuan dengan penyematan transaksi: Penyematan data transaksi dapat membantu mengidentifikasi pola yang terkait dengan aktivitas penipuan. Penempatan yang tidak biasa dapat mengindikasikan adanya potensi transaksi penipuan.

Contoh-contoh ini menyoroti keserbagunaan penyematan di berbagai aplikasi, yang menunjukkan kemampuannya untuk menangkap representasi dan hubungan yang berarti dalam berbagai jenis data.

Solusi terkait
IBM watsonx.ai

Latih, validasi, lakukan tuning, dan terapkan AI generatif, model dasar, dan kemampuan machine learning dengan IBM watsonx.ai, studio perusahaan generasi berikutnya untuk pembangun AI. Bangun aplikasi AI dalam waktu singkat, dengan sedikit data.

Temukan watsonx.ai
Solusi kecerdasan buatan (AI)

Gunakan AI di bisnis Anda dalam perpaduan antara keahlian AI terdepan di industri dari IBM dan portofolio solusi Anda.

Jelajahi solusi AI
Konsultasi dan layanan AI

Temukan kembali alur kerja dan operasi yang penting dengan menambahkan AI untuk memaksimalkan pengalaman, pengambilan keputusan secara real-time, dan nilai bisnis.

Jelajahi layanan AI
Ambil langkah selanjutnya

Dapatkan akses satu atap ke kemampuan yang mencakup siklus hidup pengembangan AI. Hasilkan solusi AI yang kuat dengan antarmuka ramah pengguna, alur kerja yang efisien, serta akses ke API dan SDK berstandar industri.

Jelajahi watsonx.ai Pesan demo langsung