Otomatik kodlayıcı, öncelikle denetimsiz öğrenme görevleri için kullanılan bir yapay sinir ağı (NN) türüdür. Ana amacı, ağı kendi girdilerini yeniden yapılandırmak üzere eğiterek, tipik olarak boyut azaltma veya özellik çıkarma için girdi verilerinin verimli temsillerini (kodlamalarını) öğrenmektir. Bunu, girdiyi daha düşük boyutlu bir gizli uzaya sıkıştırarak ve ardından çıktıyı bu sıkıştırılmış temsilden yeniden yapılandırarak başarır.
Otomatik Kodlayıcılar Nasıl Çalışır?
Bir Otomatik Kodlayıcı iki ana bölümden oluşur: bir kodlayıcı ve bir kod çözücü.
- Kodlayıcı: Bu bölüm giriş verilerini alır ve gizli uzay veya darboğaz adı verilen daha düşük boyutlu bir temsile eşler. Kodlayıcı, gürültü veya gereksiz bilgileri atarken verilerin en önemli özelliklerini yakalamayı öğrenir. Bu süreç veri sıkıştırmaya benzer.
- Kod Çözücü: Bu kısım, gizli uzaydan kodlanmış temsili alır ve orijinal giriş verilerini mümkün olduğunca doğru bir şekilde yeniden oluşturmaya çalışır.
Ağ, genellikle Ortalama Karesel Hata (MSE) gibi bir kayıp fonksiyonu ile ölçülen orijinal girdi ile yeniden yapılandırılmış çıktı arasındaki farkı en aza indirerek eğitilir. Darboğaz katmanı, girdiyi etkili bir şekilde yeniden yapılandırmak için yeterli bilgiyi tutması gerektiğinden, ağı kompakt ve anlamlı bir temsil öğrenmeye zorlar.
Otomatik Kodlayıcı Türleri
Her biri belirli amaçlar için tasarlanmış çeşitli Otomatik Kodlayıcı varyasyonları mevcuttur:
- Denoising Otomatik Kodlayıcılar: Bozuk veya gürültülü bir versiyondan orijinal, temiz girdiyi yeniden oluşturmak için eğitilmiştir. Bu da onları gürültü azaltma görevleri için kullanışlı hale getirir.
- Seyrek Otomatik Kodlayıcılar: Eğitim sırasında seyreklik kısıtlamaları getirerek, ağı herhangi bir zamanda yalnızca az sayıda düğümün aktif olduğu temsilleri öğrenmeye teşvik eder.
- Varyasyonel Otomatik Kodlayıcılar (VAE'ler): Gizli uzay üzerinde bir olasılık dağılımı öğrenerek eğitim verilerine benzer yeni veri örnekleri oluşturmasını sağlayan bir tür üretici model. VAE'ler, bir diğer popüler üretken teknik olan Generative Adversarial Networks'ten (GAN'lar) önemli ölçüde farklıdır.
- Sözleşmeli Otomatik Kodlayıcılar: Giriş verilerindeki küçük değişikliklere karşı dayanıklı temsiller öğrenmeyi amaçlar.
Gerçek Dünya Uygulamaları
Otomatik kodlayıcılar çeşitli alanlarda uygulama alanı bulmuştur:
- Anormallik Tespiti: Otomatik kodlayıcılar, verilerdeki normal örüntüleri öğrenerek, yüksek yeniden yapılandırma hatalarına neden olan anormallikleri veya aykırı değerleri girdi olarak belirleyebilir. Bu, dolandırıcılık tespiti ve endüstriyel kalite kontrolünde kullanılır. Örneğin, bir siber saldırıya işaret edebilecek olağandışı ağ trafiği modellerini tespit etmek.
- Görüntü Denoising ve Sıkıştırma: Denoising Autoencoders gürültülü görüntüleri temizleyebilirken, standart Autoencoders yalnızca gizli gösterimi depolayarak görüntüleri sıkıştırabilir. Atmosferik parazitten etkilenen eski fotoğraflara veya uydu görüntülerine netlik kazandırmak buna bir örnektir. Bilgisayarla görmenin uydu görüntülerini analiz etmek için nasıl kullanılabileceğini görün.
- Boyut Azaltma: Öğrenilen gizli temsiller, diğer makine öğrenimi (ML) modellerine giriş için kompakt özellikler olarak hizmet edebilir, potansiyel olarak performansı artırır ve hesaplama maliyetini düşürür. Otomatik kodlayıcılar daha karmaşık, doğrusal olmayan ilişkileri yakalayabilse de, bu genellikle Temel Bileşen Analizi (PCA) gibi tekniklerle karşılaştırılır.
- Veri Üretimi (VAE'ler): Varyasyonel Otomatik Kodlayıcılar, sanat üretimi veya eğitim verilerinin artırılması gibi alanlarda yararlı olan yeni, sentetik veri örnekleri oluşturabilir. Sentetik verileri daha fazla keşfedin.