File size: 1,692 Bytes
f1a3155 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 | {
"model_type": "tinydiffusion",
"description": "DDPM on 2D points. Not images. The denoiser is an MLP, never a UNet.",
"architecture": {
"timestep_embedding": {
"type": "nn.Embedding",
"num_embeddings": 100,
"dim": 32
},
"layers": [
"Linear(2+32, 128)",
"SiLU",
"Linear(128, 128)",
"SiLU",
"Linear(128, 2)"
],
"note": "Output is the predicted 2D noise, raw. No activation on the final layer.",
"params": 24450
},
"diffusion": {
"T": 100,
"objective": "epsilon (predict the noise that was added)",
"sampler": "ancestral DDPM, no noise added on the final step",
"schedules": {
"linear": {
"betas": "torch.linspace(1e-4, 0.10, 100)",
"alpha_bar_T": 0.0056,
"warning": "beta_T is 0.10, NOT the usual 0.02. The 0.02 default is tuned for T=1000; at T=100 it stalls at alpha_bar_T=0.36 and never reaches pure noise."
},
"cosine": {
"betas": "Nichol & Dhariwal: alpha_bar from a cosine curve, betas derived",
"alpha_bar_T": 0.0
}
}
},
"checkpoints": {
"dot": {
"schedule": "linear"
},
"line": {
"schedule": "linear"
},
"moons-linear": {
"schedule": "linear"
},
"moons-cosine": {
"schedule": "cosine"
}
},
"data_space": {
"dot": "Gaussian, centre (2.0, 2.0), std 0.1. NOT normalised.",
"line": "y = x, u ~ Uniform[-2, 2], perpendicular Gaussian fuzz std 0.1. NOT normalised.",
"moons": "sklearn make_moons(noise=0.05), normalised to zero mean / unit std per axis. Generated points come out in THAT space, not raw make_moons space."
},
"license": "mit"
}
|