wangx404 / Variational_Auto_Encoder_in_Gluon

基于gluon的变分编码器教程

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Variational_Auto_Encoder_in_Gluon

基于gluon的变分编码器教程

尽管gluon的一些特性可以让我们可以很方便的复现各种模型,然而本教程对于变分自编码器的介绍却不尽如人意。

原因在于:教程过分偏重于对数学公式的推导,而忽略了在high level层面上对为何有变分自编码器这种形式的模型进行介绍。所以在看完教程中的代码之后,可能会仍然对此感到一头雾水。实际上,和其他的Enconder-Decoder相比,变分自编码器最大的不同之处在于它对中间的编码形式进行了更为强力的约束。

在其他的Encoder-Decoder中,数据先被编码,然后被解码,解码后的损失用于评估数据重建的质量。但是在这种模型中,我们仅仅知道中间编码的shape和size,但是编码并没有对应的实际意义。但是在变分自编码器改变了这一点,它先验地给中间的编码添加了约束。例如,在本教程中,作者先验地将中间得到的数据视为高斯分布的mean和sigma。

而在模型的训练过程中,额外添加的约束同时体现在了对数据重建质量的评估中。在常规的Encoder-Decoder中,数据重建质量的好坏仅仅由和原始数据的RMSE决定;但是在变分自编码器中,由于添加了额外的约束,因此损失评估中增加了对中间编码是否偏离高斯分布的评估。

作为Encoder-Decoder的子类之一,变分自编码器同样具有前者的功能,即降维(数据可视化)和数据生成。通过Encoder可以将高维数据映射到低维空间,而通过Decoder我们可以从一些随机数中生成新的样本数据。

About

基于gluon的变分编码器教程