GAN'ın üretici kısmı, ayırıcıdan gelen geri bildirimleri dahil ederek sahte veri oluşturmayı öğrenir. Ayrıştırıcının çıkışını gerçek olarak sınıflandırmasını öğrenir.
Oluşturucu eğitimi, oluşturucu ile ayırt edici arasındaki entegrasyonun ayırt edici eğitimi gerektirdiğinden daha sıkı olmasını gerektirir. GAN'ın üreticiyi eğiten kısmı şunları içerir:
- rastgele giriş
- rastgele girişi veri örneğine dönüştüren bir üretken ağ
- Oluşturulan verileri sınıflandıran ayırt edici ağ
- ayırt edici çıkış
- ayırt ediciyi kandıramadığı için jeneratörü cezalandıran jeneratör kaybı
Şekil 1: Oluşturucu eğitiminde geri yayılma.
Rastgele Giriş
Sinir ağlarının bir tür girişe ihtiyacı vardır. Normalde, sınıflandırmak veya hakkında tahminde bulunmak istediğimiz bir örnek gibi, bir işlem yapmak istediğimiz verileri gireriz. Ancak tamamen yeni veri örnekleri yayınlayan bir ağ için giriş olarak neyi kullanırız?
GAN'lar en temel hallerinde giriş olarak rastgele gürültü alır. Ardından jeneratör bu gürültüyü anlamlı bir çıkışa dönüştürür. Gürültü ekleyerek GAN'ın hedef dağılımındaki farklı yerlerden örnekleme yaparak çok çeşitli veriler üretmesini sağlayabiliriz.
Deneyler, gürültünün dağılımının çok önemli olmadığını gösteriyor. Bu nedenle, örnek almanın kolay olduğu bir dağılım (ör. tekdüze dağılım) seçebiliriz. Kolaylık sağlamak için gürültünün örneklendiği alan genellikle çıkış alanının boyutundan daha küçüktür.
Oluşturucuyu eğitmek için ayırt ediciyi kullanma
Bir sinir ağını eğitmek için ağın ağırlıklarını, çıkışındaki hatayı veya kaybı azaltacak şekilde değiştiririz. Ancak GAN'ımızda üretici, etkilemeye çalıştığımız kayıpla doğrudan bağlantılı değildir. Oluşturucu, ayırıcı ağına beslenir ve ayırıcı, etkilemeye çalıştığımız çıkışı oluşturur. Üretici kaybı, ayırt edici ağın sahte olarak sınıflandırdığı bir örnek ürettiği için üreticiyi cezalandırır.
Bu ek ağ parçası geri yayılmaya dahil edilmelidir. Geri yayılma, ağırlığın çıkış üzerindeki etkisini (ağırlığı değiştirirseniz çıkışın nasıl değişeceğini) hesaplayarak her ağırlığı doğru yönde ayarlar. Ancak bir jeneratör ağırlığının etkisi, beslediği ayırt edici ağırlıkların etkisine bağlıdır. Dolayısıyla geri yayılma çıkıştan başlar ve ayırıcıdan jeneratöre geri akar.
Aynı zamanda, ayırıcının jeneratör eğitimi sırasında değişmesini istemeyiz. Hareket eden bir hedefi vurmaya çalışmak, jeneratör için zor bir sorunu daha da zorlaştırır.
Bu nedenle, üreteci aşağıdaki prosedürle eğitiriz:
- Rastgele gürültü örneği.
- Örneklenen rastgele gürültüden jeneratör çıkışı oluşturun.
- Üretici çıkışı için ayırt edici "Gerçek" veya "Sahte" sınıflandırması alın.
- Ayrımcı sınıflandırmadan kaynaklanan kaybı hesaplama
- Gradyan elde etmek için hem ayırt edici hem de oluşturucu üzerinden geri yayılma.
- Yalnızca üreteç ağırlıklarını değiştirmek için gradyan kullanın.
Bu, jeneratör eğitiminin bir iterasyonudur. Bir sonraki bölümde, hem üretenin hem de ayırt edici özelliğin eğitimini nasıl yapacağımızı göreceğiz.