【讀書筆記】Deep Interest Evolution Network for Click-Through Rate Prediction

Zhou G, Mou N, Fan Y, et al. Deep Interest Evolution Network for Click-Through Rate Prediction[J]. arXiv preprint arXiv:1809.03672, 2018.
https://github.com/mouna99/dien

Abstract

對於CTR預測模型,很有必要捕捉用戶興趣的轉移。因此設計了 interest extractor layer 從歷史序列中捕捉用戶暫時的興趣。在訓練的每一步中,我們爲 interest extractor layer 引入了輔助loss。在 interest extractor layer 中加入了attention機制。

Introduction

遵循用戶的興趣是導致一系列行爲的原因,我們設計了輔助 loss,用下一個行爲來訓練當前的 hidden state(稱之爲 interest states)。這樣有助於捕捉更多的語義信息並且是的GRU更高效的表徵興趣。
基於由 interest extractor layer 提取的興趣序列,設計了GRU with attentional update gate (AUGRU),增強在興趣變化中相關興趣的影響,減弱不相關興趣的影響。

Interest Extractor Layer

用 GRU 的原因是因爲它既可以避免梯度消失,有比 LSTM 速度快。GRU的表達爲:
ut=σ(Wuit+Uuht1+bu)u_t=\sigma(W^ui_t+U^uh_{t-1}+b^u)

rt=σ(Writ+Urht1+br)r_t=\sigma(W^ri_t+U^rh_{t-1}+b^r)

h~t=tanh(Whit+rtUhht1+bh)\tilde{h}_t=tanh(W^hi_t+r_t\circ U^hh_{t-1}+b^h)

ht=(1ut)ht1+uth~th_t=(1-u_t)\circ h_{t-1}+u_t\circ\tilde{h}_t

utu_t相當於遺忘門,控制更新hth_t的程度,rtr_t控制前一時刻對這一時刻的影響,h~t\tilde{h}_t表示這一時刻的更新狀態,hth_t表示隱藏狀態。
如果只用最後的click結果當作是 label,那麼GRU不能得到充分的訓練,因爲用戶的興趣是導致一系列行爲的原因,用下一個行爲來訓練當前的 hidden state,下一個行爲當作是正樣本,並隨機負採樣,當作是負樣本
Laux=1N(i=1Nt[logσ(hti,ebi[t+1]))+logσ(hti,ebi[t+1]))])L_{aux}=-\frac{1}{N}(\sum_{i=1}^N\sum_t[log\sigma(h_t^i,e_b^i[t+1]))+log\sigma(h_t^i,e_b^i[t+1]))])

整個神經網絡的損失函數爲
Ltarget=1N(i=1N[ylog p(x)+(1y)log (1p(x))])L_{target}=-\frac{1}{N}(\sum_{i=1}^N[ylog~p(x)+(1-y)log~(1-p(x))])

L=Ltarget+αLauxL=L_{target}+\alpha L_{aux}

α\alpha用來平衡 interest representation 和 CTR prediction。有輔助loss的幫助,每一個 hidden state 充分的訓練成爲了 represent interest state。

Interest Evolving Layer

再點擊序列中未必都是與最終結果相關的,我們需要增強在興趣變化中相關興趣的影響,減弱不相關興趣的影響,所以給 GRU 增加 attention,權重因子
at=exp(htWea)j=1Texp(hjWea)a_t=\frac{exp(h_tWe_a)}{\sum_{j=1}^Texp(h_jWe_a)}

其中eae_a爲 concat of embedding vectors from fields in category ad。
下面介紹三種加 attention 的 GRU 模型

  • GRU with attentional input (AIGRU):it=htati_t^‘ = h_t\cdot a_t,將iti_t^‘作爲下一個GRU單元的輸入
  • Attention based GRU(AGRU):ht=(1at)ht1+ath~th_t^’=(1-a_t)\circ h_{t-1}^’+a_t\circ\tilde{h}_t^’,用 attention score 代替 update gate
  • GRU with attentional update gate (AUGRU):ut=utatu_t^‘ = u_t\cdot a_t,通過控制 update gate 來實現 attention

總體架構

在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章