Apa itu penyematan
Jelajahi IBM watsonx.ai
Konsep Neural Networks Komputer

Diterbitkan: 12 Desember 2023
Kontributor: Joel Barnard

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.

Ikuti tur IBM® watsonx.ai

Studio perusahaan generasi berikutnya bagi pembangun AI untuk melatih, memvalidasi, menyetel, dan menerapkan model AI

Konten terkait

Berlangganan buletin IBM

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]

    "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.

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.

  • Kesamaan teks dengan Doc2Vec: Penyematan Doc2Vec diterapkan dalam tugas seperti menemukan dokumen serupa. Penyematan dokumen dibandingkan untuk mengukur kesamaan semantik antar 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 atau ulasan produk dapat disematkan menggunakan penyematan kata. Produk serupa dapat direkomendasikan berdasarkan kemiripan semantik dari penyematannya.

 

Aplikasi lintas modal

 

  • Terjemahan 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. Penyematan yang tidak biasa dapat mengindikasikan transaksi yang berpotensi 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 Natural Language Understanding

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.

Jelajahi NLU

IBM watsonx

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.

Jelajahi watsonx

Solusi IBM AI

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.

Jelajahi solusi AI
Sumber daya Apa yang dimaksud dengan machine learning?

Dapatkan insight tentang bagaimana ML memanfaatkan data dan algoritme, contoh penggunaannya, dan hal-hal terkait untuk memberdayakan penggunaan teknologi yang bertanggung jawab dan inovatif.

Model-model bahasa besar sumber terbuka: Manfaat, risiko, dan jenisnya

Pelajari lebih lanjut tentang berbagai jenis model bahasa besar (LLM) dan manfaat, risiko, dan contoh penggunaan bisnis LLM sumber terbuka untuk AI generatif.

Panduan pemula untuk Python

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.

Ambil langkah selanjutnya

Mempercepat adopsi AI generatif dengan watsonx.ai, sebuah studio perusahaan generasi berikutnya bagi para pembangun AI untuk melatih, memvalidasi, melakukan tuning, dan menerapkan model-model AI.

Demo watsonx.ai