论文笔记之xDeepFM: Combining Explicit and Implicit Feature Interactions for Recommender Systems

xDeepFM: Combining Explicit and Implicit Feature Interactions for Recommender Systems

目标:CTR预估
文中指出DNN可以进行隐式的特征交叉,但是这种交叉是bit-wise(元素级,文中bit指比如embedding中的某一位)的。本文提出一种新的CIN(Compressed Interaction Network)模型通过显式的方式进行特征交叉,并且这种交叉是vector-wise(向量级)的。
这种CIN模型和CNN、RNN相比,功能上有一定的相似性。之后结合CIN和典型的DNN成为一个统一的模型,命名为eXtreme Deep Factorization Machine(xDeepFM)。
一方面,xDeepFM能够显式的学习有限程度(bounded-degree)上的特征交叉;另一方面,xDeepFM能够隐式的学习任意low-order和high-order的特征交叉。

当下一种常见的特征交叉方式为cross-product transformation,生成的特征称为corss feature或multi-way feature。比如3-way feature AND(user_organization=msra,
item_category=deeplearning, time=monday)当这三个条件都满足时值为1。
这种特征交叉的方式的缺点在于:
•获得有意义的特征组合通常需要非常出色的领域知识。
•在大规模数据的情况下,手动的抽取所有特征交叉组合并不现实。
•手动设计的特征组合不能泛化到训练数据中不可见的特征交叉上。

文中提出FNN和PNN的缺点在于更多的关注high-order的特征交叉,较少的关注low-order的特征交叉。
Wide & Deep和DeepFM通过引入包括shallow和deep两个模块的混合结构,能够同时较好的学习到high-order和low-order的特征交叉。

上述模型都使用DNN来学习high-order特征交叉,然而这种交叉是隐式的,没有理论上的结论表明这种特征交叉的最大程度(maximum degree)是多少。此外,DNN进行特征交叉是元素级(bit-wise)的,传统的FM进行特征交叉是向量级(vector-wise)的。
本文提出的模型是显式的、向量级的学习特征交叉。本文的工作基于Deep & Cross Network(DCN),在下文会说明DCN的不足之处,而本文设计了一种新的compressed interaction network(CIN)来代替DCN的cross network。CIN显式的学习特征交叉,交叉的程度随着网络深度的增加而增加。最后,把显式的high-order交叉模块、隐式的交叉模块和传统FM模块进行组合,得到xDeepFM。

PRELIMINARIES

Embedding Layer

Embedding layer非常熟悉了。onehot的field直接压缩成一个embedding;multi-hot的field对多个embedding求和得到最终的一个embedding。经过embedding layer后得到向量

Implicit High-order Interactions

FNN、Deep Crossing、Wide & Deep中的deep部分将e输入到前馈神经网络中来学习high-order特征交互,前向过程为

k表示层数,sigma表示激活函数,xk表示第k层的输出。这种结构的特征交叉是元素级(bit-wise)的,即同一个field上embedding中的元素也会相互影响。

上图展示了PNN和DeepFM的模型结构,它们同时进行了bit-wise和vector-wise的特征交叉。

Explicit High-order Interactions

Deep & Cross的详细内容见前面Deep & Cross的笔记,这里快速提一下。
Deep & Cross中提出的Cross Network显式的进行high-order特征交叉,每一层的计算公式为

wk, bk, xk分别表示第k层的权重、偏置、输出。本文认为CrossNet学习了一种特殊类型的high-order特征交叉,每个hidden layer都是x0乘上一个标量。
即有以下定理

同时,原文中给出了具体证明

需要注意的是,标量乘并不意味着xk与x0是线性关系。系数αi+1对于x0是敏感的。CrossNet能够有效的学习特征交叉,并且相比DNN复杂度要小很多,然而它的缺点在于:
•CrossNet的输出限定于一个特殊的形式,即每一层为x0乘一个标量。
•特征交叉是bit-wise的。

OUR PROPOSED MODEL

Compressed Interaction Network

本文设计了一种新的cross network,命名为Compressed Interaction Network(CIN),考虑到的点主要有:
•特征交互是vector-wise的。
•显式的high-order特征交互。
•复杂度不会随着交叉程度指数上升。

1≤h≤Hk,Wk,h(Hk-1 * m维)表示第h个feature vector的参数矩阵,○表示哈达玛积。
Xk通过Xk-1和X0的交叉得到,因此这种特征交叉是显式的,交叉的程度随着层的深度而增加。
CIN的结构和RNN非常相似,它们下一层的输出都取决于上一层的结果以及一个额外的输入。在每一层都保持embedding vector的结构,因此这种特征交互是vector-wise的。
同时文中指出,等式(6)和CNN有着非常明显的联系。如图4(a)所示,引入中间tensor Zk+1,其为Xk和X0沿着各个embedding维度的外积(outer product),这里外积的理解很重要,即(m * 1) * (1 * n)得到m*n的矩阵,结合原图中理解。对应于CNN,Zk+1可以看作特殊的image,Wk,h可以看作filter。如图4(b)所示,沿着embedding dimension方向(D)滑动filter做卷积,得到一个hidden vector

也就是feature map。Xk也就是Hk个不同的feature map的集合。
图4(c)描绘了CIN结构的全貌,令T表示网络的深度,每个隐层Xk (1≤k≤T)都与最终的输出有连接。对每个hidden layer中的feature map做sum pooling,

i∈[1,Hk],Hk表示第k个hidden layer的长度,由此得到pooling vector

所有的hidden layer上得到的pooling vector concatenate成一个长向量,

如果直接把CIN的结果用于二分类,那么对p+做sigmoid即可,

Combination with Implicit Networks

普通的DNN隐式的学习high-order特征交叉,与CIN是互补的,因此考虑结合两者,得到的模型即为xDeepFM。

xDeepFM的优势在于:
•同时包括了low-order和high-order的特征交叉。
•同时包括了显式和隐式的特征交叉。
最终的输出单元为:

sigma表示sigmoid激活函数,a表示原始特征,xkdnn表示普通DNN的输出,p+表示CIN的输出,w和b分别为weight和bias。
对于二分类问题,一般用log loss

加上正则化项,目标函数为

θ为参数集合。

Relationship with FM and DeepFM

假设所有的特征域都是onehot的,当CIN中的深度和feature map数量为1时,模型退化为DeepFM的一种泛化形式(此时与DeepFM的区别在于,DeepFM中FM层直接连接到输出上,没有权重系数)。当移除DNN部分,并使用constant sum filter(直接把feature map对应位置的元素求和)后,模型退化为传统的FM模型。

文中最后提到的future work中有一个很有意思的idea,对于multi-hot的特征域,文中采用的是简单的sum pooling。因此可以考虑DIN中的想法,也就是做一个weighted sum pooling。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,684评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,143评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,214评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,788评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,796评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,665评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,027评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,679评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 41,346评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,664评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,766评论 1 331
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,412评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,015评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,974评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,203评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,073评论 2 350
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,501评论 2 343