变分自编码器原理解析

变分自编码器原理解析变分自编码器 VAE 前言在这个 GAN 大行其道的时代 变分自编码器作为一种经典的生成模型 GAN 有模型坍塌问题 咱们 VAE 就没有 好像没有必要存在了 其实不然 变分自编码器仍有其很大的价值 也广泛应用于在零样本学习中 经过了几天的学习和思考 特整理出此笔记 主要参考文献在本文末尾给出 网上也有很多博客 但其实那些博客里有很多细节东西没有讲清 或者有很多东西连博主都没有搞懂 毕竟 V

变分自编码器(VAE)

前言

在这个GAN大行其道的时代,变分自编码器作为一种经典的生成模型(GAN有模型坍塌问题,咱们VAE就没有),好像没有必要存在了,其实不然,变分自编码器仍有其很大的价值,也广泛各种方向。经过了几天的学习和思考,特整理出此笔记,主要参考文献在本文末尾给出。网上也有很多博客,但其实那些博客里有很多细节东西没有讲清,或者有很多东西连博主都没有搞懂。毕竟VAE涉及的东西还是很多的。本文或许有诸多纰漏,希望能够得到读者的指正,谢谢。

从网络结构说起

VAE基本框架,图片来源:Tutorial on Variational Autoencoders.
图里面的细节不懂别想啦,把这篇文章看完了就懂了。对比着图可解释:我们首先给输入一张图片给进编码器(其实就是一个神经网络),之后通过编码器得到满足这张图片的高斯分布的均值和方差(为什么?稍后我们解释这个神经网络的作用),然后在这个高斯分布中进行采样得到样本,之后将这个样本送入解码器(神经网络)中,就得到解码后的图片啦。之后我们就可以利用解码器,直接从之前所得那个分布(其实是标准的正态分布,为什么?且看下文)里进行采样,送入Decoder里,就可以得到一张我们没有见过的图片啦。
呃,有点乱,那我们就从头开始讲吧。

隐变量

根源

变分贝叶斯

Reparameterization trick

网络结构

右边是用了重参数技巧的模型,左边未用
我们来回顾一下我们的整个结构,训练阶段我们从X经过Encoder得到后验分布Q(z|X),然后从这个分布里采样到Decoder里得到图片。生成图片时,我们从标准的正态分布采样送到Decoder就可以生成新图片。
最后我们假设我们的Decoder训练的分布是正态分布的话,那么我们就有一个MSE损失。

代码及实验结果

罢了,就到这吧。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/230468.html原文链接:https://javaforall.net

(0)
上一篇 2026年2月21日 上午9:01
下一篇 2026年2月21日 上午9:22


相关推荐

  • 二维vector初始化方法

    二维vector初始化方法方法 1 include iostream include vector voidmain inta 2 intb 4 初始化方法 1 std vector std vector int gt vec a std vector int b 2 行 4vector vector int gt vec a vector lt vector int int std vector int vector iostream

    2026年3月16日
    2
  • 帝国cms“建立目录不成功,请检查目录权限”的解决方法

    帝国cms“建立目录不成功,请检查目录权限”的解决方法

    2021年11月17日
    40
  • 图形数据库

    图形数据库图形数据库 利用了图这种数据结构存储了实体 对象 之间的关系 图形数据库最典型的例子就是社交网络中人与人的关系 数据模型主要是以节点和边 关系 来实现 特点在于能高效地解决复杂的关系问题 图形数据库顾名思义 就是一种存储图形关系的数据库 它利用了图这种数据结构存储了实体 对象 之间的关系 关系型数据用于存储明确关系的数据 但对于复杂关系的数据存储却有些力不从心 如社交网络中人物之间的关系 如果用关系型数据库则非常复杂 用图形数据库将非常简单 典型产品 Neo4J InfoGrid 等

    2026年3月20日
    2
  • 【电路收藏夹】AMS1117稳压电路「建议收藏」

    【电路收藏夹】AMS1117稳压电路「建议收藏」电路图说明10uF=10622uF=226100nF=104AMS1117管脚图注意AMS1117最大输入电压为15V

    2022年6月20日
    30
  • 【JVM】JVM类加载机制

    【JVM】JVM类加载机制JVM JVM 类加载机制类加载子系统 类加载机制 类加载器类加载器 classloader 的作用加载 class 文件 平台无关的二进制字节码文件 classloader 有两种装载 class 的方式 时机 隐式 运行过程中 碰到 new 方式生成对象时 隐式调用 classLoader 到 JVM 显式 通过 class forname 动态加载类加载过程装载器把一个类装入 JVM 中要

    2026年3月16日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号