前深度学习时代CTR预估模型的演化之路 [王喆观点]
畢業(yè)于清華大學(xué)計(jì)算機(jī)系的王喆學(xué)長(zhǎng)梳理從傳統(tǒng)機(jī)器學(xué)習(xí)時(shí)代到深度學(xué)習(xí)時(shí)代所有經(jīng)典CTR(click through rate)模型的演化關(guān)系和模型特點(diǎn)。內(nèi)容來源:https://zhuanlan.zhihu.com/p/61154299。
在互聯(lián)網(wǎng)永不停歇的增長(zhǎng)需求的驅(qū)動(dòng)下,CTR預(yù)估模型(以下簡(jiǎn)稱CTR模型)的發(fā)展也可謂一日千里,從2010年之前千篇一律的邏輯回歸(Logistic Regression,LR),進(jìn)化到因子分解機(jī)(Factorization Machine,FM)、梯度提升樹(Gradient Boosting Decision Tree,GBDT),再到2015年之后深度學(xué)習(xí)的百花齊放,各種模型架構(gòu)層出不窮。我想所有從業(yè)者談起深度學(xué)習(xí)CTR預(yù)估模型都有一種莫名的興奮,但在這之前,認(rèn)真的回顧前深度學(xué)習(xí)時(shí)代的CTR模型仍是非常必要的。原因有兩點(diǎn):
- 即使是深度學(xué)習(xí)空前流行的今天,LR、FM等傳統(tǒng)CTR模型仍然憑借其可解釋性強(qiáng)、輕量級(jí)的訓(xùn)練部署要求、便于在線學(xué)習(xí)等不可替代的優(yōu)勢(shì),擁有大量適用的應(yīng)用場(chǎng)景。模型的應(yīng)用不分新舊貴賤,熟悉每種模型的優(yōu)缺點(diǎn),能夠靈活運(yùn)用和改進(jìn)不同的算法模型是算法工程師的基本要求。
- 傳統(tǒng)CTR模型是深度學(xué)習(xí)CTR模型的基礎(chǔ)。深度神經(jīng)網(wǎng)絡(luò)(Deep Nerual Network,DNN)從一個(gè)神經(jīng)元生發(fā)而來,而LR正是單一神經(jīng)元的經(jīng)典結(jié)構(gòu);此外,影響力很大的FNN,DeepFM,NFM等深度學(xué)習(xí)模型更是與傳統(tǒng)的FM模型有著千絲萬縷的聯(lián)系;更不要說各種梯度下降方法的一脈相承。所以說傳統(tǒng)CTR模型是深度學(xué)習(xí)模型的地基和入口。
看到上面的關(guān)系圖,有經(jīng)驗(yàn)的同學(xué)可能已經(jīng)對(duì)各模型的細(xì)節(jié)和特點(diǎn)如數(shù)家珍了。中間位置的LR模型向四個(gè)方向的延伸分別代表了傳統(tǒng)CTR模型演化的四個(gè)方向:
- 向下為了解決特征交叉的問題,演化出PLOY2,FM,FFM等模型;
- 向右為了使用自動(dòng)化的手段解決特征工程的難題,Facebook將LR與GBDT進(jìn)行結(jié)合,提出了GBDT+LR組合模型;
- 向左Google從online learning的角度解決模型時(shí)效性的問題,提出了FTRL;
- 向上阿里基于樣本分組的思路增加模型的非線性,提出了LS-PLM(MLR)模型;
1.?LR:CTR模型的核心和基礎(chǔ)
位于正中央的是當(dāng)之無愧的Logistic Regression。仍記得2012年我剛進(jìn)入計(jì)算廣告這個(gè)行業(yè)的時(shí)候,各大中小公司的主流CTR模型無一例外全都是LR模型。LR模型的流行是有三方面原因的,一是數(shù)學(xué)形式和含義上的支撐;二是人類的直覺和可解釋性的原因;三是工程化的需要。
- 邏輯回歸的數(shù)學(xué)基礎(chǔ)
邏輯回歸作為廣義線性模型的一種,它的假設(shè)是因變量y服從伯努利分布。那么在點(diǎn)擊率預(yù)估這個(gè)問題上,“點(diǎn)擊”這個(gè)事件是否發(fā)生就是模型的因變量y。而用戶是否點(diǎn)擊廣告這個(gè)問題是一個(gè)經(jīng)典的擲偏心硬幣問題,因此CTR模型的因變量顯然應(yīng)該服從伯努利分布。所以采用LR作為CTR 模型是符合“點(diǎn)擊”這一事件的物理意義的。
與之相比較,線性回歸(Linear Regression)作為廣義線性模型的另一個(gè)特例,其假設(shè)是因變量y服從高斯分布,這明顯不是點(diǎn)擊這類二分類問題的數(shù)學(xué)假設(shè)。
在了解LR的數(shù)學(xué)理論基礎(chǔ)后,其數(shù)學(xué)形式就不再是空中樓閣了,具體的形式如下:
其中x是輸入向量,θ 是我們要學(xué)習(xí)的參數(shù)向量。結(jié)合CTR模型的問題來說,x就是輸入的特征向量,h(x)就是我們最終希望得到的點(diǎn)擊率。
- 人類的直覺和可解釋性
直觀來講,LR模型目標(biāo)函數(shù)的形式就是各特征的加權(quán)和,再施以sigmoid函數(shù)。忽略其數(shù)學(xué)基礎(chǔ)(雖然這是其模型成立的本質(zhì)支撐),僅靠人類的直覺認(rèn)知也可以一定程度上得出使用LR作為CTR模型的合理性。
使用各特征的加權(quán)和是為了綜合不同特征對(duì)CTR的影響,而由于不同特征的重要程度不一樣,所以為不同特征指定不同的權(quán)重來代表不同特征的重要程度。最后要套上sigmoid函數(shù),正是希望其值能夠映射到0-1之間,使其符合CTR的物理意義。
LR如此符合人類的直覺認(rèn)知顯然有其他的好處,就是模型具有極強(qiáng)的可解釋性,算法工程師們可以輕易的解釋哪些特征比較重要,在CTR模型的預(yù)測(cè)有偏差的時(shí)候,也可以輕易找到哪些因素影響了最后的結(jié)果,如果有跟運(yùn)營(yíng)、產(chǎn)品一起工作的經(jīng)驗(yàn)的話,更會(huì)知道可解釋性強(qiáng)是一個(gè)模型多么優(yōu)秀的“品質(zhì)”。
- 工程化的需要
在互聯(lián)網(wǎng)公司每天動(dòng)輒TB級(jí)別的數(shù)據(jù)面前,模型的訓(xùn)練開銷就異常重要了。在GPU尚未流行開來的2012年之前,LR模型也憑借其易于并行化、模型簡(jiǎn)單、訓(xùn)練開銷小等特點(diǎn)占據(jù)著工程領(lǐng)域的主流。囿于工程團(tuán)隊(duì)的限制,即使其他復(fù)雜模型的效果有所提升,在沒有明顯beat LR之前,公司也不會(huì)貿(mào)然加大計(jì)算資源的投入升級(jí)CTR模型,這是LR持續(xù)流行的另一重要原因。
2.?POLY2:特征交叉的開始
但LR的表達(dá)能力畢竟是非常初級(jí)的。由于LR僅使用單一特征,無法利用高維信息,在“辛普森悖論”現(xiàn)象的存在下,只用單一特征進(jìn)行判斷,甚至?xí)贸鲥e(cuò)誤的結(jié)論。
針對(duì)這個(gè)問題,當(dāng)時(shí)的算法工程師們經(jīng)常采用手動(dòng)組合特征,再通過各種分析手段篩選特征的方法。但這個(gè)方法無疑是殘忍的,完全不符合“懶惰是程序員的美德”這一金科玉律。更遺憾的是,人類的經(jīng)驗(yàn)往往有局限性,程序員的時(shí)間和精力也無法支撐其找到最優(yōu)的特征組合。因此采用 PLOY2模型進(jìn)行特征的“暴力”組合成為了可行的選擇。
在上面POLY2二階部分的目標(biāo)函數(shù)中(上式省略一階部分和sigmoid函數(shù)的部分),我們可以看到POLY2對(duì)所有特征進(jìn)行了兩兩交叉,并對(duì)所有的特征組合賦予了權(quán)重。POLY2通過暴力組合特征的方式一定程度上解決了特征組合的問題。并且由于本質(zhì)上仍是線性模型,其訓(xùn)練方法與LR并無區(qū)別,便于工程上的兼容。但POLY2這一模型同時(shí)存在著兩個(gè)巨大的缺陷:
①?由于在處理互聯(lián)網(wǎng)數(shù)據(jù)時(shí),經(jīng)常采用one-hot的方法處理id類數(shù)據(jù),致使特征向量極度稀疏,POLY2進(jìn)行無選擇的特征交叉使原本就非常稀疏的特征向量更加稀疏,使得大部分交叉特征的權(quán)重缺乏有效的數(shù)據(jù)進(jìn)行訓(xùn)練,無法收斂;②?權(quán)重參數(shù)的數(shù)量由n直接上升到n^2,極大增加了訓(xùn)練復(fù)雜度。
3.?FM:隱向量特征交叉
為了解決POLY2模型的缺陷,2010年德國(guó)康斯坦茨大學(xué)的Steffen Rendle提出了FM(Factorization Machine)。
從FM的目標(biāo)函數(shù)的二階部分中我們可以看到,相比POLY2,主要區(qū)別是用兩個(gè)向量的內(nèi)積(wj1·?wj2)取代了單一的權(quán)重w(j1 , j2)。具體來說,FM為每個(gè)特征學(xué)習(xí)了一個(gè)隱權(quán)重向量(latent vector),在特征交叉時(shí),使用兩個(gè)特征隱向量的內(nèi)積作為交叉特征的權(quán)重。通過引入特征隱向量的方式,直接把原先n^2級(jí)別的權(quán)重?cái)?shù)量減低到了n*k(k為隱向量維度,n>>k)。在訓(xùn)練過程中,又可以通過轉(zhuǎn)換目標(biāo)函數(shù)形式的方法,使FM的訓(xùn)練復(fù)雜度進(jìn)一步降低到n*k級(jí)別。相比POLY2極大降低訓(xùn)練開銷。
隱向量的引入還使得FM比POLY2能夠更好的解決數(shù)據(jù)稀疏性的問題。舉例來說,我們有兩個(gè)特征,分別是channel和brand,一個(gè)訓(xùn)練樣本的feature組合是(ESPN, Adidas),在POLY2中,只有當(dāng)ESPN和Adidas同時(shí)出現(xiàn)在一個(gè)訓(xùn)練樣本中時(shí),模型才能學(xué)到這個(gè)組合特征對(duì)應(yīng)的權(quán)重。而在FM中,ESPN的隱向量也可以通過(ESPN, Gucci)這個(gè)樣本學(xué)到,Adidas的隱向量也可以通過(NBC, Adidas)學(xué)到,這大大降低了模型對(duì)于數(shù)據(jù)稀疏性的要求。甚至對(duì)于一個(gè)從未出現(xiàn)過的特征組合(NBC, Gucci),由于模型之前已經(jīng)分別學(xué)習(xí)過NBC和Gucci的隱向量,FM也具備了計(jì)算該特征組合權(quán)重的能力,這是POLY2無法實(shí)現(xiàn)的。也許FM相比POLY2丟失了某些信息的記憶能力,但是泛化能力大大提高,這對(duì)于互聯(lián)網(wǎng)的數(shù)據(jù)特點(diǎn)是非常重要的。
工程方面,FM同樣可以用梯度下降進(jìn)行學(xué)習(xí)的特點(diǎn)使其不失實(shí)時(shí)性和靈活性。相比之后深度學(xué)習(xí)模型復(fù)雜的網(wǎng)絡(luò)結(jié)構(gòu),FM比較容易實(shí)現(xiàn)的inference過程也使其沒有serving的難題。因此FM在2012-2014年前后逐漸成為業(yè)界CTR模型的重要選擇。
4.?FFM:引入特征域概念
2015年,基于FM提出的FFM(Field-aware Factorization Machine ,簡(jiǎn)稱FFM)在多項(xiàng)CTR預(yù)估大賽中一舉奪魁,并隨后被Criteo、美團(tuán)等公司深度應(yīng)用在CTR預(yù)估,推薦系統(tǒng)領(lǐng)域。相比FM模型,FFM模型主要引入了Field-aware這一概念,使模型的表達(dá)能力更強(qiáng)。
上式是FFM的目標(biāo)函數(shù)的二階部分。其與FM目標(biāo)函數(shù)的區(qū)別就在于隱向量由原來的wj1?變成了wj1,f2?,這就意味著每個(gè)特征對(duì)應(yīng)的不是一個(gè)隱向量,而是對(duì)應(yīng)著不同域的一組隱向量,當(dāng)wj1特征與wj2特征進(jìn)行交叉時(shí),xj1特征會(huì)從一組隱向量中挑出與特征xj2的域f2對(duì)應(yīng)的隱向量wj1,f2進(jìn)行交叉。同理特征xj2也會(huì)用與xj1的域f1對(duì)應(yīng)的隱向量進(jìn)行交叉。
這里再次強(qiáng)調(diào)一下,上面所說的“域”就代表著特征域,域內(nèi)的特征一般會(huì)采用one-hot編碼形成one-hot特征向量。
FFM模型學(xué)習(xí)每個(gè)特征在f個(gè)域上的k維隱向量,交叉特征的權(quán)重由特征在對(duì)方特征域上的隱向量?jī)?nèi)積得到,權(quán)重?cái)?shù)量共n*k*f個(gè)。在訓(xùn)練方面,由于FFM的二次項(xiàng)并不能夠像FM那樣簡(jiǎn)化,因此其復(fù)雜度為kn^2。相比FM,FFM由于引入了field這一概念,為模型引入了更多有價(jià)值信息,使模型表達(dá)能力更強(qiáng),但與此同時(shí),FFM的計(jì)算復(fù)雜度上升到kn^2,遠(yuǎn)遠(yuǎn)大于FM的k*n。
5.?CTR模型特征交叉方向的演化
以上模型實(shí)際上是CTR模型朝著特征交叉的方向演化的過程,我們?cè)儆脠D示方法回顧一下從POLY2到FM,再到FFM進(jìn)行特征交叉方法的不同。
- POLY2模型直接學(xué)習(xí)每個(gè)交叉特征的權(quán)重,權(quán)重?cái)?shù)量共n^2個(gè):
- FM模型學(xué)習(xí)每個(gè)特征的k維隱向量,交叉特征由相應(yīng)特征隱向量的內(nèi)積得到,權(quán)重?cái)?shù)量共n*k個(gè):
- FFM模型引入了特征域這一概念,在做特征交叉時(shí),每個(gè)特征選擇與對(duì)方域?qū)?yīng)的隱向量做內(nèi)積運(yùn)算得到交叉特征的權(quán)重。參數(shù)數(shù)量共n*k*f個(gè):
6.?GBDT+LR:特征工程模型化的開端
FFM模型采用引入特征域的方式增強(qiáng)了模型的表達(dá)能力,但無論如何,FFM只能夠做二階的特征交叉,如果要繼續(xù)提高特征交叉的維度,不可避免的會(huì)發(fā)生組合爆炸和計(jì)算復(fù)雜度過高的情況。那么有沒有其他的方法可以有效的處理高維特征組合和篩選的問題?2014年,Facebook提出了基于GBDT+LR組合模型的解決方案。簡(jiǎn)而言之,Facebook提出了一種利用GBDT自動(dòng)進(jìn)行特征篩選和組合,進(jìn)而生成新的離散特征向量,再把該特征向量當(dāng)作LR模型輸入,預(yù)估CTR的模型結(jié)構(gòu)。
GBDT + LR 構(gòu)建CTR模型需要強(qiáng)調(diào)的是,用GBDT構(gòu)建特征工程,和利用LR預(yù)估CTR兩步是獨(dú)立訓(xùn)練的。所以自然不存在如何將LR的梯度回傳到GBDT這類復(fù)雜的問題,而利用LR預(yù)估CTR的過程前面已經(jīng)有所介紹,在此不再贅述,下面著重講解如何利用GBDT構(gòu)建新的特征向量。
GBDT是由多棵回歸樹組成的樹林,后一棵樹利用前面樹林的結(jié)果與真實(shí)結(jié)果的殘差做為擬合目標(biāo)。每棵樹生成的過程是一棵標(biāo)準(zhǔn)的回歸樹生成過程,因此每個(gè)節(jié)點(diǎn)的分裂是一個(gè)自然的特征選擇的過程,而多層節(jié)點(diǎn)的結(jié)構(gòu)自然進(jìn)行了有效的特征組合,也就非常高效的解決了過去非常棘手的特征選擇和特征組合的問題。
利用訓(xùn)練集訓(xùn)練好GBDT模型之后,就可以利用該模型完成從原始特征向量到新的離散型特征向量的轉(zhuǎn)化。具體過程是這樣的,一個(gè)訓(xùn)練樣本在輸入GBDT的某一子樹后,會(huì)根據(jù)每個(gè)節(jié)點(diǎn)的規(guī)則最終落入某一葉子節(jié)點(diǎn),那么我們把該葉子節(jié)點(diǎn)置為1,其他葉子節(jié)點(diǎn)置為0,所有葉子節(jié)點(diǎn)組成的向量即形成了該棵樹的特征向量,把GBDT所有子樹的特征向量連接起來,即形成了后續(xù)LR輸入的特征向量。
利用GBDT生成新的特征向量過程舉例來說,如上圖所示,GBDT由三顆子樹構(gòu)成,每個(gè)子樹有4個(gè)葉子節(jié)點(diǎn),一個(gè)訓(xùn)練樣本進(jìn)來后,先后落入“子樹1”的第3個(gè)葉節(jié)點(diǎn)中,那么特征向量就是[0,0,1,0],“子樹2”的第1個(gè)葉節(jié)點(diǎn),特征向量為[1,0,0,0],“子樹3”的第4個(gè)葉節(jié)點(diǎn),特征向量為[0,0,0,1],最后連接所有特征向量,形成最終的特征向量[0,0,1,0,1,0,0,0,0,0,0,1]。
由于決策樹的結(jié)構(gòu)特點(diǎn),事實(shí)上,決策樹的深度就決定了特征交叉的維度。如果決策樹的深度為4,通過三次節(jié)點(diǎn)分裂,最終的葉節(jié)點(diǎn)實(shí)際上是進(jìn)行了3階特征組合后的結(jié)果,如此強(qiáng)的特征組合能力顯然是FM系的模型不具備的。但由于GBDT容易產(chǎn)生過擬合,以及GBDT這種特征轉(zhuǎn)換方式實(shí)際上丟失了大量特征的數(shù)值信息,因此我們不能簡(jiǎn)單說GBDT由于特征交叉的能力更強(qiáng),效果就比FFM好,在模型的選擇和調(diào)試上,永遠(yuǎn)都是多種因素綜合作用的結(jié)果。
GBDT+LR比FM重要的意義在于,它大大推進(jìn)了特征工程模型化這一重要趨勢(shì),某種意義上來說,之后深度學(xué)習(xí)的各類網(wǎng)絡(luò)結(jié)構(gòu),以及embedding技術(shù)的應(yīng)用,都是這一趨勢(shì)的延續(xù)。
在之前所有的模型演化過程中,實(shí)際上是從特征工程這一角度來推演的。接下來,我們從時(shí)效性這個(gè)角度出發(fā),看一看模型的更新頻率是如何影響模型效果的。
在模型更新這個(gè)問題上,我們的直覺是模型的訓(xùn)練時(shí)間和serving時(shí)間之間的間隔越短,模型的效果越好,為了證明這一點(diǎn),facebook的工程師還是做了一組實(shí)效性的實(shí)驗(yàn)(如上圖),在結(jié)束模型的訓(xùn)練之后,觀察了其后6天的模型loss(這里采用normalized entropy作為loss)。可以看出,模型的loss在第0天之后就有所上升,特別是第2天過后顯著上升。因此daily update的模型相比weekly update的模型效果肯定是有大幅提升的。
如果說日更新的模型比周更新的模型的效果提升顯著,我們有沒有方法實(shí)時(shí)引入模型的效果反饋數(shù)據(jù),做到模型的實(shí)時(shí)更新從而進(jìn)一步提升CTR模型的效果呢?Google 2013年應(yīng)用的FTRL給了我們答案。
7.?FTRL:天下武功,唯快不破
FTRL的全稱是Follow-the-regularized-Leader,是一種在線實(shí)時(shí)訓(xùn)練模型的方法,Google在2010年提出了FTRL的思路,2013年實(shí)現(xiàn)了FTRL的工程化,之后快速成為online learning的主流方法。與模型演化圖中的其他模型不同,FTRL本質(zhì)上是模型的訓(xùn)練方法。雖然Google的工程化方案是針對(duì)LR模型的,但理論上FTRL可以應(yīng)用在FM,NN等任何通過梯度下降訓(xùn)練的模型上。
為了更清楚的認(rèn)識(shí)FTRL,這里對(duì)梯度下降方法做一個(gè)簡(jiǎn)要的介紹,從訓(xùn)練樣本的規(guī)模角度來說,梯度下降可以分為:batch,mini-batch,SGD(隨機(jī)梯度下降)三種,batch方法每次都使用全量訓(xùn)練樣本計(jì)算本次迭代的梯度方向,mini-batch使用一小部分樣本進(jìn)行迭代,而SGD每次只利用一個(gè)樣本計(jì)算梯度。對(duì)于online learning來說,為了進(jìn)行實(shí)時(shí)得將最新產(chǎn)生的樣本反饋到模型中,SGD無疑是最合適的訓(xùn)練方式。
但SGD對(duì)于互利網(wǎng)廣告和推薦的場(chǎng)景來說,有較大的缺陷-難以產(chǎn)生稀疏解。為什么稀疏解對(duì)于CTR模型如此重要呢?
之前我們已經(jīng)多次強(qiáng)調(diào),由于one hot等id類特征處理方法導(dǎo)致廣告和推薦場(chǎng)景下的樣本特征向量極度稀疏,維度極高,動(dòng)輒達(dá)到百萬、千萬量級(jí)。為了不割裂特征選擇和模型訓(xùn)練兩個(gè)步驟,如果能夠在保證精度的前提下盡可能多的讓模型的參數(shù)權(quán)重為0,那么我們就可以自動(dòng)過濾掉這些權(quán)重為0的特征,生成一個(gè)“輕量級(jí)”的模型。“輕量級(jí)”的模型不僅會(huì)使樣本部署的成本大大降低,而且可以極大降低模型inference的計(jì)算延遲。這就是模型稀疏性的重要之處。
而SGD由于每次迭代只選取一個(gè)樣本,梯度下降的方向雖然總體朝向全局最優(yōu)解,但微觀上的運(yùn)動(dòng)的過程呈現(xiàn)布朗運(yùn)動(dòng)的形式,這就導(dǎo)致SGD會(huì)使幾乎所有特征的權(quán)重非零。即使加入L1正則化項(xiàng),由于CPU浮點(diǎn)運(yùn)算的結(jié)果很難精確的得到0的結(jié)果,也不會(huì)完全解決SGD稀疏性差的問題。就是在這樣的前提下,FTRL幾乎完美地解決了模型精度和模型稀疏性兼顧的訓(xùn)練問題。
但FTRL的提出也并不是一蹴而就的。如上圖所示,FTRL的提出經(jīng)歷了下面幾個(gè)關(guān)鍵的過程:
- 從最簡(jiǎn)單的SGD到OGD(online gradient descent),OGD通過引入L1正則化簡(jiǎn)單解決稀疏性問題;
- 從OGD到截?cái)嗵荻确?/strong>,通過暴力截?cái)嘈?shù)值梯度的方法保證模型的稀疏性,但損失了梯度下降的效率和精度;
- FOBOS(Forward-Backward Splitting),google和伯克利對(duì)OGD做進(jìn)一步改進(jìn),09年提出了保證精度并兼顧稀疏性的FOBOS方法;
- RDA:微軟拋棄了梯度下降這條路,獨(dú)辟蹊徑提出了正則對(duì)偶平均來進(jìn)行online learning的方法,其特點(diǎn)是稀疏性極佳,但損失了部分精度。
- Google綜合FOBOS在精度上的優(yōu)勢(shì)和RDA在稀疏性上的優(yōu)勢(shì),將二者的形式進(jìn)行了進(jìn)一步統(tǒng)一,提出并應(yīng)用FTRL,使FOBOS和RDA均成為了FTRL在特定條件下的特殊形式。
8.?LS-PLM:阿里曾經(jīng)的主流CTR模型
下面我們從樣本pattern本身來入手,介紹阿里的的LS-PLM(Large Scale Piece-wise Linear Model),它的另一個(gè)更廣為人知的名字是MLR(Mixed Logistic Regression)。MLR模型雖然在2017年才公之于眾,但其早在2012年就是阿里主流的CTR模型,并且在深度學(xué)習(xí)模型提出之前長(zhǎng)時(shí)間應(yīng)用于阿里的各類廣告場(chǎng)景。
本質(zhì)上,MLR可以看做是對(duì)LR的自然推廣,它在LR的基礎(chǔ)上采用分而治之的思路,先對(duì)樣本進(jìn)行分片,再在樣本分片中應(yīng)用LR進(jìn)行CTR預(yù)估。在LR的基礎(chǔ)上加入聚類的思想,其動(dòng)機(jī)其實(shí)來源于對(duì)計(jì)算廣告領(lǐng)域樣本特點(diǎn)的觀察 。
舉例來說,如果CTR模型要預(yù)估的是女性點(diǎn)擊女裝廣告的CTR,顯然我們并不希望把男性用戶點(diǎn)擊數(shù)碼類產(chǎn)品的樣本數(shù)據(jù)也考慮進(jìn)來,因?yàn)檫@樣的樣本不僅對(duì)于女性購買女裝這樣的廣告場(chǎng)景毫無相關(guān)性,甚至?xí)谀P陀?xùn)練過程中擾亂相關(guān)特征的權(quán)重。為了讓CTR模型對(duì)不同用戶群體,不用用戶場(chǎng)景更有針對(duì)性,其實(shí)理想的方法是先對(duì)全量樣本進(jìn)行聚類,再對(duì)每個(gè)分類施以LR模型進(jìn)行CTR預(yù)估。MLR的實(shí)現(xiàn)思路就是由該動(dòng)機(jī)產(chǎn)生的。
MLR目標(biāo)函數(shù)的數(shù)學(xué)形式如上式,首先用聚類函數(shù)π對(duì)樣本進(jìn)行分類(這里的π采用了softmax函數(shù),對(duì)樣本進(jìn)行多分類),再用LR模型計(jì)算樣本在分片中具體的CTR,然后將二者進(jìn)行相乘后加和。其中超參數(shù)分片數(shù)m可以較好地平衡模型的擬合與推廣能力。當(dāng)m=1時(shí)MLR就退化為普通的LR,m越大模型的擬合能力越強(qiáng),但是模型參數(shù)規(guī)模隨m線性增長(zhǎng),相應(yīng)所需的訓(xùn)練樣本也隨之增長(zhǎng)。在實(shí)踐中,阿里給出了m的經(jīng)驗(yàn)值為12。
下圖中MLR模型用4個(gè)分片可以完美地?cái)M合出數(shù)據(jù)中的菱形分類面。
MLR算法適合于工業(yè)級(jí)的廣告、推薦等大規(guī)模稀疏數(shù)據(jù)場(chǎng)景問題。主要是由于表達(dá)能力強(qiáng)、稀疏性高等兩個(gè)優(yōu)勢(shì):
- 端到端的非線性學(xué)習(xí):從模型端自動(dòng)挖掘數(shù)據(jù)中蘊(yùn)藏的非線性模式,省去了大量的人工特征設(shè)計(jì),這使得MLR算法可以端到端地完成訓(xùn)練,在不同場(chǎng)景中的遷移和應(yīng)用非常輕松。
- 稀疏性:MLR在建模時(shí)引入了L1范數(shù),可以使得最終訓(xùn)練出來的模型具有較高的稀疏度,模型的學(xué)習(xí)和在線預(yù)測(cè)性能更好。
如果我們用深度學(xué)習(xí)的眼光來看待MLR這個(gè)模型,其在結(jié)構(gòu)上已經(jīng)很接近由輸入層、單隱層、輸出層組成的神經(jīng)網(wǎng)絡(luò)。所以某種意義上說,MLR也在用自己的方式逐漸逼近深度學(xué)習(xí)的大門了。
9.?深度學(xué)習(xí)CTR模型的前夜
2010年FM被提出,特征交叉的概念被引入CTR模型;2012年MLR在阿里大規(guī)模應(yīng)用,其結(jié)構(gòu)十分接近三層神經(jīng)網(wǎng)絡(luò);2014年Facebook用GBDT處理特征,揭開了特征工程模型化的篇章。這些概念都將在深度學(xué)習(xí)CTR模型中繼續(xù)應(yīng)用,持續(xù)發(fā)光。
另一邊,Alex Krizhevsky 2012年提出了引爆整個(gè)深度學(xué)習(xí)浪潮的AlexNet,深度學(xué)習(xí)的大幕正式拉開,其應(yīng)用逐漸從圖像擴(kuò)展到語音,再到NLP領(lǐng)域,推薦和廣告也必然會(huì)緊隨其后,投入深度學(xué)習(xí)的大潮之中。
2016年,隨著FNN,Deep&Wide,Deep crossing等一大批優(yōu)秀的CTR模型框架的提出,深度學(xué)習(xí)CTR模型逐漸席卷了推薦和廣告領(lǐng)域,成為新一代CTR模型當(dāng)之無愧的主流。
?
參考資料:
總結(jié)
以上是生活随笔為你收集整理的前深度学习时代CTR预估模型的演化之路 [王喆观点]的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。