Saya menerbitkan sendiri ide dasar dari beragam deterministik dari jaringan permusuhan generatif (GAN) dalam posting blog 2010 (archive.org) . Saya telah mencari tetapi tidak dapat menemukan yang serupa di mana saja, dan tidak punya waktu untuk mencoba mengimplementasikannya. Saya bukan dan masih bukan peneliti jaringan saraf dan tidak memiliki koneksi di lapangan. Saya akan menyalin-tempel posting blog di sini:
2010-02-24
Sebuah metode untuk jaringan saraf pelatihan buatan untuk menghasilkan data yang hilang dalam konteks variabel. Karena idenya sulit dimasukkan ke dalam satu kalimat, saya akan menggunakan contoh:
Sebuah gambar mungkin memiliki piksel yang hilang (katakanlah, di bawah noda). Bagaimana cara mengembalikan piksel yang hilang, hanya mengetahui piksel di sekitarnya? Salah satu pendekatan akan menjadi "generator" jaringan saraf yang, mengingat piksel sekitarnya sebagai input, menghasilkan piksel yang hilang.
Tetapi bagaimana cara melatih jaringan seperti itu? Seseorang tidak dapat mengharapkan jaringan untuk secara tepat menghasilkan piksel yang hilang. Bayangkan, misalnya, bahwa data yang hilang adalah sepetak rumput. Orang bisa mengajar jaringan dengan banyak gambar halaman rumput, dengan bagian-bagiannya dihapus. Guru mengetahui data yang hilang, dan dapat menilai jaringan sesuai dengan root mean square difference (RMSD) antara tambalan rumput yang dihasilkan dan data asli. Masalahnya adalah jika generator menemukan gambar yang bukan bagian dari set pelatihan, tidak mungkin bagi jaringan saraf untuk meletakkan semua daun, terutama di tengah tambalan, di tempat yang tepat. Kesalahan RMSD terendah mungkin akan dicapai oleh jaringan yang mengisi area tengah tambalan dengan warna solid yang merupakan rata-rata warna piksel dalam gambar khas rumput. Jika jaringan mencoba menghasilkan rumput yang terlihat meyakinkan bagi manusia dan dengan demikian memenuhi tujuannya, akan ada penalti yang disayangkan oleh metrik RMSD.
Ide saya adalah ini (lihat gambar di bawah): Berlatih secara simultan dengan generator, sebuah jaringan pengklasifikasi yang diberikan, secara acak atau bergantian, dihasilkan dan data asli. Pengklasifikasi kemudian harus menebak, dalam konteks konteks gambar di sekitarnya, apakah input tersebut asli (1) atau dihasilkan (0). Jaringan generator secara bersamaan mencoba untuk mendapatkan skor tinggi (1) dari classifier. Hasilnya, mudah-mudahan, adalah bahwa kedua jaringan memulai dengan sangat sederhana, dan kemajuan menuju menghasilkan dan mengenali fitur yang lebih dan lebih maju, mendekati dan mungkin mengalahkan kemampuan manusia untuk membedakan antara data yang dihasilkan dan yang asli. Jika beberapa sampel pelatihan dipertimbangkan untuk setiap skor, maka RMSD adalah metrik kesalahan yang benar untuk digunakan,
Setup pelatihan jaringan saraf tiruan
Ketika saya menyebutkan RMSD pada akhirnya saya maksud metrik kesalahan untuk "estimasi probabilitas", bukan nilai piksel.
Saya awalnya mulai mempertimbangkan penggunaan jaringan saraf pada tahun 2000 (comp.dsp post) untuk menghasilkan frekuensi tinggi yang hilang untuk audio digital up-sampled (disesuaikan dengan frekuensi sampling yang lebih tinggi), dengan cara yang lebih meyakinkan daripada akurat. Pada tahun 2001 saya mengumpulkan perpustakaan audio untuk pelatihan. Berikut adalah bagian dari log Internet Relay Chat (IRC) EFNet #musicdsp mulai 20 Januari 2006 di mana saya (yehar) berbicara tentang ide tersebut dengan pengguna lain (_Beta):
[22:18] <yehar> masalah dengan sampel adalah bahwa jika Anda tidak memiliki sesuatu "di sana" sudah maka apa yang dapat Anda lakukan jika Anda upample ...
[22:22] <yehar> saya pernah mengumpulkan besar pustaka suara sehingga saya dapat mengembangkan algo "pintar" untuk menyelesaikan masalah yang tepat ini
[22:22] <yahar> saya akan menggunakan jaringan saraf
[22:22] <yahar> tetapi saya tidak menyelesaikan pekerjaan: - D
[22:23] <_Beta> masalah dengan jaringan saraf adalah Anda harus memiliki beberapa cara untuk mengukur kebaikan hasil
[22:24] beta: saya punya ide bahwa Anda dapat mengembangkan "pendengar" di saat yang sama ketika Anda mengembangkan "pencipta suara cerdas di sana"
[22:26] <yehar> beta: dan pendengar ini akan belajar mendeteksi ketika mendengarkan spektrum yang dibuat di atas sana. dan pencipta berkembang pada saat yang sama untuk mencoba menghindari deteksi ini
Suatu waktu antara 2006 dan 2010, seorang teman mengundang seorang ahli untuk melihat ide saya dan mendiskusikannya dengan saya. Mereka berpikir itu menarik, tetapi mengatakan bahwa itu tidak efektif untuk melatih dua jaringan ketika satu jaringan dapat melakukan pekerjaan itu. Saya tidak pernah yakin apakah mereka tidak mendapatkan ide inti atau jika mereka segera melihat cara untuk merumuskannya sebagai jaringan tunggal, mungkin dengan bottleneck di suatu tempat dalam topologi untuk memisahkannya menjadi dua bagian. Ini adalah saat ketika saya bahkan tidak tahu bahwa backpropagation masih merupakan metode pelatihan de-facto (mengetahui bahwa membuat video dalam kegilaan Mendalam tahun 2015). Selama bertahun-tahun saya telah berbicara tentang ide saya dengan beberapa ilmuwan data dan orang lain yang saya pikir mungkin tertarik, tetapi tanggapannya ringan.
Pada Mei 2017 saya melihat presentasi tutorial Ian Goodfellow di YouTube [Mirror] , yang benar-benar membuat saya senang. Bagi saya hal itu tampak sebagai ide dasar yang sama, dengan perbedaan seperti yang saya pahami diuraikan di bawah ini, dan kerja keras telah dilakukan untuk membuatnya memberikan hasil yang baik. Dia juga memberikan teori, atau mendasarkan segala sesuatu pada sebuah teori, mengapa itu harus berhasil, sementara saya tidak pernah melakukan analisis formal terhadap ide saya. Presentasi Goodfellow menjawab pertanyaan yang saya miliki dan banyak lagi.
Goodfellow's GAN dan ekstensi yang disarankannya termasuk sumber kebisingan di generator. Saya tidak pernah berpikir untuk memasukkan sumber kebisingan tetapi sebagai gantinya memiliki konteks data pelatihan, lebih baik mencocokkan ide dengan GAN bersyarat (cGAN) tanpa input vektor kebisingan dan dengan model yang dikondisikan pada bagian data. Pemahaman saya saat ini berdasarkan Mathieu et al. 2016 adalah sumber kebisingan tidak diperlukan untuk hasil yang bermanfaat jika ada variabilitas input yang cukup. Perbedaan lainnya adalah bahwa GAN Goodfellow meminimalkan kemungkinan log. Kemudian, kuadrat terkecil GAN (LSGAN) telah diperkenalkan ( Mao et al. 2017) yang cocok dengan saran RMSD saya. Jadi, ide saya akan cocok dengan jaringan permusuhan generatif kuadrat terkecil bersyarat (cLSGAN) tanpa input vektor derau ke generator dan dengan bagian data sebagai input pengkondisian. Sebuah generatif sampel generator dari perkiraan distribusi data. Saya sekarang tahu jika dan meragukan bahwa input berisik di dunia nyata akan memungkinkan hal itu dengan ide saya, tetapi itu tidak berarti bahwa hasilnya tidak akan berguna jika tidak.
Perbedaan yang disebutkan di atas adalah alasan utama mengapa saya percaya Goodfellow tidak tahu atau mendengar tentang ide saya. Lain adalah bahwa blog saya tidak memiliki konten pembelajaran mesin lainnya, sehingga akan menikmati paparan yang sangat terbatas di kalangan pembelajaran mesin.
Ini adalah konflik kepentingan ketika pengulas memberi tekanan pada penulis untuk mengutip karya pengulas sendiri.