Autoencoder'ların Temelleri
Autoencoder'lar (AE), girdilerini çıktılara kopyalamayı amaçlayan bir yapay sinir ağı türüdür. Bu ağlar, girdiyi bir gizli alan temsiline (bottleneck) sıkıştırarak çalışır ve ardından bu temsilden çıktıyı yeniden oluşturmaya çalışır. Autoencoder, kontrol edilemeyen bir makine öğrenme algoritmasıdır. Autoencoder'ı özellik çıkarımı algoritması olarak tanımlayabiliriz. Girdi verileri, konuşma, metin, görüntü veya video şeklinde olabilir. Bir Autoencoder, girdi verileri üzerinde faydalı dönüşümler yapabilmek için bir simge veya bir kod bulur.
Autoencoder'ların Özellikleri:
- Autoencoder'lar veriye özeldir, yani sadece eğitildikleri veriye benzer verileri sıkıştırabilirler. Örneğin, yüz resimlerinde eğitilmiş bir autoencoder, ağaç resimlerini sıkıştırmakta başarısız olur, çünkü öğrendiği özellikler yüzlere özgüdür.
- Autoencoder'lar kayıplıdır, yani sıkıştırılan verinin yeniden oluşturulmuş hali, orijinal girdiye göre bir miktar bozulmuş olacaktır.
- Autoencoder'lar veri örneklerinden otomatik olarak öğrenir, bu da algoritmanın belirli bir veri türünde iyi performans göstermesi için kolayca özelleştirilebileceği anlamına gelir. Yeni bir mühendislik çabasına gerek yoktur, sadece uygun eğitim verisi yeterlidir.
Autoencoder ağı iki bölümden oluşur: Encoder ve Decoder.
- Encoder: Bu bölüm, girdi verisini gizli alan temsiline sıkıştırır. Sıkıştırılmış veri genellikle orijinal veriye hiç benzemez, oldukça karmaşık görünür.
- Decoder: Bu bölüm ise sıkıştırılmış veriyi (gizli alan) tekrar orijinal boyutlarına geri dönüştürür. Yeniden oluşturulmuş veri, orijinal verinin kayıplı bir versiyonudur.
Autoencoder Fikrinin Arkasındaki Temel:
Veri sıkıştırma, bilgisayarla görme, bilgisayar ağları, bilgisayar mimarisi gibi birçok alanda kullanılan büyük bir konudur. Veri sıkıştırmanın amacı, girdiyi daha küçük bir alana dönüştürüp bu öğeden belirli bir kalitede yeniden oluşturmaktır. Autoencoder'lar, bu tarz görevler için kullanılabilecek ağlardır.
Girdiyi Neden Kopyalıyoruz?
Autoencoder'ların amacı, girdiyi çıktıya kopyalamak değildir. Asıl amaç, autoencoder'ları girdiyi çıktıya öyle bir şekilde kopyalamaya eğitmektir ki, gizli alan temsili (olarak latent-space representation) kullanışlı bilgi veya özellikler öğrenebilsin. Gizli alan temsiline girdiden daha küçük boyutlar vererek, bu temsili faydalı özellikler öğrenmeye zorlayabiliriz. Bu durumda, autoencoder eksik öğrenir. Eksik bir temsil eğiterek, autoencoder'ı eğitim verisinin en belirgin özelliklerini öğrenmeye zorlarız. Eğer gizli alanın boyutları girdi verisinin boyutlarıyla aynı veya daha büyük olursa, autoencoder sadece kopyalama görevini öğrenir ve veriden faydalı bilgi çıkarmaz. Gizli alan boyutları, girdi verisi ile aynı veya daha büyük olduğunda, lineer bir encoder ve decoder bile girdiyi çıktı olarak kopyalayabilir, ancak veri dağılımı hakkında hiçbir şey öğrenmez.
Autoencoder'lar Neden Kullanılır?
Veri gürültüsünü azaltma ve veri görselleştirmesi için boyut indirgeme, autoencoder'ların en ilginç iki pratik uygulaması olarak kabul edilir. Uygun boyut ve seyrekleşme kısıtlamaları ile, autoencoder'lar PCA gibi temel tekniklerden daha ilginç veri projeksiyonları öğrenebilirler. Autoencoder'lar ayrıca görüntü yeniden yapılandırma, temel görüntü renklendirme, veri sıkıştırma, gri tonlamalı görüntüleri renklendirme, daha yüksek çözünürlüklü görüntüler üretme gibi uygulamalar için de kullanılabilir. Ancak bu ağları sadece eğitildikleri verilere benzer verilerde kullanabilirsiniz, bu nedenle onları daha genel hale getirmek için çok fazla eğitim verisi gerekir.
CyberRulz06 tarafından çevirilmiştir. Asıl makalede bulunan bâzı uzun detayları traşlayıp asıl çözümleri öne taşımaya çalıştım. Anlam bütünlüğü korunması için bazı kelimeler Türkçe de farklı çevirilmiştir ve orijinal görseller kullanılmıştır. İyi okumalar ve iyi forumlar
Birla, D. (2024.). Autoencoders. Medium. Autoencoders
Autoencoder'lar (AE), girdilerini çıktılara kopyalamayı amaçlayan bir yapay sinir ağı türüdür. Bu ağlar, girdiyi bir gizli alan temsiline (bottleneck) sıkıştırarak çalışır ve ardından bu temsilden çıktıyı yeniden oluşturmaya çalışır. Autoencoder, kontrol edilemeyen bir makine öğrenme algoritmasıdır. Autoencoder'ı özellik çıkarımı algoritması olarak tanımlayabiliriz. Girdi verileri, konuşma, metin, görüntü veya video şeklinde olabilir. Bir Autoencoder, girdi verileri üzerinde faydalı dönüşümler yapabilmek için bir simge veya bir kod bulur.
Autoencoder'ların Özellikleri:
- Autoencoder'lar veriye özeldir, yani sadece eğitildikleri veriye benzer verileri sıkıştırabilirler. Örneğin, yüz resimlerinde eğitilmiş bir autoencoder, ağaç resimlerini sıkıştırmakta başarısız olur, çünkü öğrendiği özellikler yüzlere özgüdür.
- Autoencoder'lar kayıplıdır, yani sıkıştırılan verinin yeniden oluşturulmuş hali, orijinal girdiye göre bir miktar bozulmuş olacaktır.
- Autoencoder'lar veri örneklerinden otomatik olarak öğrenir, bu da algoritmanın belirli bir veri türünde iyi performans göstermesi için kolayca özelleştirilebileceği anlamına gelir. Yeni bir mühendislik çabasına gerek yoktur, sadece uygun eğitim verisi yeterlidir.
Autoencoder ağı iki bölümden oluşur: Encoder ve Decoder.
- Encoder: Bu bölüm, girdi verisini gizli alan temsiline sıkıştırır. Sıkıştırılmış veri genellikle orijinal veriye hiç benzemez, oldukça karmaşık görünür.
- Decoder: Bu bölüm ise sıkıştırılmış veriyi (gizli alan) tekrar orijinal boyutlarına geri dönüştürür. Yeniden oluşturulmuş veri, orijinal verinin kayıplı bir versiyonudur.
Autoencoder Fikrinin Arkasındaki Temel:
Veri sıkıştırma, bilgisayarla görme, bilgisayar ağları, bilgisayar mimarisi gibi birçok alanda kullanılan büyük bir konudur. Veri sıkıştırmanın amacı, girdiyi daha küçük bir alana dönüştürüp bu öğeden belirli bir kalitede yeniden oluşturmaktır. Autoencoder'lar, bu tarz görevler için kullanılabilecek ağlardır.
Girdiyi Neden Kopyalıyoruz?
Autoencoder'ların amacı, girdiyi çıktıya kopyalamak değildir. Asıl amaç, autoencoder'ları girdiyi çıktıya öyle bir şekilde kopyalamaya eğitmektir ki, gizli alan temsili (olarak latent-space representation) kullanışlı bilgi veya özellikler öğrenebilsin. Gizli alan temsiline girdiden daha küçük boyutlar vererek, bu temsili faydalı özellikler öğrenmeye zorlayabiliriz. Bu durumda, autoencoder eksik öğrenir. Eksik bir temsil eğiterek, autoencoder'ı eğitim verisinin en belirgin özelliklerini öğrenmeye zorlarız. Eğer gizli alanın boyutları girdi verisinin boyutlarıyla aynı veya daha büyük olursa, autoencoder sadece kopyalama görevini öğrenir ve veriden faydalı bilgi çıkarmaz. Gizli alan boyutları, girdi verisi ile aynı veya daha büyük olduğunda, lineer bir encoder ve decoder bile girdiyi çıktı olarak kopyalayabilir, ancak veri dağılımı hakkında hiçbir şey öğrenmez.
Autoencoder'lar Neden Kullanılır?
Veri gürültüsünü azaltma ve veri görselleştirmesi için boyut indirgeme, autoencoder'ların en ilginç iki pratik uygulaması olarak kabul edilir. Uygun boyut ve seyrekleşme kısıtlamaları ile, autoencoder'lar PCA gibi temel tekniklerden daha ilginç veri projeksiyonları öğrenebilirler. Autoencoder'lar ayrıca görüntü yeniden yapılandırma, temel görüntü renklendirme, veri sıkıştırma, gri tonlamalı görüntüleri renklendirme, daha yüksek çözünürlüklü görüntüler üretme gibi uygulamalar için de kullanılabilir. Ancak bu ağları sadece eğitildikleri verilere benzer verilerde kullanabilirsiniz, bu nedenle onları daha genel hale getirmek için çok fazla eğitim verisi gerekir.
CyberRulz06 tarafından çevirilmiştir. Asıl makalede bulunan bâzı uzun detayları traşlayıp asıl çözümleri öne taşımaya çalıştım. Anlam bütünlüğü korunması için bazı kelimeler Türkçe de farklı çevirilmiştir ve orijinal görseller kullanılmıştır. İyi okumalar ve iyi forumlar
Birla, D. (2024.). Autoencoders. Medium. Autoencoders

