Menerapkan model teks gambar saraf dengan PyTorch berdasarkan arsitektur encoder-decoder.
Kumpulan datanya adalah Flikr8k, yang cukup kecil untuk menghitung anggaran dan mendapatkan hasilnya dengan cepat. Dalam dataset tersebut terdapat 8091 gambar, dengan 5 caption untuk setiap gambar. Sehingga rawan terjadinya overfit jika modelnya terlalu rumit. Sumber resminya rusak, tautan lain untuk kumpulan data mungkin ada di sini dan di sini
Arsitektur model dijelaskan seperti di bawah ini. Jaringan encoder untuk gambar tersebut adalah Resnet-101 (dapat dimuat dari torchvision). Decoder pada dasarnya adalah model bahasa berbasis LSTM, dengan vektor konteks (fitur gambar yang dikodekan) sebagai keadaan sel/tersembunyi awal LSTM [1]. Model perhatian juga diterapkan [2].
Model ini dilatih oleh SGD dengan momentum. Kecepatan pemelajaran dimulai dari 0,01 dan dibagi 10 karena terhenti di titik tertinggi. Momentum 0,9 dan peluruhan berat 0,001 digunakan.
Model [1] dapat memperoleh gambaran yang relatif masuk akal, dengan skor tes BLEU-1 35,7.
Gambar | Keterangan |
---|---|
Dua anjing bermain di rumput. | |
Seseorang sedang bermain kayak di perahu. | |
Seorang anak laki-laki sedang bermain air di kolam. | |
Dua orang duduk di dermaga dekat air. | |
Seorang pemain sepak bola berseragam merah sedang berlari dengan bola di depan orang banyak. | |
Seorang snowboarder sedang melompat dari bukit. | |
Seekor anjing coklat sedang bermain dengan bola di pasir. | |
Seorang anak laki-laki berkemeja biru sedang berlari melewati lapangan berumput. | |
Sekelompok orang mengenakan kostum warna-warni. |
Pytorch 0.4.1
[1] Tunjukkan dan Ceritakan: Generator Teks Gambar Neural (https://arxiv.org/abs/1411.4555)
[2] Tunjukkan, Hadiri, dan Ceritakan: Pembuatan Teks Gambar Neural dengan Perhatian Visual (https://arxiv.org/abs/1502.03044)