Yapay Zeka Gürültüden Nasıl Görüntü Üretir
Bir cümle yazın, birkaç saniye bekleyin ve kimsenin çizmediği bir görüntü belirsin. Bugünkü görüntü üreticilerinin birçoğu bunu şaşırtıcı bir yolla yapar: Eski bir televizyondaki karıncalanma gibi saf rastgele gürültüden başlar ve geriye bir görüntü kalana kadar gürültüyü adım adım siler. Bu yönteme diffusion denir.
Bunu öğrenmek için model önce ters yönü inceler: gerçek görüntülerin giderek gürültülenmesini. Her piksel küçük, rastgele bir itme alır ve gürültü arttıkça görüntü silikleşir, ta ki geriye yalnızca gürültü kalana kadar. Gürültü seviyesini değiştirin.
Her piksel çan eğrisinden kendi rastgele sayısını alır. İki pay yaygın bir gürültü takvimini izler ve her zaman a² + b² = 1 olur. %100'de görselden hiçbir şey kalmaz. Tilki Stable Diffusion XL ile üretildi.
Bu yön kolaydır. Yalnızca rastgele sayılar eklemekten ibarettir ve bir bilgisayar bunu hiçbir şey öğrenmeden her görüntüye yapabilir. Zor olan geri dönüş yönüdür.
Eğitim şöyle işler: Gerçek bir görüntü alın, rastgele miktarda gürültü ekleyin ve modelden eklenen gürültüyü ya da, aynı kapıya çıkan şekilde, temiz görüntünün neye benzediğini tahmin etmesini isteyin. Tahmini gerçekle karşılaştırın ve ağırlıkları, tıpkı bir sinir ağının nasıl öğrendiğini anlatan yazıdaki gibi, biraz itin. Milyonlarca görüntüden sonra model tek bir işte iyi olur: gürültülü bir görüntüye bakıp altında ne olduğunu tahmin etmek.
Böyle bir tahminin neye benzediğini görmek için dünyayı küçültelim. Burada bir "görüntü" yalnızca tek bir noktadır ve eğitim görüntüleri birlikte bir kalp çizen noktalardır. Bu kadar küçük bir dünyada, hiçbir şey eğitmeden olabilecek en iyi tahmini birebir hesaplayabiliriz. Gürültülü noktayı sürükleyin ve gürültü seviyesini değiştirin.
- Gürültülü nokta
- Modelin temiz nokta için en iyi tahmini
- Eğitim noktaları; parlak olanların kaynak olma ihtimali daha yüksek
Bu minik dünyada bir "görüntü" tek bir noktadır ve eğitim görüntüleri bir kalp çizen 120 noktadır. Burada en iyi tahmin birebir hesaplanabilir: eğitim noktalarının ağırlıklı ortalaması. Gerçek modeller tahminlerini öğrenmek zorundadır.
Gürültü çokken tahmin ortaya yakın bir yere düşer. Gürültülü nokta neredeyse her yerden gelmiş olabilir, bu yüzden en iyi tahmin her şeyin bir karışımıdır. Gürültü azken tahmin kalbin en yakın kısmına oturur. Gerçek görüntü modelleri de aynı şekilde davranır: Gürültü yüksekken yalnızca kabaca yerleşimi ve renkleri tahmin edebilirler; ayrıntılar daha sonra, gürültü azaldığında gelir.
Yeni bir görüntü üretmek artık bir döngüdür. Saf gürültüyle başlayın. Temiz sonucu tahmin edin, ona doğru biraz ilerleyin ve öncekinden biraz daha az gürültü bırakın. Gürültü yok olana kadar tekrarlayın. Adım sayısını seçin ve Çalıştır'a basın.
400 nokta saf gürültü olarak başlar. Her adımda her nokta modelin en iyi tahminine doğru ilerler ve biraz daha az gürültü bırakır (DDIM yöntemi). Soluk noktalar eğitim noktalarıdır.
Tek adımda bütün noktalar ortadaki karışıma atlar: Saf gürültüden yapılan tek bir tahmin ancak ortalamayı verebilir. Daha fazla adımda her tahmin biraz daha az gürültüyle yapılır ve noktalar kalbi bulur.
Gerçek bir görüntü modeli de aynı şekilde davranır. İşte aynı prompt ve aynı başlangıç gürültüsüyle, ama farklı adım sayılarıyla Stable Diffusion XL. Kaydırıcıyı hareket ettirin.
seed 5
seed 6Stable Diffusion XL ile (fal.ai'deki fast-sdxl) guidance ölçeği 7'de üretilmiş gerçek görüntüler. Her görüntü o kadar adımlık ayrı bir üretimdir; daha uzun bir üretimin ortasından alınmış bir kare değildir. Dörtten az adımda bu kurulum bozuk görüntüler verdi, bu yüzden onlar dışarıda bırakıldı.
Az adımla noktaların gösterdiğinin aynısını elde edersiniz: kaba yerleşimi zaten belli olmuş bulanık bir karışım. Daha fazla adım ayrıntıları ekler, ta ki ek adımlar neredeyse hiçbir şeyi değiştirmeyene kadar. Görüntü üreticilerinin genellikle birkaç düzine adım atmasının nedeni budur; yine de bazı yeni modeller yalnızca birkaç adımla yetinecek şekilde eğitilir.
Minik modelimizin bilerek bırakılmış bir kusuru var: 120 eğitim noktasını birebir bilir, bu yüzden her nokta sonunda bunlardan birinin üstüne düşer. Gerçek bir model milyarlarca görüntüyü böyle saklayamaz. Görüntülerin neye benzediğine dair yumuşatılmış bir sezgi öğrenir ve hiç var olmamış görüntüler üretebilmesini sağlayan da budur. Yine de eğitim verisinde defalarca geçmiş bir görüntü bazen neredeyse hiç değişmeden ortaya çıkabilir.
Gerçek modeller iki fikir daha ekler. Her bir piksel üzerinde değil, görüntünün sıkıştırılmış bir hali üzerinde çalışırlar ve yazdığınız metin her tahmini yönlendirir. Bunlar sonraki yazıların konusu. Stable Diffusion 3 ve FLUX gibi bazı yeni modeller, diffusion'ın yakın bir akrabası olan flow matching'i kullanır; ama gürültüyü adım adım bir görüntüye dönüştürme fikri aynı kalır.
Yaygın bir inanışa göre görüntü üreticileri saklanmış görüntülerden parçalar kesip birbirine yapıştırır. Diffusion böyle çalışmaz: Model bir görüntü klasörü değil, ağırlıklar saklar ve her yeni görüntüyü gürültüden, her seferinde bir tahminle kurar.
Bu içerik size yardımcı olduysa bana bir kahve ısmarlayabilirsiniz.
yapay zeka, yazılım ve tasarım üzerine etkileşimli yazı ve kurslardan haberdar olmak için bültene katılabilirsiniz. Ayda en fazla birkaç e-posta alırsınız.
800’den fazla meraklı okura sen de katıl.