介绍

英文题目:DeepWalk: Online Learning of Social Representations
中文题目:DeepWalk:关系表征的在线学习
论文地址:http://perozzi.net/publications/14_kdd_deepwalk.pdf
领域:知识图谱
发表时间:2014
出处:KDD
被引量:5094
代码和数据:https://github.com/phanein/deepwalk/
阅读时间:2022.3.28

泛读

  • 针对问题:学习图中节点的表征,解决多分类、异常检测等问题。通过优化算法,可应用于大规模数据。
  • 结果:当标签数据稀疏时,F1分数比之前方法提升10%;在一些实验中,使用60%训练数据,结果即可优于其它方法。
  • 核心方法:借鉴自然语言处理方法,利用统计原理,使用无监督数据学习。
  • 难点:优化部分较难理解。
  • 泛读后理解程度:直接精读。
    (看完题目、摘要、结论、图表及小标题)

精读

1. 介绍

编码的目标是使用相对较低的维度表征数据,如图以2维为例,左图是输入,右图是输出,可以看到,输入中的连接关系,可表征成输出的特征的相似性,颜色表示它们的聚类结果。
把稀疏的表示转换为低维稠密表示之后,可以使用统计学方法建模,比如使用简单的逻辑回归算法进一步处理。

文章贡献如下

  • 提出DEEPWALK算法,使用深度学习方法分析图,构建适用于统计建模的健壮表示,利用短程随机游走学习图结构中的规则。
  • 将文中方法应用于多标签的分类任务中,在稀疏问题上,有5%-10%的提升,在一些情况下可减少60%的训练数据。
  • 文中展示了算法的可扩展性,可利用并行计算,应用于网络规模的图(如YouTube),并通过较小的修改构建流式版本(online learning)。

2. 问题定义

设G=(V,E),G是图,V是顶点,E是边,GL=(V,E,X,Y)是部分标注的图,其中X是节点的S维特征,Y是标签。
传统方法是希望找到X与Y间的映射H,而文中方法的目标是利用嵌入在网络结构中的节点相关性信息,实现更好的表征。
文中利用无监督方法,学习图中展示的结构特征,而非把标签作为特征的一部分,使得新表征与标签分布无关。
本文的目标是学习低维的X表征,每个维度表达一些概念。这些表征是相对通用的,与具体算法无关,可用这些表征解决下游的决策问题。

3. 学习关系表示

希望找到有以下特性的方法:

  • 适应性:可适应网络的不断进化,而无需每次都从头训练。
  • 社区意识:新表征的相似性应于网络中的相似性保持一致。
  • 低维度:低维度的新表征,有更好的泛化性,训练和预测速度更快。
  • 连续性:新表征中的特征是连续值,从而实现更强的健壮性。

3.1 随机游走

从节点vi开始,随机访问Wvi1,Wvi2...WvikW_{v_i}^1,W_{v_i}^2...W_{v_i}^kWvi​1​,Wvi​2​...Wvi​k​,Wvik+1W_{v_i}^{k+1}Wvi​k+1​是随机从vk的邻居中选择的顶点,简单地说就是a到a的邻居b,b再到b的邻居c……随机游走已被用作内容推荐和社区检测等应用中,用于度量相似性。用它计算本地结构信息,时间上与输入图的大小呈次线性关系。

文中使用短程随机游走作为工具从网络中抽取信息,它提供了两种特性:可使用并行方法来探索图中的不同部分;小的改变不需要对全图重新训练。可以迭代更新模型,时间上是次线性的。

3.2 连接:幂律

如果连接图中度的分布满足幂律,短程随机行走中顶点出现的频率也将服从幂函数分布。
幂律(Power Laws)指的是:节点具有的连线数和节点数目乘积是一个定值。

自然语言中的词频与图中节点的随机游走分布类似,如图-2所示,左图是YouTube网络中短程游走情况,横坐标是节点出现的次数,纵坐标是节点数量,也就是说只有少量节点游走的次数很多;它可类比成自然语言处理如右图,Wikipedia中常用词非常少。本文将一些自然语言建模技术用于图的建模。

3.3 语言模型

自然语言模型的目标是估计由单词组成字符串的正确性。对于单词(w0,w1,…,wn),利用训练集,最大化概率Pr(wn|w0,w1,…,wn-1),具体方法是使用概率神经网络泛化成词表征。

解决图问题时,相应地使用短程随机游走,把游走视为语言中的短语或短句,根据之前节点关系,预测下一节点vi

文中目标是不仅学习节点共现的概率分布,同时生成一种映射关系Φ,将网络中的关系表征为节点d维向量,然后用它进行后续计算。

随着随机步数的增加,条件概率计算量则变得非常大。

在自然语言问题中,最近提出一些新的算法:将通过上下文预测缺失词,改为通过一个词预测上下文;上下文由其左右两侧词组成,改为不考虑上下文中词的顺序,只最大化上下文中词出现的概率。对节点表示问题,也可做相应优化:

(上式中斜线的意思是除vi以外)

顺序无关性能更好地捕捉到随机游走中“近距离”的节点,另外,一次给出一个顶点构造小模型,也加快了训练速度。

式-3中捕捉了本地图结构中共享了相似性,具有相似邻居的节点需要近似的编码表征,也可泛化到其它机器学习任务中。

4. 方法

4.1 概述

自然语言建模时需要语料库和词表V,DEEPWALK将截断的随机游走看作语料库,将图中节点看作词表。

4.2 算法:DEEPWALK

算法主要包括两部分:产生随机游走;更新程序。过程中以每个节点vi作为起点进行游走Wvi,游走从最后访问的顶点的邻域均匀采样,直到达到最大长度T。

外层循环游走整体的迭代遍数(一共试着走几次),在每次遍历开始时,第4行生成一个遍历顶点的随机顺序,这样做能加快随机梯度下降的收敛。

内层循环遍历图中所有节点,对每个节点产生t步的随机游走W(随机游走的路径和长度都是随机的),在第7行使用它代入SkipGram算法来更新表征,其目的是优化式-3中的目标函数。

4.2.1 SkipGram

参见:[[几种词嵌入方法#Word2Vec的skip-gram模型]]
SkipGram是一种语言模型,它在句子中设置窗口,然后计算窗口中词的最大共现概率。对于式-3,在假设词相互独立的情况下,概率可表示成乘法关系:

算法2遍历了在窗口w中随机游走的所有可能性,将vj映射成新表征Φ(vj ),最大化游走到它邻近节点的概率,J是目标函数,通过它来优化Φ。

4.2.2 分层Softmax

(这部分比较难理解,我试着扩展一下,可能不对)

算法2中第3行,当图中节点较多时,计算量非常大。因为Softmax归一化,要计算图中所有的节点。因此文中提出了分层Softmax,实际上是把多分类变成了二分类树,即把softmax变成了多次sigmoid。

如图-3©所示,用与v1相关的节点作为叶子,构造了一个二分类树,从而把预测问题变成最大化树中特定路径的概率问题。当从起点到uk的路径被认为是经过一系列树节点b(b0是根节点,b[log∣v∣]=ukb_{[log|v|]}=u_kb[log∣v∣]​=uk​),则有:

此时的Pr被构建成二分类器(sigmoid函数):

其中Ψ(bl) 是bl父节点的表征,它把复杂度从O(|V|)降到了O(log|V|),从而加速了训练。

为加快训练,在构造树的过程中,给随机游走中通向频繁顶点的过程分配较短路径,使用哈夫曼编码来减少树中频繁元素的访问时间。(简单地说,就是先判断可能性最高的,从而减少判断次数)

4.2.3 优化

计算模型参数θ = {Φ,Ψ} 的时间复杂度是O(d|V|),算法-2第四行使用SGD方法优化参数。学习率初值是2.5%,逐步减少。

4.3 并行

图-2展示了随机游走的频率分布服从幂律,这导致了低频顶点的长尾分布,Φ的稀疏性使我们可以使用随机梯度下降的异步版本ASGD,并行计算,且不需要加锁。它可被扩展到大规模的机器学习中。图-4展示了并行计算的效果,可以看到随着线程数的增加,训练时间变短(左),且模型精度变化不大(右)。

4.4 算法变异

4.4.1 流方法

流式方法在不需要了解全图的情况下也能计算,变化是游走直接更新模型。具体修改是:不再使用学习率衰减,而是将其设定为一个小的常数,因此,需要更长的时间学习;另外,不再需要建立树的参数。

4.4.2 非随机游走

有一些图通过交互产生,比如用户在网页中导航。这种情况下就不需要随机游走,可以直接用路径建模。这样采样不仅与网络结构有关,还包含了路径的频率。
结合上述方法,可以持续改进网络,而不需要确定所有信息后再构建整个网络。这种方法可以用于处理大规模网络。

5. 实验设计

5.1 数据集

  • BlogCatalog:由博客作者相互关系构建的网络,标签是作者的主题类别。
  • FLICKR:图片共享网站用户之间的联系人网络,标签是用户感兴趣的组。
  • YOUTUBE:视频用户关系网络,标签是喜欢同一视频风格的群体。

5.2 基线

  • 频谱聚类:使用拉普拉斯矩阵的前d维特征向量作为表征,然后对表征聚类。
  • 模矩阵:使用图G的模矩阵B的前d个特征向量表征。
  • 边聚类:对邻接矩阵使用K-means聚类。
  • wvRN:根据领居权重投票方法。
  • 少数服从多数:简单地选择训练集中出现最多的标签作为类别。

6. 实验

6.1 多标签分类

6.1.1 BlogCatalog

分别使用训练集的10%-90%进行训练,可以看到DEEPWALK优于频聚类以外的其它方法,当标注少时,DEEPWALK比频聚类更有优势,这是文中算法的特点。

6.1.2 Flickr

实验分别标注了1%-10%的数据,可以看到DEEPWALK优于其它算法,它只需要60%甚至更少的数据,就能达到与其它算法相同的精度。

6.1.3 YouTube

YOUTUBE网络比其它网络大得多,频聚类和模矩阵无法满足这样的计算量。这种网络也更接近现实世界。使用1%-10%比例标注。

可以看到它在少量标注时明显优于其它算法。
综上,文中方法对于多分类任务,在网络大,稀疏,标注少的情况下效果都很好。

6.2 灵敏度参数

图-5展示了参数对分类任务模型的影响。

6.2.1 维度影响

其中左边展示了不同输出维度的影响,其中a1和a3用不同颜色展示不同的训练比率,在两个数据集中结果相似:模型的最优维度依赖于训练样本数。a2和a4不同颜色展示了不同游走次数γ,两图都在γ=30时性价比最高;虽然FLICKR比BLOGCATALOG边多一倍,但γ取值不同时,两张图很相似。
这说明文中方法可适应不同大小的网络,且模型表现依赖于游走次数,维度取决于训练样本量。

6.2.2 采样率影响

右图展示了不同游走次数的影响,b1,b3展示了不同输出维度,b2,b4展示不同训练样本,情况基本一致,γ对结果有显著影响,而在γ>10之后再增加次数,效果提升就不太明显了。这说明只需要少量游走,就可以学到节点的表征。

论文阅读_DeepWalk相关推荐

  1. 论文阅读工具ReadPaper

    对于搞科研的同学们来说,看论文是要经历的第一关,尤其是要读好多篇论文的时候,更是着实令人头大. 这不,最近无意中发现了个在线论文阅读网站:readpaper.com,号称「论文阅读笔记神器,硕博科研学 ...

  2. 多目标跟踪:CVPR2019论文阅读

    多目标跟踪:CVPR2019论文阅读 Robust Multi-Modality Multi-Object Tracking 论文链接:https://arxiv.org/abs/1909.03850 ...

  3. 快速人体姿态估计:CVPR2019论文阅读

    快速人体姿态估计:CVPR2019论文阅读 Fast Human Pose Estimation 论文链接: http://openaccess.thecvf.com/content_CVPR_201 ...

  4. Action4D:人群和杂物中的在线动作识别:CVPR209论文阅读

    Action4D:人群和杂物中的在线动作识别:CVPR209论文阅读 Action4D: Online Action Recognition in the Crowd and Clutter 论文链接 ...

  5. 深度学习点云语义分割:CVPR2019论文阅读

    深度学习点云语义分割:CVPR2019论文阅读 Point Cloud Oversegmentation with Graph-Structured Deep Metric Learning 摘要 本 ...

  6. 3D目标检测论文阅读多角度解析

    3D目标检测论文阅读多角度解析 一.前言 CNN(convolutional neural network)在目标检测中大放异彩,R-CNN系列,YOLO,SSD各类优秀的方法层出不穷在2D图像的目标 ...

  7. 3D目标检测论文阅读摘要

    3D目标检测论文阅读摘要 2D Object Detection 的研究已经非常成熟了,代表作品有RPN系列的FasterRCNN,One Shot系列的YOLOv1-YOLOv3,这里推荐一个2D ...

  8. 目标检测——Faster R-CNN论文阅读

    论文阅读--Faster R-CNN:Towards Real-Time Object Detection with Region Proposal Networks 文章目录 论文阅读--Faste ...

  9. 【独家】深度学习论文阅读路线图

    如果你是深度学习领域的一名新手,可能会遇到的第一个问题是"应该从哪篇论文开始读起呢?" 这里给出了深度学习论文阅读路线图! 路线图按照下面四个准则构建而成: 从提纲到细节 从经典到 ...

最新文章

  1. 因看不见而恐惧!企业亟需“看得见”威胁
  2. onnx onnxruntime 预测
  3. [reprint]如何编写引导程序 Hello World
  4. 『ACM-算法-离散化』信息竞赛进阶指南--离散化
  5. 数学之路-python计算实战(14)-机器视觉-图像增强(直方图均衡化)
  6. 计算机安全评估研究综合,计算机网络信息系统安全评价方法研究
  7. 拓端tecdat|二手闲置物品交易数据快照
  8. Maven常用命令 - 构建反应堆中指定模块
  9. HART协议命令与UART串口解析
  10. 安装星际译王与本地词典
  11. MyCms 活码二维码(动态二维码)源码版介绍
  12. 双人版井字棋游戏c语言设计报告,井字棋游戏课程设计总结报告.doc
  13. C程序设计第五版谭浩强课后答案 第八章习题答案
  14. 如何取消EXCEL文件的“受保护的视图“
  15. luogu2791 幼儿园篮球题 第二类斯大林数(特)卡常NTT
  16. c++学习笔记(6)
  17. View 视图解析(Revit二次开发)
  18. 一图看完北京互联网公司分布!中关村、后厂村、望京互联网公司扎堆圣地。
  19. 歌礼丙型肝炎新药临床试验申请获批
  20. 从车联网基础知识出发通往5G彼岸

热门文章

  1. 基于直方图的图像增强算法(HE、CLAHE)之(二)
  2. extern的几种用法
  3. 王小草【深度学习】笔记第七弹--RNN与应用案例:注意力模型与机器翻译
  4. 如何下载打印计算机二级准考证(江西)
  5. 计算机一级考试内容有哪些?
  6. .NET 反编译工具
  7. Ubuntu Desktop 更改默认应用程序 (Videos -> SMPlayer)
  8. oracle时间查询语句
  9. ES(ElasticSearch) 如何建立索引
  10. PostgreSQL hint用法(兼容oracle)