前言

本文主要向大家介绍一下CIKM 2019的一篇文章《AutoInt: Automatic Feature Interaction Learning via Self-Attentive Neural Networks》。该文主要介绍了一种名叫AutoInt的模型,该模型以multi-head self-attention为基础在将高维稀疏特征(包括连续特征和类别特征)映射到低维空间的同时建模高级特征交叉。相比其他的显示特征交叉的模型如Deep cross network、xDeepFM等具有更高的效率和可解释性。

背景与动机

CTR预估问题在广告和推荐系统中有着特别重要的地位。而机器学习又在CTR预估中扮演重要角色,其中存在着很多挑战。首先输入的往往是离散化后的高维稀疏特征,很容易造成模型过拟合;其次模型要取得较好的效果做好高阶特征的交叉工作是少不了的,但这块相当依赖人工经验,耗费着相当大的人力。所以业界为能将高阶特征映射到低维并且自动建模高阶特征交叉做了不少的努力和尝试。

这边的尝试总体来讲可以分成几块:

1)以NFM、PNN、FNN、DeepFM等网络为代表的采用隐式的方法利用前向网络去拟合高阶特征交叉,这类方法缺乏较好的可解释性。
2)以Deep&Cross和xDeepFM为代表的网络采用特征外积的方式显示构造高阶特征交叉,但是这种方法也无法直接解释出哪些特征交叉是更为有效。
3)一些树模型结合了embedding和树模型的优势,但却不得不将训练分成多个阶段。
4)HOFM等高阶因子分解机,但这类模型需要太多参数,难以投入实践。

为此这篇文章借鉴了attention和图像领域常用的residual network,提出了AutoInt模型。

AutoInt模型概览

AutoInt模型的结构如下图所示:

AutoInt.png

整体结构较为清晰,首先是稀疏特征X(包括类别特征和连续特征)作为输入,通过Embedding层映射成低维embedding向量,紧接将向量输入到Interacting Layer,通过multi-head self-attention,捕获高阶特征交叉。这边采用multi-head可将特征映射到不同的空间获得不同类型的特征组合,通过叠加多个Interacting Layer可以实现不同阶的建模。最后将Interacting Layer产生的向量输入到输出层,通过sigmoid函数预估CTR。