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成為一個統(tǒng)一的模型,命名為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窑眯。
這種特征交叉的方式的缺點在于:
?獲得有意義的特征組合通常需要非常出色的領域知識。
?在大規(guī)模數(shù)據(jù)的情況下澡罚,手動的抽取所有特征交叉組合并不現(xiàn)實伸但。
?手動設計的特征組合不能泛化到訓練數(shù)據(jù)中不可見的特征交叉上肾请。
文中提出FNN和PNN的缺點在于更多的關注high-order的特征交叉留搔,較少的關注low-order的特征交叉。
Wide & Deep和DeepFM通過引入包括shallow和deep兩個模塊的混合結構铛铁,能夠同時較好的學習到high-order和low-order的特征交叉隔显。
上述模型都使用DNN來學習high-order特征交叉,然而這種交叉是隱式的饵逐,沒有理論上的結論表明這種特征交叉的最大程度(maximum degree)是多少括眠。此外,DNN進行特征交叉是元素級(bit-wise)的倍权,傳統(tǒng)的FM進行特征交叉是向量級(vector-wise)的掷豺。
本文提出的模型是顯式的捞烟、向量級的學習特征交叉。本文的工作基于Deep & Cross Network(DCN)当船,在下文會說明DCN的不足之處题画,而本文設計了一種新的compressed interaction network(CIN)來代替DCN的cross network。CIN顯式的學習特征交叉德频,交叉的程度隨著網(wǎng)絡深度的增加而增加苍息。最后,把顯式的high-order交叉模塊壹置、隱式的交叉模塊和傳統(tǒng)FM模塊進行組合竞思,得到xDeepFM。
PRELIMINARIES
Embedding Layer
Embedding layer非常熟悉了钞护。onehot的field直接壓縮成一個embedding盖喷;multi-hot的field對多個embedding求和得到最終的一個embedding。經(jīng)過embedding layer后得到向量
Implicit High-order Interactions
FNN难咕、Deep Crossing传蹈、Wide & Deep中的deep部分將e輸入到前饋神經(jīng)網(wǎng)絡中來學習high-order特征交互,前向過程為
k表示層數(shù)步藕,sigma表示激活函數(shù)惦界,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是線性關系。系數(shù)α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特征交互。
?復雜度不會隨著交叉程度指數(shù)上升蝶糯。
1≤h≤Hk洋只,Wk,h(Hk-1 * m維)表示第h個feature vector的參數(shù)矩陣,○表示哈達瑪積昼捍。
Xk通過Xk-1和X0的交叉得到识虚,因此這種特征交叉是顯式的,交叉的程度隨著層的深度而增加妒茬。
CIN的結構和RNN非常相似担锤,它們下一層的輸出都取決于上一層的結果以及一個額外的輸入。在每一層都保持embedding vector的結構乍钻,因此這種特征交互是vector-wise的肛循。
同時文中指出,等式(6)和CNN有著非常明顯的聯(lián)系银择。如圖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表示網(wǎng)絡的深度裁赠,每個隱層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的優(yōu)勢在于:
?同時包括了low-order和high-order的特征交叉芬迄。
?同時包括了顯式和隱式的特征交叉问顷。
最終的輸出單元為:
sigma表示sigmoid激活函數(shù),a表示原始特征禀梳,xkdnn表示普通DNN的輸出杜窄,p+表示CIN的輸出,w和b分別為weight和bias算途。
對于二分類問題塞耕,一般用log loss
加上正則化項,目標函數(shù)為
θ為參數(shù)集合嘴瓤。
Relationship with FM and DeepFM
假設所有的特征域都是onehot的扫外,當CIN中的深度和feature map數(shù)量為1時,模型退化為DeepFM的一種泛化形式(此時與DeepFM的區(qū)別在于廓脆,DeepFM中FM層直接連接到輸出上筛谚,沒有權重系數(shù))。當移除DNN部分停忿,并使用constant sum filter(直接把feature map對應位置的元素求和)后刻获,模型退化為傳統(tǒng)的FM模型。
文中最后提到的future work中有一個很有意思的idea瞎嬉,對于multi-hot的特征域蝎毡,文中采用的是簡單的sum pooling。因此可以考慮DIN中的想法氧枣,也就是做一個weighted sum pooling沐兵。