阿里深度興趣網絡:Deep Interest network(DIN)

DIN(深度興趣網絡)是阿里在KDD2018提出的一種有效的用於CTR、個性化推薦的深度學習模型。其效果已經在阿里的電商平臺得到了驗證。優秀的文章需要學習記錄。接下來對這篇論文進行總結概括:

1. 動機

文章指出,用戶興趣有以下兩個特點:

多樣性:即每個用戶在瀏覽購物網站的時候可能會對不能的商品感興趣。比如一個年輕小夥,他可能對電子產品和運動裝備都感興趣。他的歷史行爲中可能購買過手機、電腦、耳機,也可能購買過護膝、球衣以及籃球鞋。

局部聚集性:由於用戶興趣具有多樣性,所以只有部分用戶歷史行爲對是否點擊有幫助。比如系統給年輕小夥推薦一款新款籃球鞋,他是否點擊只跟他之前買過護膝、球衣的歷史行爲有關,而與他是否購買過電腦、手機的歷史行爲無關。

CTR預測是工業應用中常見的任務。常見的深度學習的基線模型是將Embedding&MLP相結合。首先,將大規模的稀疏特徵映射爲低維度的embedding向量;然後用group-wise將其轉換爲長度固定的向量;最後將這些向量連接在一起喂入MLP學習特徵間的非線性關係。但是這種模型存在一定的缺陷:不論候選ad是什麼,用戶特徵都被壓縮爲固定長度的表示向量(這限制了Embedding&MLP的表達能力),這很難從有效的從歷史行爲數據中捕獲用戶的多樣性興趣。論文作者提出了DIN模型,即深度興趣網絡,它通過設計局部激活單元自適應的從歷史行爲中學習用戶的興趣表示。DIN通過引入一個局部激活單元,通過軟搜索歷史行爲的相關部分來關注相關的用戶興趣,並採用加權和池來獲得用戶興趣相對於候選廣告的表示,與候選廣告相關性越高的行爲的激活權重越大,並在用戶興趣的表示中占主導地位。實際上就是增加了Attention機制。此外,文中還提出了新的正則化方法以及激活函數。

2. DIN網絡模型

不同於搜索,用戶進入電商網站並沒有明確的意向。因此需要從豐富的歷史行爲提取出用戶的興趣以此來構建CTR預測模型。

2.1 特徵表示

CTR預測任務中的數據大多數都是多分組的類別表,比如特徵[weekday=Friday,gender=Female,visited_cate_ids={Bag,Book},ad_cate_id=Book],這些特徵通過編碼轉化成高維稀疏二值特徵。

上述四種特徵按照如下的方式編碼:

                           

文中使用的特徵表示如下表所示:

                          

其中用戶行爲特徵是多熱編碼,它包含了豐富的用戶興趣信息。文中沒有使用組合(交叉)特徵,而是通過DNN來學習特徵間的交互。

2.1. 基線模型(Embedding&MLP)

很多關於CTR預估的深度學習模型都相似的Embedding&MLP範式,如下圖所示:

                        

Embedding層:

因爲輸入是高維的二值向量,embedding層將它們轉化爲低維的稠密向量。

池化層和連接層:

不同的用戶不同的行爲數,因此多熱行爲向量ti中的非零數在不同實例中是不同的,這導致相應的embedding向量的長度是變化的。但是全連接網絡只能處理固定長度的輸入,通常通過pooling層將embedding向量轉化爲固定長度的向量。

                                                             

將用戶行爲特徵進行sum池化後,然後與其它3個特徵組的低維稠密向量表示Concat爲一個更高維度的向量作爲MLP的輸入

MLP

將合併好的向量輸入MLP,MLP由3層組成,第一層由200個神經單元組成,激活函數爲PReLU;第二層由80個神經單元組成,激活函數同樣爲PReLU;最後一層是由Softmax做一個二分類。

損失函數:

基線模型的目標函數是負的對數似然函數,定義如下:

                                                  

S是size爲N的數據集。

2.3. DIN的結構:

Key部分激活函數的設計,相當於給User Behavior特徵加了Attention機制,即與候選ad相關性高的行爲獲得更大的權重。

固定向量的長度會降低用戶興趣的表達能力,一種簡單的方法是擴展embedding向量的維度,但是這會大大增加計算量並且容易導致過擬合。

有沒有一種更好的方式在有限的維度表示向量的多樣性興趣?考慮到用戶興趣的局部聚集特性,即與展示商品相關的行爲對點擊action有更大的貢獻,基於此作者提出了DIN。DIN不會通過使用相同的向量來表達所有用戶的不同興趣,而是通過考慮與候選廣告的歷史行爲的相關性來自適應地計算用戶興趣的表示向量。這個表示向量是根據不同的廣告變化的。DIN模型結構如下:

                                   

DIN結構與基線模型的區別在於DIN設計了局部激活單元。激活單元會計算候選商品與用戶最近N個歷史行爲商品的相關性權重,然後將其作爲加權係數對N個行爲商品的embedding向量做sum pooling。用戶的興趣由加權後的embedding來體現。權重是根據候選商品和歷史行爲共同決定的,同一候選商品對不同用戶歷史行爲的影響是不同的,與候選商品相關性高的歷史行爲會獲得更高的權重。可以看到,激活單元是一個多層網絡,輸入爲User Behaviors embedding向量、Candidate Ad embedding 向量以及二者的叉乘。

Note初始版本中輸入是二者的差

3.訓練技巧

當數據量較大時,訓練開銷很大,因此作者提出了兩個訓練技巧。

3.1. Mini-batch aware正則化/自適應正則化

過擬合是模型訓練中的很容易出現的問題,但是在參數較多數據規模較大的情況下,L1或L2正則化的計算成本太高。因此作者提出了一種效率更高的正則化方式。Mini-batch aware正則化,其公式如下:

                                                                     

其中αmj = max(x,y)Bm I(xj , 0),表示在mini-batch Bm中是否至少有一個實例存在特徵jBm表示第mmini-batchB表示mini-batch的總數;K是特徵空間的維度,nj表示所有樣本中特徵j出現的次數;wj表示第jembedding向量的權重。

對於第j個mini-batch,權重更新如下所示:

                                                   

3.2. Dice激活函數

Dice激活函數是在PReLU的基礎上進行改進的,首先PReLU激活函數的公式如下:

                                                     

其中p(s)爲控制函數,其定義爲p(s)=I(s>0),I(.)爲指示函數。Dice激活函數把PReLUde激活函數中的p(s)進行了修改如下:

                                                    

Dice激活函數的表達式如下:

                                           

其中E[s]和Var[s]是每個mini-batch輸入的均值和方差。ϵ是一個非常小的常數10-8,其值設置爲Dice主要思想是根據輸入數據的分佈,自適應地調整校正點,使其值爲輸入的均值。E[s]Var[s]均爲0時,DicePReLU是等價的。

4. 實驗部分

4.1. 數據集

文章使用了兩個公開數據集和阿里自己線上收集的數據集

Amazon數據集:特徵包括goods_id、cate_id、user reviewed goods_id_list以及cate_id_list使用帶有指數衰減的SGD優化,學習速率從1開始、衰減速率設置爲0.1,mini-batch的size設置爲32。

MovieLens數據集:這是用戶對電影評分的數據集,評分爲0-5分,作者將其轉化成了二分類:0-3分爲負樣本、4和5分爲正樣本。特徵包括moive_id、moive_cate_id、user_rated moive_id_list以及moive_cate_id_list.優化器、學習速率以及mini-batch的size和Amazon的設置一樣。

Alibaba數據集:兩週的線上數據作爲訓練集、一天的線上數據作爲測試集。Embedding向量的維度爲12;mini-batch的size爲5000;使用帶有指數衰減的Adam作爲優化方法;學習速率從0.001開始、衰減速率設置爲0.9。

4.2. 模型比較

文章提出的DIN分別與LR、BaseModel、Wide&Deep、PNN、DeepFM五種模型比較。使用平均AUC作爲度量指標,其定義如下:

                                                               

其中i是用戶數、#impressioni是第i個用戶的曝光數、AUCi是第i個用戶的AUC。

4.3. 正則化的性能比較

當數據維度較大時,過擬合問題會成爲一個巨大挑戰。這主要出現在Alibaba數據集。尤其是加入細粒度特徵goods_id時容易出現過擬合,作者分別使用了Dropout、Filter、DiFracto以及文中提出的mini-batch aware四種正則化方法。比較結果如下:

                     

                                             

 

4.4. 加入Dice激活函數

在MBA基礎上加上Dice激活函數,最後的結果比較如下:

                                             

使用DIN作爲模型,以MBA爲正則化方法、Dice爲激活函數時的AUC最高。

5. 總結

DIN最大的亮點是引入了類似於Attention的機制,這捕獲了用戶興趣的多樣性。此外還引入了兩個技巧:MBA正則化以及Dice激活函數。

參考文獻:

Deep Interest Network for Click-Through Rate Prediction
 

發佈了44 篇原創文章 · 獲贊 26 · 訪問量 3萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章