Otomatik Kodlayıcı Nedir? Yeni Başlayanlar İçin Kılavuz

Yayınlanan: 2024-10-28

Otomatik kodlayıcılar, özellikle denetimsiz makine öğrenimi görevlerinde derin öğrenmenin önemli bir bileşenidir. Bu makalede otomatik kodlayıcıların nasıl çalıştığını, mimarilerini ve mevcut çeşitli türlerini inceleyeceğiz. Ayrıca bunların gerçek dünyadaki uygulamalarının yanı sıra bunları kullanmanın sağladığı avantajlar ve ödünleşimleri de keşfedeceksiniz.

İçindekiler

  • Otomatik kodlayıcı nedir?
  • Otomatik kodlayıcı mimarisi
  • Otomatik kodlayıcı türleri
  • Başvuru
  • Avantajları
  • Dezavantajları

Otomatik kodlayıcı nedir?

Otomatik kodlayıcılar, daha sonra orijinal verileri yeniden oluşturmak için kullanılan girdi verilerinin verimli, daha düşük boyutlu temsillerini öğrenmek için derin öğrenmede kullanılan bir tür sinir ağıdır. Bunu yaparak, bu ağ, eğitim sırasında verilerin en temel özelliklerini açık etiketlere ihtiyaç duymadan öğrenir ve onu kendi kendini denetleyen öğrenmenin bir parçası haline getirir. Otomatik kodlayıcılar, verileri sıkıştırma ve yeniden yapılandırma yeteneklerinin değerli olduğu görüntü gürültüsünü giderme, anormallik tespiti ve veri sıkıştırma gibi görevlerde yaygın olarak uygulanır.

Grammarly ile daha akıllıca çalışın
Yapacak işi olan herkesin yapay zeka yazma ortağı

Otomatik kodlayıcı mimarisi

Bir otomatik kodlayıcı üç bölümden oluşur: bir kodlayıcı, bir darboğaz (gizli alan veya kod olarak da bilinir) ve bir kod çözücü. Bu bileşenler, giriş verilerinin temel özelliklerini yakalamak ve bunları doğru yeniden yapılandırmalar oluşturmak için kullanmak için birlikte çalışır.

Otomatik kodlayıcılar, hem kodlayıcının hem de kod çözücünün ağırlıklarını ayarlayarak çıktılarını optimize eder ve kritik özellikleri koruyan girdinin sıkıştırılmış bir temsilini üretmeyi amaçlar. Bu optimizasyon, giriş ve çıkış verileri arasındaki farkı temsil eden yeniden yapılandırma hatasını en aza indirir.

Otomatik kodlayıcı mimarisi

Kodlayıcı

İlk olarak kodlayıcı, giriş verilerini daha verimli bir gösterime sıkıştırır. Kodlayıcılar genellikle her katmanda daha az düğüm bulunan birden çok katmandan oluşur. Veriler her katmanda işlenirken, azalan düğüm sayısı, ağı, her katmanda saklanabilecek bir temsil oluşturmak için verinin en önemli özelliklerini öğrenmeye zorlar. Boyut azaltma olarak bilinen bu süreç, girdiyi verilerin temel özelliklerinin kompakt bir özetine dönüştürür. Kodlayıcıdaki temel hiperparametreler, sıkıştırmanın derinliğini ve ayrıntı düzeyini belirleyen katman ve katman başına nöron sayısını ve veri özelliklerinin her katmanda nasıl temsil edileceğini ve dönüştürüleceğini belirleyen aktivasyon fonksiyonunu içerir.

Darboğaz

Gizli alan veya kod olarak da bilinen darboğaz, giriş verilerinin sıkıştırılmış temsilinin işlem sırasında depolandığı yerdir. Darboğazın az sayıda düğümü vardır; bu, depolanabilecek veri miktarını sınırlar ve sıkıştırma düzeyini belirler. Darboğazdaki düğüm sayısı ayarlanabilir bir hiperparametredir ve kullanıcıların sıkıştırma ile veri saklama arasındaki dengeyi kontrol etmesine olanak tanır. Darboğaz çok küçükse, otomatik kodlayıcı önemli ayrıntıların kaybolması nedeniyle verileri yanlış şekilde yeniden yapılandırabilir. Öte yandan, eğer darboğaz çok büyükse, otomatik kodlayıcı anlamlı, genel bir temsil öğrenmek yerine giriş verilerini basitçe kopyalayabilir.

Kod çözücü

Bu son adımda kod çözücü, kodlama işlemi sırasında öğrenilen temel özellikleri kullanarak orijinal verileri sıkıştırılmış formdan yeniden oluşturur. Bu açma işleminin kalitesi, esasen yeniden oluşturulan verilerin girdiden ne kadar farklı olduğunun bir ölçüsü olan yeniden yapılandırma hatası kullanılarak ölçülür. Yeniden yapılandırma hatası genellikle ortalama kare hata (MSE) kullanılarak hesaplanır. MSE, orijinal ve yeniden oluşturulmuş veriler arasındaki farkın karesini ölçtüğünden, daha büyük yeniden yapılandırma hatalarını daha ağır şekilde cezalandırmak için matematiksel olarak basit bir yol sağlar.

Otomatik kodlayıcı türleri

Diğer sinir ağlarına benzer şekilde, her biri belirli uygulamalar için optimize edilmiş çeşitli türde özel otomatik kodlayıcılar vardır.

Otomatik kodlayıcıların gürültüsünü giderme

Gürültüyü gideren otomatik kodlayıcılar, gürültülü veya bozuk girdilerden temiz verileri yeniden oluşturmak için tasarlanmıştır. Eğitim sırasında, giriş verilerine kasıtlı olarak gürültü eklenir ve böylece modelin, gürültüye rağmen tutarlı kalan özellikleri öğrenmesi sağlanır. Çıkışlar daha sonra orijinal temiz girişlerle karşılaştırılır. Bu süreç, gürültü giderme otomatik kodlayıcılarının, video konferanslarda arka plan gürültüsünün giderilmesi de dahil olmak üzere görüntü ve ses gürültüsünü azaltma görevlerinde oldukça etkili olmasını sağlar.

Seyrek otomatik kodlayıcılar

Seyrek otomatik kodlayıcılar herhangi bir zamanda aktif nöronların sayısını kısıtlayarak ağın standart otomatik kodlayıcılara kıyasla daha verimli veri temsillerini öğrenmesini teşvik eder. Bu seyreklik kısıtlaması, belirli bir eşikten daha fazla nöronun etkinleştirilmesini engelleyen bir ceza yoluyla uygulanır. Seyrek otomatik kodlayıcılar, temel özellikleri korurken yüksek boyutlu verileri basitleştirir, bu da onları yorumlanabilir özelliklerin çıkarılması ve karmaşık veri kümelerinin görselleştirilmesi gibi görevler için değerli kılar.

Değişken otomatik kodlayıcılar (VAE'ler)

Tipik otomatik kodlayıcılardan farklı olarak VAE'ler, eğitim verilerinden gelen özellikleri sabit bir nokta yerine bir olasılık dağılımına kodlayarak yeni veriler üretir. VAE'ler, bu dağılımdan örnekleme yaparak, orijinal verileri girdiden yeniden oluşturmak yerine çeşitli yeni veriler üretebilir. Bu yetenek, VAE'leri sentetik veri üretimi de dahil olmak üzere üretken görevler için kullanışlı hale getirir. Örneğin, görüntü oluşturmada, el yazısıyla yazılan sayılardan oluşan bir veri kümesi üzerinde eğitilmiş bir VAE, eğitim kümesine dayalı, tam kopya olmayan yeni, gerçekçi görünümlü rakamlar oluşturabilir.

Büzülmeli otomatik kodlayıcılar

Büzülmeli otomatik kodlayıcılar, yeniden yapılandırma hatasının hesaplanması sırasında ek bir ceza terimi uygulayarak modelin gürültüye karşı dayanıklı özellik gösterimlerini öğrenmesini teşvik eder. Bu ceza, giriş verilerindeki küçük değişikliklere karşı değişmeyen özellik öğrenmeyi teşvik ederek aşırı uyumun önlenmesine yardımcı olur. Sonuç olarak, daralmalı otomatik kodlayıcılar gürültüye karşı standart otomatik kodlayıcılara göre daha dayanıklıdır.

Evrişimli otomatik kodlayıcılar (CAE'ler)

CAE'ler, yüksek boyutlu veriler içindeki uzamsal hiyerarşileri ve kalıpları yakalamak için evrişimli katmanları kullanır. Evrişimli katmanların kullanılması, CAE'leri özellikle görüntü verilerinin işlenmesi için çok uygun hale getirir. CAE'ler genellikle görüntü sıkıştırma ve görüntülerde anormallik tespiti gibi görevlerde kullanılır.

Yapay zekada otomatik kodlayıcı uygulamaları

Otomatik kodlayıcıların boyut azaltma, görüntü gürültüsünü giderme ve anormallik tespiti gibi çeşitli uygulamaları vardır.

Boyut azaltma

Otomatik kodlayıcılar, temel özellikleri korurken giriş verilerinin boyutsallığını azaltan etkili araçlardır. Bu süreç, yüksek boyutlu veri kümelerinin görselleştirilmesi ve verilerin sıkıştırılması gibi görevler için değerlidir. Boyut azaltımı, verileri basitleştirerek hesaplama verimliliğini de artırarak hem boyutu hem de karmaşıklığı azaltır.

Anormallik tespiti

Otomatik kodlayıcılar, hedef veri kümesinin temel özelliklerini öğrenerek, yeni girdi sağlandığında normal ve anormal veriler arasında ayrım yapabilir. Normalden sapma, normalden daha yüksek yeniden yapılandırma hata oranlarıyla gösterilir. Bu nedenle otomatik kodlayıcılar, tahmine dayalı bakım ve bilgisayar ağı güvenliği gibi çeşitli alanlara uygulanabilir.

Gürültü giderme

Gürültüyü gideren otomatik kodlayıcılar, gürültülü verileri gürültülü eğitim girdilerinden yeniden yapılandırmayı öğrenerek temizleyebilir. Bu özellik, bulanık fotoğrafların kalitesinin artırılması da dahil olmak üzere, görüntü optimizasyonu gibi görevler için otomatik kodlayıcıların gürültüsünü gidermeyi değerli kılar. Gürültüyü gideren otomatik kodlayıcılar, daha verimli işleme ve analiz için gürültülü sinyalleri temizleyebilecekleri sinyal işlemede de kullanışlıdır.

Otomatik kodlayıcıların avantajları

Otomatik kodlayıcıların bir takım önemli avantajları vardır. Bunlar, etiketlenmemiş verilerden öğrenme, özellikleri açık talimat olmadan otomatik olarak öğrenme ve doğrusal olmayan özellikleri çıkarma yeteneğini içerir.

Etiketlenmemiş verilerden öğrenebilir

Otomatik kodlayıcılar denetimsiz bir makine öğrenimi modelidir; bu, etiketlenmemiş verilerden temel veri özelliklerini öğrenebilecekleri anlamına gelir. Bu yetenek, otomatik kodlayıcıların etiketli verilerin az olduğu veya kullanılamadığı görevlere uygulanabileceği anlamına gelir.

Otomatik özellik öğrenme

Temel bileşen analizi (PCA) gibi standart özellik çıkarma teknikleri, karmaşık ve/veya büyük veri kümelerinin işlenmesi söz konusu olduğunda genellikle pratik değildir. Otomatik kodlayıcılar boyut azaltma gibi görevler göz önünde bulundurularak tasarlandığından, manuel özellik tasarımına gerek kalmadan verilerdeki temel özellikleri ve kalıpları otomatik olarak öğrenebilirler.

Doğrusal olmayan özellik çıkarma

Otomatik kodlayıcılar, giriş verilerindeki doğrusal olmayan ilişkileri yöneterek modelin daha karmaşık veri temsillerinden temel özellikleri yakalamasına olanak tanır. Bu yetenek, otomatik kodlayıcıların daha karmaşık veri kümelerini işleyebildikleri için yalnızca doğrusal verilerle çalışabilen modellere göre avantajlı olduğu anlamına gelir.

Otomatik kodlayıcıların sınırlamaları

Diğer ML modelleri gibi, otomatik kodlayıcıların da kendi dezavantajları vardır. Bunlar arasında yorumlanabilirlik eksikliği, iyi performans gösterebilmek için büyük eğitim veri kümelerine duyulan ihtiyaç ve sınırlı genelleme yetenekleri yer almaktadır.

Yorumlanabilirlik eksikliği

Diğer karmaşık makine öğrenimi modellerine benzer şekilde, otomatik kodlayıcılar da yorumlanabilirlik eksikliğinden muzdariptir; bu, giriş verileri ile model çıktısı arasındaki ilişkinin anlaşılmasının zor olduğu anlamına gelir. Otomatik kodlayıcılarda bu yorumlanabilirlik eksikliği, özelliklerin açıkça tanımlandığı geleneksel modellerin aksine otomatik kodlayıcıların özellikleri otomatik olarak öğrenmesinden kaynaklanır. Makine tarafından oluşturulan bu özellik temsili genellikle oldukça soyuttur ve insan tarafından yorumlanabilen özelliklerden yoksundur, bu da temsildeki her bileşenin ne anlama geldiğini anlamayı zorlaştırır.

Büyük eğitim veri kümeleri gerektirir

Otomatik kodlayıcılar, temel veri özelliklerinin genelleştirilebilir temsillerini öğrenmek için genellikle büyük eğitim veri kümelerine ihtiyaç duyar. Küçük eğitim veri kümeleri göz önüne alındığında, otomatik kodlayıcılar aşırı uyum sağlama eğiliminde olabilir ve bu da yeni verilerle sunulduğunda zayıf genellemeye yol açabilir. Öte yandan büyük veri kümeleri, otomatik kodlayıcının çok çeşitli senaryolara uygulanabilecek veri özelliklerini öğrenmesi için gerekli çeşitliliği sağlar.

Yeni veriler üzerinde sınırlı genelleme

Bir veri kümesi üzerinde eğitilen otomatik kodlayıcılar genellikle sınırlı genelleme yeteneklerine sahiptir; bu da yeni veri kümelerine uyum sağlama konusunda başarısız oldukları anlamına gelir. Bu sınırlama, otomatik kodlayıcıların belirli bir veri kümesindeki belirgin özelliklere dayalı olarak verileri yeniden yapılandırmaya yönelik olması nedeniyle oluşur. Bu nedenle, otomatik kodlayıcılar genellikle eğitim sırasında verilerden daha küçük ayrıntıları atar ve genelleştirilmiş özellik gösterimine uymayan verileri işleyemez.