Deep Learning on Graphs: A Survey第五章自动编码论文总结
最近老师让我们读的一片论文,已经开组会讲完了,我负责的是第五章,图的自动编码,现在再总结一遍,便于后者研读。因为这篇论文是一篇综述,所以里边有些符号,在这个模型里是一个意思,在另一个模型了,符号又变了。
GRAPH AUTOENCODERS
预备知识:
1.论文中符号表解释如下:
2.编码器的通俗解释:
-
定义:
将输入x通过一个编码器,得到一个低维的向量h表示,然后再通过一个解码器,尽可能的还原最初所输入的特征 。公式的话就是:
x->h->x'
-
目的:
不是为了让输出值等于输入值,而是希望通过训练输出值等于输入值的自编码器,让低维向量h将具有价值属性,让低维向量h可以更好的表示输入x的最重要的特征。
-
作用:
1.降维,预处理,数据去噪,保存数据中有价值的信息,丢掉一些没用的信息
2.发挥无监督数据的优势(数量大,但是无标签)
3.AE和VAE:
AE:自动编码器,是点对点的输出。例如下图,你输入{0.5},对应的输出就是{0.5},你输入{1},对应的输出就是{1},你如果输入{0.75},编码器就不知道输出什么了,就不会了。
VAE:自动编码器,是线性输出,你的输入数据x通过编码器后,又经历了一个高斯分布的计算。
VAE中加入高斯分布的过程,具体如下图:
4. L1 loss和L2 loss
L1 loss(一阶损失):表示是两个顶点的直接相连,反应的是局部的相似性。例如图中的{6,7}节点,它们在输入向量x的时候是直接相连的,就具有很强的相似性,当输入向量x通过编码器后,转化成低维向量h,在h中{6,7}节点,也应该尽可能的距离相近。
L2 loss(二阶损失):表示是两个顶点的间接相连,反应的是全局的相似性。例如图中的{5,6}节点,虽然它们在输入向量x中不是直接相连的,但是它们有很多共同的邻居节点{1,2,3,4},所以它们也有比较强的相似性,当输入向量x通过编码器后,转化成低维向量h,在h中{5,6}节点,也应该尽可能的距离相近。
这篇论文,主要是讲了几个模型,然后对每个模型提了几个特征我都总结到下边了,重点将SDNE模型,DVNE模型,ARGA/ARVGA模型的框架图列出来了。
Autoencoders:
SDNE模型,这是一个自动编码器的模型。在这个模型里是
x->y->x'
,改模型是将邻接矩阵作为输入。
用
拉普拉斯特征映射
作为一阶损失的函数,下面是拉普拉斯的公式,意思就是在你输入的向量中{xi,xj}两个节点靠的越相近,也就是公式中蓝框内的值越小,wij的值就越大,因为wij的值比较大,所以所占权重比较大,想要让损失函数变得更小,就要让{yi,yj}越相近。
用L2带权损失函数来计算全局损失性,也就是用重构损失,重构损失就是你的输入A(i,:)和通过解码器后的输出g(hi)的损失值。大多数图的网络是稀疏图,点乘bi的目的是为了让在输入中相邻的节点,在重构后变得更相邻。
Variational Autoencoders:
DVNE模型,这是一个变分自动编码器的模型。
推土机距离的解释看文章末尾的参考中的文章,这里就不解释了。
用
**Wasserstein距离** (推土机距离)
,下边是一阶损失函数,公式的意思是:让Eij的值更小,让Eij’的值更大,也就是让i节点和相邻节点j靠的更近,让i节点和不相邻节点j‘里的更远:
Eij代表的是两个分布之间的推土机距离
{i,j,k}三个节点,其中i和j是相邻的,i和k是不相邻的,通过下边的这个约束,来控制低维向量上节点之间的关系,下边约束的意思是:i与所有相邻节点的推土机距离,都小于与不相邻节点的推土机距离。
使用重构损失来计算全局损失(这里没搞懂)
模型的大体意思是:任意三个节点作为一次输入,然后利用推土机距离来控制节点之间的距离约束,然后进行高斯分布,得到z,再通过解码器得到输出。
ARGA/ARVGA模型
模型大体意思:为了让低维向量更接近一个高斯分布,就是加入了鉴别器,让鉴别器鉴别编码器生成的低维向量是否复合高斯分布。如果复合的话就返回true,不符合就返回false。
GAN的公式:令下边式子的值为V,则鉴别器的意愿是想让V越大越好,生成器的意愿是让V值越小越好。
- 先看鉴别器,红框和蓝框都有鉴别器,D(h)是一个高斯分布,是真的,D(z)是生成器生成的,是假的。鉴别器就是要让D(h)的值为1,让D(z)的值为0,这样鉴别器才鉴别成功,才能让V值取到最大,一旦其中某一个鉴别错误,也就是假的鉴成了真的,或者真的鉴成了假的,那么V值就成了log 0,成了负无穷。
- 看生成器,只有红框内有生成器,蓝框内就是个常数,不用看,生成器是想要V值越小越好,生成器想要自己生成的称为真的,成为true,也就是想要让D(z)成为1,那么红框内的值就是负无穷了,符合生成器的意愿。
Improvements and Discussions:
1.Adversarial Training
将对抗训练加入总体架构,鉴别器旨在区分潜在表示是来自生成器还是先验分布
2.Inductive Learning
归纳学习,使用GCN+GAE等方式,多个模型结合,达到更好的效果
3.Similarity Measures
相似度衡量的方式,还可以优化,比如L2-reconstruction loss,拉普拉斯特征映射,和Wasserstein距离,选择一个合适的相似度衡量方式很重要。
参考的内容:
AE和VAE:https????/blog.****.net/sinat_36197913/article/details/93630246
VAE:https????/blog.****.net/roguesir/article/details/81263442
PCA原理:https????/blog.****.net/luoluonuoyasuolong/article/details/90711318
一阶相似性和二阶相似性:https????/www.cnblogs.com/cx2016/p/12801654.html
SDNE:https????/zhuanlan.zhihu.com/p/56637181
https????/dl.acm.org/doi/pdf/10.1145/2939672.2939753
DVNE: https????/zhuanlan.zhihu.com/p/51766680
https://dl.acm.org/doi/pdf/10.1145/3219819.3220052
Wasserstein距离:https://zhuanlan.zhihu.com/p/84617531
拉普拉斯特征值映射原理如何解读?https????/www.zhihu.com/question/326501281/answer/698228215