KDD 2019 Oral论文:中科大&腾讯提出面向社交用户多行为偏好表征的端到端框架

导语: 在前不久刚刚结束的ACM SIGKDD 2019顶级会议上,腾讯技术工程事业群数据平台部与中科大联合发表的最新研究成果入选SIGKDD 2019 Research Oral Paper (研究类文章),入选论文的题目“MCNE: An End-to-End Framework for Learning Multiple Conditional Network Representations of Social Network”。

链接:https://arxiv.org/pdf/1905.11013.pdf

该研究成果由中国科学技术大学大数据分析与应用安徽省重点实验室陈恩红教授团队(博士生王皓为第一作者)和腾讯TEG数据平台部数据应用中心团队合作完成。

ACM SIGKDD 知识发现与数据挖掘会议是数据挖掘领域具有最高学术地位的国际性学术会议,位列数据挖掘方向顶级会议之首。此项研究也是基于“腾讯高校合作犀牛鸟计划”在科研层面取得的新成果,其中刘淇老师,作为此项目的高校合作老师之一,曾在2015年获得“CCF-腾讯犀牛鸟基金”,并在此之后继续通过腾讯高校合作平台的连接,与腾讯研发团队持续进行滚动项目合作,通过高效的校企协作创造共赢价值。

面向解决社交平台应用的实际问题

随着社交网络的快速发展,网络的规模变得越来越庞大,同时面向社交用户的相关平台服务也变得越来越多样化,传统的复杂网络分析算法在对大规模的网络处理中因为复杂度过高而在实际的应用中变得不可行。近期随着表示学习技术的不断发展,一系列的网络表示学习算法被提出来解决大规模的网络分析问题,通过维持节点之间的网络结构关系将每个节点嵌入到低维的向量表示空间中,并将学习到的低维节点向量表征直接作为节点自身特征来应用到后续的网络分析中,如:用户推荐、链接预测、社团挖掘、用户人群分析和相似人群扩展等应用。

但在之前的研究工作中,大部分的算法都只为每个节点学习单个的向量表示,从而只能反应节点间的单面相似关系。而在实际的社交网络平台中,用户常常会有多种不同类型的行为记录,如体育,游戏和电商等。我们通过分析用户的行为数据发现,社交用户在不同行为类别上有着不同的偏好相似关系,因此为每个节点学习单个向量表示无法刻画节点间的多面偏好相似性。而为每个节点在不同的行为偏好上分别学习对应的条件向量表示,我们需要用一套独立的模型参数对每个用户行为建模,从而造成了大量的参数冗余且无法捕捉节点多行为间的偏好相似关系。为了解决上面的问题,我们提出了一个端到端的框架来同时为社交网络用户学习多个条件向量表征,此项研究成果可以总结为以下几个方面:

  1. 提出了在单个向量空间下为网络节点学习多个条件向量表征的新颖问题,有效地减少了模型参数的冗余。
  2. 引入了二值掩码技术将单个向量空间分割成多个条件向量子空间来表示节点之间的多面偏好相似性,并利用图卷积神经网络来捕捉节点间的高阶网络相似性,最终利用多任务学习框架来同时学习多个条件向量表征,有效地缓解数据稀疏性的同时,并提升模型的鲁棒性

对比最先进的算法,模型在多个任务上取得了显著的性能提升,并有效地应用到实际的业务场景中。

技术点解析

对于此项研究中模型的实现细节,具体的框架图如下所示
图1 端到端的多条件网络表征学习的框架

1)生成条件向量表征

  1. 初始表征层

与之前大部分研究工作相同,此模型的输入是社交网络结构图。因此,我们首先将网络中所有的节点投影到一个低维的向量表示空间,并用矩阵来表示节点初始的向量表征,其中是网络中节点的数量,是节点初始向量表征维度,初始的向量表征表示用户在所有用户行为上的偏好。

     b. 二值掩码层

从初始表征层中此项研究获得了节点的综合向量表示,这个节点向量也可以被看成是图卷积神经网络层的向量表示。在基础的图卷积神经网络框架上我们对每层的节点表征都关联上一个实值的掩码权重矩阵,其中是第k层的节点向量的维度,c是用户行为类别的数量,并额外地增加了一个维度来表示在训练数据集中没有出现的用户行为偏好。之后,将实值的掩码权重矩阵通过一个硬阈值函数得到二值掩码矩阵,具体定义如下所示:

通过硬阈值函数得到二值掩码矩阵后,进一步用来表示掩码矩阵所对应的第c行,从而用户在第c个用户行为上所对应的条件向量定义如下所示:

其中表示用户在图卷积神经网络第层的综合向量表示,表示两个向量间点乘运算。

c). 多面相似信息发送操作

通过二值掩码层获得多个节点条件向量表示后,进一步我们改进了原始图卷积神经网络框架中的消息发送和接收操作,通过迭代地聚合网络中节点周围的多面偏好相似性来更新节点的向量表示。具体地,节点向连接边上发送的多面相似信息定义如下:

其中为节点在网络第k层上行为c所对应的条件向量表示,为在连接边上行为c所占的权重值,根据权重值将不同用户行为所对应的条件向量加权累加得到边上传递的多面偏好的相似信息。因为节点在不同行为上的偏好并不是等价的,我们引入了注意力机制网络来计算节点在不同行为偏好上的权重值,其定义如下所示:

其中是模型的参数,进一步地将邻接节点的每个条件向量表示拼接成作为注意力机制网络的输入,然后通过一个多层神经网络得到对应的权重值,并利用函数对权重值进行归一化,定义如下所示:

d). 多面相似信息接收操作

得到边上传递的多面相似信息后,通过汇聚节点相邻边上的所有信息来更新得到节点新的向量表示,具体的多面相似信息接受的操作定义如下所示:

为了保证计算效率,从每个节点周围随机采样固定大小的邻居节点集合,并使用平均池化函数来汇聚节点周围的多面偏好相似性信息到单一向量。进一步地将当前节点向量表示和汇聚的周围节点向量拼接起来,并通过一个非线性激活函数的全连接层来更新得到下一层的节点向量表示

e). 最终多个节点条件向量表征

通过叠加使用多层图卷积网络(即迭代使用步骤b)~步骤d)),我们能够有效地捕捉节点多阶邻居间的相似信息,并最终得到网络最后一层的节点综合向量表示和多个用户行为所对应的条件向量表示集合

2)联合学习多个条件向量表示

在社交网络中,用户的偏好行为大部分都是隐式反馈数据,因此在这里我们采取广泛使用的贝叶斯个性化排序准则来分别学习用户在每个隐式行为上的偏好关系。对某个具体用户行为c的偏好记录矩阵和对应的用户条件向量表示,最终的损失函数定义成下面的形式:

其中是在行为c上物品所对应的向量表征,为优化行为上c的所有模型参数,对于每个社交用户我们将用户曾经交互过的物品p作为正样本,并随机采样用户没有交互过的物品n作为负样本。

而在实际的社交网络中,用户的多个偏好行为之间常常是有一定的关联性。出于这个目的,我们将每个节点条件向量的学习看成是单个的任务,并利用多任务学习的框架来联合学习多个条件向量,具体的目标函数定义如下所示:

其中c是用户行为的类别数量,是模型所有的参数。通过将二值掩码层和多任务学习框架的结合,并利用学习到的向量子空间来共享不同行为间的相关维度信息,能够缓解训练数据的稀疏性并有效地增强学习到的条件向量表征的鲁棒性。

3)实验的结果

为了评估此项研究学习到的多个条件向量表征的好坏,我们分别设计了社交用户多偏好行为推荐,节点条件向量可视化和模型迁移实验。具体来讲,在用户推荐任务中,对每个数据集我们分别选取了三个具有代表性的用户行为,并分别和最先进的方法进行对比,具体的实验结果如下:

表1 用户多行为推荐结果 从上表中可以明显观察出,此模型的在多个行为偏好推荐上对比之前的方法都取得了显著的性能提升。

进一步地为了有效地观察学习到的多个节点条件向量表征的有效性,我们将节点所有的条件向量表征投影到二维的向量空间中,并用不同的颜色来表示每个节点条件向量表征,具体的可视化结果如下:图2 多个节点条件向量表征可视化从上图中,我们可以明显的观察出,多个节点条件向量表征之间具有明显的聚类结构,并有一定的覆盖区域,这能有效地说明用户在不同的行为上偏好相似性不同,且多个用户偏好行为之间有一定的关联性。

最后,为了验证此模型能否有效地迁移到未训练的行为偏好数据集上,我们在新的用户行为数据集上进行模型迁移实验,具体结果如下所示:

表2 模型迁移结果从上表中,我们可以明显看到,在未训练的用户行为数据集上,此模型仍然取得了有效的性能提升,这能很好说明此项研究中的模型在新数据集上具有良好的鲁棒性。

综述而言,本项研究针对社交网络中用户之间的多面行为偏好相似性不同的问题,提出了基于图卷积神经网络多任务学习的多节点条件表征学习框架,实现了在单个向量空间下表示社交用户的多行为偏好相似性,有效地减少了模型参数的冗余,并在模型实验和具体业务场景中取得了有效的性能提升。

回顾此研究项目初期,双方通过“腾讯高校合作犀牛鸟计划”开启合作,先是基于腾讯的社交大数据,提出稀疏属性网络表征算法来有效融合社交用户的多源异构特征,进一步建立并分析社交用户画像,挖掘用户之间不同的行为模式。再此基础上,双方进一步考虑融合社交用户多偏好行为信息来建模多领域的用户画像,设计初步的算法模型,并在离线试验上验证模型的假设和性能表现,此项研究成果已逐步应用到腾讯的实际业务场景中。

理论端到端模型腾讯中科大KDD 2019
2
相关数据
池化技术

池化(Pooling)是卷积神经网络中的一个重要的概念,它实际上是一种形式的降采样。有多种不同形式的非线性池化函数,而其中“最大池化(Max pooling)”是最为常见的。它是将输入的图像划分为若干个矩形区域,对每个子区域输出最大值。直觉上,这种机制能够有效的原因在于,在发现一个特征之后,它的精确位置远不及它和其他特征的相对位置的关系重要。池化层会不断地减小数据的空间大小,因此参数的数量和计算量也会下降,这在一定程度上也控制了过拟合。通常来说,CNN的卷积层之间都会周期性地插入池化层。

激活函数技术

在 计算网络中, 一个节点的激活函数定义了该节点在给定的输入或输入的集合下的输出。标准的计算机芯片电路可以看作是根据输入得到"开"(1)或"关"(0)输出的数字网络激活函数。这与神经网络中的线性感知机的行为类似。 一种函数(例如 ReLU 或 S 型函数),用于对上一层的所有输入求加权和,然后生成一个输出值(通常为非线性值),并将其传递给下一层。

损失函数技术

在数学优化,统计学,计量经济学,决策理论,机器学习和计算神经科学等领域,损失函数或成本函数是将一或多个变量的一个事件或值映射为可以直观地表示某种与之相关“成本”的实数的函数。

注意力机制技术

我们可以粗略地把神经注意机制类比成一个可以专注于输入内容的某一子集(或特征)的神经网络. 注意力机制最早是由 DeepMind 为图像分类提出的,这让「神经网络在执行预测任务时可以更多关注输入中的相关部分,更少关注不相关的部分」。当解码器生成一个用于构成目标句子的词时,源句子中仅有少部分是相关的;因此,可以应用一个基于内容的注意力机制来根据源句子动态地生成一个(加权的)语境向量(context vector), 然后网络会根据这个语境向量而不是某个固定长度的向量来预测词。

表征学习技术

在机器学习领域,表征学习(或特征学习)是一种将原始数据转换成为能够被机器学习有效开发的一种技术的集合。在特征学习算法出现之前,机器学习研究人员需要利用手动特征工程(manual feature learning)等技术从原始数据的领域知识(domain knowledge)建立特征,然后再部署相关的机器学习算法。虽然手动特征工程对于应用机器学习很有效,但它同时也是很困难、很昂贵、很耗时、并依赖于强大专业知识。特征学习弥补了这一点,它使得机器不仅能学习到数据的特征,并能利用这些特征来完成一个具体的任务。

神经网络技术

(人工)神经网络是一种起源于 20 世纪 50 年代的监督式机器学习模型,那时候研究者构想了「感知器(perceptron)」的想法。这一领域的研究者通常被称为「联结主义者(Connectionist)」,因为这种模型模拟了人脑的功能。神经网络模型通常是通过反向传播算法应用梯度下降训练的。目前神经网络有两大主要类型,它们都是前馈神经网络:卷积神经网络(CNN)和循环神经网络(RNN),其中 RNN 又包含长短期记忆(LSTM)、门控循环单元(GRU)等等。深度学习是一种主要应用于神经网络帮助其取得更好结果的技术。尽管神经网络主要用于监督学习,但也有一些为无监督学习设计的变体,比如自动编码器和生成对抗网络(GAN)。

卷积神经网络技术

卷积神经网路(Convolutional Neural Network, CNN)是一种前馈神经网络,它的人工神经元可以响应一部分覆盖范围内的周围单元,对于大型图像处理有出色表现。卷积神经网路由一个或多个卷积层和顶端的全连通层(对应经典的神经网路)组成,同时也包括关联权重和池化层(pooling layer)。这一结构使得卷积神经网路能够利用输入数据的二维结构。与其他深度学习结构相比,卷积神经网路在图像和语音识别方面能够给出更好的结果。这一模型也可以使用反向传播算法进行训练。相比较其他深度、前馈神经网路,卷积神经网路需要考量的参数更少,使之成为一种颇具吸引力的深度学习结构。 卷积网络是一种专门用于处理具有已知的、网格状拓扑的数据的神经网络。例如时间序列数据,它可以被认为是以一定时间间隔采样的一维网格,又如图像数据,其可以被认为是二维像素网格。

目标函数技术

目标函数f(x)就是用设计变量来表示的所追求的目标形式,所以目标函数就是设计变量的函数,是一个标量。从工程意义讲,目标函数是系统的性能标准,比如,一个结构的最轻重量、最低造价、最合理形式;一件产品的最短生产时间、最小能量消耗;一个实验的最佳配方等等,建立目标函数的过程就是寻找设计变量与目标的关系的过程,目标函数和设计变量的关系可用曲线、曲面或超曲面表示。

多任务学习技术

聚类技术

将物理或抽象对象的集合分成由类似的对象组成的多个类的过程被称为聚类。由聚类所生成的簇是一组数据对象的集合,这些对象与同一个簇中的对象彼此相似,与其他簇中的对象相异。“物以类聚,人以群分”,在自然科学和社会科学中,存在着大量的分类问题。聚类分析又称群分析,它是研究(样品或指标)分类问题的一种统计分析方法。聚类分析起源于分类学,但是聚类不等于分类。聚类与分类的不同在于,聚类所要求划分的类是未知的。聚类分析内容非常丰富,有系统聚类法、有序样品聚类法、动态聚类法、模糊聚类法、图论聚类法、聚类预报法等。

图卷积神经网络技术

图卷积神经网络(Graph Convolutional Network)是一种能对图数据进行深度学习的方法。GCN的三个主要特征:它是卷积神经网络在 graph domain 上的自然推广;它能同时对节点特征信息与结构信息进行端对端学习;适用于任意拓扑结构的节点与图;

图卷积网络技术

假设有一张图,要做分类,传统方法需要手动提取一些特征,比如纹理啊,颜色啊,或者一些更高级的特征。然后再把这些特征放到像随机森林等分类器,给到一个输出标签,告诉它是哪个类别。而深度学习是输入一张图,经过神经网络,直接输出一个标签。特征提取和分类一步到位,避免了手工提取特征或者人工规则,从原始数据中自动化地去提取特征,是一种端到端(end-to-end)的学习。相较于传统的方法,深度学习能够学习到更高效的特征与模式。

推荐文章
暂无评论
暂无评论~