好,我们来系统、循序渐进地理解 扩散模型(Diffusion Model)。我会从直观解释开始,再过渡到数学原理,最后结合 256×256 的图像训练过程让你彻底明白。
一、扩散模型的基本思想
扩散模型(Diffusion Model)其实做了两件事:
-
前向扩散(Forward Diffusion / 加噪声过程)
- 从真实图片开始,逐步往里面加噪声,直到最后变成完全的高斯噪声。
- 就像你把一张人脸照片不断往上泼“雪花干扰”,最后完全模糊掉。
-
反向扩散(Reverse Diffusion / 去噪声过程)
- 学习一个神经网络,去一步步“预测并去掉噪声”。
- 如果学得好,从纯噪声出发,也能一步步恢复成一张清晰的人脸。
👉 训练目标:学会如何一步步“去噪声”。
👉 生成目标:从纯噪声开始,通过学到的去噪步骤,生成新的样本。
二、数学公式直观化
-
前向过程
-
给定一张图像 x0∈R256×256×3x_0 \in \mathbb{R}^{256\times256\times3}x0∈R256×256×3。
-
定义一个加噪序列:
xt=αtxt−1+1−αt ϵ,ϵ∼N(0,I) x_t = \sqrt{\alpha_t}x_{t-1} + \sqrt{1-\alpha_t}\,\epsilon, \quad \epsilon \sim \mathcal{N}(0,I) xt=αtxt−1+1−αtϵ,ϵ∼N(0,I)
-
其中 t=1,...,Tt=1,...,Tt=1,...,T,一般 T=1000T=1000T=1000 或更多。
-
每一步噪声越来越多,最终 xTx_TxT ≈ 高斯噪声。
-
-
反向过程
- 学习一个神经网络 ϵθ(xt,t)\epsilon_\theta(x_t, t)ϵθ(xt,t),用来预测在第 ttt 步里加的噪声。
- 然后一步步去掉噪声,恢复到原始数据分布。
-
训练目标(MSE 损失)
-
网络需要学会:
ϵθ(xt,t)≈ϵ \epsilon_\theta(x_t,t) \approx \epsilon ϵθ(xt,t)≈ϵ
-
也就是:预测每一步真正加的噪声。
-
三、256×256 图像的训练过程
假设我们输入一张 256×256×3 的人脸:
-
采样噪声步骤 ttt
- 从 1~1000 随机选一个时间步 ttt。
-
加噪声
- 根据公式,把原图加噪得到 xtx_txt。
- 这时 xtx_txt 可能已经很模糊,甚至快接近纯噪声。
-
网络预测噪声
- 把 xtx_txt 和 ttt 输入神经网络(通常是 UNet)。
- 网络输出一个“噪声预测图”。
-
计算损失
-
真实噪声 ϵ\epsilonϵ 和网络预测 ϵθ\epsilon_\thetaϵθ 做 MSE:
L=∥ϵ−ϵθ(xt,t)∥2 L = \|\epsilon - \epsilon_\theta(x_t,t)\|^2 L=∥ϵ−ϵθ(xt,t)∥2
-
-
梯度下降更新参数
- 训练目标就是让网络学会更精准地预测噪声。
经过大量训练后:
- 给一张几乎是噪声的图,网络能预测出里面的“真噪声”,从而一步步减掉它。
- 最终,从纯噪声开始,经过 1000 步去噪 → 就能生成清晰、合理的图片。
四、类比理解
- 前向扩散 = 把咖啡里倒牛奶,不断搅拌,最后一杯全混浊。
- 反向扩散 = 学会如何“逆过程”把牛奶和咖啡分开(虽然现实生活做不到,但网络可以学一个近似过程)。
- 本质:学“从混乱到清晰”的过程。
五、总结
-
扩散模型训练过程:
- 给图片逐步加噪 → 学网络预测噪声 → 用预测来还原干净图像。
-
核心原理:
- 只需要学“预测噪声”这一件事。
-
最终用途:
- 从纯噪声一步步采样,生成新的图片。
📊 统计学常见术语(通俗解释版)
1. 均值(Mean / Average)
- 公式:xˉ=1n∑i=1nxi\bar{x} = \frac{1}{n}\sum_{i=1}^n x_ixˉ=n1∑i=1nxi
- 含义:数据的平均水平。
- 例子:10 个同学的身高平均值是 170cm。
- 用途:衡量数据的“中心”。
2. 中位数(Median)
- 定义:把数据从小到大排列,正好位于中间的数。
- 例子:[160, 165, 170, 180, 190] → 中位数是 170。
- 用途:比均值更稳健,不受极端值影响(比如一个人 300cm 不会拉高中位数)。
3. 众数(Mode)
- 定义:出现次数最多的数。
- 例子:[160, 165, 170, 170, 180] → 众数是 170。
- 用途:用于分类数据或离散数据。
4. 方差(Variance, σ2\sigma^2σ2)
-
公式:σ2=1n∑i=1n(xi−xˉ)2\sigma^2 = \frac{1}{n}\sum_{i=1}^n (x_i - \bar{x})^2σ2=n1∑i=1n(xi−xˉ)2
-
含义:每个数据和均值的“偏离程度”。
-
例子:
- A 班:成绩都在 70±5 → 方差小
- B 班:成绩在 40~100 随机分布 → 方差大
-
用途:衡量“数据的波动大小”。
5. 标准差(Standard Deviation, σ\sigmaσ)
- 公式:σ=方差\sigma = \sqrt{\text{方差}}σ=方差
- 含义:和方差类似,但和原始单位一致,更直观。
- 例子:平均身高 170,标准差 7 → 大多数人身高在 [163,177] 之间。
6. 中误差(Standard Error, SE)
- 公式:SE=σnSE = \frac{\sigma}{\sqrt{n}}SE=nσ
- 含义:样本均值和总体均值的误差。
- 例子:如果我们只测 10 个人的身高,平均值会有误差;样本越大,中误差越小。
- 用途:推断总体特征,衡量估计的可靠性。
7. 协方差(Covariance)
- 公式:Cov(X,Y)=1n∑(xi−xˉ)(yi−yˉ)\text{Cov}(X,Y) = \frac{1}{n}\sum (x_i-\bar{x})(y_i-\bar{y})Cov(X,Y)=n1∑(xi−xˉ)(yi−yˉ)
- 含义:描述两个变量是否一起变化。
- 例子:身高和体重 → 协方差 > 0;身高和鞋码 → 协方差 > 0;年龄和玩游戏时间 → 协方差 < 0。
8. 相关系数(Correlation, ρ\rhoρ)
-
公式:ρ=Cov(X,Y)σXσY\rho = \frac{\text{Cov}(X,Y)}{\sigma_X \sigma_Y}ρ=σXσYCov(X,Y)
-
范围:[-1, 1]
-
含义:两个变量的线性关系强度。
-
例子:
- ρ = 0.9 → 强相关
- ρ = 0.0 → 无关
- ρ = -0.8 → 强负相关
9. 偏度(Skewness)
-
定义:描述分布的对称性。
-
例子:
- 正偏:长尾在右边(如收入分布,大部分人低收入,少数人极高收入)。
- 负偏:长尾在左边。
10. 峰度(Kurtosis)
-
定义:描述分布的“尖峭程度”。
-
例子:
- 高峰度:数据集中在均值附近。
- 低峰度:数据分散,分布较平。
11. 置信区间(Confidence Interval, CI)
- 定义:估计总体参数的一个区间,带有概率保证。
- 例子:均值 170cm,95% 置信区间 [168,172],意思是我们有 95% 的把握总体均值落在里面。
12. p 值(p-value)
-
定义:假设检验中,观测结果在零假设下出现的概率。
-
例子:
- p < 0.05 → 差异显著,可以拒绝零假设。
- p = 0.3 → 没有证据表明差异显著。
总结
- 均值、方差、标准差 → 描述数据的“集中与离散”
- 协方差、相关系数 → 描述两个变量之间的关系
- 中误差、置信区间、p 值 → 推断总体的工具
1815

被折叠的 条评论
为什么被折叠?



