Otomatik kodlayıcı
Otomatik kodlayıcıların verileri nasıl sıkıştırdığını, gürültüyü nasıl azalttığını ve gelişmiş yapay zeka teknikleriyle anomali tespiti, özellik çıkarma ve daha fazlasını nasıl sağladığını keşfedin.
Otomatik kodlayıcı, denetimsiz öğrenme için kullanılan bir yapay sinir ağı türüdür. Birincil amacı, tipik olarak boyut azaltma veya özellik çıkarma amacıyla bir dizi verinin sıkıştırılmış, verimli bir temsilini (kodlamasını) öğrenmektir. Ağ bunu kendi girdisini yeniden yapılandırmayı öğrenerek başarır. İki ana bölümden oluşur: giriş verilerini düşük boyutlu bir gizli uzaya sıkıştıran bir kodlayıcı ve orijinal verileri bu sıkıştırılmış temsilden yeniden yapılandıran bir kod çözücü. Verileri bu "darboğazdan" geçmeye zorlayan ağ, gürültü ve fazlalıkları atarken en göze çarpan özellikleri tanımlamayı ve korumayı öğrenmelidir.
Otomatik Kodlayıcılar Nasıl Çalışır?
Bir otomatik kodlayıcının mimarisi, basit ileri beslemeli ağlar veya Evrişimsel Sinir Ağları (CNN'ler) gibi daha karmaşık yapılar olabilen bir kodlayıcı işlevi ve bir kod çözücü işlevinden oluşur.
- Kodlayıcı: Ağın bu kısmı yüksek boyutlu giriş verilerini alır ve bunları daha düşük boyutlu bir gizli temsile eşler. Bu sıkıştırılmış vektör, giriş verilerinin özünü yakalar.
- Darboğaz: Bu, girdinin sıkıştırılmış, gizli uzay temsilini içeren katmandır. Otomatik kodlayıcının çekirdeği ve boyut azaltma için etkili olmasının nedenidir.
- Kod Çözücü: Bu kısım darboğazdan sıkıştırılmış temsili alır ve orijinal yüksek boyutlu giriş verilerini yeniden yapılandırmaya çalışır.
Model eğitim süreci, genellikle yeniden yapılandırma hatası olarak adlandırılan ve orijinal girdi ile yeniden yapılandırılmış çıktı arasındaki farkı ölçen bir kayıp fonksiyonunun en aza indirilmesini içerir. Bu süreç, model açık etiketlere ihtiyaç duymadan verinin kendisinden öğrendiği için bir tür kendi kendine denetimli öğrenmedir.
Gerçek Dünya AI/ML Uygulamaları
Otomatik kodlayıcılar çok yönlüdür ve makine öğrenimi ve derin öğrenmede çeşitli pratik uygulamalara sahiptir.
- Anormallik Tespiti: Otomatik kodlayıcılar anomali tespiti için oldukça etkilidir. Bir model yalnızca "normal" veri noktaları içeren bir veri kümesi üzerinde eğitilir. Kodlayıcıya yeni, anormal bir veri noktası (örneğin, bir üretim hatası veya hileli bir finansal işlem) beslendiğinde, kod çözücü bunu doğru bir şekilde yeniden yapılandırmada başarısız olacaktır. Bu, anormalliği işaretlemek için bir sinyal olarak kullanılabilecek yüksek bir yeniden yapılandırma hatası ile sonuçlanır. Bu, Alan Turing Enstitüsü gibi kurumlar tarafından araştırılan bir konu olan üretim ve finansal güvenlik sistemleri için yapay zekada kritik bir tekniktir.
- Görüntü Denoising: Görüntülerdeki gürültüyü gidermek için bir Denoising Autoencoder eğitilebilir. Model girdi olarak gürültülü görüntülerle beslenir ve orijinal, temiz versiyonların çıktısını almak üzere eğitilir. Bu özellik, MRI veya CT taramalarının kalitesini artırmak için tıbbi görüntü analizinde veya eski, grenli fotoğrafların geri yüklenmesinde değerlidir. Denoising'e yönelik bu öğrenilmiş yaklaşım, geleneksel görüntü işleme filtrelerinden daha karmaşıktır.
Sparse Autoencoders, Denoising Autoencoders ve Convolutional Autoencoders dahil olmak üzere birçok oto kodlayıcı türü vardır. En önemli varyasyonlardan biri, üzerinde eğitildiği örneklere benzer yeni veri örnekleri üretebilen bir üretici model olan Varyasyonel Otomatik Kodlayıcıdır (VAE). VAE'lere kapsamlı bir genel bakış arXiv'de mevcuttur.
Otomatik Kodlayıcılar ve İlgili Kavramlar
- PCA: Her ikisi de boyutluluğu azaltırken, Temel Bileşen Analizi (PCA) doğrusal dönüşümlerle sınırlıdır. Sinir ağları olan otomatik kodlayıcılar, karmaşık doğrusal olmayan eşlemeleri öğrenebilir ve genellikle karmaşık veri kümeleri için daha iyi temsillere yol açar.
- GAN'lar: Generative Adversarial Networks (GAN 'lar) öncelikle son derece gerçekçi yeni veriler üretmek için tasarlanmıştır. VAE'ler de veri oluşturabilirken, odak noktaları genellikle iyi yapılandırılmış bir gizli uzayı öğrenmektir, oysa GAN'lar bazen gizli uzayın yorumlanabilirliği pahasına çıktı doğruluğunda mükemmeldir.
- CNN'ler ve Dönüştürücüler: Otomatik kodlayıcılar bir mimari model (kodlayıcı-kod çözücü) tanımlar. Genellikle görüntü verileri için CNN'ler veya sıralı veriler için Transformatörler gibi diğer ağ türlerini yapı taşı olarak kullanırlar. Bu, nesne algılama veya görüntü segmentasyonu gibi görevler için tasarlanmış denetimli modeller olan Ultralytics YOLO gibi modellerden farklıdır.
Araçlar ve Uygulama
Otomatik kodlayıcılar popüler derin öğrenme (DL) çerçeveleri kullanılarak uygulanabilir:
Ultralytics HUB gibi platformlar, veri yönetimi ve model eğitimi de dahil olmak üzere genel makine öğrenimi iş akışını kolaylaştırır, ancak öncelikle denetimsiz otomatik kodlayıcı eğitimi yerine algılama ve segmentasyon gibi denetimli görevlere odaklanırlar.