Saya mengerti bagaimana GAN bekerja sementara dua jaringan (generatif dan diskriminatif) saling bersaing. Saya telah membangun DCGAN (GAN dengan diskriminator convolutional dan generator de-convolutional) yang sekarang berhasil menghasilkan digit tulisan tangan yang mirip dengan yang ada dalam dataset MNIST.
Saya telah membaca banyak tentang aplikasi GAN untuk mengekstraksi fitur dari gambar. Bagaimana cara menggunakan model GAN saya yang terlatih (pada dataset MNIST) untuk mengekstraksi fitur dari gambar-gambar digist tulisan tangan MNIST?
Jawaban:
Biasanya untuk mengekstraksi fitur, Anda dapat menggunakan lapisan atas jaringan sebelum output. Intuisi adalah bahwa fitur-fitur ini terpisah secara linier karena lapisan atas hanyalah regresi logistik.
Untuk GAN, Anda dapat menggunakan fitur dari diskriminator. Fitur-fitur ini seharusnya memberikan probabilitas jika input berasal dari dataset pelatihan, "gambar nyata". Dalam makalah DCGAN karya Radford , mereka menggunakan semua lapisan konvolusional dari diskriminator dan menjalankan fitur ekstrak lapisan kumpulan maksimum untuk CIFAR-10.
sumber
Jawaban Kenny benar - jika Anda menggunakan D konvolusional , keluaran lapisan sebelum padat dapat berfungsi sebagai fitur. Intuisi saya adalah bahwa itu akan bekerja lebih baik untuk AC-GAN (atau arsitektur serupa, yang membuat D mengklasifikasikan input selain untuk menentukan apakah itu palsu atau nyata).
Ada pendekatan yang disebut Bigan yang menambahkan Encoder komponen mampu memetakan dihasilkan dan pelatihan sampel untuk distribusi laten z digunakan untuk "menginisialisasi" Generator. Penulis menunjukkan bahwa itu dapat secara efektif digunakan sebagai set fitur untuk pembelajaran transfer dan tugas-tugas lainnya.
sumber
karena GAN terdiri dari dua bagian - generator dan diskriminator, ada dua cara untuk menggunakan GAN sebagai ekstraktor fitur:
Cara kedua lebih kontroversial. Beberapa penelitian [1] berpikir bahwa, secara intuitif, karena target pembeda adalah untuk membedakan sampel yang dihasilkan dari sampel nyata, itu hanya akan fokus pada perbedaan antara dua jenis sampel ini. Tapi yang masuk akal adalah perbedaan antara sampel nyata, yaitu sampel yang digunakan oleh tugas hilir.
Saya telah mencoba mempelajari ini, dan saya menemukan bahwa fitur yang diekstraksi dapat difaktorkan menjadi dua subruang ortogonal . Ruang pertama berkontribusi pada tugas diskriminator, sedangkan yang kedua bebas dari itu. Seperti dalam kebanyakan kasus, fitur yang digunakan untuk membedakan sampel nyata dari yang dihasilkan adalah noise, ruang fitur kedua akan bebas noise. Dari perspektif ini, meskipun tugas pembeda tidak akan fokus pada perbedaan antara sampel nyata, yang berguna untuk tugas-tugas hilir, fitur-fitur bebas noise yang terkandung dalam ruang bagian kedua akan bekerja.
[1] Jost Tobias Springenberg. Pembelajaran tanpa pengawasan dan semi-diawasi dengan Jaringan Adversarial Kategorikal Generatif. arXiv: 1511.06390 [cs, stat], April 2016. arXiv pracetak. arXiv: 1511.06390 [stat.ML]. Ithaca, NY: Perpustakaan Universitas Cornell.
sumber