[论文阅读笔记] Structural Deep Network Embedding


本文结构

  1. 解决问题
  2. 主要贡献
  3. 算法原理
  4. 参考文献

(1) 解决问题

现有的表示学习方法大多采用浅层模型,这可能不能捕获具有高度非线性的网络结构,导致学习到一个局部最优的节点向量表示。


(2) 主要贡献

Contribution: 提出一个半监督的深度模型SDNE,包含多个非线性层,同时优化一阶和二阶相似度的目标函数来保留原始网络的局部和全局网络结构,因此可能能够捕获高度非线性的网络结构。


(3) 算法原理

简单来说SDNE利用一阶和二阶相似度来保留网络结构。 二阶相似度作为无监督部分被用来捕获全局结构。一阶相似度作为监督部分被用来捕获局部结构。通过利用半监督的深层模型联合优化以上两个目标可以保留局部和全局网络结构。

详细来说SDNE的总体框架如下图所示(图中的Local structure preserved cost和Global structure preserved cost应该是标反了!!!):

SDNE可以看成一个自编码器框架,上图中红框框部分可以看成编码器,中间绿色框框部分为编码器的输出,为节点的对应的嵌入向量,紫色框框部分为对应的解码器部分。了解了SDNE的框架组成部分之后,我们来看看各个部分是怎么设计的。

SDNE的无监督部分由深层自编码器组成。其中,编码器由多个非线性层组成,可以映射输入数据到表示空间。解码器也由多个非线性层组成。即,给定输入x,编码器每一隐藏层的输出如下:



解码器重构输入xi为x~。因此

自编码器的目标就是最小化以下输出x~与原始输入x的重构损失,损失函数如下:

如果使用邻接矩阵作为自编码器的输入x,即每一行代表一个节点,因为邻接矩阵反应的是对应节点的邻居结构信息,这使得重构构成会使得有相似邻居结构的节点有相似的向量表示(即该无监督组件(自编码器)保留了网络中的二阶相似度信息)。但是,如果直接使用邻接矩阵S作为传统自编码器的输入,则模型更容易重构邻接矩阵中的零元素(因为网络的稀疏性,邻接矩阵中的零元素数目远远大于一的数目)。然而我们更关注的是邻接矩阵中代表邻居的1元素,为了解决这个问题,SDNE对非零元素的重构误差增加更多惩罚(即加了一个权重项bi,对非零元素的重构误差赋予更大的惩罚项)。新的目标函数(保留二阶相似度信息)如下

一个圈圈一个点的符号代表哈达玛积(矩阵对应位相乘),如果邻接矩阵Sij>0,那么赋予相应的bij=1,否则bij=β>1,即更大的惩罚权重。以上便是SDNE的无监督模块,其通过二阶相似度试图保留全局网络结构。

然而,局部网络结构的保留也是必要的。以下介绍SDNE的用来保留一阶相似度的监督模块。 监督模块的一阶相似度的损失函数如下,这保证在原始网络中有连边的节点在嵌入空间中也比较相近(yi是对应的节点嵌入向量,即编码器的输出)。

SDNE总的目标函数如下(包含一阶相似度和二阶相似度):

Lreg为L2正则项,惩罚神经网络的复杂性,防止模型过拟合,如下所示:

以上,SDNE模型就介绍完啦,目标函数优化部分请自行查看原始论文。


(4) 参考文献

Wang D, Cui P, Zhu W. Structural deep network embedding[C]//Proceedings of the 22nd ACM SIGKDD international conference on Knowledge discovery and data mining. 2016: 1225-1234.


[论文阅读笔记] Structural Deep Network Embedding的更多相关文章

  1. [论文阅读笔记] Unsupervised Attributed Network Embedding via Cross Fusion

    [论文阅读笔记] Unsupervised Attributed Network Embedding via Cross Fusion 本文结构 解决问题 主要贡献 算法原理 实验结果 参考文献 (1 ...

  2. 论文解读(SDNE)《Structural Deep Network Embedding》

    论文题目:<Structural Deep Network Embedding>发表时间:  KDD 2016 论文作者:  Aditya Grover;Aditya Grover; Ju ...

  3. [论文阅读笔记] GEMSEC,Graph Embedding with Self Clustering

    [论文阅读笔记] GEMSEC: Graph Embedding with Self Clustering 本文结构 解决问题 主要贡献 算法原理 参考文献 (1) 解决问题 已经有一些工作在使用学习 ...

  4. [论文阅读笔记] Fast Network Embedding Enhancement via High Order Proximity Approximati

    [论文阅读笔记] Fast Network Embedding Enhancement via High Order Proximity Approximation 本文结构 解决问题 主要贡献 主要 ...

  5. [论文阅读笔记] Community aware random walk for network embedding

    [论文阅读笔记] Community aware random walk for network embedding 本文结构 解决问题 主要贡献 算法原理 参考文献 (1) 解决问题 先前许多算法都 ...

  6. [论文阅读笔记] LouvainNE Hierarchical Louvain Method for High Quality and Scalable Network Embedding

    [论文阅读笔记] LouvainNE: Hierarchical Louvain Method for High Quality and Scalable Network Embedding 本文结构 ...

  7. [论文阅读笔记] Adversarial Mutual Information Learning for Network Embedding

    [论文阅读笔记] Adversarial Mutual Information Learning for Network Embedding 本文结构 解决问题 主要贡献 算法原理 实验结果 参考文献 ...

  8. 论文阅读笔记(二十一)【CVPR2017】:Deep Spatial-Temporal Fusion Network for Video-Based Person Re-Identification

    Introduction (1)Motivation: 当前CNN无法提取图像序列的关系特征:RNN较为忽视视频序列前期的帧信息,也缺乏对于步态等具体信息的提取:Siamese损失和Triplet损失 ...

  9. 论文阅读笔记 Word Embeddings A Survey

    论文阅读笔记 Word Embeddings A Survey 收获 Word Embedding 的定义 dense, distributed, fixed-length word vectors, ...

随机推荐

  1. Python 基础教程 —— 网络爬虫入门篇

    前言 Python 是一种解释型.面向对象.动态数据类型的高级程序设计语言,它由 Guido van Rossum 于 1989 年底发明,第一个公开发行版发行于 1991 年.自面世以后,Pytho ...

  2. C语言基础知识错误总结

    1. 以下选项中能表示合法常量的是( ). Select one: a. '\' b. 1.5E2.0 c. "\007" d. 1,200  Feedback The corre ...

  3. 789. Escape The Ghosts

    You are playing a simplified Pacman game. You start at the point (0, 0), and your destination is (ta ...

  4. Web安全实践

    目录 前言 编码安全 反序列化命令执行 SQL 注入 跨站 XSS(Cross-site scripting) 跨站请求伪造 CSRF(Cross-site request forgery) URL跳 ...

  5. ASP程序写的项目与微信服务号(公众号)完美结合。仅需一个DLL组建WeixinDLL

    因ASP程序开发有很多优点,早年间ASP风靡全球,因此如今还在继续运营的ASP开发的项目仍在运行着,但是随着社交网络不断发达,特别是微信支付.微信通讯.小程序等的出现,导致很多ASP项目对接起来就比较 ...

  6. 漫画 | 公司测试因提Bug不规范,锒铛入狱~

    互联网人罪状系列 1.上班第一天,前端把后端告上县衙,还列了 5 宗罪 2. 程序员状告产品经理八大罪状 (上) 3.程序员状告产品经理八大罪状(下) 开发人员与测试人员的关系,就如同程序员与产品经理 ...

  7. 解决小程序中Data.parse()获取时间戳IOS不兼容

    由于与后台接口必须对比时间戳所以首先得前台获取时间戳.刚开始是获取手机本地时间,但用户改了时间就废了..... 后来就从服务器上获取个时间再转换为时间戳(是不是很操蛋,先从服务器上获取在TM的自己比较 ...

  8. hdu4771 水搜索(状态压缩+bfs)

    题意:      给你一个n*m的地图,问你从起点出发,吧所有的宝藏都捡完用的最少时间. 思路:k <= 4,水题,直接开一个数组mark[now][x][y];now代表的是当前检宝藏的二进制 ...

  9. POJ 3301 三分(最小覆盖正方形)

    题意:      给你n个点,让你找一个最小的正方形去覆盖所有点.思路:       想一下,如果题目中规定正方形必须和x轴平行,那么我们是不是直接找到最大的x差和最大的y差取最大就行了,但是这个题目 ...

  10. Xposed学习三:基石

    在上一篇我们留下问题:handleLoadPackage如何生效即在何时被执行. 先看XposedBridge.class的main(该函数是在appruntime.start函数中替换原先zygot ...