1. 传统的Auto-Encoders

Auto encoder简介, Variational Autoencoder, 以及Variational Graph Autoencoder详细介绍

 

 

 传统的自动编码机是一个神经网络,它包含一个编码层和一个解码层。编码层将一个点X作为输入,将他转换成一个低维的特征 embedding Z。 解码是将低维的特征表示Z返回成一个重新构建的原始输入 X-hat,尽量使X-hat跟X相似。

下面是手写数字识别的例子:

Auto encoder简介, Variational Autoencoder, 以及Variational Graph Autoencoder详细介绍

 

损失函数:

Auto encoder简介, Variational Autoencoder, 以及Variational Graph Autoencoder详细介绍

 

为什么我们要将输入转化成一个低维的特征?

以图象为例子,将图像存在低维空间可以节省很多存储空间。对于计算也可以节省计算消耗。

通过加入噪音,增加样本。

 

 Auto encoder简介, Variational Autoencoder, 以及Variational Graph Autoencoder详细介绍。 

Auto encoder简介, Variational Autoencoder, 以及Variational Graph Autoencoder详细介绍

 

2. Variational Autoencoders

为什么我们需要Variational Autoencoders?

Variational Avtoencoder的最大好处是特能够通过原始数据产生新的数据。而传统的Auto encoder只能够通过原始数据产生相似的数据。

 

 主要思想:

它先学习所有的样本的分布,然后根据这个分布随机产生新的样本。

Auto encoder简介, Variational Autoencoder, 以及Variational Graph Autoencoder详细介绍

 

Encoder 以一个点X作为输入,产生均值 Auto encoder简介, Variational Autoencoder, 以及Variational Graph Autoencoder详细介绍 和 Auto encoder简介, Variational Autoencoder, 以及Variational Graph Autoencoder详细介绍。 用 Auto encoder简介, Variational Autoencoder, 以及Variational Graph Autoencoder详细介绍是因为它有正有负。 在得到均值和方差后,我们试着让均值为0方差为1, 因此最终的分布将会接近 N(0,1). 

 

 

最后我们产生新的embedding Z 从均值和标准差上, Auto encoder简介, Variational Autoencoder, 以及Variational Graph Autoencoder详细介绍, Auto encoder简介, Variational Autoencoder, 以及Variational Graph Autoencoder详细介绍,根据潜在变量Z, 我们可以通过译码产生新的X-hat。

损失函数:

Auto encoder简介, Variational Autoencoder, 以及Variational Graph Autoencoder详细介绍

这个损失函数分为两部分。 

第一部分表示产生的新的数据与输入的数据的差别,差别越大,损失函数越大。 

 第二部分表示调节。他表示近似与真实后验的KL散度,也就是输出分布 (qφ(z|x))与真实后验 p(z)的差别。

 

 

3. Variational Graph Autoencoders

 

 

 结构框架

Auto encoder简介, Variational Autoencoder, 以及Variational Graph Autoencoder详细介绍

 

 输入是一个邻接矩阵和一个特征矩阵,产生潜变量Z, 最后输出是一个新的邻接矩阵。

第一个gcn层产生一个新的低维得特征矩阵。

Auto encoder简介, Variational Autoencoder, 以及Variational Graph Autoencoder详细介绍

 

第二层GCN产生Auto encoder简介, Variational Autoencoder, 以及Variational Graph Autoencoder详细介绍

 

Auto encoder简介, Variational Autoencoder, 以及Variational Graph Autoencoder详细介绍

 

将两层合并,得到均值和标准差,

Auto encoder简介, Variational Autoencoder, 以及Variational Graph Autoencoder详细介绍

 

然后我们产生Z,

Auto encoder简介, Variational Autoencoder, 以及Variational Graph Autoencoder详细介绍

 

 解码是通过潜在变量Z的内积,输出是一个新的邻接矩阵,

Auto encoder简介, Variational Autoencoder, 以及Variational Graph Autoencoder详细介绍, sigmoid函数。

 

总之,编码是:

Auto encoder简介, Variational Autoencoder, 以及Variational Graph Autoencoder详细介绍

 

解码是:

Auto encoder简介, Variational Autoencoder, 以及Variational Graph Autoencoder详细介绍

 

损失函数:

Auto encoder简介, Variational Autoencoder, 以及Variational Graph Autoencoder详细介绍

 

使用内积解码是因为邻接矩阵每一行代表一个个体,内积可以计算两个向量的cosine相似性, 对于衡量两个向量的距离很有效。

 

相关文章: