图是一种通用的数据表现形式,图算法逐渐在大数据处理中展现其价值。网络表征学习算法作为目前比较主流的一种图数据处理算法,引起学术界和工业界的极大兴趣。
本文介绍了 IEG 在网络表征学习方面的一个自研学术成果,最近被国际顶级学术会议 13th ACM International Conference on Web Search and Data Mining (WSDM 2020) 接收为学术长文。个人始终认为并且坚持研究与业务是可以相辅相成的。因此,该技术起源于对游戏业务优化的需求,升华于对技术细节的精益求精。

背景

网络表征学习算法将网络中的每个节点映射为一个长度固定的向量,并且这个向量的长度远远小于网络中节点数量。因此,网络表征学习算法得到的节点向量可以作为大部分机器学习模型的输入,从而能够应用到各种业务中。比如,在某RPG游戏的好友召回活动中,采用网络表征的算法比其他算法在回流率上相对提升了32.6%;在某MOBA游戏的师徒推荐功能中,采用网络表征的算法比其他算法在点击率上相对提升了4.48%。

网络表征学习的算法主要有DeepWalk、node2vec和LINE。然而,这些算法采用了非凸优化技术来求解模型,比如随机梯度下降算法(SGD)。但是,非凸优化技术的初始化对该技术的性能和效果都会产生较大的影响。如果选择了不好的初始化值,可能会导致计算结果集中在不好的局部最优(local minima)上。

国际人工智能学术会议AAAI 2018有个技术HARP也是为了解决网络表征学习初始化的问题。HARP采用多层次的网络压缩方法,容易将本应属于两个不同分区的节点合并为一个节点,比如网络结构中桥(bridge)上的两个节点,因此也不能很好地反映出网络结构的整体特点。另外,多层次的计算需要较高的计算量,特别是当网络结构比较大的时候。

为了克服上述问题和提高网络表征学习算法的性能,我们提出了考虑网络结构的基于图分割的网络表征学习初始化技术(Graph Partition Approach),简称为GPA。GPA技术先采用图分割算法将网络图结构分割成若干区块,接着将所得到的区块当作抽象节点,于是构建了一个抽象网络。最后通过计算抽象网络的表征,从而得到原网络的表征初始值。基于图分割算法,抽象节点之间的边具有最小分割边数(minimal edge cut)的特点,因此可以更好地刻画网络的整体结构。另外,基于图分割的技术不需要多层次的计算方式,可以减少计算量。

在多个实验中,验证了GPA可以明显地提高网络表征学习算法的效率和性能。具体来说,链路预测任务上相对于采用HARP技术初始化的方案提升了7.76%,在节点分类任务上则相对提升了8.74%。另外,在运行时间上,GPA也相对HARP减少了至少20%。

此外,我们还在一些游戏场景中验证了GPA技术对线上业务效果的提升作用。比如,在某类游戏的回流激励活动中,相对于无特殊初始化的方案,采用GPA技术的网络表征学习算法在点击率上相对提升了1.83%,在回流率上相对提升了6.43%。

2. 算法简述

本技术方案GPA采用四个步骤来生成网络的表征初始值,如图1所示。首先,GPA利用图分割算法将网络图结构分割成若干区块。然后基于分割区块,构建抽象网络,其大小将远远小于原始网络结构大小。在构建抽象网络时,我们把每个区块表示为一个节点(称为抽象节点),把区块之间的边合并成一条边(称为抽象边)。接着,我们采用网络表征学习算法计算抽象网络的每个抽象节点的节点向量。最后,基于传播算法,我们将抽象节点的节点向量传回该节点所表示的原网络结构里的节点,从而计算得到原网络结构里每个节点的节点向量的初始值。

图 1:基于图分割的网络表征学习初始化技术

在计算抽象网络的表征时,需要通过设置特定的超参数来运行网络表征学习算法,比如node2vec的超参数包括随机游走路径的长度和个数。这些超参数往往对模型和算法的性能起到了关键性的作用。然而,现有的网络表征学习算法没有提出如何快速地寻找合适的超参数,并且传统的超参数选择方法(比如网格搜索)具有较高的运行代价。因此,本技术方案还包括一个基于图属性和回归模型的超参数选择方法,如图2所示。

图 2:基于图属性和回归模型的网络表征学习算法超参数选取技术

更多技术细节请看提前发布的论文:https://arxiv.org/abs/1908.10697

3. 相关成果

3.1 业务效果

我们将本技术GPA应用在游戏的多个业务场景中,从而提升相关业务的效果。比如在某类游戏的好友召回活动中,我们需要为每个活跃玩家计算一个长度有限(比如10个)的推荐列表。每个活跃玩家的推荐列表上是流失玩家,并且是该玩家的好友。也就是说,好友召回活动是使用活跃玩家去召回流失玩家。基于本技术方案GPA,我们首先计算该游戏的社交网络上每个玩家的节点向量初始值,然后把这个初始值输入到node2vec算法中,得到玩家最终的节点表征向量。基于节点向量,我们计算活跃玩家与流失玩家之间的欧式距离相似度。然后,按欧式距离相似度,从小到大依次排序,从而得到每个活跃玩家的推荐列表。基于A/B test的评测方法,相对于无特殊初始化的方案,以及其他算法(比如Personalized PageRank),采用GPA技术的网络表征学习算法在点击率上相对提升了1.83%,在回流率上相对提升了6.43%。

3.2 论文

  • Wenqing Lin, Feng He, Faqiang Zhang, Xu Cheng, Hongyun Cai.

    Initialization for Network Embedding: A Graph Partition Approach.

  • Proceedings of the 13th ACM International Conference on Web Search and Data Mining (WSDM), full research paper, 2020.

WSDM是数据挖掘和分析领域成长较快的国际顶级学术会议,通常读作“wisdom”。如图3所示,在Google Scholar上的学术会议和期刊影响力排名中,WSDM在数据挖掘领域和数据库领域分别排名第4和第6。明年会议WSDM 2020的网址是 http://wsdm-conference.org/2020/。

图 3:Google Scholar上与数据挖掘相关的学术会议和期刊影响力排名

3.3 专利

  • 《网络表征学习的初始化技术》,申请号:201910309766.0

    《网络表征学习的超参数选取方法》,申请号:201910220752.1

  • 《提升网络表征学习算法性能的数据压缩技术》,申请号:201910557086.0

你可能还喜欢

腾讯游戏自研学术成果:基于图分割的网络表征学习初始化技术相关推荐

  1. 图神经网络基础--基于图神经网络的节点表征学习

    图神经网络基础–基于图神经网络的节点表征学习 引言 在图节点预测或边预测任务中,首先需要生成节点表征(Node Representation).我们使用图神经网络来生成节点表征,并通过基于监督学习的对 ...

  2. 图神经网络/GNN(三)-基于图神经网络的节点表征学习

    Task3概览: 在图任务当中,首要任务就是要生成节点特征,同时高质量的节点表征也是用于下游机器学习任务的前提所在.本次任务通过GNN来生成节点表征,并通过基于监督学习对GNN的训练,使得GNN学会产 ...

  3. 基于图神经网络的节点表征学习

    我们使用图神经网络来生成节点表征,并通过基于监督学习的对图神经网络的训练,使得图神经网络学会产生高质量的节点表征.高质量的节点表征能够用于衡量节点的相似性,同时高质量的节点表征也是准确分类节点的前提. ...

  4. 图神经网络GNN(三):基于图神经网络的节点表征学习

    1. 写在前面 这个系列整理的关于GNN的相关基础知识, 图深度学习是一个新兴的研究领域,将深度学习与图数据连接了起来,推动现实中图预测应用的发展. 之前一直想接触这一块内容,但总找不到能入门的好方法 ...

  5. 智能交通的深度学习综述-基于图卷积神网络

    文章目录 Abstract and Introduction Related Work Problems, Research directions, Challenges Problems formu ...

  6. 基于图神经网络的节点表征

    我们使用图神经网络来生成节点表征,并通过基于监督学习的对图神经网络的训练,使得图神经网络学会产生高质量的节点表征.高质量的节点表征能够用于衡量节点的相似性,同时高质量的节点表征也是准确分类节点的前提. ...

  7. 商简智能学术成果|基于深度强化学习的联想电脑制造调度(Lenovo Schedules Laptop Manufacturing Using Deep Reinforcement Learning)

    获取更多资讯,赶快关注上面的公众号吧! 文章目录 摘要 背景介绍 传统方法无法解决现有挑战 解决方案 提升模型表达能力 针对复杂约束的掩码机制 快速模型训练 配置多目标调度优化 结论   本篇论文作为 ...

  8. 文献《基于图分割的高分辨率遥感影像建筑物变化检测研究》的阅读笔记

    什么是图分割? 定义:将图像中的每个像元映射成图的顶点(像元自身的特征信息对应图中顶点属性),像素之间的相邻关系映射为图的边. 顶点:原始图像中每个像素映射为无向图的一个顶点: 顶点属性:像素自身的特 ...

  9. 图模型+Bert香不香?完全基于注意力机制的图表征学习模型Graph-Bert

    作者 | Jiawei Zhang.Haopeng Zhang.Congying Xia.Li Sun 译者 | 凯隐 编辑 | Jane 出品 | AI科技大本营(ID:rgznai100) [导读 ...

最新文章

  1. 排序(3)---------冒泡排序(C语言实现)
  2. 山西晋城学籍“失踪”解决方案:可参加高考或转职高
  3. apk私钥_使用source/build/target/product/security/中的密钥将apk签署为系统
  4. Redis入门(二)之数据类型
  5. 一个看似是系统问题的应用问题的解决过程
  6. 为什么Java 中1000==1000为false,而100==100为true?
  7. -le: unary operator expected_【AFM+STM-LE】超经典:研究单分子化学反应引起的光发射ACS Nano...
  8. 红旗liuxe5.0下vmware tools安装记录
  9. wifi频率和zigbee干扰_怎样设置Zigbee和wifi信道避免干扰?
  10. 基于FPGA的VGA/LCD显示控制器设计(下)
  11. 【Java】实现wav格式音乐的 播放、停止、循环播放、音量调节
  12. matlab 12脉波变压器,12脉波整流电路MATLAB-Simulink仿真及谐波分析
  13. 服务器怎么做无限耐久装备,饥荒物品无限耐久控制台指令 | 手游网游页游攻略大全...
  14. ArrayList和LinkedList的底层源码之我见
  15. IOS Swift语言开发 tableView的重用以及自cell的自适应高度
  16. Oracle数据库中索引的维护
  17. 51单片机I/O端口的结构和工作原理
  18. 成都超级计算机中心玻璃,成都超级计算中心 年内建成投运
  19. 类静态数据成员的定义及初始化
  20. html静态网站基于游戏网站设计与实现共计10个页面 (仿地下城与勇士游戏网页)...

热门文章

  1. sqlserver 运行正則表達式,调用c# 函数、代码
  2. DataGridView使用技巧十:单元格表示值的自定义
  3. 为什么很多招聘信息都要求三年以上的工作经验?
  4. 233. Number of Digit One
  5. Eclipse Java注释模板设置
  6. 邮件系统三功能 建金字塔防护体系
  7. #翻译NO.4# --- Spring Integration Framework
  8. DataSet的数据并发异常处理
  9. 洛谷 - P1758 [NOI2009]管道取珠(计数dp)
  10. 牛客 - 树上博弈(思维)