[论文阅读笔记] Adversarial Mutual Information Learning for Network Embedding
[论文阅读笔记] Adversarial Mutual Information Learning for Network Embedding
本文结构
- 解决问题
- 主要贡献
- 算法原理
- 实验结果
- 参考文献
(1) 解决问题
现有的基于GAN的方法大多都是先假设服从一个高斯分布,然后再来学习节点嵌入(匹配节点嵌入向量服从这个假设的先验分布)。
这可能存在两个问题:
- 一个问题是(由于真实数据是有很多噪声的,所以会为GAN模型学习的分布带来很多噪声)很难从节点向量表示中区分出噪声节点,因为所有节点都是服从高斯分布的,很容易受到噪声节点的影响?也就是噪声容易影响学习的分布,学习的分布对噪声不稳定?
- 第二个问题是,这种思想没有充分利用GAN的本质优势,作者认为GAN的优势在于其对抗学习的机制而不是学习节点向量表示本身(现有的利用GAN方法来做网络嵌入的方式大多目标是后者,为了学习更好的节点向量)。
所以本文的主要思路就是要在表示机制中融入对抗机制,而不是仅仅为了使得嵌入向量的分布要服从先验分布这个目的。基于以上基本思路,本文提出了一个结合自编码器的对抗学习方法用来实现网络嵌入,把对抗学习用在表示(映射)机制上。
(2) 主要贡献
Contribution:个人感觉这篇论文的主要贡献是把对抗学习这个机制运用在映射机制上而不是运用在表示向量本身,基于这个基本思路,提出了一个结合自编码器的对抗学习方法用来实现网络嵌入,利用对抗训练的机制来进一步优化编码器所学习得到的节点嵌入向量。
(3) 算法原理
模型的主要思路: 下图为论文所提出的AMIL模型的总体框架。AMIL的框架,包括三个部分,如下图所示。一个自编码器,一个负样本生成器和一个互信息判别器,整体是一个对抗过程。整体来说,自编码器部分利用网络拓扑聚合节点属性到节点表示中,解码器使用节点嵌入重构网络拓扑。负样本生成器部分这是一个生成对抗网络,包含一个生成器和属性判别器,是用来生成节点的fake属性向量的。互信息判别器识别编码器的映射机制生成的正样本和负样本生成器生成的负样本。
在AMIL模型中(编码器和生成器都要训练)。编码器部分包含两个目标,一个是传统的自编码器的重构损失,还有一个是互信息判别器的对抗训练目标。也就是说编码器部分根据解码器的反馈(带有结构信息)以及互信息判别器D的反馈(带有属性信息)两部分来更新自己的参数。这个负样本生成器也同样包括两个目标:一个是与自身的属性判别器的对抗目标,还有一个是和互信息判别器D的对抗训练目标。也就是说生成器也根据互信息判别器反馈(带有结构信息或者说负样本生成器只是对节点属性的建模?自己的猜测)和属性判别器(带有属性信息)反馈两个部分来更新自己的参数。以上这个对抗过程不断训练,直到收敛,就可以获得包含结构和属性的节点嵌入向量表示了,理论上可以是编码器的输出也可以是生成器的输出。但是生成器部分毕竟是最小化和真实节点属性向量的差异,可能没有包含拓扑结构的信息,所以感觉取编码器的输出作为最终向量可能会更好。
下面分别介绍以上AMIL框架三个部分的具体细节。
(1) 自编码器:
自编码器的编码器部分论文中采用两层的GCN来搭建,输入邻接矩阵A和属性矩阵X,GCN通过邻接矩阵A反应的图拓扑结构来聚合节点属性从而学习节点表示,每层GCN聚合一跳节点,两层可以聚合两跳节点。解码器部分简单重构网络拓扑,利用编码器得到的嵌入向量内积的sigmoid来重构邻接矩阵,采用交叉熵函数来计算重构损失,具体公式详见原始论文。
(2) 负样本生成器:
负样本生成器部分是一个普通的生成对抗网络(GAN),包含一个生成器和一个判别器。生成器采用三层全连接层的神经网络实现(判别器也是),以一个高斯噪声作为输入,生成节点的fake属性向量,以欺骗判别器。判别器部分目标是去识别真属性和假属性向量。通过迭代训练,生成器生成的节点属性会更加接近真实。GAN具体目标函数详见原始论文。
(3) 互信息判别器:
前面说到模型的核心在于应用对抗学习策略在表示机制上而非表示向量本身,目标是为了学习一个更加有效的嵌入机制。这个核心思路的具体体现就在互信息判别器这一部分。互信息可以表示两个变量之间的依赖关系,越大则两个变量互相依赖(理解为相似?)程度越大。利用这一点,作者使用输入向量和输出向量的互信息来定量表示一个嵌入机制(将输入向量映射到输出向量)的质量,互信息越大表示嵌入质量越好。互信息可以用一些不同的方式定义,但是为了简便和学习效率,作者简单将输入向量和输出向量的拼接定义为互信息的近似。
既然这是一个判别器那么就需要定义正样本和负样本。对于互信息判别器的正样本和负样本定义,我们将编码器生成的节点表示Z和属性信息X的互信息作为正样本(就是编码器的输入和输出嘛)。并且把生成器的输入(噪声高斯分布Z’)和输出(假属性向量X’)的互信息作为负样本。然后互信息判别器的目标就是去区分这对样本了,对正样本输出1,对负样本输出0。互信息判别器的损失详见原始论文。
结合以上三个部分来看AMIL整体框架结构图,其实整个AMIL框架就是一个包含两个竞争对手(指的是映射机制GAN和自编码器)的全局的对抗学习过程,该模型联合训练一个编码器和一个生成器。 AMIL总的目标函数详见原始论文,并且最终使用基于梯度的优化方法来做优化。
(4) 实验结果
- 节点分类
- 节点聚类
- 参数实验
- Citeseer 数据集的可视化结果
(5) 参考文献
He D, Zhai L, Li Z, et al. Adversarial Mutual Information Learning for Network Embedding[C]//Proceedings of IJCAI. 2020: 3321-3327.
[论文阅读笔记] Adversarial Mutual Information Learning for Network Embedding的更多相关文章
- [论文阅读笔记] Community aware random walk for network embedding
[论文阅读笔记] Community aware random walk for network embedding 本文结构 解决问题 主要贡献 算法原理 参考文献 (1) 解决问题 先前许多算法都 ...
- [论文阅读笔记] Adversarial Learning on Heterogeneous Information Networks
[论文阅读笔记] Adversarial Learning on Heterogeneous Information Networks 本文结构 解决问题 主要贡献 算法原理 参考文献 (1) 解决问 ...
- 论文阅读笔记 Improved Word Representation Learning with Sememes
论文阅读笔记 Improved Word Representation Learning with Sememes 一句话概括本文工作 使用词汇资源--知网--来提升词嵌入的表征能力,并提出了三种基于 ...
- [论文阅读笔记] metapath2vec: Scalable Representation Learning for Heterogeneous Networks
[论文阅读笔记] metapath2vec: Scalable Representation Learning for Heterogeneous Networks 本文结构 解决问题 主要贡献 算法 ...
- [论文阅读笔记] node2vec Scalable Feature Learning for Networks
[论文阅读笔记] node2vec:Scalable Feature Learning for Networks 本文结构 解决问题 主要贡献 算法原理 参考文献 (1) 解决问题 由于DeepWal ...
- 论文阅读笔记二十三:Learning to Segment Instances in Videos with Spatial Propagation Network(CVPR2017)
论文源址:https://arxiv.org/abs/1709.04609 摘要 该文提出了基于深度学习的实例分割框架,主要分为三步,(1)训练一个基于ResNet-101的通用模型,用于分割图像中的 ...
- 论文阅读笔记 Word Embeddings A Survey
论文阅读笔记 Word Embeddings A Survey 收获 Word Embedding 的定义 dense, distributed, fixed-length word vectors, ...
- Nature/Science 论文阅读笔记
Nature/Science 论文阅读笔记 Unsupervised word embeddings capture latent knowledge from materials science l ...
- [置顶]
人工智能(深度学习)加速芯片论文阅读笔记 (已添加ISSCC17,FPGA17...ISCA17...)
这是一个导读,可以快速找到我记录的关于人工智能(深度学习)加速芯片论文阅读笔记. ISSCC 2017 Session14 Deep Learning Processors: ISSCC 2017关于 ...
随机推荐
- POJ3228二分最大流
题意: 有n个点,每个点有两个权值,金子数量还有仓库容量,金子可以存在自己的仓库里或者是别的仓库里,仓库和仓库之间有距离,问所有金子都必须存到库里最大距离的最小是多少? 思路: ...
- UVA11991第k次出现的v的下标
题意: 给你一个有n个数的数字序列,然后有m组询问,每组询问是问第k次出现的v在序列里的小标是多少? 思路: 简单题目,直接开个二维的容器就行了,标记出现次数可以开个数组或者是一维 ...
- 一、unittest介绍与基础使用
一.unittest为单元测试框架,系统标准库 import unittest
- SecureCRT 基本设置
1:字体与大小 Lucida Console 四号 2:声音关闭 Terminal-->Audio bell不勾选 默认网络工程师常用: Terminal-->Emulation--& ...
- 逆向工程初步160个crackme-------1
放假在家学习的效率真的很低,看完看雪加密解密的前两章就迫不及待的找了几个crackme练习一下,顺便熟悉ollydbg的使用. 工具:exeinfope(查壳工具),ollydbg(2.10版) 1. ...
- 深入源码理解SpringBean生命周期
概述 本文描述下Spring的实例化.初始化.销毁,整个SpringBean生命周期,聊一聊BeanPostProcessor的回调时机.Aware方法的回调时机.初始化方法的回调及其顺序.销毁方法的 ...
- JNLP配置WIN10
依据网友的反响和我自己的考查,发觉JNLP的情况是大多数网友的困惑之处,针对此问题小编给大总结整理了(关键此)的处理技巧,并对它进以加工改善,整理出JNLP的详细教程,只用你按照1:首先配置电脑的ja ...
- Ansible playbook编写Apache角色
编写Apache角色:使用源码安装 在files中下载扩展包和安装包 [root@localhost project]# ls roles/httpd/files/ apr-1.6.5.tar.gz ...
- mysql基础之mariadb galera集群(多主)
一.概念 galera集群多用于关键性业务,因为galera集群为了数据的一致性,采用的是同步的机制,这就使galera牺牲了一部分性能来换取数据一致性. galera集群是基于wsrep协议(端口4 ...
- linux进阶之gitlab仓库搭建及免密使用
一.Gitlab简介 GitLab 是一个用于仓库管理系统的开源项目,使用Git作为代码管理工具,并在此基础上搭建起来的web服务. 可通过Web界面进行访问公开的或者私人项目.它拥有与Github类 ...