深度興趣模型DIN在點擊率預(yù)估中的應(yīng)用
Guorui Zhou, Chengru Song, Xiaoqiang Zhu
Xiao Ma, Yanghui Yan, Xingya Dai
Han Zhu, Junqi Jin, Han Li
Kun Gai
Alibaba Inc.
{guorui.xgr, chengru.scr, xiaoqiang.zxq}@alibaba-inc.com
{maxiao.ma, yanghui.yyh, xingya.dxy}@alibaba-inc.com
{zhuhan.zh, junqi.jjq, lihan.hl}@alibaba-inc.com
jingshi.gk@taobao.com
June 26, 2017
摘要
在電商領(lǐng)域蹬耘,通過從豐富的行為數(shù)據(jù)當(dāng)中更好地挖掘用戶的興趣牵素,對在線廣告系統(tǒng)建立點擊預(yù)估(CTR)模型非常重要。用戶的行為數(shù)據(jù)有兩個關(guān)鍵的特點:i)多樣性(diversity)糊闽。在瀏覽電商網(wǎng)站的時候挤安,用戶會對不同種類的商品感興趣拦焚。ii)局部激活性(local activation)围辙。一個用戶是否點擊一個商品股冗,只依賴于他一部分的歷史行為葛闷。然而憋槐,大部分傳統(tǒng)的CTR模型都缺乏捕捉行為數(shù)據(jù)中的這兩種結(jié)構(gòu)特點。在本論文中淑趾,我們提出一個新模型阳仔,深度興趣網(wǎng)絡(luò)(Deep Interest Network, DIN),這個新模型在阿里巴巴的廣告系統(tǒng)中發(fā)展出來,并部署在系統(tǒng)中。DIN模型通過一個興趣分布體現(xiàn)出用戶多樣化的興趣近范,同時設(shè)計一個attention-like的網(wǎng)絡(luò)結(jié)構(gòu)嘶摊,能根據(jù)不同的候選廣告,去局部激活跟這些候選相關(guān)的興趣點评矩。這個模型的效果顯著超過了傳統(tǒng)的模型叶堆。業(yè)界的大規(guī)模稀疏樣本在訓(xùn)練深度網(wǎng)絡(luò)的時候往往會遇到過擬合的問題。我們認(rèn)真地研究了這個問題并且提出了有用的自適應(yīng)正則化技術(shù)斥杜。
1 介紹
廣告業(yè)務(wù)每年給阿里巴巴帶來數(shù)十億美元收入虱颗。在CPC(cost-per-click,每點擊成本)廣告系統(tǒng)中,廣告是按照eCPM(efective cost per mille)來排序的,這是競價廣告和CTR的結(jié)果蔗喂。因此忘渔,點擊率預(yù)估模型的效果直接影響到最終的收入,所以對廣告系統(tǒng)來說很關(guān)鍵缰儿。深度學(xué)習(xí)在圖像識別畦粮,計算機(jī)視覺,和自然語言處理等領(lǐng)域取了成功乖阵,受此影響锈玉,許多基于深度學(xué)習(xí)的方法也被提出來用于提高點擊率預(yù)估的準(zhǔn)確度。這些方法通常的做法是义起,首先在輸入層之上用一個embedding層,把原始的大規(guī)模稀疏的id特征映射到distributed representations,然后加上全連接層(也就是多層感知機(jī)师崎,MLPs)默终,用這樣的網(wǎng)絡(luò)結(jié)果去自動學(xué)習(xí)出特征之間的非線性關(guān)系。相對邏輯回歸模型來說犁罩,MLPs 可以減少很多業(yè)界里耗時耗力的特征工程齐蔽。MLPs現(xiàn)在也成為了點擊預(yù)估問題中的流行的模型結(jié)構(gòu)。然而床估,面對豐富的互聯(lián)網(wǎng)級別的用戶行為數(shù)據(jù)含滴,比如電商的廣告和推薦系統(tǒng)的行為數(shù)據(jù),這些MLPs模型往往缺乏深度理解和挖掘行為數(shù)據(jù)當(dāng)中的特定
的結(jié)構(gòu)丐巫,所以留下了提升空間谈况。
對阿里巴巴的廣告系統(tǒng)中的用戶行為數(shù)據(jù)結(jié)構(gòu),可以總結(jié)為兩點:
- 多樣性递胧。用戶在電商網(wǎng)站通常會對多種商品感興趣碑韵。比如一個年輕的媽媽,她會同時對T恤缎脾,皮包祝闻,鞋,耳環(huán)和兒童外套感興趣遗菠。
- 局部激活联喘。正是由于用戶興趣的多樣性华蜒,每一次的點擊只與用戶過去的一部分歷史有關(guān)系。例如豁遭,一個游泳愛好者點擊了推薦給她的護(hù)目鏡叭喜,主要是由于她購買過潛水服,而不是由于她上周買的一些書籍堤框。
在本論文中域滥,我們提出一個新模型,深度興趣網(wǎng)絡(luò)(Deep Interest Network, DIN),是在阿里巴巴的廣告推薦系統(tǒng)中研發(fā)并使用的模型蜈抓。受機(jī)器翻譯模型中的attention機(jī)制的啟發(fā)启绰,DIN也是用興趣權(quán)重來表示用戶興趣的多樣性,并設(shè)計了一個attention-like的神經(jīng)網(wǎng)絡(luò)根據(jù)候選廣告去激活相關(guān)的興趣沟使。我們在section 6.1 中展示了這個過程委可。跟候選廣告有更強相關(guān)性的行為會獲得更高的attention值,從而更顯著地影響預(yù)測結(jié)果腊嗡。在阿里巴巴海量數(shù)據(jù)的CTR預(yù)測數(shù)據(jù)的實驗中着倾,證明了DIN模型的效果顯著好于MLP,GAUC指標(biāo)顯著好于MLP.
對于大規(guī)模的稀疏輸入數(shù)據(jù)燕少,訓(xùn)練深度神經(jīng)網(wǎng)絡(luò)經(jīng)常會出現(xiàn)過擬合問題卡者。我們還用細(xì)粒度的用戶行為特征(good_id)做了一個實驗,去演示深度神經(jīng)網(wǎng)絡(luò)會很容易陷入過擬合并引起效果快速下降.在本論文中客们,我們仔細(xì)地研究了這個問題崇决,并提出了一個很有用的自適應(yīng)正則化技術(shù),在我們的應(yīng)用場景中能有效地提高網(wǎng)絡(luò)收斂底挫。
DIN是運行在多GPU分布式訓(xùn)練平臺X-deep(XDL)上的恒傻,XDL支持模型并行和數(shù)據(jù)并行。為了能使用行為數(shù)據(jù)的興趣結(jié)構(gòu)特征建邓,我們用了在[8]提到的一個普遍使用的特征技巧盈厘,去降低儲存和計算成本。因為有了高性能和高適應(yīng)性的XDL平臺官边,我們的訓(xùn)練過程加快了10倍沸手,并且提高了自動化調(diào)參的效率。
這篇文章的貢獻(xiàn)可以總結(jié)為以下幾點:
- 我們研究和總結(jié)了在電商領(lǐng)域中互聯(lián)網(wǎng)級別的用戶行為數(shù)據(jù)中的兩個關(guān)鍵的接管特點: 多樣性和局部激活注簿。
- 我們提出了深度興趣網(wǎng)絡(luò)(DIN),它可以更好地捕捉到行為數(shù)據(jù)中特定的結(jié)構(gòu)罐氨,從而提高模型的性能。
- 我們提出了自適應(yīng)正則化技術(shù)去克服用大規(guī)模稀疏輸入數(shù)據(jù)訓(xùn)練深度神經(jīng)網(wǎng)絡(luò)中的過擬合問題滩援,并且可以推廣到業(yè)界類似的應(yīng)用場景中栅隐。
- 我們開發(fā)了一個多GPU分布式訓(xùn)練的平臺XDL,它是一個可擴(kuò)縮的高適應(yīng)性的平臺,能支持我們各種實驗租悄。
在本論文中谨究,我們聚焦在電商領(lǐng)域的廣告CTR預(yù)測。這里提到的方法都可以應(yīng)用到類似的有大規(guī)模用戶行為數(shù)據(jù)的場景中去泣棋,比如電商的個性化推薦胶哲,社交網(wǎng)絡(luò)的信息流排序等。
本論文后面的內(nèi)容安排如下潭辈,我們在Section2部分討論相關(guān)的研究鸯屿。Section3 回顧以下我們的廣告展示系統(tǒng),包括用戶行為數(shù)據(jù)和特征表示把敢。Section 4 講述DIN模型的設(shè)計和自適應(yīng)正則化技術(shù)寄摆。Section 5 簡介我們成熟的XDL平臺。Setion 6 展示實驗結(jié)果和分析修赞。最后婶恼,我們在Section 7 總結(jié)我們這篇論文。
2 相關(guān)研究
隨著特征和樣本的數(shù)量變得越來越大柏副,CTR預(yù)估模型的結(jié)構(gòu)也經(jīng)歷了從前到深的進(jìn)化勾邦。隨著特征表示的挖掘,模型結(jié)構(gòu)的設(shè)計也越來越深入割择。
作為先驅(qū)之作眷篇,NNLM[9]提出學(xué)習(xí)文本詞的distributed representation, 以避免語言模型中的維度災(zāi)難。 這個思想荔泳,我們稱之為embedding, 啟發(fā)了許多需要處理大規(guī)模稀疏輸入的語言模型和CTR預(yù)估模型蕉饼。
LS-PLM[8]和FM[10]模型可以看成是一種只有一層隱藏層的神經(jīng)網(wǎng)絡(luò),首先對稀疏輸入做embedding層换可,然后為輸出加一個特定的轉(zhuǎn)化函數(shù),這樣來捕捉特征之間的交叉關(guān)系厦幅。
Deep Crossing [1], Wide&Deep Learning [4] 和 the YouTube Recommendation CTR model [2],都是對LS-PLM和FM擴(kuò)展沾鳄,用復(fù)雜的MLP網(wǎng)絡(luò)替代了轉(zhuǎn)化函數(shù)。極大地提高了模型的性能确憨。它們都采用了類似的網(wǎng)絡(luò)結(jié)構(gòu)译荞,結(jié)構(gòu)了embedding層(學(xué)習(xí)稀疏id特征的distributed representation)和MLPs(自動學(xué)習(xí)特征的交叉關(guān)系)。它們都采用了類似的模型結(jié)構(gòu)休弃,把embedding層(為了學(xué)習(xí)稀疏id特征的distributed representation)和MLPs(為了自動學(xué)習(xí)特征交叉關(guān)系)組合在一起吞歼。這一類的CTR預(yù)估模型很大程度上取代了人工的特征組合。我們的基礎(chǔ)模型也是這一類的模型結(jié)構(gòu)塔猾。然而篙骡,值得一提的是,在CTR預(yù)估里面,我們的行為數(shù)據(jù)中糯俗,特征往往包含multi-hot的稀疏id,比如YouTube推薦系統(tǒng)中的搜索條目和視頻瀏覽歷史尿褪。這些模型經(jīng)常在embedding層之后加一層pooling層,用求和或者求平均的操作來獲得一個固定維度的embedding向量得湘。這就會導(dǎo)致信息的損失杖玲,不能完全體現(xiàn)用戶行為數(shù)據(jù)的內(nèi)在結(jié)構(gòu)。
最開始用在神經(jīng)機(jī)器翻譯領(lǐng)域的Atention機(jī)制給了我們啟發(fā)淘正。在雙向RNN機(jī)器翻譯中摆马,NMT對所有注釋的加權(quán)求和來獲得期望的注釋,并且在產(chǎn)生下一個目標(biāo)詞的時候只關(guān)注跟這個目標(biāo)詞相關(guān)的信息鸿吆。這啟發(fā)了我們可以用attention-like的結(jié)構(gòu)去更好地模型化用戶的歷史多樣的興趣囤采。最近提出的DeepIntent [3]也是用了attention的技術(shù)去更好地模型化數(shù)據(jù)的內(nèi)部結(jié)構(gòu),在競價排名搜索中伞剑,學(xué)習(xí)到attention權(quán)重賦予不同的詞斑唬,以此來獲得更好的句子表達(dá)。然而黎泣,在query和document間并沒有相互作用恕刘,也就是說,給定了模型抒倚,query和document表示是固定的褐着。這個場景跟我們不一樣,因為在廣告展示系統(tǒng)中托呕,DIN學(xué)習(xí)到的用戶表示是隨著不同的候選廣告自適應(yīng)地變化的含蓉。也就是說,DeepIntent雖然捕捉到數(shù)據(jù)的多樣性結(jié)構(gòu)项郊,但是沒有捕捉到數(shù)據(jù)的局部激活的屬性馅扣,而DIN模型兩者都捕捉到了。
3 系統(tǒng)回顧
圖1展示了廣告展示系統(tǒng)的大致場景着降〔钣停可以看到,在電商網(wǎng)頁中任洞,廣告就是自然展示的商品蓄喇。因此,在沒有特別聲明的時候交掏,在后續(xù)文章中妆偏,我們提及商品的時候就是指廣告。
當(dāng)一個用戶方位一個電商網(wǎng)頁時盅弛,系統(tǒng)會 i)查詢他的歷史行為數(shù)據(jù) ii)通過匹配模塊產(chǎn)生候選廣告 iii)通過排序模塊預(yù)測每個廣告的點擊概率并選擇可能吸引用戶注意(點擊)的合適廣告 iiii) 展示廣告之后記錄用戶的反應(yīng)钱骂。 這是一個消費和用戶行為數(shù)據(jù)產(chǎn)生的閉環(huán)叔锐。在阿里巴巴,電商網(wǎng)頁每天有數(shù)以億萬計的用戶訪問罐柳,給我留下大量的真實數(shù)據(jù)掌腰。
3.1 用戶行為數(shù)據(jù)的特性
表 1 是從我們線上采集回來的用戶行為的一些例子。在我們的系統(tǒng)中的用戶行為數(shù)據(jù)有兩個顯著的特點:
- 多樣性张吉。用戶喜歡不同類型的商品齿梁。
- 局部激活。只有用戶的一部分行為跟候選廣告有關(guān)肮蛹。
3.2 特征表示
我們的特征集是由稀疏id組成的勺择,是傳統(tǒng)的業(yè)界表示方法,像[1, 4, 5]這樣伦忠。我們把它們分為四組省核,如表2所示。注意到我們的特征里面是沒有交叉組合特征的昆码。我們用深度網(wǎng)絡(luò)去捕捉特征之間的交叉關(guān)系气忠。
3.3 評估方法
AUC[12]是CTR預(yù)估領(lǐng)域經(jīng)常用到的評估指標(biāo)。在實踐中赋咽,我們設(shè)計了一個新的評估指標(biāo)旧噪,叫GAUC,是AUC的一個推廣脓匿。GAUC是先對每個用戶的樣本子集計算AUC,然后取加權(quán)平均淘钟。這個權(quán)重可以是曝光量或者點擊量∨阏保基于曝光量的GAUC按照以下計算:
實踐證明米母,GAUC在廣告展示場景更能反映算法的效果。廣告展示場景中毡琉,CTR模型被用于為每個用戶對候選廣告進(jìn)行排序铁瞒,其效果是用排序列表的質(zhì)量來衡量。就是說桅滋,一個用戶特有的AUC慧耍。因此,這個方法可以去除用戶偏差的影響虱歪,可以更準(zhǔn)確地評估整體用戶模型的表現(xiàn)蜂绎。在我們生產(chǎn)系統(tǒng)的多年實踐中栅表,GAUC指標(biāo)相對AUC來說更穩(wěn)定可靠笋鄙。
4 模型結(jié)構(gòu)
不同于競價搜索,廣告展示系統(tǒng)的大部分用戶都沒有明確的目標(biāo)怪瓶。因此萧落,我們的系統(tǒng)需要一個有效的流程從用戶的歷史行為數(shù)據(jù)中建立一個點擊預(yù)估模型來提取用戶的興趣践美。
4.1 基礎(chǔ)模型
沿用在 [1, 4, 2] 中介紹的流行的模型結(jié)構(gòu), 我們的基礎(chǔ)模型按照以下兩個步驟來構(gòu)建:
- 把每個稀疏id特征轉(zhuǎn)化成embedded向量
- 用MLPs擬合輸出
注意到輸入包括用戶行為序列id, 所以找岖,每個人的序列長度是不一致的陨倡。所以,我們加了一個pooling層(就是求和操作)來匯總行為序列许布,得到一個固定長度的向量兴革。在圖2中, 基礎(chǔ)模型在實踐中表現(xiàn)良好蜜唾,作為在線廣告展示系統(tǒng)的主策略模型杂曲。
然而,深究其中的pooling操作袁余, 我們就會發(fā)現(xiàn)里面損失了很多信息擎勘。就是簡單的pooling操作破壞了用戶行為數(shù)據(jù)的內(nèi)部結(jié)構(gòu)友扰。這啟發(fā)了我們設(shè)計了更好的模型尘惧。
4.2 深度興趣網(wǎng)絡(luò)設(shè)計 DIN
在我們的廣告展示場景中,我們希望我們的模型能基于用戶的歷史行為來真正揭示用戶和候選廣告之間的關(guān)系亮钦。
如上所討論掩完, 行為數(shù)據(jù)包括兩個結(jié)構(gòu):多樣性和局部激活噪漾。行為數(shù)據(jù)的多樣性反映了用戶的不同興趣點。用戶點擊某個廣告往往只來自于他的部分興趣點藤为。這跟attention的機(jī)制很像怪与。在NMT任務(wù)中,假定每個詞在一個句子中解碼過程中的重要性是不同的缅疟。attention網(wǎng)絡(luò)[7] (可以看作是一個特殊設(shè)計的pooling層) 學(xué)出賦給每個詞的attention分值分别。換而言之,保留了數(shù)據(jù)的多樣性結(jié)構(gòu)存淫。然而耘斩,在外面的應(yīng)用場景中,又不能直接用一個attention層桅咆。用戶興趣的embedding向量對于不同的候選廣告來說應(yīng)該不一樣括授,也就是說,它要有局部激活的結(jié)構(gòu)岩饼。來看看如果沒有局部激活結(jié)構(gòu)會發(fā)生什么荚虚。我們現(xiàn)在已經(jīng)有用戶和廣告
的分布表示(distributed representation).對于同一個用戶,
是一個embedding空間中固定的一個點籍茧。這跟廣告embedding 向量
是一樣的版述。假如我們用內(nèi)積來計算用戶和廣告之間的關(guān)系,
寞冯。如果
和
都很高渴析,那么用戶
跟
和
都很相關(guān)晚伙。在這種計算方法下,任何一個位于
和
的點的相關(guān)得分都會高俭茧。這就對學(xué)習(xí)用戶和廣告的分布表示向量(distributed representation vector)帶來很強的約束咆疗。雖然可以通過提高向量空間的embedding的維度來滿足約束,也許會奏效母债,但也會大幅度地增加模型的參數(shù)午磁。
在這篇文章中,我們引入了一個新設(shè)計的網(wǎng)絡(luò)毡们, 叫DIN漓踢,它有數(shù)據(jù)的兩種結(jié)構(gòu)。 DIN 在圖2中解釋漏隐。 在數(shù)學(xué)中喧半,用戶的embedding向量
是廣告
的embedding的向量
的一個函數(shù)。也就是:
其中青责, 是行為id
的embedding, 比如商品id, 商店id,等等挺据。
是這些行為id的加權(quán)求和。
表示脖隶,在候選廣告是
的情況下扁耐,行為id
對用戶整體興趣embedding向量
的貢獻(xiàn)的attention分值。在我們的場景中产阱,
是激活單元的輸出(用g來表示)婉称,激活單元的輸入是
和
。
總之构蹬, DIN設(shè)計了激活單元來描述局部激活結(jié)構(gòu)王暗,用加權(quán)求和pooling來描述多樣性結(jié)構(gòu)。據(jù)我們所知庄敛, 在CTR預(yù)估領(lǐng)域中俗壹,DIN是第一個同時描述著兩種結(jié)構(gòu)的模型。
4.3 依賴數(shù)據(jù)的激活函數(shù)
PReLu[13] 是一個常用的激活函數(shù)藻烤,我們開始的時候是用它來做激活函數(shù)的绷雏。定義如下:
PReLu 在 很小的時候,作為Leak ReLU 去避免零梯度[14]怖亭。之前有研究表明涎显,PReLU 在增加一點過擬合的風(fēng)險下可以提高準(zhǔn)確度。
然而兴猩, 在我們的實踐中期吓,在大規(guī)模稀疏輸入id的情況下,學(xué)習(xí)這樣工業(yè)規(guī)模的網(wǎng)絡(luò)依然面臨很多挑戰(zhàn)。為了進(jìn)一步改進(jìn)收斂速率和模型的效果峭跳,我們設(shè)計了依賴數(shù)據(jù)的激活函數(shù)膘婶,我們叫它Dice:
在訓(xùn)練過程中的和
是直接從每一個mini batch的數(shù)據(jù)中算出來的。