变分自编码器(VAE)与基于分数的生成模型详解
1. VAE训练与使用流程
VAE的训练和使用可以分为以下几个关键步骤:
1. 运行解码器网络 :将结果通过解码器网络,此时它代表分布 ( p_{\theta}(x|z) = g_{\phi}(\epsilon) )。
2. 计算解码器损失 :用初始示例 ( x_i ) 查询此分布,并取所得似然的对数,这就是解码器损失。若在步骤3中对 ( \epsilon ) 进行了多次采样,则对每个样本执行上述过程并求平均值得到解码器损失。
3. 计算最终损失 :将解码器损失与编码器损失 ( -KL(q_{\phi}(z|x_i) || p(z)) ) 相加得到最终损失。由于我们要最大化它,所以在下一步使用最终损失的负值。
4. 更新参数 :执行经典的随机梯度下降(SGD)或小批量梯度下降来更新 ( \phi ) 和 ( \theta )。
训练好的VAE作为生成模型使用时,步骤如下:
1. 从先验分布 ( p(z) ) 中采样 ( z_i )。
2. 将样本 ( z_i ) 通过解码器,此时它代表分布 ( p_{\theta}(x|z = z_i) )。
3. 从分布 ( p_{\theta}(x|z = z_i) ) 中采样 ( x_i )。
下面是一个mermaid格式的流程图,展示VAE的训练和生成过程:
graph LR
cla
超级会员免费看
订阅专栏 解锁全文
36

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



