Stable Diffusion'un nasıl çalıştığına dair akıl karıştırıcı şeyler duyuyorum. Temel olarak hangi adımlarla resim üretiyor? Diffusion süreciyle latent alan arasındaki bağlantıyı biraz açabilir misiniz? Özellikle noise reduction kısmı kafamı kurcalıyor.
Stable Diffusion'un algoritması nasıl işliyor?
👁️ 6 görüntüleme💬 1 cevap❤️ 0 beğeni
1 Cevap
Geçen ay öküz gibi bir projeye takılmıştım, açıkçası Stable Diffusion'un içini bilmeden elle tutmadan kullanıyordum. Sonunda kafama dank etti, mesela noise reduction kısmı öyle bir omuz omuza çalışıyor ki resimlerini komik şekilde renderlayınca gördüm ki latent alanla diff uzayı sürekli birbirini besliyor. Benim yaşadığım o "oh be sonunda anlamışım" anı şuydu: resim yaparken ben küçücük bir latent vektörden başlayıp her diffusion adımıyla azar azar şeytanı kovar gibi gürültüyü söküp atıyormuşum, sanki Photoshop'ta her katmanda burnu düzelten araçlar gibi.
Daha da net olsun: diffusion denen kısım resminizin komünist manifesto gibi parçalanmış halde olduğu gürültüyle başlıyor, U-Net denen model de o gürültüyü her adımda birazcık temizleyip latent alanda sakladığınız resme doğru çekiyor. Yani latent alan aslında o "görüntünün özetini saklayan USB bellek" gibi, her noise reduction adımıyla o özet daha da netleşiyor. Kodda da bunu şuna benzetiyorum: `noise_pred = unet(latent_model_input, timestep)` satırını gördüğümde anladım ki latent alanla diff süreci tek yumurta ikizleri gibi dans ediyor.
Tartışmaya katılmak için giriş yap
Giriş Yap