SSL metode contrastive berbasis energi


Pada tulisan sebelumnya telah dibahas bahwa ada 2 metode untuk mencegah collapse yaitu metode contrastive dan regularization. Collapse terjadi bila energi yang dihasilkan pada kasus x dan y tidak match tidak lebih besar bila dibandingkan pada kasus x dan y match.

Metode contrastive

Metode Contrastive dibangun berdasarkan ide sederhana untuk membangun pasangan x dan y yang tidak kompatible, dan menyesuaikan parameter dari model sehingga energi output adalah besar.

Pada gambar diatas terlihat melakukan training EBM dengan metode contrastive terdiri dari menurunkan energi dari pasangan compatible (x,y) secara simultan dari training set, di gambar yang berwarna biru, dan menaikan energi dari pasangan (x,y) yang dipilih dan tidak compatible, dilambangkan dengan titik hijau. Dalam contoh sederhana ini, x dan y adalah skalar, tapi dalam realitanya, x dan y bisa berupa image atau video dengan jutaan dimensi. Menghasilkan pasangan yang tidak kompatibel yang akan membentuk energi dengan cara yang sesuai adalah tidak mudah dan membutuhkan komputasi besar.

Metode yang digunakan untuk melakukan training pada sistem NLP dengan menutupi (masking) atau mengganti beberapa kata input termasuk dalam kategori contrastive method. Namun tidak menggunakan arsitektur joint embedding. Sebaliknya mereka menggunakan arsitektur prediktif dimana model secara langsung menghasilkan prediksi untuk y. Caranya dengan memulai keseluruhan segment untuk tex y, dan kemudian merusaknya (corrupt), misalnya dengan menutupi beberapa kata untuk menghasilkan pengamatan x. Input yang korup dimasukan ke sebuah neural network yang besar yang dilatih untuk mereproduksi teks asli y. Teks yang tidak korup akan direkonstruksi sebagai dirinya sendiri (kesalahan rekonstruksi rendah), sedangkan teks yang rusak akan direkonstruksi sebagai versi dirinya sendiri yang tidak rusak (kesalahan rekonstruksi besar). Jika kita menerjemahkan eror rekonstruksi eror sebagai energi, ia akan memiliki properti yang diinginkan: energi rendah unutk teks bersih dan energi yang lebih tinggi untuk teks rusak (corrupt).

Teknik yang umum digunakan untuk melakukan training sebuah model untuk mengembalikan sebuah versi yang korup dari sebuah input disebut denoising auto-encoder. Bentuk awal dari ide ini berasal dari tahun 1980, tapi dipopulerkan pada tahun 2008 oleh Pascal Vincent dan koleganya di Universitas Montréal, kemudian diimplementasikan di NLP oleh Collobert dan Weston, dan dipoplerkan oleh BERT paper dari peneliti Google.

Model bahasa yang disembunyikan, merupakan contoh denoising auto-encoder, merupakan contoh SSL contrastive. Variabel y adalah sebuah segmen teks; x adalah sebuah versi dari teks dimana beberapa kata telah disembunyikan. Jaringan ditrain untuk merekonstruksi teks yang tidak korup.

Arsitektur prediksi tipe ini dapat menghasilkan sebuah prediksi untuk sebuah input yang diberikan. Karena model harus dapat memprediksi beberapa hasil output yang mungkin, prediksinya bukan satu set kata tapi serangkaian skor untuk setiap kata pada kosakata untuk setiap lokasi kata yang hilang.

Tapi teknik ini tidak dapat digunakan untuk iamge, karena kita tidak dapat menghitung semua gambar yang mungkin. Masalah ini belum dapat diatasi. Ada beberapa ide yang telah diajukan, namun tidak belum membuahkan hasil sebaik arsitektur joint embedding. Salah satu ide yang menarik adalah arsitektur prediksi latent-variable.

Sampai disini dulu, tentang arsitektur prediksi latent-variable akan saya lanjutkan pada tulisan berikutnya insyaAllah. Semoga Bermanfaat!


Silahkan tuliskan tanggapan, kritik maupun saran