论文地址: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. spring 注入参数时为list map写法用例

    导包基础:这了让服务器支持json 需要导入下面包 <dependency> <groupId>com.alibaba</groupId> <artifact ...

  2. 第143篇:手写vue-router,实现router-view

    好家伙,   今天来手写我们的老伙计vue-router,   1.替换router 新开一个项目,并使用我们手写的router   2.大致结构 let Vue; // 保存vue的构造函数 cla ...

  3. 摆脱鼠标系列 - vscode - 跳转到下一个文件 Ctrl(右边) + PageDown 这个很常用

    为什么 摆脱鼠标系列 - vscode - 跳转到下一个文件 Ctrl(右边) + PageDown 这个很常用 右边Ctrl 就可以单手操控了 这个频率很高

  4. MyBatis Java 和 Mysql数据库 数据类型对应表

    类型处理器(typeHandlers) MyBatis 在设置预处理语句(PreparedStatement)中的参数或从结果集中取出一个值时, 都会用类型处理器将获取到的值以合适的方式转换成 Jav ...

  5. 编码ascii码,unicode码,utf-8编码

    1. ASCII ASCII 只有127个字符,表示英文字母的大小写.数字和一些符号,但由于其他语言用ASCII 编码表示字节不够,例如:常用中文需要两个字节,且不能和ASCII冲突,中国定制了GB2 ...

  6. 【LeetCode刷题】912. 排序数组

    912. 排序数组(点击跳转LeetCode) 给你一个整数数组nums,请你将该数组升序排列. 示例 1: 输入:nums = [5,2,3,1] 输出:[1,2,3,5] 示例 2: 输入:num ...

  7. L7结合Turf.js实现空间分析与数据可视化

    1. 概述 AntV L7 是蚂蚁集团 AntV 数据可视化团队推出的基于 WebGL 的开源大规模地理空间数据可视分析引擎,其特点是通过简单的代码进行配置,即可在前端网页中绘制精美的地图以及相关的图 ...

  8. struts2-66漏洞复现

    Strut2-66漏洞从搭建到复现到原理 0x0 创建JavaEE环境 使用idea创建JavaEE项目,添加Strut2的依赖 点击右上角创建新项目 下一步,依赖项只选择一个Servlet就行了,版 ...

  9. C# 优雅的处理TCP数据(心跳,超时,粘包断包,SSL加密 ,数据处理等)

    Tcp是一个面向连接的流数据传输协议,用人话说就是传输是一个已经建立好连接的管道,数据都在管道里像流水一样流淌到对端.那么数据必然存在几个问题,比如数据如何持续的读取,数据包的边界等. Nagle's ...

  10. AntvG6-graph图谱工具

    1 快速上手 1.1 在项目中使用 npm 包引入 Step 1: 使用命令行在项目目录下执行以下命令 npm install --save @antv/g6 Step 2: 在需要用的 G6 的 J ...