diffusion-models-class icon indicating copy to clipboard operation
diffusion-models-class copied to clipboard

unit1/02_diffusion_models_from_scratch.ipynb typo in formulas

Open mnslarcher opened this issue 1 year ago • 0 comments

Hi! I think a typo fixed in notebook 01 wasn't fixed in notebook 02,

q(xt | x0) ~ N(sqrt(1-alpha)*x0, sqrt(1-alpha)*I)

should be

q(xt | x0) ~ N(sqrt(1-alpha)*x0, 1-alpha*I).

For the same reason, instead of

"and add noise scaled by beta_t"

should be

"and add noise scaled by sqrt(beta_t)"

because the noise should be scaled with the std. dev., not the variance.

Or in other terms

q(xt | x0) ~ N(sqrt(1-beta)*x0, beta*I) => q(xt | x0) = sqrt(1-beta) * x0 + sqrt(beta) * e

with e ~ N(0, I),

var(sqrt(1-beta) * x0 + sqrt(beta) * e) = var(sqrt(beta) * e) = beta * var(e) = beta * I.

This second typo is still in notebook 01 too.

Do you think this makes sense?

Sorry if I'm missing something here and thanks for the great course!

mnslarcher avatar May 23 '23 19:05 mnslarcher