推荐系统CTR预估学习路线:引入注意力机制
推薦系統(tǒng)CTR預(yù)估學(xué)習(xí)路線:從LR到FM/FFM探索二階特征的高效實(shí)現(xiàn)
推薦系統(tǒng)CTR預(yù)估學(xué)習(xí)路線:利用樹(shù)模型自動(dòng)化特征工程
推薦系統(tǒng)CTR預(yù)估學(xué)習(xí)路線:深度模型
推薦系統(tǒng)CTR預(yù)估學(xué)習(xí)路線:引入注意力機(jī)制
作者:Eric陳健鋒 來(lái)源:煉丹筆記導(dǎo)語(yǔ)
在廣告、推薦系統(tǒng)CTR預(yù)估問(wèn)題上,早期的完全規(guī)則方法被過(guò)渡到以LR為代表的機(jī)器學(xué)習(xí)方法,為了充分發(fā)揮組合特征的價(jià)值,在相當(dāng)長(zhǎng)一段時(shí)間里,業(yè)界熱衷于使用LR+人工特征工程。但人工組合特征成本高昂 ,在不同任務(wù)上也難以復(fù)用。2010年FM因子分解方法的出現(xiàn)解決了人工組合特征的困境,2014年Facebook提出的GBDT+LR也給出了一種利用樹(shù)模型特點(diǎn)構(gòu)建組合特征的思路。不過(guò)隨著深度學(xué)習(xí)的崛起,2015年以后,借助非線性自動(dòng)組合特征能力的深度模型,開(kāi)始成為業(yè)內(nèi)的主流。從經(jīng)典DNN到結(jié)合淺層的Wide&Deep,用于CTR預(yù)估的深度模型在近些年間百花盛開(kāi),各種交叉特征建模方法層出不窮,Attention機(jī)制也從其他研究領(lǐng)域引入,幫助更好的適應(yīng)業(yè)務(wù),提升模型的解釋性。在這進(jìn)化路線之下,核心問(wèn)題離不開(kāi)解決數(shù)據(jù)高維稀疏難題,自動(dòng)化組合特征,模型可解釋。我們梳理了近些年CTR預(yù)估問(wèn)題中有代表性的模型研究/應(yīng)用成果,并對(duì)部分經(jīng)典模型的實(shí)現(xiàn)原理進(jìn)行詳細(xì)剖析,落成文字作為學(xué)習(xí)過(guò)程的記錄。
目錄
0. CTR預(yù)估模型進(jìn)化路線 1. 從LR到FM/FFM:探索二階特征的高效實(shí)現(xiàn)1.1 LR與多項(xiàng)式模型1.2 FM模型1.3 FFM模型1.4 雙線性FFM模型 2. GBDT+LR:利用樹(shù)模型自動(dòng)化特征工程 3. 深度模型:提升非線性擬合能力,自動(dòng)高階交叉特征,end-to-end學(xué)習(xí)3.1 特征的嵌入向量表示3.2 經(jīng)典DNN網(wǎng)絡(luò)框架3.3 DNN框架下的FNN、PNN與DeepCrossing模型3.4 Wide&Deep框架及其衍生模型3.4.1 Wide部分的改進(jìn)3.4.2 Deep部分的改進(jìn)3.4.3 引入新的子網(wǎng)絡(luò) 4. 引入注意力機(jī)制:提高模型自適應(yīng)能力與可解釋性4.1 AFM模型4.2 AutoInt模型4.3 FiBiNET模型4.4 DIN模型4.5 DIEN模型 5. 總結(jié)(四)引入注意力機(jī)制:提高模型自適應(yīng)能力與可解釋性
直觀上,注意力機(jī)制可以借用人類(lèi)的視覺(jué)行為來(lái)進(jìn)行解釋,例如我們觀看一張照片的時(shí)候,視覺(jué)系統(tǒng)會(huì)很自然的將注意焦點(diǎn)集中在某些區(qū)域,而自動(dòng)忽略其他不相關(guān)的內(nèi)容。這種機(jī)制被引入到機(jī)器學(xué)習(xí)/深度學(xué)習(xí),其中一個(gè)著名事件是,2014年Bengio將其提出應(yīng)用于機(jī)器翻譯領(lǐng)域[17],取得SOTA結(jié)果。正如上圖所示的,橫軸是英文原句,縱軸是法文翻譯句,像素顏色越淺表示翻譯某單詞時(shí)對(duì)原句相關(guān)單詞的注意力權(quán)重越大,機(jī)器翻譯時(shí)的注意力權(quán)重分布是和人類(lèi)的直覺(jué)認(rèn)知相符的。相比黑盒模型,注意力機(jī)制增強(qiáng)了可解釋性,并且這些注意力權(quán)重是在翻譯時(shí)根據(jù)輸入動(dòng)態(tài)計(jì)算的,模型的自適應(yīng)能力也獲得提升。基于這些優(yōu)點(diǎn),注意力機(jī)制在廣告/推薦系統(tǒng)的排序模型上也有很多的探索和應(yīng)用,下文列舉一些比較經(jīng)典的工作。
4.1 AFM模型
首先,承接上文未展開(kāi)的AFM模型(2017)[15],模型結(jié)構(gòu)圖如上,符號(hào)“⊙”表示向量的哈達(dá)瑪積,不難看出模型實(shí)現(xiàn)的也是一種向量級(jí)vector-wise的特征交互。相比NFM模型將Bi-Interaction Pooling層兩兩向量交互后的結(jié)果直接求和壓縮成一個(gè)向量,AFM引入了attention權(quán)重因子來(lái)對(duì)交互后的向量進(jìn)行加權(quán)求和,以增強(qiáng)不同特征交互對(duì)的重要度區(qū)分:
其中,attention權(quán)重因子由Attention Net計(jì)算得到,Attention Net的定義為:
最后,模型的表達(dá)式:
不過(guò),如上文所說(shuō),AFM的不足是模型限制在二階交叉特征的表達(dá)上,缺少更高階信息的建模。
4.2 AutoInt模型
2018年提出的AutoInt模型[18]是一個(gè)使用多頭自注意力機(jī)制[19]增強(qiáng)模型解釋性,同時(shí)又具備高階交叉建模能力的模型。模型結(jié)構(gòu)如上圖,主要?jiǎng)?chuàng)新點(diǎn)在interacting layer,因此下面我們也只圍繞interacting layer討論,其他模塊層不再贅述。下面我們來(lái)看interacting layer是怎么利用注意力機(jī)制生成有價(jià)值的特征組合的。
一層interacting layer的計(jì)算過(guò)程:
其中,M表示特征field的總數(shù)量,em表示第m個(gè)特征field的embedding向量。所有特征field都將進(jìn)行兩兩embedding向量的交互組合,而圖中展示的是第m個(gè)field與其他各個(gè)field進(jìn)行交互的示例。第m個(gè)特征field與第k個(gè)特征field(k=1~M)組合的權(quán)重由以下的attention因子決定,
這里的第h個(gè)子空間,也就是multi-head中的第h個(gè)head,使用多個(gè)子空間能豐富特征組合的語(yǔ)義表達(dá)。同時(shí),由于進(jìn)行attention交互的query和key都來(lái)自同一張量,即[e1,e2,...,eM],因此interacting layer的核心原理為多頭自注意力機(jī)制(Multi-head Self-Attention)。
AutoInt將并行的H個(gè)head的輸出進(jìn)行拼接,得到一個(gè)考慮組合信息后的特征向量 (combinatorial feature)
除此之外,AutoInt也加入了其他的trick,例如殘差連接,以實(shí)現(xiàn)更深的網(wǎng)絡(luò)層數(shù),
最后,模型表達(dá)式如下,
其中, RES表示經(jīng)過(guò)若干interacting layer后的第m個(gè)考慮組合信息后的特征向量,“⊕”是向量拼接符號(hào)。通過(guò)級(jí)聯(lián)多層interacting layer,AutoInt可以以顯式向量級(jí)交互方式實(shí)現(xiàn)高階特征交叉。
附AutoInt論文中的實(shí)驗(yàn)結(jié)果:
注:AutoInt+表示AutoInt + DNN (2-layer MLP)4.3 FiBiNET模型
FiBiNET[20],是結(jié)合特征重要性和雙線性特征交互的CTR預(yù)估模型,由新浪微博機(jī)器學(xué)習(xí)團(tuán)隊(duì)發(fā)表在RecSys19。FiBiNET的整體模型結(jié)構(gòu)如上圖,相比傳統(tǒng)深度學(xué)習(xí)模型,主要新穎點(diǎn)是加入了SENET Layer和Bilinear-Interaction Layer。
1)SENET Layer:
SENET Layer的主要作用是學(xué)習(xí)不同特征的重要度,對(duì)不同特征向量進(jìn)行加權(quán)。即該Layer的輸入為特征組embedding矩陣 E = [e1, e2, ..., em],Layer內(nèi)部學(xué)習(xí)出每組特征的重要度 A = [a1, a2, ..., am],最后輸出的“SENET-Like Embeddings”,V = A * E = [a1*e1, a2*e2, ..., am*em]。SENET Layer本質(zhì)上也是Attention機(jī)制,具體包括三個(gè)步驟:
① Sequeen,將每個(gè)特征組embedding向量ei壓縮成標(biāo)量zi,用zi表示第i個(gè)特征組的全局統(tǒng)計(jì)信息,m個(gè)特征組得到壓縮后的統(tǒng)計(jì)向量 Z = [z1, z2, ..., zm]。壓縮的方法可以是mean-pooling或max-pooling等,不過(guò)原文表示mean-pooling效果要優(yōu)于max-pooling。
② Excitation,基于壓縮后的統(tǒng)計(jì)向量Z,學(xué)習(xí)特征組的重要度權(quán)重A,原文使用的是兩層神經(jīng)網(wǎng)絡(luò),第一層為維度縮減層,第二層為維度提升層,可形式化表示為:
③ Re-Weight,顧名思義,通過(guò)前一步得到的重要度權(quán)重A對(duì)原始特征組embedding向量進(jìn)行重新賦權(quán),得到SENET-Like Embeddings:
2)Bilinear-Interaction Layer:
原文作者認(rèn)為傳統(tǒng)的內(nèi)積或哈達(dá)瑪積形式難以有效對(duì)稀疏數(shù)據(jù)進(jìn)行交叉特征建模,因此提出了一種雙線性特征交叉方式(這種形式前文介紹雙線性FFM時(shí)也有提到),如上圖c,通過(guò)引入額外參數(shù)矩陣W,先對(duì)vi和W進(jìn)行內(nèi)積,再與vj進(jìn)行哈達(dá)瑪積,增強(qiáng)模型表達(dá)能力來(lái)學(xué)習(xí)特征交叉。如前文提到,引入?yún)?shù)W有3種形式,第一種是所有特征共享一個(gè)矩陣W,原文稱為Field-All Type;第二種是一個(gè)Field一個(gè)Wi,稱為Field-Each Type;第三種是一個(gè)Field組合一個(gè)Wij,稱為Field-Interaction Type。
回到FiBiNet模型整體結(jié)構(gòu),原始特征組embedding向量p和經(jīng)過(guò)SENET層輸出的embedding向量q,經(jīng)過(guò)Combination Layer,得到拼接后的向量c:
原文實(shí)驗(yàn)了兩種應(yīng)用方式,一種是直接對(duì)向量c的元素求和并經(jīng)過(guò)sigmoid輸出,得到一個(gè)淺層CTR預(yù)估模型。另一種是對(duì)向量c后接一個(gè)DNN深度神經(jīng)網(wǎng)絡(luò),得到一個(gè)深層CTR預(yù)估模型。實(shí)驗(yàn)結(jié)果表明,同淺層/深層模型下,FiBiNET要優(yōu)于其他模型,并且深層模型要優(yōu)于淺層模型。
4.4 DIN模型
Deep Interest Network(DIN)[21]是阿里媽媽廣告算法團(tuán)隊(duì)在2017年提出的,DIN是一個(gè)工業(yè)應(yīng)用性很強(qiáng)的方案,特別是在電商領(lǐng)域。在介紹模型創(chuàng)新之前,我們先簡(jiǎn)單回顧一下DIN的研究動(dòng)機(jī)。在線上廣告系統(tǒng)或者其他的推薦場(chǎng)景,為了提升用戶體驗(yàn),同時(shí)最大化平臺(tái)方的流量?jī)r(jià)值,要求我們的排序模型能精準(zhǔn)識(shí)別用戶興趣,充分利用用戶興趣信息,對(duì)<user, ad/item>的匹配度進(jìn)行打分。對(duì)于在線應(yīng)用,用戶興趣主要來(lái)源于對(duì)用戶行為數(shù)據(jù)的刻畫(huà),由多種多樣的行為數(shù)據(jù)所表達(dá)出來(lái)的用戶興趣也應(yīng)該具有多樣性。但這里的一個(gè)挑戰(zhàn)是,傳統(tǒng)DNN模型會(huì)將這些用戶行為embedding向量通過(guò)固定的形式(sum/max/mean等)pooling成一個(gè)定長(zhǎng)向量作為用戶興趣表示,所有用戶的興趣表示都被映射在一個(gè)相同的固定空間,而由于空間維度(即向量維度)的限制,用戶興趣的多樣性特點(diǎn)無(wú)法得到充足的表達(dá)。
舉個(gè)例子,一個(gè)用戶在電商網(wǎng)站上的瀏覽歷史中,有30%是美妝相關(guān),30%育兒相關(guān),20%運(yùn)動(dòng)健身相關(guān),剩下20%是其他,直觀地看,這個(gè)用戶的興趣多樣性分布是很明顯的,但如果我們將這些歷史行為向量(embedding vector)用上述的形式pooling成一個(gè)向量,恐怕得到的興趣表示就很模糊,誰(shuí)都不好解釋,甚至模型也難以理解。
而DIN對(duì)這個(gè)問(wèn)題的解決方案是“局部激活”(Local Activation),即根據(jù)候選廣告來(lái)自適應(yīng)的為歷史行為向量分配激活權(quán)重,以attention-based pooling的方式將其合并作為用戶在該候選廣告下的興趣表示,使得與候選廣告更相關(guān)的歷史行為在用戶興趣表示中占更主導(dǎo)的作用。
從特征組合的角度來(lái)看,DIN實(shí)際上是在建模廣告與用戶歷史行為的交叉特征信息,而“局部激活”的背后原理也正是注意力機(jī)制。
除了“局部激活”這一重殺器,DIN論文中還給出了一些非常實(shí)用的深度模型技巧,例如,批感知的正則化方法(Mini-batch Aware Regularization)、數(shù)據(jù)自適應(yīng)的激活函數(shù)(Dice),不過(guò)限于篇幅,這里不再展開(kāi)介紹。
下表是DIN在阿里電商廣告數(shù)據(jù)集中的離線實(shí)驗(yàn)結(jié)果,DIN模型AUC絕對(duì)值比Base模型(Embedding&MLP)高0.0059,同時(shí)也要優(yōu)于Wide&Deep、PNN、DeepFM等模型。作者同時(shí)也給了在阿里進(jìn)行的線上A/B testing實(shí)驗(yàn)結(jié)果,和Base模型相比,DIN*獲得了10% CTR和3.8% RPM (Revenue Per Mille)的提升。
注:gAUC(用戶級(jí)別的group AUC),好處是可兼顧用戶自身內(nèi)部的廣告排序優(yōu)劣,消除用戶偏差4.5 DIEN模型
DIEN,全稱Deep Interest Evolution Network[22],也是來(lái)自阿里DIN的提出團(tuán)隊(duì),是DIN的進(jìn)化版,旨在挖掘用戶行為背后的更高抽象語(yǔ)義的用戶興趣演化規(guī)律。這個(gè)模型我們不再闡述細(xì)節(jié),概括DIEN的兩個(gè)主要?jiǎng)?chuàng)新點(diǎn):
最后,在論文的生產(chǎn)環(huán)境數(shù)據(jù)集上,DIEN模型的離線AUC和線上A/B testing實(shí)驗(yàn)結(jié)果,均優(yōu)于作者較早之前提出的DIN模型。DIEN作為序列模型結(jié)合注意力機(jī)制建模用戶興趣演化過(guò)程,優(yōu)化業(yè)務(wù)問(wèn)題的創(chuàng)造性工作,值得學(xué)習(xí)和借鑒。
總結(jié)
本文第一部分主要介紹CTR預(yù)估問(wèn)題中的線性模型的演變,演變的主要思路是以因子分解的方法解決高維稀疏數(shù)據(jù)問(wèn)題,以更有效的實(shí)現(xiàn)低階交叉特征。第二部分介紹了非線性模型GBDT+LR,它實(shí)現(xiàn)了自動(dòng)化特征工程。第三、第四部分屬于深度模型的范疇,貫穿其中的是一個(gè)基本的DNN(Deep)框架,即sparse input layer -> embedding layer -> interaction layer -> output layer,其中interaction layer被用于以各種形式構(gòu)建高階交叉特征的信息表達(dá)。而Wide&Deep的提出,彌補(bǔ)了Deep對(duì)低階信息利用的缺失,同時(shí)也豐富了模型架構(gòu)的可能性。除了Deep部分的interaction layer可被不同形式地改進(jìn),Wide部分也被不斷探索和優(yōu)化,例如以FM、CrossNet替代LR,甚至引入一些新的子網(wǎng)絡(luò),例如CIN。在這些基礎(chǔ)上,注意力機(jī)制的引入,也使模型能夠自主充分地挖掘特征的重要性,有更好的自適應(yīng)能力以及可解釋性。
參考文獻(xiàn)
[1] http://www.cs.cmu.edu/~wcohen/10-605/2015-guest-lecture/FM.pdf [2] https://www.csie.ntu.edu.tw/~b97053/paper/Rendle2010FM.pdf [3] https://www.csie.ntu.edu.tw/~cjlin/papers/ffm.pdf [4] 張俊林:FFM及DeepFFM模型在推薦系統(tǒng)的探索 [5] 美團(tuán)技術(shù)團(tuán)隊(duì):深入FFM原理與實(shí)踐 [6] Practical Lessons from Predicting Clicks on Ads at Facebook, KDD 2014 [7] Efficient Estimation of Word Representations in Vector Space, ICLR Workshop 2013 [8] Deep Learning over Multi-field Categorical Data: A Case Study on User Response Prediction, ECIR 2016 [9] Product-based Neural Networks for User Response Prediction, ICDM 2016 [10] Deep Crossing: Web-Scale Modeling without Manually Crafted Combinatorial Features, KDD 2016 [11] Wide & Deep Learning for Recommender Systems, RecSys Workshop 2016 [12] DeepFM: A Factorization-Machine based Neural Network for CTR Prediction, IJCAI 2017 [13] Deep & Cross Network for Ad Click Predictions, KDD 2017 [14] Neural Factorization Machines for Sparse Predictive Analytics, SIGIR 2017 [15] Attentional Factorization Machines: Learning theWeight of Feature Interactions via Attention Networks, IJCAI 2017 [16] xDeepFM: Combining Explicit and Implicit Feature Interactions for Recommender Systems, KDD 2018 [17] Neural Machine Translation by Jointly Learning to Align and Translate, ICLR 2015 [18] AutoInt: Automatic Feature Interaction Learning via Self-Attentive Neural Networks, CIKM 2019 [19] Attention Is All You Need, NIPS 2017 [20] FiBiNET: Combining Feature Importance and Bilinear feature Interaction for Click-Through Rate Prediction, RecSys 2019 [21] Deep Interest Network for Click-Through Rate Prediction, IJCAL 2017 [22] Deep Interest Evolution Network for Click-Through Rate Prediction, AAAI 2019更多干貨,請(qǐng)關(guān)注微信公眾號(hào):煉丹筆記算法大佬看了流淚,為什么這么好的CTR預(yù)估總結(jié)之前沒(méi)分享(上篇)
算法大佬看了流淚,為什么這么好的CTR預(yù)估總結(jié)之前沒(méi)分享(下篇)
總結(jié)
以上是生活随笔為你收集整理的推荐系统CTR预估学习路线:引入注意力机制的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 推荐系统CTR预估学习路线:深度模型
- 下一篇: 推荐系统炼丹笔记:EdgeRec阿里边缘