Autoencoder: veriyi sıkıştırmayı ve yeniden kurmayı öğrenen sinir ağı
Sözlük

Autoencoder: veriyi sıkıştırmayı ve yeniden kurmayı öğrenen sinir ağı

Hazırlayan: Mindset Institute EditörlüğüGüncellendi: 3 dk okuma

Autoencoder, veriyi sıkıştırıp yeniden oluşturmayı öğrenen sinir ağıdır. Kodlayıcı, darboğaz ve kod çözücü yapısını, kullanım alanlarını örnekle öğrenin.

Autoencoder nedir?

Otomatik kodlayıcı (autoencoder), girdisini önce daha küçük bir gösterime sıkıştırıp ardından bu gösterimden girdiyi olabildiğince aslına yakın yeniden oluşturmayı öğrenen bir yapay sinir ağıdır. Eğitim için etiketli veri gerekmez; ağ, girdiyi kendi hedefi olarak kullanır, bu yüzden denetimsiz ya da kendiliğinden denetimli öğrenme kapsamında anılır.

Ağın asıl değeri, yeniden oluşturulan çıktıdan çok, sıkıştırma sırasında öğrendiği ara gösterimdedir.

Nasıl çalışır?

Yapı şu parçalardan oluşur. Kodlayıcı (encoder) girdiyi katman katman küçültür. Darboğaz (bottleneck) ya da gizli kod, en küçük ve en yoğun gösterimin bulunduğu katmandır. Kod çözücü (decoder) bu küçük gösterimden girdiyi yeniden kurmaya çalışır.

Eğitim sırasında yeniden oluşturma hatası, yani çıktı ile asıl girdi arasındaki fark, gradyan inişi ile azaltılır. Darboğaz dar tutulduğu için ağ, her şeyi ezberleyemez; verideki en anlamlı örüntüleri seçmek zorunda kalır.

Başlıca türleri

Gürültü giderici autoencoder, girdiye bilerek bozulma ekler ve temiz hali yeniden oluşturmayı öğrenir; bu sayede sağlam özellikler çıkarır. Seyrek autoencoder darboğazı geniş tutar ama aktif nöron sayısını sınırlar. Varyasyonel autoencoder (VAE) ise ara gösterimi bir olasılık dağılımı olarak öğrenir ve bu sayede yeni örnekler üretebilir.

Görüntü verisi için evrişimli katmanlarla, dizi verisi için tekrarlayan ya da dikkat tabanlı katmanlarla kurulan çeşitleri de vardır.

Ne işe yarar?

Boyut azaltma: Yüksek boyutlu veriyi daha küçük bir gösterime indirir ve sonraki modeller için özellik çıkarır. Anomali tespiti: Ağ yalnızca normal veriyle eğitilir; alışılmadık bir örnekte yeniden oluşturma hatası yükseldiği için sorun işaretlenir. Gürültü temizleme: Bozulmuş görüntü ya da sinyalin temiz halini yeniden kurar. Üretim: Varyasyonel çeşitleri yeni örnekler üretebilir.

Örneğin bir fabrikada makine titreşim sinyalleri normal çalışma verisiyle eğitilen bir autoencoder'a verilir. Sinyal olağan dışı ise yeniden kurma hatası yükselir ve bakım ekibine uyarı gider.

Sınırları ve dikkat edilecekler

Darboğaz çok geniş olursa ağ girdiyi olduğu gibi kopyalamayı öğrenir ve faydalı bir gösterim çıkmaz. Çok dar olursa önemli bilgi kaybolur. Anomali tespitinde eşik değerini belirlemek de dikkat ister; yanlış alarm ile kaçırılan sorun arasında denge kurulmalıdır.

Eğitim sonunda kod çözücü çoğu zaman atılır ve yalnızca kodlayıcı, başka bir model için özellik çıkarıcı olarak kullanılır. Autoencoder, PCA gibi doğrusal yöntemlerden farklı olarak doğrusal olmayan ilişkileri yakalayabilir, ama bu gücünün bedeli daha fazla veri, ayar ve hesaplamadır. Basit bir problemde doğrusal bir yöntem yeterli olabilir.

Mindset programlarında autoencoder

Derin Öğrenme Temelleri eğitimi sinir ağlarının temellerini ve derin öğrenme mimarilerini işler; autoencoder gibi yapıların hangi problemlerde kullanıldığını görmek isteyen veri bilimciler ve yapay zeka mühendisleri için uygundur. Derin Öğrenme Programı da aynı alanı bütüncül biçimde ele alır.

İlgili Mindset programı

Derin Öğrenme (Deep Learning) Temelleri

Sık sorulanlar

Sık sorulan sorular

Autoencoder denetimli mi, denetimsiz mi öğrenmedir?

Etiket gerektirmediği için genellikle denetimsiz ya da kendiliğinden denetimli öğrenme sayılır. Girdi aynı zamanda hedef olarak kullanılır; yani ağ kendi girdisini yeniden oluşturmayı öğrenir. Etiketli verinin az olduğu durumlarda bu özellik avantaj sağlar.

Autoencoder ile PCA arasındaki fark nedir?

PCA doğrusal bir boyut azaltma yöntemidir. Autoencoder ise doğrusal olmayan aktivasyonlarla çalışabildiği için daha karmaşık ilişkileri yakalar. Buna karşılık daha fazla veri ve eğitim gerektirir; basit ve doğrusal ilişkilerde PCA hızlı ve yorumlanabilir bir çözüm sunar.

Autoencoder anomali tespitinde nasıl kullanılır?

Ağ yalnızca normal örneklerle eğitilir. Yeni bir örnek geldiğinde yeniden oluşturma hatası ölçülür; hata belirlenen eşiğin üzerindeyse örnek olağan dışı sayılır. Eşik, doğrulama verisi ve yanlış alarm toleransı dikkate alınarak seçilir.

Varyasyonel autoencoder normal autoencoder'dan nasıl ayrılır?

Klasik autoencoder girdiyi tek bir noktaya kodlar. Varyasyonel olan ise bir olasılık dağılımına kodlar ve eğitimde bu dağılımı düzenli tutar. Bu sayede gizli uzaydan örnekleme yaparak yeni, gerçekçi örnekler üretmek mümkün olur.

Autoencoder (Otomatik Kodlayıcı) Nedir?