AI-For-Beginners/translations/tr/lessons/4-ComputerVision/09-Autoencoders
Pikachú 5d34bc4eb8 Add support documentation and translations for various lessons 2025-02-12 16:09:04 +00:00
..
README.md Add support documentation and translations for various lessons 2025-02-12 16:09:04 +00:00

README.md

Otomatik Kodlayıcılar

CNN'leri eğitirken, karşılaştığımız sorunlardan biri çok fazla etiketli veriye ihtiyaç duymamızdır. Görüntü sınıflandırması durumunda, görüntüleri farklı sınıflara ayırmamız gerekir ki bu da manuel bir çabadır.

Ön ders sınavı

Ancak, CNN özellik çıkarıcılarını eğitmek için ham (etiketsiz) verileri kullanmak isteyebiliriz ki buna kendinden denetimli öğrenme denir. Etiketler yerine, eğitim görüntülerini hem ağ girişi hem de çıkışı olarak kullanacağız. Otomatik kodlayıcının ana fikri, girdi görüntüsünü bazı gizli alanlara (genellikle daha küçük boyutlu bir vektör) dönüştüren bir kodlayıcıına sahip olmamızdır; ardından orijinal görüntüyü yeniden oluşturmayı amaçlayan çözücü ağı gelir.

Bir otomatik kodlayıcı, "etiketsiz verilerin verimli kodlamalarını öğrenmek için kullanılan bir tür yapay sinir ağıdır."

Otomatik kodlayıcıyı, orijinal görüntüden mümkün olduğunca fazla bilgiyi yakalamak için eğittiğimiz için, ağ girdi görüntülerinin anlamını yakalamak için en iyi gömülü alanı bulmaya çalışır.

Otomatik Kodlayıcı Diyagramı

Görsel Keras blogu kaynağındandır.

Otomatik Kodlayıcıların Kullanım Senaryoları

Orijinal görüntüleri yeniden oluşturmanın kendi başına faydalı görünmemesi bir yana, otomatik kodlayıcıların özellikle yararlı olduğu birkaç senaryo vardır:

  • Görüntülerin boyutunu düşürmek için görselleştirme veya görüntü gömülü alanları eğitimi. Genellikle otomatik kodlayıcılar, PCA'dan daha iyi sonuçlar verir çünkü görüntülerin mekansal doğasını ve hiyerarşik özelliklerini dikkate alır.
  • Gürültü azaltma, yani görüntüden gürültüyü kaldırma. Çünkü gürültü birçok gereksiz bilgi taşır, otomatik kodlayıcı bunu nispeten küçük gizli alana sığdıramaz ve dolayısıyla yalnızca görüntünün önemli kısmını yakalar. Gürültü gidericileri eğitirken, orijinal görüntülerle başlarız ve otomatik kodlayıcı için girdi olarak yapay olarak eklenmiş gürültü içeren görüntüleri kullanırız.
  • Süper çözünürlük, görüntü çözünürlüğünü artırma. Yüksek çözünürlüklü görüntülerle başlarız ve daha düşük çözünürlüklü görüntüyü otomatik kodlayıcı girişi olarak kullanırız.
  • Üretken modeller. Otomatik kodlayıcıyı eğittikten sonra, çözücü kısmı rastgele gizli vektörlerden yeni nesneler oluşturmak için kullanılabilir.

Varyasyonel Otomatik Kodlayıcılar (VAE)

Geleneksel otomatik kodlayıcılar, girdi verilerinin boyutunu bir şekilde azaltarak, girdi görüntülerinin önemli özelliklerini belirler. Ancak, gizli vektörler genellikle pek anlam ifade etmez. Başka bir deyişle, MNIST veri setini örnek alırsak, farklı gizli vektörlerin hangi rakamlara karşılık geldiğini bulmak kolay bir iş değildir, çünkü yakın gizli vektörler aynı rakamlara karşılık gelmeyebilir.

Diğer yandan, üretken modelleri eğitmek için gizli alanı anlamak daha iyidir. Bu fikir bizi varyasyonel otomatik kodlayıcı (VAE) kavramına götürür.

VAE, gizli parametrelerin istatistiksel dağılımını tahmin etmeyi öğrenen bir otomatik kodlayıcıdır, buna gizli dağılım denir. Örneğin, gizli vektörlerin belirli bir ortalama zmean ve standart sapma zsigma ile normal dağılıma sahip olmasını isteyebiliriz (hem ortalama hem de standart sapma belirli bir boyut d'ye sahip vektörlerdir). VAE'deki kodlayıcı bu parametreleri tahmin etmeyi öğrenir ve ardından çözücü, nesneyi yeniden oluşturmak için bu dağılımdan rastgele bir vektör alır.

Özetlemek gerekirse:

  • Girdi vektöründen z_mean ve z_log_sigma tahmin ediyoruz (standart sapmayı tahmin etmek yerine, onun logaritmasını tahmin ediyoruz)
  • Dağılımdan N(zmean,exp(zlog_sigma)) dağılımından bir vektör sample örnekliyoruz
  • Çözücü, sample'yi girdi vektörü olarak kullanarak orijinal görüntüyü çözmeye çalışır

Görsel bu blog yazısından Isaak Dykeman'a aittir.

Varyasyonel otomatik kodlayıcılar, iki bölümden oluşan karmaşık bir kayıp fonksiyonu kullanır:

  • Yeniden yapılandırma kaybı, yeniden oluşturulan bir görüntünün hedefe ne kadar yakın olduğunu gösteren kayıp fonksiyonudur (Bu, Ortalama Kare Hatası veya MSE olabilir). Bu, normal otomatik kodlayıcılardaki kayıp fonksiyonu ile aynıdır.
  • KL kaybı, gizli değişken dağılımlarının normal dağılıma yakın kalmasını sağlar. Bu, iki istatistiksel dağılımın ne kadar benzer olduğunu tahmin etmek için kullanılan Kullback-Leibler sapması kavramına dayanır.

VAE'lerin önemli bir avantajı, yeni görüntüler oluşturmayı nispeten kolaylaştırmalarıdır çünkü gizli vektörleri örneklemek için hangi dağılımdan yararlanacağımızı biliyoruz. Örneğin, MNIST üzerinde 2D gizli vektörle VAE eğitimi yaptığımızda, farklı rakamlar elde etmek için gizli vektörün bileşenlerini değiştirebiliriz:

vaemnist

Görsel Dmitry Soshnikov tarafından sağlanmıştır.

Gizli parametre alanının farklı kısımlarından gizli vektörler almaya başladığımızda, görüntülerin birbirine nasıl karıştığını gözlemleyin. Bu alanı 2D olarak da görselleştirebiliriz:

vaemnist cluster

Görsel Dmitry Soshnikov tarafından sağlanmıştır.

✍️ Alıştırmalar: Otomatik Kodlayıcılar

Otomatik kodlayıcılar hakkında daha fazla bilgi edinmek için ilgili not defterlerini inceleyin:

Otomatik Kodlayıcıların Özellikleri

  • Veri Spesifik - yalnızca eğitildikleri görüntü türleriyle iyi çalışırlar. Örneğin, çiçekler üzerinde süper çözünürlük ağı eğitirsek, portreler üzerinde iyi çalışmaz. Bunun nedeni, ağın eğitim veri setinden öğrenilen özelliklerden ince detaylar alarak daha yüksek çözünürlüklü görüntü üretebilmesidir.
  • Kaybı - yeniden oluşturulan görüntü, orijinal görüntüyle aynı değildir. Kayıp doğası, eğitim sırasında kullanılan kayıp fonksiyonu tarafından tanımlanır.
  • Etiketsiz veriler üzerinde çalışır.

Ders sonrası sınav

Sonuç

Bu derste, AI bilimcisine sunulan çeşitli otomatik kodlayıcı türlerini öğrendiniz. Onları nasıl inşa edeceğinizi ve görüntüleri nasıl yeniden oluşturmak için kullanacağınızı öğrendiniz. Ayrıca VAE'yi ve yeni görüntüler oluşturmak için nasıl kullanacağınızı öğrendiniz.

🚀 Meydan Okuma

Bu derste, otomatik kodlayıcıların görüntüler için nasıl kullanıldığını öğrendiniz. Ancak müzik için de kullanılabilirler! Otomatik kodlayıcıları müziği yeniden yapılandırmayı öğrenmek için kullanan Magenta projesinin MusicVAE projesine göz atın. Ne yaratabileceğinizi görmek için bu kütüphane ile bazı deneyler yapın.

Ders sonrası sınav

Gözden Geçirme & Kendi Kendine Çalışma

Otomatik kodlayıcılar hakkında daha fazla bilgi için bu kaynakları okuyun:

Görev

TensorFlow kullanan bu not defterinin sonunda bir 'görev' bulacaksınız - bunu ödev olarak kullanın.

ıklama:
Bu belge, makine tabanlı AI çeviri hizmetleri kullanılarak çevrilmiştir. Doğruluk için çaba göstersek de, otomatik çevirilerin hatalar veya yanlış anlamalar içerebileceğini lütfen dikkate alın. Orijinal belge, kendi dilinde otorite kaynağı olarak kabul edilmelidir. Kritik bilgiler için profesyonel insan çevirisi önerilmektedir. Bu çevirinin kullanımı sonucu ortaya çıkan yanlış anlamalardan veya yanlış yorumlamalardan sorumlu değiliz.