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"
}