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.
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:
- Diskriminator mengklasifikasikan data asli dan data palsu dari generator.
- Kerugian diskriminator menghukum diskriminator karena salah mengklasifikasikan instance yang sebenarnya sebagai palsu atau instance palsu sebagai nyata.
- Diskriminator memperbarui bobotnya melalui backpropagation dari loss diskriminator melalui jaringan diskriminator.
Di bagian berikutnya, kita akan melihat alasan kerugian generator terhubung ke discriminator.