天天看點

DIN: 阿裡點選率預估之深度興趣網絡背景-推薦模型使用者興趣多元化深度興趣網絡訓練技巧實驗思考參考文獻

廣告推薦算法系列文章:

  • 百度鳳巢分布式層次GPU參數伺服器架構
  • DIEN: 阿裡點選率預估之深度興趣進化網絡

本文的知識點來源于參考文獻[1],是阿裡巴巴2018年在KDD上的論文。本文可以視為Attention機制在推薦系統上的應用。對Attention機制不了解的同學可以看下面的文章進行學習。

  • Bert系列

背景-推薦模型

正如我們在

而對應的模型結構則如下圖

DIN: 阿裡點選率預估之深度興趣網絡背景-推薦模型使用者興趣多元化深度興趣網絡訓練技巧實驗思考參考文獻

可以看到,不同種類的特征在形成向量後是拼接起來的。

使用者興趣多元化

上述模型結構和特征工程已經能達到一個較好的結果了,但是要想精益求精,還是需要對業務有更加深刻的了解。而在阿裡的這個場景下,那就是使用者購物需求的多元化。在上面的模型中,使用者的行為被壓縮到了一個特征向量中,就相當于是把所有的興趣愛好的資訊做了平均。但這樣做是不精準的。

比如說,一個女性遊泳愛好者,可能既會關注包包,又會關注遊泳類産品。那麼她在浏覽包包的時候,對遊泳類産品的興趣其實是與CTR的估計相當無關的事情。

那麼如何解決這個問題呢?解決的方法就是對于一個<使用者,商品>對來說,不同的商品,要去觸發使用者不同的興趣點才合理。這樣的操作在NLP問題中其實是非常常見的,比如翻譯問題,目智語言句子上的不同位置的詞語,對應的是源語言句子上的詞語也是不同的,這種對應關系被Attention所解決。

類似的,在這篇論文中,這個問題被興趣網絡解決。

深度興趣網絡

針對上述問題,提出了深度興趣網絡,Deep Interest Network,簡稱DIN。

DIN的核心idea很直覺,模型結構如下圖,在這個結構中,可以看到,候選廣告需要去跟使用者行為中的每一個商品去做權重的計算,然後用權重去做權重平均得到使用者針對這個候選廣告的興趣向量。權重和權重,這就是Attention。

DIN: 阿裡點選率預估之深度興趣網絡背景-推薦模型使用者興趣多元化深度興趣網絡訓練技巧實驗思考參考文獻

舉一個例子,如果使用者的行為曆史中有兩類,衣服和電子産品,其中衣服占90%,電子産品占10%,那麼給兩個産品T恤和iPhone,那麼計算得到的使用者對T恤的興趣很可能大于使用者對iPhone的興趣。之是以說很可能而不是肯定,是因為商品還要本身的性質,比如衣服可以換的很頻繁,但iPhone不是,衣服的盈利遠遠不如iPhone的利潤大等等。是以在計算attention的時候,還會有很多特征需要挖掘來計算得到可靠的權重。

大家注意到,這裡使用者行為曆史中的操作是并行計算權重的。其實可以通過循環神經網絡來把時間因素考慮進來。論文中嘗試過,但是沒有提升,可能的原因是興趣本身就是共存的,時間的前後順序影響不大。

訓練技巧

模型結構本身并不複雜,但相對于阿裡巴巴的業務量而言,這個模型的訓練是非常難的,因為模型中的使用者和候選廣告都是以億計的,而特征又是極其稀疏的。

比如,當上面第一張圖中的goods_ids的特征在6億的時候,如果沒有正則化,那麼模型在訓練一個epoch後在訓練集上的loss會迅速下降,導緻在測試集上過拟合。如下圖中的紅線所示:

DIN: 阿裡點選率預估之深度興趣網絡背景-推薦模型使用者興趣多元化深度興趣網絡訓練技巧實驗思考參考文獻

而如果采用傳統的L2或者L1正則化又是不可能的,因為傳統方法需要在所有非0的參數上進行計算,而對于這個問題來說,每次訓練都在數以億計的參數上去做正則化是不可行的。

論文提出了一種近似的辦法,即Mini-batch aware的正則化,這種正則化的方法隻考慮了在一個mini-batch中出現了的特征所對應的參數。因為稀疏特征的衆多,網絡中大部分的參數都分布在embedding層,論文以embedding層為例來講解了正則化的操作。如下所示:

DIN: 阿裡點選率預估之深度興趣網絡背景-推薦模型使用者興趣多元化深度興趣網絡訓練技巧實驗思考參考文獻
DIN: 阿裡點選率預估之深度興趣網絡背景-推薦模型使用者興趣多元化深度興趣網絡訓練技巧實驗思考參考文獻

上圖公式中表明了在embedding層上隻計算mini-batch上用到的特征所對應參數的L2正則化的方法,其中I(xj≠0)是訓示器來表明xj特征是否存在,nj表示所有樣本中xj不為0的樣本數。wj代表特征j的embedding參數。

然後這個公式可以化簡:

DIN: 阿裡點選率預估之深度興趣網絡背景-推薦模型使用者興趣多元化深度興趣網絡訓練技巧實驗思考參考文獻

再近似

DIN: 阿裡點選率預估之深度興趣網絡背景-推薦模型使用者興趣多元化深度興趣網絡訓練技巧實驗思考參考文獻

其中

DIN: 阿裡點選率預估之深度興趣網絡背景-推薦模型使用者興趣多元化深度興趣網絡訓練技巧實驗思考參考文獻

表示的是特征j在mini-batch Bm中至少出現過一次。

這樣,經過正則化的梯度就可以計算出來:

DIN: 阿裡點選率預估之深度興趣網絡背景-推薦模型使用者興趣多元化深度興趣網絡訓練技巧實驗思考參考文獻

在激活函數上,論文提出了一種叫做Dice的激活函數,是PRELU的泛化版本。兩種激活函數圖示如下:

DIN: 阿裡點選率預估之深度興趣網絡背景-推薦模型使用者興趣多元化深度興趣網絡訓練技巧實驗思考參考文獻

其中,論文上的PRelu的圖畫錯了,其公式如下:

DIN: 阿裡點選率預估之深度興趣網絡背景-推薦模型使用者興趣多元化深度興趣網絡訓練技巧實驗思考參考文獻

基于這個公式,大家可以自行畫出正确的圖。

而Dice的公式如下:

DIN: 阿裡點選率預估之深度興趣網絡背景-推薦模型使用者興趣多元化深度興趣網絡訓練技巧實驗思考參考文獻

Dice是PRelu的泛化版本,當均值為0方差為1的時候,兩者是等價的,之是以要改成這個形式,是為了要使激活函數适應資料分布。

實驗

采用了三個資料集

  • Amazon dataset
  • MovieLens Dataset
  • Alibaba Dataset

前兩者是公開資料集。

不同的方法在前兩個資料集上的對比,可以看到帶來的相對提升還是很高的,達到了2%和6.8%。

DIN: 阿裡點選率預估之深度興趣網絡背景-推薦模型使用者興趣多元化深度興趣網絡訓練技巧實驗思考參考文獻

正則化方法的對比,

DIN: 阿裡點選率預估之深度興趣網絡背景-推薦模型使用者興趣多元化深度興趣網絡訓練技巧實驗思考參考文獻

可以看到,即便在BaseModel上,正則化方法也有效。

DIN: 阿裡點選率預估之深度興趣網絡背景-推薦模型使用者興趣多元化深度興趣網絡訓練技巧實驗思考參考文獻

在阿裡巴巴的資料集上,帶來了11.65%的提升,又是财富在發光。

DIN: 阿裡點選率預估之深度興趣網絡背景-推薦模型使用者興趣多元化深度興趣網絡訓練技巧實驗思考參考文獻

有了attention之後,推薦結果也變得可解釋了,下圖是一個可視化效果圖,反應了目前商品和使用者曆史行為中的商品的權重。

DIN: 阿裡點選率預估之深度興趣網絡背景-推薦模型使用者興趣多元化深度興趣網絡訓練技巧實驗思考參考文獻

思考

勤思考,多提問是每個Engineer的良好品德。
  • 随着時間的流逝,使用者操作行為越來越長,在超長序列上模組化會遇到性能問題,如何解決?

答案稍後釋出在公衆号【雨石記】上,歡迎關注。

DIN: 阿裡點選率預估之深度興趣網絡背景-推薦模型使用者興趣多元化深度興趣網絡訓練技巧實驗思考參考文獻

參考文獻

  • [1]. Zhou, Guorui, Xiaoqiang Zhu, Chenru Song, Ying Fan, Han Zhu, Xiao Ma, Yanghui Yan, Junqi Jin, Han Li, and Kun Gai. “Deep interest network for click-through rate prediction.” In Proceedings of the 24th ACM SIGKDD International Conference on Knowledge Discovery & Data Mining, pp. 1059-1068. 2018.

繼續閱讀