Bayangkan memiliki kumpulan data ratusan ribu hingga jutaan gambar tanpa ada metadata yang menjelaskan konten setiap gambar. Bagaimana kita bisa membangun sistem yang mampu menemukan subkumpulan gambar yang paling menjawab permintaan pencarian pengguna?
Yang pada dasarnya kita perlukan adalah mesin pencari yang mampu memberi peringkat pada hasil gambar berdasarkan seberapa cocok hasil tersebut dengan permintaan pencarian, yang dapat dinyatakan dalam bahasa alami atau dengan gambar permintaan lainnya.
Cara kita memecahkan masalah dalam postingan ini adalah dengan melatih model saraf dalam yang mempelajari representasi (atau penyematan) dengan panjang tetap dari gambar dan teks masukan apa pun dan menjadikannya representasi tersebut dekat dalam ruang euclidean jika memasangkan teks- gambar atau gambar-gambar itu “serupa”.
Saya tidak dapat menemukan kumpulan data peringkat hasil pencarian yang cukup besar tetapi saya bisa mendapatkan kumpulan data ini: http://jmcauley.ucsd.edu/data/amazon/ yang menghubungkan gambar item E-niaga ke gambar mereka judul dan deskripsi. Kami akan menggunakan metadata ini sebagai sumber pengawasan untuk mempelajari gabungan representasi teks-gambar yang bermakna. Eksperimen dibatasi pada item fesyen (Pakaian, Sepatu, dan Perhiasan) dan 500.000 gambar untuk mengatur penghitungan dan biaya penyimpanan.
Kumpulan data yang kami miliki menghubungkan setiap gambar dengan deskripsi yang ditulis dalam bahasa alami. Jadi kita mendefinisikan tugas di mana kita ingin mempelajari representasi gabungan dengan panjang tetap untuk gambar dan teks sehingga setiap representasi gambar mendekati representasi deskripsinya.
Model mengambil 3 masukan: Gambar (yang merupakan jangkar), judul gambar+deskripsi (contoh positif) dan masukan ketiga adalah beberapa teks sampel acak (contoh negatif).
Kemudian kita mendefinisikan dua sub-model:
Submodel gambar menghasilkan penyematan untuk Anchor **E_a **dan submodel teks menghasilkan penyematan untuk judul positif+deskripsi E_p dan penyematan untuk teks negatif E_n .
Kami kemudian berlatih dengan mengoptimalkan kerugian triplet berikut:
L = maks( d(E_a, E_p)-d(E_a, E_n)+alfa, 0)
Dimana d adalah jarak euclidean dan alpha adalah parameter hiper sebesar 0,4 dalam percobaan ini.
Pada dasarnya apa yang dapat dilakukan oleh kerugian ini adalah membuat **d(E_a, E_p) kecil dan membuat d(E_a, E_n) **besar, sehingga setiap penyematan gambar dekat dengan penyematan deskripsinya dan jauh dari penyematan gambar teks acak.
Setelah kita mempelajari model penyematan gambar dan model penyematan teks, kita dapat memvisualisasikannya dengan memproyeksikannya ke dalam dua dimensi menggunakan tsne (https://scikit-learn.org/stable/modules/generated/sklearn.manifold.TSNE.html ).
Gambar Uji dan deskripsi teks terkait dihubungkan dengan garis hijau
Kita dapat melihat dari plot bahwa secara umum, pada ruang penyematan, gambar dan deskripsi terkaitnya berdekatan. Hal itulah yang kami harapkan mengingat kerugian pelatihan yang digunakan.
Di sini kami menggunakan beberapa contoh kueri teks untuk mencari kecocokan terbaik dalam kumpulan 70.000 gambar. Kami menghitung penyematan teks untuk kueri dan kemudian penyematan untuk setiap gambar dalam koleksi. Kami akhirnya memilih 9 gambar teratas yang paling dekat dengan kueri di ruang penyematan.
Contoh-contoh ini menunjukkan bahwa model penyematan mampu mempelajari representasi gambar yang berguna dan penyematan komposisi kata-kata sederhana.
Di sini kita akan menggunakan gambar sebagai kueri dan kemudian mencari di database 70.000 gambar untuk contoh yang paling mirip dengannya. Pemeringkatan ditentukan oleh seberapa dekat setiap pasangan gambar dalam ruang penyematan menggunakan jarak euclidean.
Hasilnya mengilustrasikan bahwa penyematan yang dihasilkan adalah representasi gambar tingkat tinggi yang menangkap karakteristik paling penting dari objek yang direpresentasikan tanpa terlalu dipengaruhi oleh orientasi, pencahayaan, atau detail lokal kecil, tanpa dilatih secara eksplisit untuk melakukannya.
Dalam proyek ini kami mengerjakan blok Pembelajaran mesin yang memungkinkan kami membuat mesin pencari berbasis kata kunci dan gambar yang diterapkan pada kumpulan gambar. Ide dasarnya adalah mempelajari fungsi penyematan yang bermakna dan digabungkan untuk teks dan gambar, lalu menggunakan jarak antar item di ruang penyematan untuk menentukan peringkat hasil pencarian.
Referensi: