CPT-032
Concept
conditional variational auto-encoder
| id | |
|---|---|
| updated | |
| type | concept |
| name | conditional variational auto-encoder |
| aliases | CVAE, conditional VAE, 条件变分自编码器, 条件 VAE |
| defined-by | PPR-006 |
Definition
条件变分自编码器(conditional variational auto-encoder, CVAE)是 PPR-006 提出的条件有向图模型:其输入观测调制高斯隐变量的先验,隐变量再生成输出(PPR-006 §1)。三个变量为输入观测 \(x\)、高斯隐变量 \(z\)、输出 \(y\);生成过程为:给定 \(x\),从条件先验 \(p_\theta(z|x)\) 抽 \(z\),再从 \(p_\theta(y|x,z)\) 生成 \(y\)(PPR-006 §4)。隐变量 \(z\) 使模型能建模输出空间的多模态,从而处理从单个输入到多个可能输出的“一对多”映射。
训练目标是最大化条件对数似然 \(\log p_\theta(y|x)\);该量不可解,用变分下界(ELBO)替代,在随机梯度变分贝叶斯(SGVB)框架内以重参数化技巧与采样估计(PPR-006 §3–§4):
\[\log p_\theta(y|x) \ge -\mathrm{KL}\!\left(q_\phi(z|x,y)\,\|\,p_\theta(z|x)\right) + \mathbb{E}_{q_\phi(z|x,y)}\log p_\theta(y|x,z)\]
CVAE 由三个网络组成(PPR-006 §4):识别网络 \(q_\phi(z|x,y)\)、条件先验网络 \(p_\theta(z|x)\)、生成网络 \(p_\theta(y|x,z)\);架构搭建在基线 CNN 之上,并把 CNN 的初始猜测 \(\hat{y}\) 经循环连接喂入先验网络。测试时可做确定性推断(不采样 \(z\),取 \(z^*=\mathbb{E}[z|x]\)),或从先验多次抽 \(z\) 取后验平均。
Disambiguation
- 与无条件 VAE 区分:无条件 VAE 的隐变量先验是固定的(如 \(\mathcal{N}(0,I)\)),不随输入变化;CVAE 的先验 \(p_\theta(z|x)\) 由输入观测调制,且以条件对数似然而非边际似然为目标。库内尚无无条件 VAE 的 CPT(其原始出处不在库内,标 CANDIDATE)。
- 与 GSNN(CPT-033)区分:GSNN 是 CVAE 的特例——把识别网络与条件先验网络取相等,目标中只剩生成项;CVAE 相对 GSNN 多了识别网络与 KL 项。
- 与确定性前馈网络区分:普通确定性 NN 只给单点预测、无法建模输出多模态;CVAE/GSNN 经高斯隐变量提供随机性,能生成多样输出。
关联(4)
- PPR-006 Learning Structured Output Representation using Deep Conditional Generative Models
- FRM-006 CVAE(Sohn, Lee & Yan, NIPS 2015)的五层重建骨架:作者把结构化输出建模为以输入为条件的隐变量生成模型,用变分下界在 SGVB 框架训练;产出 CVAE、GSNN 与混合目标,并给出多尺度预测与输入噪声注入两种训练策略。P3 投影待用户发起。
- CPT-033 Gaussian stochastic neural network
- CPT-033 co-definer Gaussian stochastic neural network