导读
点击率预测(CTR)是在线广告与推荐系统中是一个至关重要的任务,CTR任务的核心是去建模不同特征field的特征交互。在本文中,我们提出了在图结构中直观地表示多-filed特征,每一个节点对应一个特征field,不同的field可以通过边进行交互。将建模特征交互的任务转换为在相应的图中建模节点交互。我们设计了一个新颖的模型特征交互图神经网络(Fi-GNN)。利用图强大的表达能力,我们提出的模型不仅能够建模复杂特征交互,也对CTR预测提供了可解释型。在两个现实世界的数据集上的实验结果表明它的性能超过了最先进的技术。
https://arxiv.org/abs/1910.05552
动机
之前的基于深度学习的方法CTR模型(例如:FNN、NFM、DeepFM等)都是先将稀疏输入通过 embedding 层变成连续的稠密向量,再简单的将这些嵌入向量拼接起来,送入DNN或者其它特别设计的模型中学习交互。而这种简单的拼接操作没能考虑到各种特征之间的结构特性,并且限制了建模复杂交互的能力。为了考虑多-field特征之间的结构特性,将所有的特征构建为图,每一个节点对应一个特征field。并提出了一个基于图神经网络的模型——特征交互图神经网络(Fi-GNN)。能够以一个灵活的方式去建模复杂的节点(特征)交互。
贡献
1)我们指出了现存的将多-field特征简单拼接操作的局限。基于此,我们首次提出用图结构来表示多field特征。、
2)我们设计了一个新颖的模型特征交互图神经网络(Fi-GNN)用更加灵活的方式去建模特征field的复杂的交互。
3)在两个真实数据集上的广泛实验表明,我们提出的方法不仅性能优于最先进的方法,而且还提供了很好的模型解释。
方法
问题定义
假定训练数据由m个field的离散特征组成(m是特征field的数量)并且相关的标签为y∈{0,1}表示用户的点击习惯。CTR预测的任务是对输入的m个field特征预测其标签^y,估计用户点击的概率,故该任务的关键是建模不同特征field的复杂交互。
框架
我们的方法的框架如下图所示(m=4),输入的m个稀疏的field特征向量首先映射为one-hot嵌入向量,随后通过embedding层嵌入为稠密field嵌入向量。然后,将field嵌入向量表示为特征图,每一个节点为一个特征field,并且不同的特征field可以通过边进行交互。建模交互的任务可以被转换为在特征图中建模节点交互。最后,特征图被送入我们提出的 Fi-GNN中去建模节点交互。并使用一个注意力层上去估计点击率^y,提供可解释性。
嵌入层
与之前的方法一样,对于稀疏、离散的输入的多-field特征向量,我们将每个field作为一个one-hot编码向量随后通过embedding层嵌入为一个稠密向量,表示为field嵌入向量。
其中:
e_i∈R^D,表示field i 的嵌入向量
D表示field嵌入向量的维度
特征图
区别于之前将 field嵌入向量简单串联起来送入设计的模型中的方法,我们用图结构来表示他们。将每个输入的多-field特征作为特征图G=(N,ε),其中节点n_i ∈ N对应于特征field i ,并且不同的field 可以通过边进行交互。由于每两个field之间是相互作用,所以G是一个加权连接图,而边权重反映了不同特征相互作用的重要性。因此,对特征交互进行建模的任务可以转换为对特征图上的节点交互进行建模。
特征交互图神经网络
Fi-GNN是在GGNN的基础上进行改进, 用来在特征图上建模节点嵌入。他能够以一个显式的方法去建模复杂高阶交互。
在 Fi-GNN中,每一个节点n_i与隐藏状态向量h^t_i有关并且图的状态与节点的状态相关。
其中:
t 表示交互的step
初始节点状态
初始节点状态是输入特征图的field嵌入特征向量e_i,表示为:
状态聚合
在交互的第 t步 ,每一个节点会从邻居节点聚合信息。节点n_i的聚合信息是它所有邻居的转换状态信息的加和:
其中:
W_p是转换函数
A∈R^{m*m}是包含边权重的邻接矩阵,A[n_j,n_i]是由节点n_j到节点n_i的边的权重,可以反映交互的重要性。
由于每条边上的交互应该是不同的,因此,我们要求每条边具有独一无二的权重与转换函数。
1)注意力边权重:在传统GCN中的邻接矩阵通常为二进制形式,例如仅仅包含0与1.它仅仅反映节点间的连接关系,未能反映他们关系的重要性。为了推断不同节点间交互的重要性,我们提出通过通过一个注意力机制去学习边的权重。由节点n_i到节点n_j的边的权重通过他们的初始状态计算(field嵌入向量):
其中:
W_w∈R^(2D)是权重矩阵
丨丨是串联操作
由于边的权重反映了不同交互的重要性,因此FI-GNN可以很好地解释输入实例的不同特征field之间的关系。
2)边级转换(W_p):在所有边上的固定的转换函数不能够灵活的建模交互,但是为每条边分配唯一的转换权重将消耗太多的参数空间和运行时间。为了减少时间与空间复杂性并且获得边级转换,我们为每一个节点n_i设计了一个输出矩阵W^i_out和一个输入矩阵W^i_in。当节点n_i将它的状态信息传送到n_j时,状态信息首先会通过n_i的输出矩阵W^i_out进行转换,然后在节点n_j接受状态之前再由节点n_j的输入矩阵W^i_in进行转换。故从节点n_i到n_j的边n_i→n_j的转换函数为:
同样的,从节点n_j到n_i的边n_j→n_i的转换函数为:
因此·,状态聚合函数a^t_i表示为:
这样,参数的数量与节点的数量成正比,而不是与边数成正比,这大大降低了空间和时间复杂度,同时实现了边之间(edge-wise)的交互。
状态更新
在聚合状态信息之后,节点会通过GRU与残差连接更新状态向量:
1)通过GRU更新状态:在传统的GGNN中,节点n_i的状态向量基于聚合状态信息a^t_i和它自己在上一步的状态通过GRU进行更新:
具体计算如下:
2)通过残差连接更新状态:除了与GGNN一样使用GRU以外,我们还引入了额外的残差连接与GRU一起去更新节点状态:
注意力层
在T个传播步完成后,我们可以获得节点状态:
由于节点已经与其T阶邻居进行了交互,因此实现了对T阶特征交互进行了建模。我们分别对每一个节点的最终状态预测一个分数,并且用注意力机制将他们加起来,注意力机制衡量不同field特征在总体预测上的影响。每一个节点n_i的预测分数与它的注意力节点权重可以通过分别通过MLP计算得到:
因此所有节点的最总预测为:
训练
我们采用log损失作为损失函数:
其中:
N是训练样本的数量
实验
实验部分主要回答如下四个问题:
1)最先进的模型相比,我们提出的Fi-GNN在建模高阶特征交互方面表现如何?
2)我们提出的Fi-GNN在高阶特征交互建模方面是否比原始GGNN性能更好?
3)模型不同参数设置的影响?
4)不同fields的特征之间有什么关系?我们提出的模型可以解释吗?
数据集
我们在Criteo与Avazu这两个数据集上评估我们提出的模型,其统计数据汇总在表1中。
Criteo:https://www.kaggle.com/c/criteo-display-ad-challenge
Avazu:https://www.kaggle.com/c/avazu-ctr-prediction
对于这两个数据集,我们分别删除出现次数少于10次、5次的不频繁特征,由于数字特征可能具有较大的方差,因此我们通过将数值z转换为log^2(z)(如果z>2)来归一化数值,并且按8:1:1随机拆分,用于训练、验证和测试。
Baseline
早期的CTR预测方法可以分为三种类型:
1)逻辑回归(LR):建模一阶交互
LR
2)基于因子分解机的线性模型:建模高阶交互
FM
AFM
3)基于深度学习的模型:在串联的field嵌入向量上建模高阶交互
DeepCrossing
NFM
CrossNet (Deep&Cross)
CIN (xDeepFM)
实验结果
我们对比了Fi-GNN与上述七种不同的CTR模型,表2总结了不同方法的性能(ACU与Logloss都是越小效果越好):
我们的模型在Avazu数据集上性能提升要高于在Criteo数据集,这可能是因为Avazu数据集中的特征大多是离散的,而Criteo数据集中存在一些数值特征。我们的模型在离散特征上的表现比数值特征更好。
为了评估我们模型基于 GGNN的两个改进在建模节点交互方面的有效性,我们进行了消融研究,并比较了以下三种Fi-GNN变体:
Fi-GNN(-E/R):没有edge-wise节点交互(E)和残差连接(R)的Fi-GNN
Fi-GNN(-E):没有edge-wise节点交互(E)
Fi-GNN(-R):没有残差连接(R)
从图中可以看到,FI-GNN(-E)和Fi-GNN(-R)的性能均
优于GGNN,这证明残差连接和edge-wise节点交互在节点交互建模中的有效性。
为了进一步研究在性能上的改进来自哪里,我们进行了另一项消融研究,并比较了以下三种变种的Fi-GNN:
Fi-GNN(-W/T):无边权重(W)和 edge-wise转换函数(T)的FI-GNN
Fi-GNN(-W):无边权重(W)
Fi-GNN(-T):无edge-wise转换函数(T)
Fi-GNN(-T)和Fi-GNN(-W)都优于Fi-GNN(-W/T),这证明了edge-wise转换函数与无自适应邻接矩阵的有效性。并且edge-wise转换比边权重对于交互有更强的影响。
除了进行模型对比之外,我们还比较了参数对模型性能的影响
可以看到性能随着节点状态的维度大小D的增加而不断提高,但当D达到16时性能就开始下降。并且对于Criteo和Avazu数据集,3阶相互作用(参数T)的效果较好。
我们还在Avazu数据集上可视化了注意力边权重(左)与注意力节点权重(右)热图(只显示了13个具有真正意义的特征field),来给出预测的可解释性结果
结论
在本文中,我们指出了以前的CTR模型的局限性,这些模型将多-field特征视为特征fields的非结构化组合。为了克服这些限制,我们首次提出在图结构中表示多-field特征,其中每个节点对应一个特征field,不同的field可以通过边进行交互。因此,建模特征交互可以转换为在图上建模节点交互。为此,我们设计了一种新的模型Fi-GNN,它能够以灵活且显式的方式对特征field之间的复杂交互进行建模。总之,我们提出了一种新的CTR预测范式:用图结构表示多-field特征,并将建模特征交互的任务转换为在图上建模节点交互。