**
变分自编码器(VAE)
**
写在最前面:本文中间有很多细节东西没讲,公式我也没有贴出来,写这个太累了,本来VAE涉及的知识就很多,但是大致思想我应该是讲清楚了的。
前言
在这个GAN大行其道的时代,变分自编码器作为一种经典的生成模型(GAN有模型坍塌问题,咱们VAE就没有),好像没有必要存在了,其实不然,变分自编码器仍有其很大的价值,也广泛各种方向。经过了几天的学习和思考,特整理出此笔记,主要参考文献在本文末尾给出。网上也有很多博客,但其实那些博客里有很多细节东西没有讲清,或者有很多东西连博主都没有搞懂。毕竟VAE涉及的东西还是很多的。本文或许有诸多纰漏,希望能够得到读者的指正,谢谢。
从网络结构说起
图里面的细节不懂别想啦,把这篇文章看完了就懂了。对比着图可解释:我们首先给输入一张图片给进编码器(其实就是一个神经网络),之后通过编码器得到满足这张图片的高斯分布的均值和方差(为什么?稍后我们解释这个神经网络的作用),然后在这个高斯分布中进行采样得到样本,之后将这个样本送入解码器(神经网络)中,就得到解码后的图片啦。之后我们就可以利用解码器,直接从之前所得那个分布(其实是标准的正态分布,为什么?且看下文)里进行采样,送入Decoder里,就可以得到一张我们没有见过的图片啦。
呃,有点乱,那我们就从头开始讲吧。
隐变量
说清隐变量这个问题其实还是很不容易的,主要是有点抽象。对于我们有的这些图片,我们假设我们的图片经过某一个变换以后,到一个新空间X(咳咳,凑活着用X代替吧)中,那么每一个我们观测到的图片都在X中有个对应的向量和它对应对不对?那