Fungsi Hilang

GAN mencoba mereplikasi distribusi probabilitas. Oleh karena itu, fungsi tersebut harus menggunakan fungsi kerugian yang mencerminkan jarak antara distribusi data yang dihasilkan oleh GAN dan distribusi data yang sebenarnya.

Bagaimana cara mengetahui perbedaan antara dua distribusi dalam fungsi GAN yang hilang? Pertanyaan ini adalah area penelitian aktif, dan banyak pendekatan yang telah diusulkan. Kami akan membahas dua fungsi kerugian GAN yang umum di sini, yang keduanya diterapkan dalam TF-GAN:

TF-GAN juga menerapkan berbagai fungsi kerugian lainnya.

Satu Fungsi Hilang atau Dua?

GAN dapat memiliki dua fungsi kerugian: satu untuk pelatihan generator dan satu untuk pelatihan diskriminator. Bagaimana dua fungsi yang hilang berfungsi bersama untuk mencerminkan pengukuran jarak antara distribusi probabilitas?

Dalam skema kerugian, kami akan melihat di sini, kerugian generator dan diskriminator berasal dari satu ukuran jarak antara distribusi probabilitas. Namun, dalam kedua skema ini, generator hanya dapat memengaruhi satu istilah dalam pengukuran jarak: istilah yang mencerminkan distribusi data palsu. Jadi, selama pelatihan generator, kita menghapus istilah lain, yang mencerminkan distribusi data sebenarnya.

Pada akhirnya, kerugian generator dan diskriminator terlihat berbeda, meskipun berasal dari satu formula.

Kerugian Minimax

Dalam makalah yang memperkenalkan GAN, generator mencoba meminimalkan fungsi berikut sementara discriminator mencoba memaksimalkannya:

$$E_x[log(D(x))] + E_z[log(1 - D(G(z)))]$$

Dalam fungsi ini:

  • D(x) adalah estimasi diskriminator dari probabilitas bahwa instance data x nyata adalah nyata.
  • Ex adalah nilai yang diharapkan dibandingkan semua instance data nyata.
  • G(z) adalah output generator saat diberikan derau z.
  • D(G(z)) adalah perkiraan pembeda yang menunjukkan bahwa instance palsu benar-benar ada.
  • Ez adalah nilai yang diharapkan dari semua input acak ke generator (sebenarnya, nilai yang diharapkan atas semua instance palsu yang dihasilkan G(z)).
  • Formula tersebut berasal dari entropi silang antara distribusi sebenarnya dan yang dihasilkan.

Generator tidak dapat secara langsung memengaruhi istilah log(D(x)) dalam fungsi, sehingga, untuk generator, meminimalkan kerugian sama dengan meminimalkan log(1 - D(G(z))).

Di TF-GAN, lihat minimax_discriminator_loss dan minimax_generator_loss untuk implementasi fungsi kerugian ini.

Kehilangan Minimax yang Diubah

Kertas asli GAN mencatat bahwa fungsi kerugian minimax di atas dapat menyebabkan GAN macet di tahap awal pelatihan GAN ketika pekerjaan diskriminator sangat mudah. Oleh karena itu, makalah ini menyarankan untuk mengubah kerugian generator sehingga generator mencoba memaksimalkan log D(G(z)).

Di TF-GAN, lihat Modified_generator_loss untuk implementasi modifikasi ini.

Kehilangan Wasserstein

Secara default, TF-GAN menggunakan Kehilangan wasserstein.

Fungsi kerugian ini bergantung pada modifikasi skema GAN ("Wasserstein GAN" atau "WGAN") di mana diskriminator tidak benar-benar mengklasifikasikan instance. Setiap instance akan menghasilkan angka. Angka ini tidak harus kurang dari satu atau lebih besar dari 0, sehingga kita tidak dapat menggunakan 0,5 sebagai ambang batas untuk memutuskan apakah suatu instance sungguhan atau palsu. Pelatihan discriminator hanya mencoba membuat output lebih besar untuk instance nyata daripada untuk instance palsu.

Karena tidak dapat membedakan mana yang asli dan palsu, diskriminator WGAN sebenarnya disebut "kritik" bukan "discriminator". Perbedaan ini memiliki nilai penting secara teoretis, tetapi untuk tujuan praktis, kita dapat memperlakukannya sebagai konfirmasi bahwa input ke fungsi kerugian tidak harus berupa probabilitas.

Fungsi kerugian itu sendiri sangat sederhana:

Kritik Hilang: D(x) - D(G(z))

Diskriminator mencoba memaksimalkan fungsi ini. Dengan kata lain, metrik ini mencoba memaksimalkan perbedaan antara output-nya pada instance nyata dan outputnya pada instance palsu.

Kehilangan Generator: D(G(z))

Generator mencoba memaksimalkan fungsi ini. Dengan kata lain, metrik ini mencoba memaksimalkan output diskriminator untuk instance palsunya.

Dalam fungsi ini:

  • D(x) adalah output kritikus untuk instance nyata.
  • G(z) adalah output generator saat diberikan derau z.
  • D(G(z)) adalah output kritikus untuk instance palsu.
  • Output kritikus D tidak harus antara 1 dan 0.
  • Formula yang diambil dari jarak pemindahan bumi antara distribusi nyata dan yang dihasilkan.

Di TF-GAN, lihat wasserstein_generator_loss dan wasserstein_discriminator_loss untuk implementasi.

Persyaratan

Justifikasi teoretis untuk Wasserstein GAN (atau WGAN) mengharuskan agar bobot di seluruh GAN terpotong sehingga tetap berada dalam rentang yang dibatasi.

Manfaat

GAN Wasserstein cenderung kurang macet daripada GAN berbasis minimax, dan hindari masalah dengan gradien yang hilang. Jarak pergerakan bumi juga memiliki keunggulan sebagai metrik sebenarnya: ukuran jarak dalam ruang distribusi probabilitas. Dalam hal ini, entropi silang bukanlah metrik.