Diskriminator

Diskriminator dalam GAN hanyalah pengklasifikasi. Model ini mencoba membedakan data sebenarnya dari data yang dibuat oleh generator. Model ini dapat menggunakan arsitektur jaringan apa pun yang sesuai dengan jenis data yang diklasifikasikannya.

Diagram jaringan saraf generatif berlawanan. Di tengah diagram
          terdapat kotak berlabel 'pemisah'. Dua cabang masuk ke kotak
          ini dari sebelah kiri.  Cabang atas dimulai di kiri atas diagram dengan kotak berlabel 'gambar dunia nyata'. Panah mengarah
          dari silinder ini ke kotak berlabel 'Sample'. Panah dari kotak
          berlabel 'Sample' masuk ke kotak 'Discriminator'. Cabang bawah
          dimasukkan ke dalam kotak 'Discriminator' yang dimulai dengan kotak berlabel 'Random
          Input'. Panah mengarah dari kotak 'Input Acak' ke kotak berlabel
          'Generator'. Panah mengarah dari kotak 'Generator' ke kotak
          'Sample' kedua. Panah mengarah dari kotak 'Sample' ke kotak 'Discriminator'. Di sisi kanan kotak Diskriminator, dua panah mengarah ke dua kotak di sisi kanan diagram. Satu panah mengarah ke kotak
          berlabel 'Discriminator loss'. Panah lainnya mengarah ke kotak berlabel
          'Generator loss'. Kotak kuning berlabel dengan panah yang mengarah ke kiri dan
          kata 'Backpropagation' digambar di sekitar
          kotak diskriminator dan kotak kerugian diskriminator untuk
          menunjukkan bahwa backpropagation beroperasi pada bagian
          sistem yang tertutup dalam kotak kuning.

Gambar 1: Backpropagation dalam pelatihan diskriminator.

Data Pelatihan Diskriminator

Data pelatihan diskriminator berasal dari dua sumber:

  • Instance data nyata, seperti gambar nyata orang. Diskriminator menggunakan instance ini sebagai contoh positif selama pelatihan.
  • Instance data palsu yang dibuat oleh generator. Diskriminator menggunakan instance ini sebagai contoh negatif selama pelatihan.

Pada Gambar 1, dua kotak "Sample" mewakili dua sumber data ini yang dimasukkan ke dalam diskriminator. Selama pelatihan diskriminator, generator tidak dilatih. Bobotnya tetap konstan saat menghasilkan contoh untuk dilatih diskriminator.

Melatih Diskriminator

Diskriminator terhubung ke dua fungsi loss. Selama pelatihan diskriminator, diskriminator mengabaikan kerugian generator dan hanya menggunakan kerugian diskriminator. Kita menggunakan kerugian generator selama pelatihan generator, seperti yang dijelaskan di bagian berikutnya.

Selama pelatihan diskriminator:

  1. Diskriminator mengklasifikasikan data asli dan data palsu dari generator.
  2. Kerugian diskriminator menghukum diskriminator karena salah mengklasifikasikan instance yang sebenarnya sebagai palsu atau instance palsu sebagai nyata.
  3. Diskriminator memperbarui bobotnya melalui backpropagation dari loss diskriminator melalui jaringan diskriminator.

Di bagian berikutnya, kita akan melihat alasan kerugian generator terhubung ke discriminator.