Diffusion Models
Difüzyon modellerinin yüksek doğruluklu veriler oluşturmak için üretken yapay zekayı nasıl kullandığını keşfet. Ultralytics YOLO26 eğitimini bugün gerçekçi sentetik verilerle geliştirmeyi öğren.
Yaylım modelleri, aşamalı bir gürültü ekleme sürecini tersine çevirerek yeni veri örnekleri oluşturmayı öğrenen bir sınıf generative AI algoritmasıdır. Verilerden etiket tahmin eden object detection veya sınıflandırma gibi görevler için kullanılan geleneksel ayırt edici modellerin aksine, yaylım modelleri, gerçek dünya verilerinin istatistiksel özelliklerini yakından taklit eden, özellikle görüntüler, ses ve video olmak üzere yüksek doğruluklu içerik üretmeye odaklanır. Eğitim kararlılıkları ve çeşitli çıktılar üretme yetenekleri sayesinde Generative Adversarial Networks (GANs) gibi önceki liderleri geride bırakarak, yüksek çözünürlüklü görüntü sentezi için hızla son teknoloji ürünü çözüm haline gelmişlerdir.
Difüzyon Modelleri Nasıl Çalışır#
Bir difüzyon modelinin temel mekanizması, denge dışı termodinamiğe dayanır. Eğitim süreci iki farklı aşamayı içerir: ileri süreç (difüzyon) ve ters süreç (gürültü giderme).
- İleri Süreç: Bu aşama, bir dizi zaman adımında az miktarda Gaussian noise ekleyerek bir eğitim görüntüsünün yapısını sistematik olarak bozar. Süreç devam ettikçe karmaşık veriler (bir kedi fotoğrafı gibi) yavaş yavaş saf, yapılandırılmamış rastgele gürültüye dönüşür.
- Ters Süreç: neural network hedefleri, bu bozulmayı nasıl tersine çevireceğini öğrenmektir. Rastgele gürültüden başlayarak model, her adımda eklenen gürültüyü tahmin eder ve çıkarır. Gürültüyü yinelemeli olarak kaldırarak model, tutarlı, yüksek kaliteli bir görüntü ortaya çıkana kadar rastgele sinyali "gürültüden arındırır".
Bu yinelemeli iyileştirme, tek adımlı üretim yöntemlerine kıyasla önemli bir avantaj olan ince ayrıntılar ve dokular üzerinde olağanüstü bir kontrol sağlar.
Gerçek Dünya Uygulamaları#
Difüzyon modelleri, akademik araştırmaların ötesine geçerek çeşitli endüstrilerde pratik, üretime hazır araçlar haline gelmiştir.
- Sentetik Veri Üretimi: Bilgisayarlı görü mühendisleri için en değerli uygulamalardan biri, eğitim veri kümelerini zenginleştirmek için synthetic data oluşturmaktır. Bir veri kümesinde çeşitlilik eksikse (örneğin karlı koşullardaki araba görüntüleri eksikse), bir yaylım modeli gerçekçi varyasyonlar üretebilir. Bu, tahmin edilemeyen ortamlarda dağıtıldığında YOLO26 gibi görü modellerinin dayanıklılığını artırmaya yardımcı olur.
- Görsel İç Boyama (Inpainting) ve Düzenleme: Difüzyon modelleri, kullanıcıların bir görselin belirli bölgelerini değiştirmesine olanak tanıyan gelişmiş düzenleme araçlarına güç verir. Inpainting olarak bilinen bu teknik, istenmeyen nesneleri kaldırabilir veya çevredeki bağlama göre bir fotoğrafın eksik kısımlarını doldurabilir. Mimarlar ve tasarımcılar bunu, manuel 3D render işlemine ihtiyaç duymadan ürün veya ortamlardaki değişiklikleri görselleştirerek hızlı prototipleme için kullanırlar.
Temel Terimleri Ayırt Etme#
Difüzyon modellerini diğer üretken mimarilerden ayırmak faydalıdır:
- Yaylım Modelleri ile GAN'ler: GANs iki rakip ağ (bir üreteç ve bir ayırt edici) kullanır ve hızlı örnekleme ile bilinirken, genellikle modelin sınırlı çeşitlilikte çıktı ürettiği "mod çöökmesi" sorunu yaşarlar. Yaylım modelleri genellikle eğitim sırasında daha kararlıdır ve çıkarım zamanında daha yavaş olabilseler de verilerin dağılımını daha kapsamlı bir şekilde kapsar.
- Yaylım Modelleri ile VAE'ler: Variational Autoencoders (VAEs) verileri gizli bir uzaya sıkıştırır ve ardından yeniden oluşturur. VAE'ler hızlı olsa da, üretilen görüntüleri yaylım süreçlerinin ürettiği keskin ayrıntılara kıyasla bazen bulanık görünebilir.
Pratik Uygulama#
Sıfırdan bir yaylım modeli eğitmek önemli düzeyde bilgi işlem gücü gerektirirken, mühendisler önceden eğitilmiş modellerden yararlanabilir veya bunları verimli dedektörlerle birlikte iş akışlarına entegre edebilir. Örneğin, bir veri kümesi için arka plan varyasyonları oluşturmak üzere bir yaylım modeli kullanabilir ve ardından bu geliştirilmiş veriler üzerinde bir algılama modelini açıklamak ve eğitmek için Ultralytics Platform kullanabilirsiniz.
Aşağıda, bu sistemleri eğitmenin temeli olan basit bir ileri yaylım adımını (gürültü ekleme) simüle etmek için torch kullanan kavramsal bir örnek verilmiştir.
import torch
def add_noise(image_tensor, noise_level=0.1):
"""Simulates a single step of the forward diffusion process by adding Gaussian noise."""
# Generate Gaussian noise with the same shape as the input image
noise = torch.randn_like(image_tensor) * noise_level
# Add noise to the original image
noisy_image = image_tensor + noise
# Clamp values to ensure they remain valid image data (e.g., 0.0 to 1.0)
return torch.clamp(noisy_image, 0.0, 1.0)
# Create a dummy image tensor (3 channels, 64x64 pixels)
dummy_image = torch.rand(1, 3, 64, 64)
noisy_result = add_noise(dummy_image)
print(f"Original shape: {dummy_image.shape}, Noisy shape: {noisy_result.shape}")Gelecek Yönelimler#
Alan, hesaplama maliyetlerini azaltmak için piksel uzayı yerine sıkıştırılmış bir gizli uzayda çalışan gizli yaylım modellerine (LDM'ler) doğru hızla evrilmektedir. Bu verimlilik, güçlü üretken modelleri tüketici donanımında çalıştırmayı mümkün kılmaktadır. Araştırma devam ettikçe, autonomous vehicles güvenliğini doğrulamak veya nadir patolojileri simüle ederek medical image analysis geliştirmek için yaylım tarafından üretilen senaryoların kullanılması gibi, üretken girdiler ile ayırt edici görevler arasında daha sıkı entegrasyon bekliyoruz.






