VAE和DDPM模型训练差异的探索

VAE和DDPM训练上的差异,源于它们在概率框架、优化目标和梯度估计方法上的根本不同。

这里尝试从以下3个层面探索VAE和DDPM的差异。

1 概率框架

VAE和DDPM的不同主要来源于概率框架的不同,相应地带来优化目标与梯度估计的差异。

VAE源自变分自编码器,DDPM则源子去噪扩散概率模型,这是两者的根本差异。

两者的目标都涉及对随机变量的期望,但形式和稳定性截然不同。

1.1 VAE

VAE优化目标是最大化证据下界 (ELBO),这是一个紧致的下界。

其中,

第一项(重构项)推动编码准确

第二项(KL正则项)推动潜在分布规整。两力需精细平衡。

VAE的方差潜在来源多:

1)重构项:取决于解码器建模能力,复杂似然(如像素独立伯努利)梯度方差可能较高。

2) KL项:对编码器参数\(\phi\)的梯度,若后验\(q_{\phi}(z|x)\)与先验\(p(z)\)偏离远,初期梯度可能大且不稳定。

这也解释了为什么VAE比较难训练,训练过程不稳定。

1.2 DDPM

DDPM目标是最小化数据分布的负对数似然的变分上界,或简化为去噪得分匹配/重加权目标。

在所有噪声级别t上,训练网络预测注入的噪声。目标函数在所有t上形式一致,输入数据不同。

DDPM则相比VAE则方差天然被抑制,说明如下

1)目标一致性,所有时间步都做类似回归任务,目标稳定。

2)噪声调度,通过精心设计的,绝大多数训练迭代过程中噪声水平中等,使任务难易适中,梯度信号明确,方差低。

2 优化目标

VAE和DDPM两者都使用了重参数化技巧,但路径性质不同。

2.1 VAE重参数化技巧

VAE采用单步跳跃,从编码器输出的分布直接采样。

从对梯度方差影响的角度看,VAE方差直接受编码器输出影响:

梯度方差与相关。若编码器预测的方差不稳定或过大,会导致的采样剧烈波动,从而产生高方差梯度,尤其是在训练初期。

2.2 DDPM重参数化技巧

DDPM采用多步渐进的方式,前向过程在数百至数千个预定义时间步上逐步加噪,反向过程需要学习逆映射。训练时,时间步是均匀随机采样的重要随机变量。

从对梯度方差影响的角度看,DDPM方差被时间平均和任务分解。

随机采样将复杂的生成任务分解为许多简单的去噪子任务。

每个批次梯度是对不同期望的蒙特卡洛估计,这种时间维度上的平均有效降低了整体梯度方差。

3 梯度估计

对于VAE和DDPM的梯度估计的影响,主要是后验坍缩与得分匹配的对比。

这是体现两者训练动态差异的关键现象。

3.1 VAE中的后验坍缩

VAE有可能面临后验坍塌(Posterior Collapse)的风险。

训练中,编码器退化到先验(如标准正态),即。

此时潜在变量 携带无效信息,解码器仅凭先验生成。

这会导致不稳定和方差剧变,发生后验坍缩时,KL散度项梯度趋近于0,重构项梯度因解码器接收无效信息输入而变得无意义且可能波动巨大,整体训练可能陷入局部僵局或剧烈震荡。

3.2 DDPM中的得分匹配

DDPM采用得分匹配(score matching)方式,

DDPM的训练目标 本质上是对数据分布梯度(得分)的加权匹配。

它直接建模数据在噪声扰动下的条件分布,避免了在潜在空间进行复杂的后验推断。

DDPM提供稳定监督信号,每个对应的去噪网络始终以清晰目标(真实噪声)进行监督回归。

即使对于非常嘈杂的,值很大,目标依然是明确的,梯度方向稳定,方差小。

4 直观比喻

VAE像在走钢丝,需要在编码保真度(重构项)和潜在空间规整度(KL项)之间保持微妙的动态平衡。

这两股力量博弈使得训练初期梯度方向可能不一致、方差较大,容易陷入"后验坍缩"的局部最优。

DDPM像在爬一个缓坡,通过噪声调度,将艰巨的生成任务分解成数百个从非常容易几乎无噪到有点挑战中等噪声再到极其简单几乎全是噪音的渐进式去噪子任务。每个子任务的目标都非常明确单一,即预测噪声,这使得梯度方向一致,估计方差低,训练过程异常平滑稳定。DDPM在训练中,可以采用不同的噪声调度函数,如线性、余弦。

reference


DDPM前向加噪过程详细推导

https://blog.csdn.net/liliang199/article/details/156341403

DDPM后向去噪过程详细推导

https://blog.csdn.net/liliang199/article/details/156343504

VAE中Encoder和Decoder的理论基础的探索

https://blog.csdn.net/liliang199/article/details/156280212

CodeFormer基于LPIPS和VQVAE实现高质量人脸修复

https://blog.csdn.net/liliang199/article/details/156728804

相关推荐
灵动的艺术16 小时前
如一 Agent 架构解读(二十四):Agent 高效率低成本思考
人工智能·agent·如一
Xxtaoaooo17 小时前
双11避坑:我用 WorkBuddy + TextIn xParse 做了个「避坑对比台」,商品详情图丢进去,参数矛盾自动现形
人工智能·1024程序员节·textin·workbuddy·ai数据层基础设施
昵称画17 小时前
交接班记录电子化:三班之间的信息不漏
开发语言·数据库·人工智能·低代码·php
Navicat中国17 小时前
将 Navicat 的 AI 助手连接到本地 LLM
人工智能·chatgpt
“AI国潮设计-小江”17 小时前
【AIGC实战】Python+SDXL批量生成“潮汕英歌舞不倒翁”IP | 角色一致性与多场景融合方案,附完整代码
开发语言·人工智能·python·prompt·aigc
点PY18 小时前
WeDetect论文精读
人工智能
CCC:CarCrazeCurator18 小时前
稀疏奖励 vs 稠密奖励:强化学习中的反馈带宽权衡
人工智能·深度学习·机器人
骑着蜗牛撵大象32718 小时前
语音变分录、规则挡幻觉:拆解开源 AI 记账系统 Smart Ledger 的全栈设计
人工智能·ai·架构·js·数据校验
墨染天姬18 小时前
[AI]Cursor Subagent 机制详解
人工智能
数睿数据无代码开发18 小时前
企业AI落地从高价值场景开始|数睿数据《AI应用场景集》正式发布
人工智能