Maskeli Otomatik Kodlayıcıların (MAE) kendi kendine denetimli öğrenmede nasıl bir devrim yarattığını keşfedin. MAE rekonstrüksiyonunun Ultralytics performansını ve verimliliğini nasıl artırdığını öğrenin.
Maskeli Otokodlayıcılar (MAE), bilgisayar görme alanının geniş kapsamı içinde kendi kendine denetimli öğrenmeye yönelik son derece verimli ve ölçeklenebilir bir yaklaşımı temsil eder. Kapsamlı etiketlenmiş veri kümelerine ihtiyaç duymadan, yoğun parametreli sinir ağlarını eğitmek için bir yöntem olarak ortaya çıkan MAE, giriş görüntüsünün büyük ve rastgele bir bölümünü kasıtlı olarak gizleyerek ve modeli eksik pikselleri yeniden oluşturmak üzere eğiterek çalışır. Gizli görsel bilgileri başarıyla tahmin ederek, ağ doğal olarak şekiller, dokular ve uzamsal ilişkiler hakkında derin ve anlamsal bir anlayış geliştirir.
Bu teknik, metin tabanlı sistemlerdeki maskeli dil modellemesinin başarısından büyük ölçüde ilham almıştır, ancak görüntü verilerinin yüksek boyutlu yapısına uyarlanmıştır. Mimari, son derece popüler olan transformer çerçevesine dayanmakta ve asimetrik bir kodlayıcı-kod çözücü yapısı kullanmaktadır.
MAE’nin temel yeniliği, işleme verimliliğinde yatmaktadır. Eğitim sırasında, girdi görüntüsü bir yama ızgarasına bölünür. Bu yamaların büyük bir kısmı (genellikle %75'e kadar) rastgele maskelenir ve atılır. Kodlayıcı, genellikle bir Vision Transformer (ViT) olup, yalnızca görünür, maskelenmemiş yamaları işler. Kodlayıcı maskelenmiş kısımları tamamen atladığından, çok daha az hesaplama gücü ve bellek gerektirir, bu da eğitim sürecini oldukça hızlandırır.
Kodlayıcı, görünür yamaların gizli temsillerini oluşturduktan sonra, iş hafif bir kod çözücüye geçer. Kod çözücü, kodlanmış görünür yamaları "maske belirteçleri" (eksik veriler için yer tutucular) ile birlikte alır ve orijinal görüntüyü yeniden oluşturmaya çalışır. Kod çözücü yalnızca bu ön eğitim aşamasında kullanıldığından, çok küçük tutulabilir ve bu da hesaplama yükünü daha da azaltır. Ön eğitim tamamlandığında, kod çözücü atılır ve güçlü kodlayıcı, sonraki aşamadaki uygulamalar için saklanır.
MAE'leri tam olarak kavramak için, bunların daha eski veya daha geniş kapsamlı derin öğrenme kavramlarından ne kadar farklı olduğunu anlamak faydalıdır:
MAE'ler görsel verilerin son derece sağlam temsillerini öğrendikleri için, karmaşık, gerçek dünyadaki yapay zeka sistemleri için ideal bir başlangıç noktasıdır.
Bir backbone MAE yaklaşımıyla ön eğitimden backbone , bir sonraki adımda modelin görüntü sınıflandırma veya görüntü segmentasyonu gibi belirli görevler için ince ayarının yapılması ve devreye alınması söz konusudur. Modern bulut ekosistemleri, bu geçişi sorunsuz hale getirir. Örneğin, ekipler Ultralytics kullanarak göreve özel veri kümelerini kolayca etiketleyebilir, bulut eğitimini koordine edebilir ve ortaya çıkan, üretime hazır modelleri uç cihazlara veya sunuculara dağıtabilir. Bu, genellikle makine öğrenimi operasyonları (MLOps) ile ilişkili olan standart altyapı çalışmalarının çoğunu ortadan kaldırır.
Tam bir MAE modelini eğitmek için eksiksiz bir transformatör mimarisi gerekse de, yama maskelemenin temel kavramı PyTorch tensor kullanılarak kolayca görselleştirilebilir. Bu basit kod parçacığı, bir giriş tensor görünür yamaların rastgele nasıl seçilebileceğini göstermektedir.
import torch
def create_random_mask(batch_size, num_patches, mask_ratio=0.75):
"""Generates a random mask to simulate MAE patch dropping."""
# Calculate how many patches to keep visible
num_keep = int(num_patches * (1 - mask_ratio))
# Generate random noise to determine patch shuffling
noise = torch.rand(batch_size, num_patches)
# Sort noise to get random indices
ids_shuffle = torch.argsort(noise, dim=1)
# Select the indices of the patches that remain visible
ids_keep = ids_shuffle[:, :num_keep]
return ids_keep
# Simulate a batch of 4 images, each divided into 196 patches
visible_patches = create_random_mask(batch_size=4, num_patches=196)
print(f"Visible patch indices shape: {visible_patches.shape}")
Mimariyi sıfırdan yazmadan güçlü, önceden eğitilmiş görsel yetenekleri iş akışlarına entegre etmek isteyen geliştiriciler için, kapsamlı Ultralytics incelemek, en son teknolojiye sahip görsel modelleri kendi özel zorluklarınıza uygulamak için mükemmel bir başlangıç noktası sunar. Ayrıca, TensorFlow gibi büyük çerçeveler de en son teknoloji makine öğrenimi araştırmalarını ölçeklenebilir üretim ortamlarına uygulamak için sağlam ekosistemler sunar.