摘 要
预测分析是网络应用中的一项重要任务,在推荐系统和在线广告等应用上发挥着巨大作用。以往的模型大多忽略特征中存在的潜在结构性,从而并不能高效且显式的建模特征交互。本文提出将特征数据建模成图的结构,并设计了神经网络模型来显式高效的建模特征交互。
关键字
预测分析;特征交互建模;图结构
预测分析是机器学习和数据挖掘的一项基本任务。给定特征作为输入,目标是推断出预测目标的函数(如回归的实值、分类的分类标签等),对于许多网络应用,如在线广告和推荐系统尤为关键。区别于图像和音频中自然可以找到的连续特征,网络应用的特征大多是稀疏和分类的,在对这些特征进行预测分析时,必须考虑到它们之间的交互作用。例如,预测用户对电影的偏好,给定五个分类变量的特征:① 语言 = { 英语,中文,日语,…};② 类型={ 动作,小说,…};③ 导演 = { 李安,克里斯托弗● 诺兰,…}; ④ 主演 = { 布鲁斯● 李,莱昂纳多●迪卡普里奥,…};⑤ 发行时间 = {1995,2005,…}。对于模型来说,捕捉信息量大的特征组合 / 特征交互很重要。例如,3 阶特征组合(类型 = 小说,导演 = 克里斯托弗●诺兰,主演= 莱昂纳多●迪卡普里奥)或(语言 = 中文,类型 = 动作,主演 = 李小龙)可能会推断出更高的用户偏好。本文将介绍如何挖掘和建模有效的特征组合/ 特征交互。首先将梳理和分析当前的特征交互建模研究现状,以及图神经网络的发展;最后介绍如果通过将特征建模成图的结构,从而使用图神经网络进行高效显式的特征交互建模。
1 特征交互的研究现状
1.1 二阶特征交互
因子分解机(FM)是一种有效且流行的方法,用于对此类特征交互进行建模。FM 的关键思想是学习每个独热编码特征的嵌入向量,然后通过各自向量的内积对每个特征对的二阶交互作用进行建模。由于简单有效,FM 在推荐系统和广告点击率预测方面许多工作中得到了广泛应用,人们也相继提出了不同的 FM 变体。特征域感知因子分解机(FFM)考虑了不同特征域的信息,并引入了域感知嵌入表达。AFM 引入注意力机制来衡量不同二阶特征交互的权重。然而,这些方法只能对二阶交互作用进行建模。
1.2 高阶特征交互
最近,许多基于深度神经网络的模型被提出来学习高阶特征交互,这些模型遵循了统一的范式:将不同特征的嵌入向量拼接在一起,并将其输入到深度神经网络(DNN)或其他专门设计的深度模型中,以学习高阶特征交互。例如,FNN、NFM、Wide&Deep 和 DeepFM 等模型都是利用 DNN 来建模高阶特征交互。然而,这些基于 DNN 的模型只能在位级别上,以隐式的方式建模交互,缺乏良好的模型解释。一些模型试图学习高阶的相互作用明确地通过引入专门设计的网络。例如,Deep&Cross 引入了交叉网络 (CrossNet);xDeepFM 引入了压缩交互网络。尽管如此,我们认为它们仍然不够有效和显式地建模高阶特征交互,因为没有考虑特征之间的结构性,只是简单地将所有特征进行非结构化组合,这样会限制灵活模拟不同特征域之间复杂的相互作用。
2 图神经网络研究现状
图是一种数据结构,它能够建模节点及其节点之间的关系(边)。近来,利用机器学习分析图的研究越来越受到关注。早期的工作通常是将图结构的数据转换为序列结构的数据来处理。受到 word2vec 的启发,Perozzi 等提出一种无监督的 DeepWalk 算法,以基于随机行走学习图中的节点嵌入;Tang 等则提出一种网络嵌入算法 LINE,该算法的特点是保留了一阶和二阶结构信息;Grover 等提出 node2vec,它引入了一个有偏的随机行走。然而,这些方法在计算上可能是昂贵的,在大型图上难以进行。
图神经网络 (GNN) 就是为了解决这些问题而设计的,它是一种基于深度学习的在图结构数据上操作的方法。图神经网络的概念最早由 Scarselli 等提出。一般来说,图神经网络中的节点通过聚合邻域的信息并更新其隐藏状态来与邻居进行交互。一直以来,图神经网络的变种很多,各种各样的聚合方式和更新方式被提出。例如,门控图神经网络(GGNN)采用 GRU 来更新节点表达;图卷积网络 (GCN)考 虑 了 图 的 频 谱 结 构 并 利 用 卷 积 聚 合 器;GraphSAGE 考虑了空域信息,引入了平均池化聚合器、LSTM 聚合器和 Pooling 聚合器三种聚合器;图形注意力网络(GAT)则结合了注意力机制。由于具有令人信服的性能和较高的可解释性,图神经网络逐渐成为一种应用广泛的图结构数据分析方法。最近,有很多利用图神经网络的应用,如神经机器翻译,语义分割、图像分类、情境识别、推荐系统、脚本事件预测和时尚分析等。图神经网络适用于对图结构特征上的节点交互进行内在建模。因此本文将探索使用图神经网络在图结构的特征上建模交互。
3 基于图神经网络的特征交互建模
3.1 特征交互图神经网络
特征交互图神经网络(Fi-GNN)首次提出将具有多个特征域的特征表达成图的结构,从而利用图神经网络去捕捉不同特征之间的结构关系,并提供很好的模型可解释性。如图 1 所示,Fi-GNN 首先将输入的包含多个类别特征(特征域)的稀疏向量映射成稀疏的独热嵌入向量,然后通过嵌入层得到每个特征域独有的嵌入向量。对于每个包含多个特征域的特征,我们将其表达成特征图的形式。在此特征图上,每个节点对应一个特征域,不同的特征域可以通过它们之间的边进行交互。为了建模任意两个特征域之间的交互,在此图中任意两个点(特征域)之间都有边连接,换句话说,这是一个完全图,因此可以将建模交互任务转换为在特征图上的建模节点交互。通过将特征图输入所提出的 FiGNN 中,对节点交互进行建模。在 Fi-GNN 的输出上应用一个注意层来进行预测。
我们采用的图神经网络为 GGNN。每个点(特征)的向量会根据聚合得到邻居的状态和自己的状态,输入到门控循环单元里进行更新。在此基础上还增加了残差连接的设置,为了使高层表达也能记住底层信息。此外,为了灵活建模不同特征之间的通过边交互,试图给每个边上赋予一个独有的交互函数。我们的图具有大量边的完全图,简单地为每条边分配一个唯一的交互函数会消耗太多的参数空间和运行时间。为了减少时间和空间的复杂性,同时实现灵活的建模方式,将交互函数进行解耦。每条边上的交互转移矩阵分解为连接两个点上的矩阵,因此边规模的参数量被削减到点级别,大大地降低了参数量。
经过 K 次特征交互与更新后,可得到图中每个节点(特征)的表达。由于节点与其 K 阶内的邻居都进行了交互,因此对 K 阶特征交互进行建模,即捕捉了 K 阶的组合特征。根据所有特征域的最终表达,可以进行预测。显然,每个特征域节点的最终表达捕获了其与所有 K阶内邻居的交互。在这里分别对每个特征域的最终表达进行预测评分,并使用一个注意力机制来衡量它们对整体预测的影响。
3.2 图神经网络与因子分解机的结合
上面介绍了我们第一次尝试用图神经网络建模特征交互,尽管取得不错效果,但图神经网络本身是设计用来解决节点分类或者链接预测问题,因此包含很多并不适合于建模特征交互的操作。此外,因为不知道哪些特征交互对预测有效,在 Fi-GNN 中我们建模所有对的特征交互,因此特征交互图是全连接形式。然而在实际应用中,并不是所有对特征交互都是有效的,有些特征交互反而会对效果产生影响。因此直接使用图神经网络建模特征交互,从效率及效果上考虑可能都不是最佳选择。
为了解决这两类方法各自的问题,并同时利用它们的优势,本节尝试将因子分解机与图神经网络进行结合,提出图因子分解机(GraphFM)来高效显式地建模高阶特征交互。具体来讲,同样将多特征域的特征表达成图的结构,然而我们设计的 GraphFM 可以筛选到有效融合的特征交互组合,通过结合因子分解机高效建模交互的功能,以及图神经网络捕捉高阶关系的功能,GraphFM 能够有效地建模任意高阶的特征交互。
如图 2 所示, GraphFM 主要包含两部分,特征交互选择部分和特征交互聚合部分。前者将筛选出对最后预测的特征交互组合(特征交互图中的边);后者结合了因子分解机的特征交互组合建模方式,以及图神经网络特征聚合方式,来聚合特征交互并更新特征表达。
在特征交互选择部分的目的是选择对最终预测有效的特征交互组合,这也可以看作是特征交互上的链接预测问题,即预测两个特征点之间是否有链接(交互)。然而,图结构是离散的,其中连接两个节点的边要么存在、要么不存在,这就使得该过程不可微分,因此不能直接采用基于梯度下降的优化技术进行优化。为了克服这一局限性,我们用加权边集合代替二元边集,每条边的权重即为其存在的概率,这也反映了它所连接两个特征之间的交互对最终预测的有利程度。需要注意的是,我们在每层学习都不同的图结构。通过这种方式,在列举有益的高阶特征交互时有更高的效率和灵活性,这样的图结构连续建模可以实现梯度的反向传播。值得一提的是,由于不知道真正的图结构,即哪些特征交互是对最终预测有益的,我们的梯度来自于模型输出与目标之间的误差。直观地讲,将每对特征嵌入的元素乘积视为一个项,并使用 MLP 估计其得分;也可以选择欧氏距离或其他距离度量。根据估计的边存在概率,可以采样一个 m 度图,即每个点有 m 个邻居。具体来讲,对于每个点,我们采样与其连接的拥有最高 m 个概率的边,保留这 m 个特征,掩盖其他特征。
在特征交互聚合部分,由于已经选择了有效的特征交互,或者换句话说,学习了图结构,就可以执行特征交互(邻域)聚合操作来更新特征表示。对于一个目标特征节点,当聚合其与邻居的有效交互时,我们还会计算每个交互的注意力系数。这表明任意两个特征之间相互作用的重要性。为了使系数在不同的特征节点之间容易比较,使用 softmax 函数对所有选择进行归一化。为了捕捉不同语义子空间中特征交互的多义性,同时稳定学习过程,扩展了本机制——采用多头注意力机制。具体来说,有多个独立的注意力机制执行特征更新,然后将这些更新特征进行拼接,得到最终的输出特征表示。
4 实验
4.1 实验设置
在三个数据集上进行了实验。Criteo 是一个著名的 CTR 预测行业基准数据集,在展示广告的 39 个匿名特征域中,有超过 4 500 万用户点击记录。给定用户和其正在访问的页面,我们的目标是为了预测他点击给定广告的概率。Avazu 数据集包含用户对显示在移动设备广告上的广告点击行为。拥有 23 个匿名特征域,包括用户 / 设备功能和广告属性。MovielLens-1M 数据集包含了用户对电影的评分,共包含 7个类别特征。对于前两个数据集,分别删除出现次数少于 10 次和 5 次的特征,并将它们视为单个特征<未知 >。将所有样本随机分成 8:1:1 进行训练、 验证和测试。选择两个评价指标AUC (Area Under the ROC curve) 和 Logloss(交叉熵 ), AUC 衡量一个正样本的打分高于随机选择负样本的概率,越高的 AUC 表示性能越好;Logloss 测量每个实例预测分数和真实标签之间的距离,越低的 Logloss 表示性能越好。
4.2 实验结果
表 1 展示了不同方法在 3 个数据集上的实验结果。可以看到,本文提出的两个基于图结构方法 Fi-GNN 和 GraphFM 取得了次优和最优效果。这说明了考虑特征中隐含的结构性,以及所提的基于图神经网络的特征交互建模方法的有效性。而 GraphFM 在 Fi-GNN 的基础上又取得了很大的效果提升,这说明我们提出的将图神经网络与因子分解机结合确实能够结合两者优点,并解决两者各自缺点。在 Criteo 数据集和Avazu数据集上两个模型均取得较大提升。在 MovieLens-1M 数据集上取得巨大提升,这可能是由于 MovieLens-1m 数据集的特征域较少,从而图的规模较小。因此可以更加有分辨性的建模,不用特征之间的交互。
5 结束语
本文介绍了基于图神经网络模型的特征交互建模方法。首先阐述了特征交互的研究意义及研究现状 ; 然后梳理了图神经网络的发展历程 ; 接着详细介绍了基于图神经网络的特征交互建模方法。本文介绍了两个工作,第一个工作是第一次提出考虑特征之间的结构,并把特征表达成图结构使用图神经网络来建模特征交互;第二个工作是在此基础上,提出通过将图神经网络与因子分解机结合,并结合各自的优势,解决各自存在的问题,所提方法能够更有效、更显式地在图结构特征上建模特征交互。实验结果表明,相比现有方法,所提出两个基于图神经网络的特征交互算法可以带来显著的性能提升。立足于本文当前的研究成果,将来的工作重心在于探索所提方法是否也能在图表示学习的任务上取得更好效果,例如节点分类和链接预测。