【周末AI课堂】理解变分自编码器 | 机器学习你会遇到的“坑”( 七 )

, 但在添加噪声 , 并经过训练之后 , 一片树叶和三片树叶的图片均对应着某个分布 , 处于这两个分布交叉部分的向量就有可能生成两片树叶的图片 , 因为从数值点到分布的转化就意味着要和两边都相似 。 同时 , 我们单纯利用解码器作为生成器的时候 , 需要给定服从该分布的随机向量 , 这样就有更大的可能性生成我们想要的图片 。

最简单的办法是将隐藏的编码变为标准的高斯分布:

如图 , 在decoder阶段 , 新的编码变为了 。

正态分布由均值和标准差确定 , 这两部分不可能人为确定 , 都可以从神经网络中学到 , 是从另外一个高斯分布中采样得到 。 其中 , 均值就是我们原本的编码 , 就是我们额外需要神经网络学到的量 。

如果只是添加这样的结构 , 不对其他部分做任何改变 , 那么在网络的自动学习过程中 , 就会将学习而来的

直接变为零 , 新的编码等于旧的编码 。 这样就和以前的编码器一样 , 并不具有上述优点 。

推荐阅读