论文地址:https://arxiv.org/pdf/1812.04202.pdf

最近老师让我们读的一片论文,已经开组会讲完了,我负责的是第五章,图的自动编码,现在再总结一遍,便于后者研读。因为这篇论文是一篇综述,所以里边有些符号,在这个模型里是一个意思,在另一个模型了,符号又变了。

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}节点,也应该尽可能的距离相近。

图源自于:https://arxiv.org/pdf/1503.03578.pdf

这篇论文,主要是讲了几个模型,然后对每个模型提了几个特征我都总结到下边了,重点将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.csdn.net/sinat_36197913/article/details/93630246

VAE:https/blog.csdn.net/roguesir/article/details/81263442

PCA原理:https/blog.csdn.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

Deep Learning on Graphs: A Survey第五章自动编码论文总结的更多相关文章

  1. Geometric deep learning on graphs and manifolds using mixture model CNNs

    Monti, Federico, et al. "Geometric deep learning on graphs and manifolds using mixture model CN ...

  2. How to do Deep Learning on Graphs with Graph Convolutional Networks

    翻译: How to do Deep Learning on Graphs with Graph Convolutional Networks 什么是图卷积网络 图卷积网络是一个在图上进行操作的神经网 ...

  3. Deep Learning深入研究整理学习笔记五

    Deep Learning(深度学习)学习笔记整理系列 zouxy09@qq.com http://blog.csdn.net/zouxy09 作者:Zouxy version 1.0 2013-04 ...

  4. 高光谱图像分类简述+《Deep Learning for Hyperspectral Image Classification: An Overview》综述论文笔记

    论文题目<Deep Learning for Hyperspectral Image Classification: An Overview> 论文作者:Shutao Li, Weiwei ...

  5. Deep Learning.ai学习笔记_第五门课_序列模型

    目录 第一周 循环序列模型 第二周 自然语言处理与词嵌入 第三周 序列模型和注意力机制 第一周 循环序列模型 在进行语音识别时,给定一个输入音频片段X,并要求输出对应的文字记录Y,这个例子中输入和输出 ...

  6. (2020行人再识别综述)Person Re-Identification using Deep Learning Networks: A Systematic Review

    目录 1.引言 2.研究方法 2.1本次综述的贡献 2.2综述方法 2.3与现有综述的比较 3.行人再识别基准数据集 3.1基于图像的再识别数据集 3.2基于视频的再识别数据集 4.基于图像的深度再识 ...

  7. Deep Learning综述[上]

    Deep-Learning-Papers-Reading-Roadmap: [1] LeCun, Yann, Yoshua Bengio, and Geoffrey Hinton. "Dee ...

  8. 《Neural Network and Deep Learning》_chapter4

    <Neural Network and Deep Learning>_chapter4: A visual proof that neural nets can compute any f ...

  9. why deep learning works

    https://medium.com/towards-data-science/deep-learning-for-object-detection-a-comprehensive-review-73 ...

  10. deep learning书的阅读

    最近坚持读书,虽然大多数读的都是一些闲书,传记.历史或者散文之类的书籍,但是也读了点专业书.闲书是散时间读的,放车里,有时间就拿起来读读,专业书则更多的靠得是专注.因为我给自己的规定是一定时间内读完几 ...

随机推荐

  1. 9、mysql的并发参数调整

    从实现上来说,MySQL Server 是多线程结构,包括后台线程和客户服务线程.多线程可以有效利用服务器资源,提高数据库的并发性能.在Mysql中,控制并发连接和线程的主要参数包括 max_conn ...

  2. 10、zookeeper的leader选举

    leader选举 服务器状态 looking:寻找leader状态.当服务器处于该状态时,它会认为当前集群中没有leader,因此需要进入leader选举状态 following:跟随着状态.表明当前 ...

  3. OpenCV开发笔记(七十六):相机标定(一):识别棋盘并绘制角点

    前言   知道图像畸变矫映射的原理之后,那么如何得到相机的内参是矫正的第一步,内参决定了内参矩阵(中心点.焦距等),用内参矩阵才能计算出投影矩阵,从而将原本畸变的图像矫正为平面投影图像.  本篇描述了 ...

  4. Linux管理SpringBoot应用shell脚本实现

    ​ Liunx系统如何部署和管理SpringBoot项目应用呢?最简单的方法就是写个shell脚本. Spring Boot是Java的一个流行框架,用于开发企业级应用程序.下面我们将学习如何在Lin ...

  5. ansible-vault 教程

    基本使用 在编写playbook时,可能会涉及到一些敏感的数据,比如密码,当这些敏感数据以明文的方式存储在playbook中时,可能是不能被接受的,那么我们该怎么办呢?ansible官方已经考虑到了这 ...

  6. Mysql数据库未添加索引引发的生产事故

    最近开发的新功能主要是首页的红点提示功能,某个用户登录系统app,然后进入某一个功能模块, 在该功能下面有很多地方可以操作,新功能就是根据用户信息查询当月是否存在新的数据.总共有四五 个地方如果出现增 ...

  7. 探究WPF中文字模糊的问题:TextOptions的用法

    有网友问WPF中一些文字模糊是什么问题.之前我也没有认真思考过这个问题,只是大概知道和WPF的像素对齐(pixel snapping).抗锯齿(anti-aliasing)有关,通过设置附加属性Tex ...

  8. kubectl create 与 kubectl apply的区别

    kubectl apply和kubectl create都是Kubernetes(k8s)中用于创建或更新资源的命令,但它们在使用方式.功能和灵活性上存在一些区别. 声明式与命令式: kubectl ...

  9. ble的notification和indication的区别和联系

    Ble服务端传输消息有两个常用手段,notification和indication.那么这两者之间有什么区别呢? Notification 不需要应答,所以服务端发送的消息,它自己并不知道消息是否发送 ...

  10. NJUPT自控第一次积分赛的小总结(二)基于simpleFOC的无刷电机控制

    新人一枚,写的比较水,欢迎大佬指正! 先说一下我用的物料与开发环境吧: 无刷电机:makerbase的2804电机(带AS5600磁编码器) 电机驱动板:simpleFOCmini(学校推荐的) 电池 ...