論文筆記之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成為一個統(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沐兵。

?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市便监,隨后出現(xiàn)的幾起案子扎谎,更是在濱河造成了極大的恐慌,老刑警劉巖烧董,帶你破解...
    沈念sama閱讀 217,406評論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件毁靶,死亡現(xiàn)場離奇詭異,居然都是意外死亡逊移,警方通過查閱死者的電腦和手機预吆,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,732評論 3 393
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來胳泉,“玉大人拐叉,你說我怎么就攤上這事岩遗。” “怎么了凤瘦?”我有些...
    開封第一講書人閱讀 163,711評論 0 353
  • 文/不壞的土叔 我叫張陵宿礁,是天一觀的道長。 經(jīng)常有香客問我蔬芥,道長梆靖,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,380評論 1 293
  • 正文 為了忘掉前任笔诵,我火速辦了婚禮返吻,結果婚禮上,老公的妹妹穿的比我還像新娘嗤放。我一直安慰自己思喊,他們只是感情好,可當我...
    茶點故事閱讀 67,432評論 6 392
  • 文/花漫 我一把揭開白布次酌。 她就那樣靜靜地躺著恨课,像睡著了一般。 火紅的嫁衣襯著肌膚如雪岳服。 梳的紋絲不亂的頭發(fā)上剂公,一...
    開封第一講書人閱讀 51,301評論 1 301
  • 那天,我揣著相機與錄音吊宋,去河邊找鬼纲辽。 笑死,一個胖子當著我的面吹牛璃搜,可吹牛的內容都是我干的拖吼。 我是一名探鬼主播,決...
    沈念sama閱讀 40,145評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼这吻,長吁一口氣:“原來是場噩夢啊……” “哼吊档!你這毒婦竟也來了获列?” 一聲冷哼從身側響起硕糊,我...
    開封第一講書人閱讀 39,008評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎私沮,沒想到半個月后移怯,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體香璃,經(jīng)...
    沈念sama閱讀 45,443評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,649評論 3 334
  • 正文 我和宋清朗相戀三年舟误,在試婚紗的時候發(fā)現(xiàn)自己被綠了葡秒。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,795評論 1 347
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖同云,靈堂內的尸體忽然破棺而出糖权,到底是詐尸還是另有隱情堵腹,我是刑警寧澤炸站,帶...
    沈念sama閱讀 35,501評論 5 345
  • 正文 年R本政府宣布,位于F島的核電站疚顷,受9級特大地震影響旱易,放射性物質發(fā)生泄漏。R本人自食惡果不足惜腿堤,卻給世界環(huán)境...
    茶點故事閱讀 41,119評論 3 328
  • 文/蒙蒙 一阀坏、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧笆檀,春花似錦忌堂、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,731評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至樱衷,卻和暖如春棋嘲,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背矩桂。 一陣腳步聲響...
    開封第一講書人閱讀 32,865評論 1 269
  • 我被黑心中介騙來泰國打工沸移, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人侄榴。 一個月前我還...
    沈念sama閱讀 47,899評論 2 370
  • 正文 我出身青樓雹锣,卻偏偏與公主長得像,于是被迫代替她去往敵國和親癞蚕。 傳聞我的和親對象是個殘疾皇子蕊爵,可洞房花燭夜當晚...
    茶點故事閱讀 44,724評論 2 354