Isko first principles se derive karte hain. Maano hamare paas p(x)=Zp~(x) hai jahan Z=∫p~(x)dx partition function hai.
∇xlogp(x)=∇xlog(Zp~(x))
=∇x[logp~(x)−logZ]
Kyunki Z ka x par depend nahi karta:
=∇xlogp~(x)
Jaadu: Intractable normalization constant Z gayab ho jaata hai! Isliye score-based models powerful hain — hume kabhi Z compute ya estimate nahi karna padta.
Real data high-dimensional space mein low-dimensional manifolds par rehti hai. Ek akela noise level σ poori distribution ko achhi tarah cover nahi karega.
Multiple scales kyun?
Bada σ: Connectivity ensure karta hai, koi isolated modes nahi
Jab hamare paas score function aa jaata hai, hum Langevin MCMC use karke samples generate karte hain:
Derivation: Yeh Langevin SDE se aata hai:
dx=∇xlogp(x)dt+2dW
jahan dW ek Wiener process hai. Step size α ke saath discretize karte hain:
xt+1=xt+α∇xlogp(xt)+2αϵ
2α noise term kyun? Yeh diffusion term 2dW ka discretization hai. dW ka variance time dt ke upar dt hota hai, toh step α ke upar yeh 2α ho jaata hai.
Annealing schedule:σ1 (coarse) se shuru karo, gradually σL (fine) tak kam karo. Yeh ensure karta hai:
Socho tum pahaadon mein ghere ho ghane kohere mein. Tum woh valley nahi dekh sakte jahan tumhe jaana hai, lekin tumhare paas ek jadui compass hai jo hamesha neeche ki taraf point karta hai.
Score-based models us compass ki tarah hain. Har pahaad ki exact shape yaad karne ki koshish karne ke bajay (jo impossible hoga), hum ek "kaun si taraf neeche hai" function seekhte hain har jagah ke liye. Phir valley tak pahunchne ke liye (realistic data generate karne ke liye), hum kahin bhi random se shuru karte hain aur compass follow karte hue neeche jaate hain, chhote chhote steps lete hue.
Trick yeh hai ki hum yeh compass ek game khel ke seekhte hain: hum real valley locations lete hain, unhe pahaad ke upar randomly uchhal dete hain (noise add karte hain), phir apne compass ko train karte hain ki woh wapas wahin point kare jahan se woh aaye the. Yeh kaam hazaaron baar alag alag heights par (noise levels) karne se, hamaara compass har jagah sahi direction seekh leta hai.
Diffusion Models: Score-based models discrete diffusion ka continuous-time limit hain
VAE: Dono latent structures seekhte hain, lekin scores p(x) directly model karta hai encoder-decoder ke bajay
GAN: Dono samples generate karte hain, lekin scores gradients use karta hai adversarial training ke bajay
Energy-Based Models: Score energy function E(x)=−logp(x) ka gradient hai
Langevin Dynamics: Generation ke liye use hone wala MCMC sampling procedure
Stochastic Differential Equations: Modern formulation diffusion ko reverse-time SDE ki tarah treat karta hai
#flashcards/ai-ml
Score-based generative models mein score function kya hota hai? :: Log-probability ka gradient: s(x)=∇xlogp(x). Yeh increasing probability density ki direction mein point karta hai.
Hum density ki jagah score kyun model karte hain?
(1) p(x)=p~(x)/Z mein intractable normalization constant Z log p ka gradient lete waqt cancel ho jaata hai. (2) Scores aksar high dimensions mein estimate karna aasaan hota hai.
Denoising score matching ki key insight kya hai?
Data mein Gaussian noise x~=x+σϵ add karo. Noised distribution ka score hai ∇x~logq(x~∣x)=−ϵ/σ, jo hum directly compute kar sakte hain aur training target ki tarah use kar sakte hain.
Score-based models mein multiple noise scales kyun use karte hain?
(1) Bada σ poore space ki coverage ensure karta hai. (2) Chhota σ fine data details capture karta hai. (3) Intermediate scales gap bridge karte hain, mode collapse aur poor mixing se bachte hain.
Annealed Langevin dynamics kya hai?
Ek MCMC sampling procedure jo high noise σ1 se shuru hota hai aur progressively low noise σL tak jaata hai, har level par run karta hai: xt+1=xt+αsθ(xt,σ)+2αzt jahan zt∼N(0,I).
Score matching loss ko σ2 se weight kyun karte hain?
Weighting ke bina, chhota σ (bade scores) gradient dominate karta hai. σ2 se weight karna loss ko scale-invariant banata hai aur saare noise levels mein learning balance karta hai.
Score-based models aur diffusion models kaise related hain?
Diffusion mein, xt=αtx0+σtϵ. Score hai ∇logp(xt)=−ϵ/σt. Toh noise ϵ predict karna (diffusion objective) score predict karne ke equivalent hai (ek scale factor tak).
Epdata[∥sθ(x)−∇xlogpdata(x)∥2]. Yeh model score aur true score ke beech squared difference measure karta hai, data distribution ke upar average karke.
Langevin dynamics mein 2α noise term kyun aata hai?
Yeh Langevin SDE dx=∇logp(x)dt+2dW ko discretize karne se aata hai. Diffusion term 2dW ka variance time step dt ke upar 2dt hota hai, toh discrete step α ke upar yeh 2α ho jaata hai.