Apa itu vector embedding?

Apa itu vector embedding?
28 June 2025 Updated: 28 June 2025

Apa Itu Vektor Embedding ?
Secara sederhana, vektor  embedding adalah cara untuk merepresentasikan objek non-numerik (seperti kata, gambar, pengguna, produk, film, dll.) ke dalam bentuk numerik, yaitu sebuah daftar angka (vektor). Bayangkan Anda memiliki sebuah kata, misalnya "kucing". Komputer tidak mengerti arti "kucing" secara langsung. Ia hanya mengerti angka. Agar komputer bisa memproses dan memahami hubungan antara "kucing" dengan kata lain seperti "hewan" atau "melompat", kita perlu mengubah kata itu menjadi sesuatu yang bisa diukur secara matematis. Inilah fungsi vektor embedding .Setiap angka dalam vektor ini mewakili fitur atau karakteristik tertentu dari objek tersebut. Semakin mirip dua objek, semakin dekat pula vektor representasi mereka dalam ruang multidimensional.

Analogi Sederhana: Sistem Koordinat Geografis
Bayangkan Anda ingin merepresentasikan lokasi sebuah kota. Anda tidak bisa hanya menulis "Jakarta". Anda perlu koordinat: garis lintang dan garis bujur.

  • Jakarta: [-6.2088, 106.8456]
  • Bandung: [-6.9175, 107.6191]

Di sini, [-6.2088, 106.8456] adalah vektor (daftar angka) yang merepresentasikan Jakarta. Anda bisa melihat bahwa Jakarta dan Bandung memiliki angka yang relatif "dekat" karena keduanya di Pulau Jawa dan tidak terlalu jauh. Sementara itu, London mungkin akan memiliki vektor yang sangat berbeda: [51.5074, -0.1278].

Semakin dekat angka-angka dalam vektor (secara matematis), semakin dekat pula lokasi fisik kedua kota tersebut.

Mengapa Kita Membutuhkan Vektor Embedding ?

  1. Komputer Hanya Mengerti Angka: Model machine learning (termasuk AI) bekerja dengan matematika. Mereka membutuhkan input numerik untuk melakukan perhitungan, menemukan pola, dan membuat prediksi.
  2. Menangkap Makna dan Hubungan: Embedding vektor dirancang agar objek yang "mirip" atau "berhubungan" memiliki vektor yang "mirip" juga. Misalnya, embedding untuk "raja" dan "ratu" akan lebih dekat daripada "raja" dan "pisang". Embedding untuk "mobil" dan "truk" akan lebih dekat daripada "mobil" dan "bunga".
  3. Mengurangi Dimensi (Efisiensi): Seringkali, objek memiliki banyak fitur atau karakteristik. Embedding vektor bisa merangkum informasi penting ini ke dalam vektor yang lebih kecil (dimensi rendah) tanpa kehilangan terlalu banyak informasi, sehingga komputasi menjadi lebih efisien.
  4. Memungkinkan Operasi Matematika: Setelah objek direpresentasikan sebagai vektor, kita bisa melakukan operasi matematika pada mereka: Menghitung kemiripan (similarity): Mengukur seberapa mirip dua vektor. Ini yang Anda lihat di output Anda: Similarity score between property 1 and 3: 0.43430093. Ini dihitung berdasarkan kedekatan dua vektor. Menemukan analogi: Seperti raja - pria + wanita = ratu. Operasi ini bisa dilakukan dengan aljabar vektor.

Contoh Penerapan Vektor Embedding

  • Pemrosesan Bahasa Alami (NLP):
    • Word Embeddings (Word2Vec, GloVe, FastText): Merepresentasikan kata-kata sebagai vektor. Kata-kata dengan makna serupa memiliki vektor yang dekat. Ini membantu dalam terjemahan mesin, analisis sentimen, atau pencarian informasi.
    • Sentence/Document Embeddings: Merepresentasikan seluruh kalimat atau dokumen sebagai satu vektor. Berguna untuk peringkasan teks, deteksi plagiarisme, atau sistem rekomendasi artikel.
  • Sistem Rekomendasi:
    • Setiap pengguna dan setiap item (film, produk, lagu) bisa memiliki embedding vektor.
    • Jika embedding seorang pengguna dekat dengan embedding sebuah film, maka film itu kemungkinan besar akan disukai pengguna tersebut.
  • Pencarian Gambar:
    • Setiap gambar diubah menjadi vektor. Saat Anda mengunggah gambar untuk dicari, gambar itu diubah menjadi vektor, dan sistem mencari gambar lain yang memiliki vektor serupa.
  • Deteksi Anomali:
    • Data yang biasanya membentuk klaster yang rapat akan memiliki vektor yang dekat. Titik data dengan vektor yang sangat jauh dari klaster lain bisa jadi anomali.

Bagaimana Vektor Embedding Dibuat? dan bagaimana algoritmanya?
Vektor Embedding tidak dibuat secara manual. Mereka dipelajari (learned) oleh model machine learning melalui proses pelatihan. Misalnya, untuk word embedding, model akan melihat miliaran kata dalam teks dan belajar konteks di mana setiap kata muncul. Kata-kata yang sering muncul dalam konteks yang sama akan memiliki vektor yang serupa. 

Untuk membahas "algoritma atau rumus vector embedding", penting untuk memahami bahwa tidak ada satu rumus universal untuk semua jenis vector embedding. Vector embedding adalah hasil dari berbagai algoritma pembelajaran mesin yang berbeda, dan masing-masing memiliki cara kerja matematisnya sendiri. Namun, dijelaskan prinsip umum dan memberikan contoh beberapa algoritma populer serta intisari matematis di baliknya.

Prinsip Umum Pembentukan Vector Embedding
Sebagian besar algoritma vector embedding bekerja berdasarkan prinsip "distribusi hipotesis":

  • "Kata-kata yang muncul di konteks yang sama cenderung memiliki makna yang serupa." (Untuk embedding kata)
    Atau secara lebih umum:
  • "Objek yang memiliki interaksi atau karakteristik kontekstual yang serupa cenderung memiliki representasi yang serupa." (Untuk objek lain seperti gambar, pengguna, dll.)

Algoritma ini belajar untuk memetakan setiap objek (kata, gambar, dll.) ke dalam sebuah ruang vektor (sebuah ruang multidimensional) sedemikian rupa sehingga:

  • Objek yang mirip/berhubungan akan memiliki vektor yang "dekat" satu sama lain. (Kedekatan diukur dengan metrik seperti Cosine Similarity atau Euclidean Distance).
  • Vektor tersebut menangkap karakteristik semantik atau fitur relevan dari objek.

Bagaimana "Rumus" atau "Algoritma" Bekerja (Contoh Populer) Mari kita ambil contoh paling terkenal: Word Embeddings (embedding kata), karena konsepnya paling mudah divisualisasikan.

  1. Word2Vec (Mikolov et al., 2013)

Word2Vec adalah salah satu algoritma paling revolusioner dalam pembuatan word embedding. Ia memiliki dua arsitektur utama:

  • CBOW (Continuous Bag-of-Words): Memprediksi kata target berdasarkan kata-kata di sekitarnya (konteks).
  • Skip-gram: Memprediksi kata-kata di sekitarnya (konteks) berdasarkan kata target.

Intisari "Rumus"/Cara Kerja Skip-gram: Bayangkan Anda memiliki sebuah kalimat: "kucing duduk di atas tikar". Jika "duduk" adalah kata target, kata-kata konteksnya mungkin "kucing", "di", "atas", "tikar". Algoritma Skip-gram berusaha memaksimalkan probabilitas bahwa kata-kata konteks (wc) akan muncul di sekitar kata target (wt). Ini dilakukan dengan menggunakan fungsi Softmax. Matematisnya, tujuan Skip-gram adalah memaksimalkan fungsi log-probabilitas rata-rata untuk setiap kata dalam korpus pelatihan:

Di mana:

  • T adalah total jumlah kata dalam korpus.
  • wt​ adalah kata target saat ini.
  • wt+j​ adalah kata konteks di sekitar wt​ dalam jendela berukuran c.
  • P(wo​∣wi​) adalah probabilitas kata konteks wo​ diberikan kata target wi​.

Probabilitas ini biasanya dihitung menggunakan Softmax Function:

Di mana:

  • vwi​​ adalah vektor input (embedding) dari kata target wi​.
  • v'wo​ adalah vektor output (embedding) dari kata konteks wo​.
  • V adalah ukuran kosakata (jumlah kata unik).
  • vT berarti transpose dari vektor v.
  • exp adalah eksponensial.

Bagaimana ini menciptakan embedding?

Selama pelatihan, model memiliki dua matriks embedding yang awalnya diinisialisasi secara acak: satu untuk vektor input (Vinput) dan satu untuk vektor output (Voutput​). Model terus-menerus menyesuaikan nilai-nilai dalam matriks ini (menggunakan backpropagation dan gradient descent) untuk memaksimalkan probabilitas kata-kata konteks muncul bersama kata target. Setelah pelatihan selesai, kolom-kolom dari matriks Vinput (atau kadang Voutput atau rata-rata keduanya) menjadi embedding vektor untuk setiap kata. Kata-kata yang sering muncul dalam konteks yang sama akan memiliki vektor yang disesuaikan sedemikian rupa sehingga produk titik ( )mereka tinggi, yang pada gilirannya menghasilkan probabilitas tinggi melalui softmax, dan membuat vektor mereka "dekat" dalam ruang embedding.

Penyempurnaan: Word2Vec sering menggunakan teknik seperti Negative Sampling untuk membuat perhitungan Softmax lebih efisien (tidak perlu menjumlahkan seluruh kosakata V).

2. GloVe (Global Vectors for Word Representation - Pennington et al., 2014)
Berbeda dengan Word2Vec yang fokus pada konteks lokal (jendela geser), GloVe menggabungkan informasi konteks lokal dengan statistik ko-kemunculan global dari seluruh korpus.

Intisari "Rumus"/Cara Kerja GloVe:

GloVe meminimalkan fungsi kerugian (loss function) yang mengamati perbandingan log dari rasio ko-kemunculan kata.

Di mana:

  • V adalah ukuran kosakata.
  • Xij​ adalah jumlah kali kata i dan kata j muncul bersama dalam jendela konteks. Ini adalah entri dalam matriks ko-kemunculan.
  • wi​ dan wj​ adalah dua set vektor embedding untuk kata i dan kata j (masing-masing sebagai kata utama dan kata konteks).
  • bi​ dan bj​ adalah bias.
  • f(Xij​) adalah fungsi pembobotan yang memberi bobot lebih rendah pada pasangan kata yang sangat sering muncul atau sangat jarang muncul.

Tujuan GloVe adalah menemukan vektor wi​ dan w~j​ (serta bias) yang meminimalkan nilai J. Ketika J kecil, maka wiT​w~j​ akan mendekati logXij​, yang berarti produk titik antara vektor kata akan merefleksikan seberapa sering mereka muncul bersama dalam korpus. Setelah pelatihan, wi​ adalah embedding vektor untuk kata i (seringkali, wi​ dan w~j​ dijumlahkan atau dirata-ratakan).

3. Embedding untuk Data Lain (Non-teks)
Konsep dasar "belajar representasi dari interaksi atau konteks" berlaku juga:

  • Gambar: Dalam Jaringan Saraf Konvolusional (CNN) untuk klasifikasi gambar, lapisan-lapisan tengah jaringan (sebelum lapisan klasifikasi terakhir) sering kali menghasilkan vektor fitur (embedding) untuk gambar. Vektor ini menangkap karakteristik visual penting dari gambar. Tidak ada rumus tunggal, melainkan serangkaian operasi konvolusi, pooling, dan aktivasi yang kompleks.
  • Sistem Rekomendasi (Matrix Factorization, Neural Collaborative Filtering):
    • Matrix Factorization (MF): Merepresentasikan pengguna dan item (film, produk) sebagai vektor embedding. Misalkan U adalah matriks embedding pengguna dan M adalah matriks embedding item. Untuk memprediksi rating pengguna u terhadap item i, Anda mengambil produk titik dari embedding vektor pengguna u (u) dan embedding vektor item i (mi​): Rui​≈uuT​mi​. Algoritma belajar vektor uu​ dan mi​ untuk meminimalkan perbedaan antara rating prediksi dan rating sebenarnya.
    • Neural Collaborative Filtering (NCF): Menggunakan arsitektur jaringan saraf untuk mempelajari interaksi pengguna-item dan menghasilkan embedding yang lebih kaya.
  • Graph Embeddings (Node2Vec, GraphSAGE): Untuk data yang direpresentasikan sebagai grafik (jaringan). Algoritma ini belajar embedding untuk setiap node (simpul) dalam grafik berdasarkan struktur konektivitas node tersebut dengan node lain.

Kesimpulan

  • Vektor Embedding adalah jembatan antara data non-numerik (yang tidak dimengerti komputer) dan dunia matematika yang dimengerti oleh algoritma machine learning. Mereka memungkinkan AI untuk memahami makna, hubungan, dan kemiripan antara berbagai jenis data, membuka pintu untuk berbagai aplikasi cerdas yang kita lihat setiap hari.
  • "Rumus" vector embedding bukanlah rumus aljabar sederhana yang Anda masukkan angka dan langsung keluar embedding. Sebaliknya, embedding vektor adalah parameter (bobot) dari model pembelajaran mesin yang secara iteratif disesuaikan selama proses pelatihan untuk memenuhi tujuan tertentu (misalnya, memprediksi kata konteks, meminimalkan fungsi kerugian ko-kemunculan, memprediksi rating, dll.).
  • Proses ini melibatkan optimisasi yang kompleks (seperti gradient descent) yang terus-menerus "memahat" vektor-vektor tersebut sehingga mereka menangkap makna dan hubungan yang diinginkan dari data asli.
D'Win