[论文阅读笔记] 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. matlab结构体、数组和单元数组类型的创建

    matlab结构体.数组和单元数组类型的创建 @ 目录 matlab结构体.数组和单元数组类型的创建 matlab结构体类型 数组类型 单元数组类型 matlab结构体类型 通过字段赋值创建结构体 创 ...

  2. Day11_51_Collections工具类之sort方法和list集合的遍历方式

    Collections工具类之sort方法 * 使用Collections工具类对List集合进行排序 Collections.sort(List集合) * Collections.sort()方法只 ...

  3. Win10双系统安装Gentoo-(附Networkmanagr/Gnome安装)

    安装Gentoo 本文主要参考的是官方Wiki,还有一些网友的经验,在后面的具体安装步骤里会分享对应网友的一些解决办法和相关文章 官方Wiki:https://wiki.gentoo.org/wiki ...

  4. kafka管理工具-kafka manager安装

    kafka-manager 简介 # 项目信息 https://github.com/yahoo/kafka-manager 安装 环境要求: Kafka 0.8.. or 0.9.. or 0.10 ...

  5. 【.NET 与树莓派】数模转换

    在开始之前,需要说明一对很耳熟的概念--数字信号 & 模拟信号. 这些概念的理论有些复杂,你如果相当有兴趣,可以找来有关的文献细细研究:若你不关心那是啥只想知道咋用,那就通俗但不庸俗地理解一下 ...

  6. 小图标文字对齐的终极解决方案demo

    CSS代码: .icon { display: inline-block; width:20px; height:20px; background: url(delete.png) no-repeat ...

  7. PAT 乙级 -- 1006 -- 换个格式输出整数

    题目简述 让我们用字母B来表示"百".字母S表示"十",用"12-n"来表示个位数字n(<10),换个格式来输出任一个不超过3位的正整 ...

  8. android调用号和libc

    调用号(以arm平台为例)在/bionic/libc/kernel/uapi/asm-arm/asm/unistd.h: /* WARNING: DO NOT EDIT, AUTO-GENERATED ...

  9. CVE-2012-0003:Microsoft Windows Media Player winmm.dll MIDI 文件堆溢出漏洞调试分析

    0x01 蜘蛛漏洞攻击包 前言:2012 年 2月,地下黑产中流行着一款国产名为蜘蛛漏洞的攻击包 -- "Zhi-Zhu Exploit Pack",该工具包含 5 个漏洞,都是在 ...

  10. WinDbg 配置联机调试环境搭建

    接下来设置虚拟机启动模式,可以直接设置现在的虚拟机启动项为debug模式 或者直接新建一个启动项目 bcdedit /dbgsettings {serial [baudrate:value][debu ...