Otomatik Kodlayıcılar hakkında daha fazla bilgi için tıklayınız.

Gürültü Giderici Otomatik Kodlayıcı Nedir?

Gürültü giderici otomatik kodlayıcı, denoising autoencoder (DAE), girdi verilerinden anlamlı ve sağlam özellikler çıkarmak için eğitilen özel bir sinir ağıdır. Gürültü giderici otomatik kodlayıcı, overcomplete yapıdadır. Overcomplete otomatik kodlayıcıların, girdiden yararlı özellikleri çıkartabilmesi için bazı düzenlemeler yapılmalıdır. Bu tarz otomatik kodlayıcılara düzenlenmiş otomatik kodlayıcı (regularized autoencoder) denir.

  • Düzenlenmiş otomatik kodlayıcılar lineer olmayan (non-linear) ve overcomplete birer otomatik kodlayıcıdır. Kod boyutu girdi boyutundan büyük olmasına rağmen, hala girdi verisini temsil edebilecek yararlı özellikleri öğrenebilir. Bunu yapabilmek için modele fazladan bir ceza terimi (penalty term) eklenmektedir. Bu ceza terimi Kullback-Leibler divergence‘e dayanmaktadır. KL-divergence, iki ayrı dağılımın birbirlerinden ne kadar farklı olduğunu hesaplamaya yarayan standart bir fonksiyondur.

Ancak gürültü giderici otomatik kodlayıcı da maliyet fonksiyonuna ceza teriminin eklenmesi yerine, maliyet fonksiyonumuzdaki yeniden yapılandırma hata terimini (reconstruction error term) değiştiririz.

Otomatik kodlayıcılar, özellik seçimi ve özellik çıkarmak için yaygın olarak kullanılan sinir ağlarıdır. Ancak, gizli katmandaki düğümlerin sayısı girdi katmanındakilerden daha fazla olduğunda, sinir ağı  “kimlik fonksiyonu” (identity function) veya “boş fonksiyon” (null function) olarak adlandırılır. Bu da girdinin çıktıya direkt kopyalandığı, eşit olduğu anlamına gelir. Gürültü giderici otomatik kodlayıcılar, girdi verilerinin bazılarını rastgele olarak sıfıra getirerek yani buradaki verileri bozarak bu sorunu çözer. Genel olarak, sıfıra ayarlanan girdi düğümlerinin yüzdesi yaklaşık olarak %50’dir.

Kaynak 

Burada dikkat edilmesi gereken bir nokta, kayıp fonksiyonunu hesaplarken, çıktı değerlerini bozduğumuz girişle değil orijinal girişle karşılaştırmak önemlidir. Bu şekilde, öznitelik özellikleri yerine kimlik fonksiyonunu öğrenme riski ortadan kaldırılır.

Otomatik kodlayıcıların, girdi katmanını çıktı katmanına kopyaladığını biliyoruz. Gürültü giderici otomatik kodlayıcıları daha iyi anlayabilmek için aşağıdaki görseli inceleyelim.autoencoder3

Görselde, otomatik kodlayıcıya verdiğimiz görüntüleri, modelin çıktısında tekrar ürettiğinde oluşacak görüntüleri görüyoruz.

Gürültü giderici otomatik kodlayıcının, bildiğimiz otomatik kodlayıcılarından tek farkı girdi olarak verdiğimiz veride rastgele eklenmiş gürültülerin de varolmasıdır. Yani model, girdi verilerinden çıktı verilerini oluştururken yaptığı kopyalama işleminde girdinin kendisini görmek yerine gürültü katılmış veriyi görmektedir. Aşağıdaki görseli incelediğimizde gürültü katılmış veriyi daha iyi anlayabiliriz.autoencoder4

Gürültü Giderici Otomatik Kodlayıcı ile, gürültüye sahip girdiden orjinal girdiyi elde ederken, bildiğimiz otomatik kodlayıcıda olduğu gibi, veriyi temsil edebilecek yararlı özellikleri çıkartma işlemini gerçekleştirir.autoencoder5

 

Designed by Freepik