Kurs
Her yeni görüntü ve video modelinin yanında “flow matching” terimini görüp ne anlama geldiğini bilmiyor musunuz?
Çoğu açıklama ya doğrudan diferansiyel denklemlere giriyor ya da bunu “difüzyon, ama daha iyi” diye sunuyor. Hiçbiri modelin ne öğrendiğini söylemiyor. Stable Diffusion 3 ve Flux her ikisi de flow matching ile çalışıyor ve klasik difüzyonun onlarca adıma ihtiyaç duyduğu yerde birkaç adımda görüntü üretiyor.
Genel fikir şu: Model tek tek örnekleri öğrenmek yerine, herhangi bir örneğe hangi yöne ve ne kadar hızlı hareket etmesi gerektiğini söyleyen bir hız alanını öğrenir. Bunu anladığınızda, eğitim süreci, arkasındaki matematik ve difüzyonla ilişkisi anlam kazanacaktır.
Bu yazıda, flow matching’in arkasındaki sezgiyi, nasıl eğitildiğini, matematiğini (hafif tutarak) ve difüzyon modelleriyle nasıl karşılaştırıldığını adım adım anlatacağım.
Görüntü verisi için yapay zekâda yeniyseniz, görsel akıl yürütme, görüntü analizi ve bilgisayarlı görü için güncel son teknoloji modelleri keşfetmek üzere 2026’nın En İyi 10 Görsel Dil Modeli yazımızı okuyun.
Flow Matching Nedir?
Flow matching bir eğitim amacıdır, bir model mimarisi değil.
Bu ayrım önemlidir, çünkü bunu bir transformer ile ya da neredeyse herhangi bir ağ ile eşleştirebilirsiniz – onu flow matching yapan, ağın nasıl göründüğü değil, neyi tahmin etmek üzere eğitildiğidir.
Ve eğitildiği şey zamana bağlı bir vektör alanıdır. Düz Türkçeyle bu, bir örneğin kaynak dağılımdan hedef dağılıma giden yolunun her noktasında hangi yöne ve ne kadar hızlı hareket etmesi gerektiğini söyleyen bir fonksiyondur. Sürekli normalleştirme akışlarını bu şekilde eğittiğinizde, basit bir dağılımı adım adım karmaşık bir dağılıma dönüştüren bir model elde edersiniz.
Sezgiyi dört fikirde toplamayı seviyorum:
- Basitten başlayın: Kolayca örnekleyebileceğiniz bir dağılımla başlayın, örneğin Gauss gürültüsü
- Yolları tanımlayın: Her gürültü örneğini, pürüzsüz bir yol boyunca bir hedef veri noktasına bağlayın
- Hareketi öğrenin: Bir örneğin bu yol boyunca her anda nasıl hareket etmesi gerektiğini tahmin edecek bir ağ eğitin
- Akışı izleyin: Eğitim tamamlandığında gürültüden başlayın ve yeni örnekler üretmek için öğrenilen vektör alanını takip edin
Görsel biriyseniz, düzensiz dağılmış parçacıklardan oluşan bir bulutu hayal edin. Flow matching her parçacığa tam olarak hangi yöne ve ne kadar hızlı hareket etmesi gerektiğini öğretir; böylece tüm bulut zamanla düzenli bir desene (hedef dağılımınızın şekline) yerleşir.
Bunu bir görüntü veri kümesi üzerinde çalıştırdığınızda, “düzenli desen” rastgele gürültü yerine tutarlı bir fotoğraf anlamına gelir.
Flow Matching Nasıl Çalışır
Burada eğitim ve üretim iki ayrı aşamadır ve insanlar bunların aynı olduğunu düşündüğünde kafa karışıklığı başlar.
Eğitim sırasında:
- Bir veri noktası örnekleyin: Eğitim setinizden bir nokta seçin – örneklerin yöneldiği hedef
- Gürültü örnekleyin: Genellikle Gauss gürültüsü olan basit bir kaynak dağılımdan bir nokta seçin
- Bir zaman seçin: 0 ile 1 arasında rastgele bir
tseçin - Ara bir nokta oluşturun: Seçtiğiniz olasılık yoluna göre, veri noktasını ve gürültü örneğini
t’ye bağlı olarak birleştirin - Hedef hızı alın: Seçtiğiniz yola dayanarak, o ara noktanın
tanındaki yönünü ve hızını hesaplayın - Ağı eğitin: Ara nokta ve zaman verildiğinde bu hızı tahmin etmeyi öğretin
Üretim aşaması veri noktasına ihtiyaç duymaz.
Gürültüden başlar ve öğrenilen vektör alanını zamana doğru, küçük adımlarla ileri entegre edersiniz; ta ki veri dağılımından bir örneğe ulaşana kadar.
Ve fikir bu – eğitimde hızı tahmin eder, üretimde onu takip edersiniz.
Vektör Alanlarını ve Olasılık Yollarını Anlamak
Flow matching amacının ardındaki işin çoğunu iki fikir yapar – vektör alanları ve olasılık yolları. Bunları anladığınızda, bir sonraki bölümdeki kayıp fonksiyonu da anlamlı gelecektir.
Vektör alanları
Vektör alanı, ağın tahmin ettiğidir. Uzayın herhangi bir noktasında ve herhangi bir anda, bir yön ve hız verir – o noktadaki bir örneğin veri dağılımına yaklaşmak için nasıl hareket etmesi gerektiği.
Örneğin bir nehirde durduğunuzu hayal edin. Nerede durursanız durun, akıntı sizi belirli bir yönde iter ve ne kadar şiddetle ve hangi yönde olduğu tam konumunuza ve zamana bağlıdır. Bir vektör alanı, örnekleriniz için aynı şeyi yapar – uzayın her noktasına, zamanın her anında bir yön ve hız atar.
Olasılık yolları
Bir olasılık yolu, bir örneğin gürültüden veriye giderken geçtiği dağılımlar dizisidir. t = 0 anında genellikle Gauss gürültüsü olan kaynak dağılımdan örnekliyorsunuz. t = 1 anında hedef veri dağılımından örnekliyorsunuz. Bu iki nokta arasındaki her şey ara dağılımdır ve olasılık yolu birinin diğerine nasıl dönüştüğünü açıklar.
Vektör alanı ve olasılık yolu doğrudan bağlantılıdır; çünkü vektör alanı örnekleri olasılık yolu boyunca, bir ara dağılımdan diğerine, veri dağılımına ulaşana kadar taşır.

Bir olasılık yolu diyagramı
Flow Matching Amacı
Flow matching amacı, vektör alanlarını ve olasılık yollarını tek bir regresyon kaybına dönüştürür.
Her eğitim adımı iki hızı karşılaştırır. İlki hedef hızdır – seçilen olasılık yolu boyunca o noktada bir örneğin hangi yönde ve ne hızla hareket etmesi gerektiği. İkincisi modelin tahmin ettiği hızdır – mevcut örnek ve zamana dayalı olarak, aynı yön ve hız için ağın kendi tahmini. Eğitim bu ikisini mümkün olduğunca örtüştürür.
İşte kayıp fonksiyonu:

Flow matching kayıp fonksiyonu
Her terim ne anlama geliyor:
-
v_θ(x_t, t):x_tnoktasında vetanındaki modelin tahmin ettiği hız -
u_t(x_t): Seçilen olasılık yoluna dayalı olarak aynı nokta ve andaki hedef hız -
𝔼[...]: Birçok rastgeletvex_tdeğeri üzerindeki ortalama -
‖ · ‖^2: İki hız arasındaki karesel fark – düz ortalama karesel hata
Tam türetim burada önemli değil. Önemli olan, ağın tek bir anda ve tek bir noktada tek bir vektör tahmin etmesi ve bunu bilinen bir hedefle karşılaştırmanız. Hepsi bu!
Koşullu Flow Matching
Tam gürültü dağılımını tam veri dağılımına bağlayan marjinal olasılık yolu doğrudan yazabileceğiniz bir şey değildir.
Belirli bir noktadaki hedef hızı hesaplamak, onu üretebilecek her veri örneğini hesaba katmak anlamına gelir – tüm veri kümeniz üzerinden bir integral; kimsenin her eğitim adımında hesaplamadığı bir şey.
Koşullu flow matching, tam yol yerine tekil örnekler üzerine koşullayarak bunu çözer. Tüm marjinal yol için vektör alanını hesaplamak yerine, tek bir veri noktası ve tek bir gürültü noktası seçer, sonra yalnızca bu çift için bir olasılık yolu kurarsınız. Bu koşullu yolu basit yaptığınızda – örneğin iki nokta arasındaki düz bir çizgi işe yarar – hedef hız, doğrudan hesaplayabileceğiniz kapalı formda bir ifadeye sahiptir.
Ağı bu basit, çift başına koşullu hızlar üzerinde ve yeterince çok çift boyunca ortalama alarak eğitmek, çözülemez marjinal amaçtan elde edeceğinizle aynı vektör alanını verir. Marjinal yolu asla doğrudan hesaplamazsınız – bunun yerine, her seferinde bir kolay koşullu yol ile dolaylı olarak yaklaşıklarsınız.
Pratikte neredeyse herkesin eğittiği sürüm budur. Marjinal formülasyon matematiği çalıştırır, ancak koşullu formülasyon pratikte işe yarayan yöntemdir.
Flow Matching ve Difüzyon Modelleri
Difüzyon ve flow matching iyi bir nedenle karşılaştırılıyor – bildiğiniz çoğu “difüzyon modeli” artık bir flow matching amacıyla çalışıyor. Bu, flow matching’in difüzyonun yerini aldığı anlamına gelmiyor. Difüzyonun, daha büyük bir çerçevenin içinde belirli bir durum olduğu ortaya çıktı ve flow matching bunun genel sürümü.
Her bir ağın neyi tahmin ettiğinden başlayayım. Bir difüzyon modeli gürültüyü tahmin eder. Gürültülü bir örnek ve bir zaman adımı verildiğinde, karışan gürültüyü tahmin eder ve sonra onu adım adım kaldırır. Flow matching bunun yerine bir hız tahmin eder. Bir örnek ve bir zaman adımı verildiğinde, o örneğin veri dağılımına doğru hangi yöne ve ne kadar hızlı hareket etmesi gerektiğini tahmin eder.
İki yöntem en çok olasılık yolunda ayrışır.
Difüzyon modelleri, genellikle sabit bir plan dâhilinde Gauss gürültüsü ekleyen belirli bir gürültüleme sürecini baştan sabitler ve diğer her şey bu tek seçimden türetilir. Flow matching’de, gürültüyü veriye bağlayan herhangi bir yolu seçersiniz ve amaç, hangisini seçerseniz seçin aynı şekilde çalışır. Difüzyon tarzı Gauss yolu bir seçenektir. Gürültü ile veri arasında düz bir çizgi bir diğeridir ve örnekleme hızını ne kadar artırabileceğiniz açısından büyük fark yaratır.
Bu iki tahmin göründüğü kadar farklı değil.
Bir difüzyon modelinin gürültü tahmini ile bir flow matching modelinin hız tahmini, zamana bağlı olarak dağılımın skoru üzerinden birbirine bağlı, aynı özün iki görünümüdür. Farkları üretimde ortaya çıkar. Difüzyon örneklemesi varsayılan olarak stokastiktir, yani her gürültü giderme adımı biraz rastgelelik geri ekler (DDIM gibi deterministik varyantlar olsa da). Flow matching tam tersidir – doğal formülasyonu deterministik bir ODE’dir; bu nedenle aynı başlangıç gürültüsü her seferinde aynı çıktıyı üretir ve bu tarafta da stokastik sürümler mevcuttur.
Her iki durumda da örnekleme, diferansiyel bir denklemi adım adım çözmek, gürültüden veriye doğru ilerlemektir.
Difüzyon modelleri, hızlı örnekleyiciler veya damıtma eklemediğiniz sürece genellikle onlarca adıma ihtiyaç duyar. Flow matching, özellikle düz çizgi yollar üzerinde eğitildiğinde, bunların hiçbirine gerek kalmadan çok daha az adım gerektirir – düz bir yol sabit hıza sahiptir ve bu, bir çözücünün eğri yola kıyasla isabetli biçimde takip etmesi çok daha kolaydır.
Flow matching’in öne geçtiği yer doğrudan yol seçimidir.
Difüzyon modelleri, türetildikleri gürültüleme süreciyle sınırlıdır. Flow matching yolu bir tasarım seçimi olarak ele alır ve farklı seçimler farklı ödünleşimler getirir.
|
Difüzyon modelleri |
Flow matching |
|
|
Ağın tahmin ettiği şey |
Her adımda eklenen gürültü |
Veri dağılımına doğru hız |
|
Olasılık yolu |
Belirli bir gürültüleme süreciyle sabitlenmiş |
Serbestçe seçilir; düz çizgiler yaygındır |
|
Altyapı nesnesi |
Gürültülü dağılımın skoru |
Zamana bağlı vektör alanı, skorla bağlantılı |
|
Üretim |
Varsayılan olarak stokastik, fakat deterministik varyantlar mevcut |
Varsayılan olarak deterministik, fakat stokastik varyantlar mevcut |
|
Örnekleme adımları |
Ek hileler olmadan sıkça onlarca |
Genellikle çok daha az, özellikle daha düz yollarla |
|
Yol seçimi |
İleri süreç tarafından sabitlenir |
Açık bir tasarım seçimi — difüzyon bunun bir örneğidir |
Flow matching’in difüzyon modelleriyle karşılaştırması
Flow Matching ve İlgili Üretici Yöntemler
Karşılaştırılan tek yöntem difüzyon değildir. Bilmeniz gereken üç yöntem daha var
Flow matching vs. sürekli normalleştirme akışları
Önce sürekli normalleştirme akışları geldi ve flow matching doğrudan bunları eğitmedeki sorunlardan büyüdü.
Sürekli normalleştirme akışı, flow matching’in ürettiği model türüdür – dağılımlar arasında bir ODE yoluyla sürekli bir dönüşüm tanımlayan bir ağ. Orijinal yöntemle eğitmek, bu ODE’yi ileri çözmek ve her adımda kesin bir olabilirlik hesaplamak demekti; bu da dönüşümün yol boyunca olasılık yoğunluğunu nasıl değiştirdiğini izlemek anlamına gelir. Bu hesaplama pahalıdır ve ağ büyüdükçe daha da kötüleşir.
Flow matching bunların hepsinden kaçınır. ODE’yi çözmek ve eğitim sırasında olabilirlikleri hesaplamak yerine, bilinen bir hedef hız üzerine doğrudan regresyon yapar. Simülasyon gerekmez. Yine de bir sürekli normalleştirme akışıyla sonuçlanırsınız; sadece oraya varmak için önceki eğitim maliyetini ödemezsiniz.
Flow matching vs. skor eşleştirme
Skor eşleştirme, her gürültü seviyesinde skoru – log olasılık yoğunluğunun gradyanını – tahmin etmek üzere bir ağ eğitir. Bu, zaten bildiğiniz difüzyon modellerinin arkasındaki amaçtır.
Flow matching bunun yerine bir hız tahmin eder. Bu iki nesne matematiksel olarak ilişkilidir; yani belirli yol seçimleri altında birini diğerine dönüştürebilirsiniz. Ama farklı şeyleri temsil ederler. Skor, zamanın sabit bir anında olasılık dağılımının şeklini açıklar. Hız ise zaman değişirken bir örneğin nasıl hareket etmesi gerektiğini açıklar.
Skor eşleştirme geometriyi sorar. Flow matching hareketi sorar.
Flow matching vs. düzeltilmiş akış (rectified flow)
Düzeltilmiş akış, flow matching içinde belirli bir seçimdir.
Flow matching, gürültüyü veriye bağlayan herhangi bir olasılık yolunu seçmenize izin verir. Düzeltilmiş akış bir tanesini seçer – düz çizgiler – ve sonra “reflow” adlı iteratif bir prosedürle bir adım daha ileri giderek, eğitilmiş bir modelin zaten öğrendiği yolları düzeltir; böylece ikinci tur bir model, üretim zamanında daha da az integrasyon adımına ihtiyaç duyar.
İki terimin aynı makalelerde yan yana görünmesinin nedeni budur. Stable Diffusion 3 ve Flux, flow matching’i, düzeltilmiş akışa yakın bir yol seçimiyle kullanır. Ancak flow matching ile düzeltilmiş akışı birbirinin yerine kullanmak meseleyi ıskalamaktır. Flow matching çerçevedir. Düzeltilmiş akış, onun içinde seçebileceğiniz yollardan biridir.
Modern Üretici Yapay Zekâda Flow Matching
Flow matching artık üretimdeki en büyük üretici sistemlerin bazılarının içinde çalışıyor.
- Görüntü üretimi flow matching’in ölçekli biçimde ilk göründüğü alandır. Stable Diffusion 3, eski DDPM tarzı formülasyondan flow matching’e geçti ve Black Forest Labs’ın Flux modeli, benzer bir düzeltilmiş akış yaklaşımı üzerine inşa edildi. Her ikisi de yukarıda bahsedilen düz yol fikri sayesinde daha hızlı ve daha kaliteli örnekleme elde ediyor.
- Video üretimi kendi yolunuzu seçme özgürlüğünün anlamlı olduğu yerdir; çünkü video, bırakın her gürültü giderme adımında onlarcasını, tek bir kareyi örneklemek bile maliyetlidir. Meta’nın 30 milyar parametreli Movie Gen Video modeli, alışıldık difüzyon U-Net’ini, flow matching amacıyla eğitilmiş bir Transformer ile değiştirir. O zamandan beri yayımlanan birkaç büyük video üretici, aynı yaklaşımı, önceden eğitilmiş bir video kodlayıcının gizli uzayında kullanıyor – aynı nedenle: daha az örnekleme adımı, bu ölçekte gerçek tasarruf demektir.
- Ses ve konuşma üretimi de flow matching’den yararlanır. Meta’nın Voicebox’ı 2023’te çok dilli konuşma üretimi için bunu kullandı ve Movie Gen’in ses bileşeni, eşlik ettiği videoyla senkronize şekilde aynı yöntemle film müzikleri ve ses efektleri üretir. F5-TTS gibi açık TTS sistemleri, difüzyon transformer ile flow matching üzerine doğrudan inşa edilerek, ayrı bir süre modeli veya fonem hizalayıcı olmadan doğal konuşma üretir.
- Çok modlu üretim ayrı bir teknikten çok, tek bir amacı her yerde kullanmanın getirisi olarak ortaya çıkar. Movie Gen’in kendisi, aynı flow matching amacıyla eğitilmiş bir dizi medya temel modelinden – video, ses, kişiselleştirme ve düzenleme – oluşacak şekilde çerçevelenmiştir.
Bütün bunların nedeni, bir regresyon kaybının uygulanmasının ve ölçeklendirmenin basit olmasıdır. Ve yol bir tasarım seçimi olduğundan, milyarlarca parametreli sistemler kuran ekipler daha az örnekleme adımı gerektiren bir yol seçebilir; bu da her adımın bu ölçekte hesaplama maliyetine sahip olduğu durumlarda önemlidir.
Basit Bir Flow Matching Örneği
Şimdiye kadar her şey kavramsaldı. Şimdi sizi, her adımını görebileceğiniz kadar küçük, gerçek bir 2B veri kümesi üzerinde çalışan aynı fikirde gezdireceğim.
Gürültü dağılımı, orijinde merkezli standart bir 2B Gauss’tur. Hedef dağılım, bir üçgen oluşturacak şekilde düzenlenmiş üç Gauss kümesidir – küçük bir ağın hızla öğrenmesi için yeterince basit, ama doğru olup olmadığını gerçekten anlayabileceğiniz kadar yapısal.

Basit flow matching örneği
İlk panelde her örneğin başladığı yer var – yapısız, dağınık gürültü. İkinci panel, eğitimin ortasında bir ızgara üzerinde değerlendirilen vektör alanının kendisi. Okların, herhangi bir örnek oraya ulaşmadan çok önce bile üç kümeden birine doğru yöneldiğine dikkat edin. Üçüncü panel, taze gürültüden başlayıp t = 1’e kadar bu alanı takip ettiğinizde ne olduğunu gösterir – üç küme ortaya çıkar ve dördüncü panelle neredeyse kusursuz örtüşür.
Bunların hiçbiri önceki bölümlerde anlatılmayan bir şeyi içermiyor – bir kaynak dağılımı, bir hedef dağılım, öğrenilmiş bir vektör alanı ve üçünü birbirine bağlayan bir ODE çözücüsü. Gelelim koda.
Python ile Flow Matching
Aşağıda, aynı gürültü kaynağı ve üç kümeli hedefi kullanan küçük bir PyTorch uygulaması yer alıyor.
İki dağılım ve onlardan nasıl örnekleyeceğinizle başlayın:
import torch
import torch.nn as nn
torch.manual_seed(0)
# Three Gaussian clusters as the target ("data") distribution
centers = torch.tensor([[0.0, 3.0], [-2.6, -1.6], [2.6, -1.6]])
def sample_target(n):
idx = torch.randint(0, 3, (n,))
return centers[idx] + 0.4 * torch.randn(n, 2)
def sample_source(n):
return torch.randn(n, 2)
Ağın kendisi bir nokta ve bir zaman adımı alır ve bir hız tahmin eder:
class VelocityNet(nn.Module):
def __init__(self, hidden=64):
super().__init__()
self.net = nn.Sequential(
nn.Linear(3, hidden), nn.ReLU(),
nn.Linear(hidden, hidden), nn.ReLU(),
nn.Linear(hidden, 2),
)
def forward(self, x, t):
return self.net(torch.cat([x, t], dim=1))
Eğitim, her adımda bir yığın kaynak noktası, hedef noktası ve zaman adımı örnekler; sonra ilk ikisi arasında enterpolasyon yapar ve ortaya çıkan hıza regresyon uygular:
model = VelocityNet()
optimizer = torch.optim.Adam(model.parameters(), lr=1e-3)
for step in range(3000):
# source (noise) points
x0 = sample_source(256)
# target (data) points
x1 = sample_target(256)
# random time steps
t = torch.rand(256, 1)
# interpolate along a straight-line path
xt = (1 - t) * x0 + t * x1
# target velocity for that path
target_v = x1 - x0
pred_v = model(xt, t)
loss = ((pred_v - target_v) ** 2).mean()
optimizer.zero_grad()
loss.backward()
optimizer.step()
Üretim, öğrenilen ODE’yi düz Euler integrasyonuyla çözer. t = 0’dan t = 1’e küçük adımlar atan bir döngüye ihtiyacınız var:
@torch.no_grad()
def generate(model, n_samples, n_steps=100):
x = sample_source(n_samples)
dt = 1.0 / n_steps
for i in range(n_steps):
t = torch.full((n_samples, 1), i * dt)
x = x + model(x, t) * dt
return x
samples = generate(model, n_samples=600)
`

Üretilen örneklerin görselleştirilmesi
Ve tüm hat bu kadar! Örnekle, enterpole et, regresyon yap, entegre et. Daha büyük bir ağ, farklı bir yol veya daha yüksek boyutlu bir veri kümesiyle hiçbir şey değişmez – yalnızca ölçek değişir.
Flow Matching’in Avantajları ve Sınırlamaları
Bunların hiçbiri flow matching’i difüzyona karşı evrensel bir yükseltme yapmaz. Bu da diğer tasarım seçimleri gibi bir ödünleşimdir.
İşte iyi bir seçenek olduğu ve olmadığı yerler.
Avantajlar
- Doğrudan regresyon amacı: Skor kestirimi yok, olabilirlik sınırları yok, dengelenecek adversaryal kayıp yok – yalnızca tahmin edilen bir hız ile bilinen bir hedefin karşılaştırılması
- Olasılık yolu seçimi: Tek bir gürültüleme süreciyle sınırlı değilsiniz; düz çizgi, difüzyon tarzı yol veya özel bir yolun tümü aynı amaca sığar
- Sürekli zamanlı modellere doğal uyum: Flow matching, bu modellerin eskiden gerektirdiği pahalı olabilirlik hesaplaması olmadan sürekli normalleştirme akışlarını eğitir
- Daha az örnekleme adımı: Daha düz yollar, bir ODE çözücüsünün isabetli kalmak için daha az adıma ihtiyaç duyması demektir; bu da pratikte daha hızlı üretim olarak yansır
- Veri türleri arasında çalışır: Aynı amaç, görüntü, video, ses ve çok modlu modelleri eğitir – matematik modelliğe göre değişmez
Sınırlamalar
- ODE integrasyonu pahalı olabilir: Her örnekleme adımı hâlâ ağdan bir ileri geçiş demektir ve bu, video veya ses ölçeğinde birikir
- Kalite yol ve ağa bağlıdır: Kötü seçilmiş bir olasılık yolu veya yetersiz eğitilmiş bir ağ, düz çizgi yollar dâhil, yine de kötü örnekler üretir
- Matematiğin öğrenme eğrisi vardır: Olasılık yolları, vektör alanları ve sürekli zamanlı formülasyonlar, düz bir gürültü giderme resminden daha fazla arka plan gerektirir
- Büyük modeller, büyük model maliyetlerine sahiptir: Flow matching, Movie Gen veya Flux gibi bir sistemin adım başı maliyetini düşürür; ancak milyarlarca parametreli ağları eğitmek ve çalıştırmak iki durumda da zorludur
Sonuç
Flow matching, bir modelin örneklerin basit bir dağılımdan veri dağılımına doğru nasıl hareket etmesi gerektiğini öğretir. Bu yazıda anlattığım diğer her şey, bu tek fikri eğitilebilir kılmak içindir.
İki fikir burada işin çoğunu yapar. Bir olasılık yolu, gürültüyü bir dizi ara dağılım üzerinden veriye bağlar. Bir vektör alanı, bu yol boyunca herhangi bir noktada ve herhangi bir anda bir örneğin nasıl hareket etmesi gerektiğini açıklar. Ağ bu vektör alanını, yani hızını öğrenir ve üretim, ortaya çıkan akışı gürültüden veriye takip etmektir.
Bunların hiçbiri öncekilerden ayrı durmuyor. Flow matching, modern sistemlerin eski olabilirlik hesaplaması olmadan sürekli normalleştirme akışlarını eğitme yoludur ve difüzyon modelleri bunun belirli bir örneği olarak karşımıza çıkar.
Eğer difüsiyon modelleri, normalleştirme akışları veya daha genel olarak üretici yapay zekâ ilginizi çekiyorsa, sıradaki adımlar tam olarak şunlar:
Flow Matching SSS
Flow matching nedir?
Flow matching, bir model mimarisi değil, üretici modeller için bir eğitim yöntemidir. Ağ, belirli örnekler üretmeyi öğrenmek yerine bir vektör alanı öğrenir – herhangi bir örneğe belirli bir nokta ve zamanda hangi yöne ve ne kadar hızlı hareket etmesi gerektiğini söyleyen bir fonksiyon. Gürültüden başlar, bu alanı t = 1’e kadar takip ederseniz, veri dağılımından bir örnek elde edersiniz.
Flow matching, difüzyon modellerinden nasıl farklıdır?
Bir difüzyon modeli, bir örnekteki gürültüyü tahmin eder ve sabit bir gürültüleme sürecini izleyerek adım adım kaldırır. Flow matching ise bunun yerine bir hız tahmin eder ve gürültüyü veriye bağlayan olasılık yolunu seçmenize olanak tanır – örneğin sabit bir Gauss planı yerine düz bir çizgi. Difüzyon, daha geniş flow matching çerçevesi içinde belirli bir yol seçimi olarak ortaya çıkar; ona karşı yarışan ayrı bir yöntem değildir.
Flow matching bir model mimarisi midir?
Hayır, bu bir eğitim amaçtır. Bunu bir transformer ile ya da neredeyse herhangi bir ağ ile eşleştirebilirsiniz – onu flow matching yapan, ağın nasıl göründüğü değil, neyi tahmin etmek üzere eğitildiğidir. Bu yüzden, çok farklı mimariler üzerine kurulmuş görüntü, video ve ses modellerinin arkasında aynı amacı görürsünüz.
Koşullu flow matching nedir ve neden önemlidir?
Her gürültü noktasını her veri noktasına bağlayan tam olasılık yoluyla doğrudan çalışmak pratik değildir; çünkü gerçek hedef hız, tüm veri kümenizi aynı anda hesaba katmayı gerektirir. Koşullu flow matching, basit bir yol ve hesaplanabilir bir hız ile tek tek gürültü-veri çiftlerine koşullayarak bunu çözer. Ağın eğitimini yeterince çok bu çift üzerinde ortaladığınızda, tam amacın aradığı vektör alanını doğrudan hesaplamadan yaklaşıklamış olursunuz.
Flow matching’i kullanan gerçek dünya modelleri hangileridir?
Stable Diffusion 3 ve Flux, görüntü üretimi için flow matching kullanır. Meta’nın Movie Gen’i bunu video ve sese uygular ve Voicebox ile F5-TTS gibi konuşma modelleri aynı amacı metinden konuşmaya için kullanır. Bu ölçekteki çekiciliğin nedeni, eğitimi basit bir regresyon kaybı ve çoğu zaman daha az örnekleme adımı gerektiren bir yol seçimidir.
