前言
阿里又出了篇DIEN,据传提高了20.7%,让我们拿来一睹为快。
亮点
1)构建兴趣提取层,并加入辅助loss来更有效学习兴趣状态。
2)构建AUGRU(GRU with Attention Update Gate),可以接住兴趣状态来model用户兴趣演化。
直接上图

辅助 loss
用GRU的隐状态来提取每一步的用户兴趣状态,由于点击与否只在最后一步上对隐状态有最大化的指导作用,引入了辅助loss来帮助中间步的隐状态学习用户兴趣状态的表达。每个TiT_iTi都跟着一个无点击的采样。Laux=−1N(∑i=1N∑tlogσ(ht,ebi[t+1])+log(1−σ(ht,e^bi[t+1])))L_{aux}=-\frac{1}{N}(\sum_{i=1}^N\sum_t log \sigma (h_t, e_b^i[t+1]) +log(1-\sigma(h_t, \hat{e}_b^i[t+1])))Laux=−N1(i=1∑Nt∑logσ(ht,ebi[t+1])+log(1−σ(ht,e^bi[t+1])))
其中σ(x1,x2)=11+exp(−[x1,x2])\sigma(x_1, x_2) = \frac{1}{1+exp(-[x_1,x_2])}σ(x1,x2)=1+exp(−[x1,x2])1,hth_tht表示GRU的隐状态,eb∈RT×nEe_b \in R^{T \times n_E}eb∈RT×nE表示时序的点击向量序列,e^b[t]\hat{e}_b[t]e^b[t]表示时序T=tT=tT=t时的负样本向量序列。NNN表示共有NNN对{ebi,e^bi}\{ e_b^i, \hat{e}_b^i \}{ebi,e^bi}来作一批训练集。类似负采样,但是仅仅一次采样负样本。总lossL=Ltarget+α∗LauxL=L_{target} + \alpha * L_{aux}L=Ltarget+α∗Laux,其中LtargetL_{target}Ltarget是负log似然。
AUGRU
为了描述用户兴趣演化,借助上面的兴趣状态,对用户兴趣演化建模,将GRU的update gage替换为attention-score*update-gate。ut′=ut∗at⟶at=exp(htWea)∑j=1Texp(hjWea)u_t'=u_t * a_t \longrightarrow a_t=\frac{exp(h_t W e_a)}{\sum_{j=1}^T exp(h_j W e_a)}ut′=ut∗at⟶at=∑j=1Texp(hjWea)exp(htWea)
标准的GRU组件,如下:
{ut=σ(Wuit+Uuht−1+bu)rt=σ(Writ+Urht−1+br)h~t=tanh(Whit+rt⊗Uhht−1+bh)ht=(1−ut)⊗ht−1+ut⊗h~t\left\{\begin{matrix} u_t = \sigma(W_u i_t + U_u h_{t-1} + b_u) & \\ r_t = \sigma(W_r i_t + U_r h_{t-1} + b_r) & \\ \tilde{h}_t = tanh(W_h i_t + r_t \otimes U_h h_{t-1} + b_h) \\ h_t = (1- u_t) \otimes h_{t-1} + u_t \otimes \tilde{h}_t \end{matrix}\right.⎩⎪⎪⎨⎪⎪⎧ut=σ(Wuit+Uuht−1+bu)rt=σ(Writ+Urht−1+br)h~t=tanh(Whit+rt⊗Uhht−1+bh)ht=(1−ut)⊗ht−1+ut⊗h~t
将GRU的第四个式子的uuu替换为ut′u_t'ut′即为AUGRU。
思考
1) 采样负样本时,是从哪些无点击data-set中采样的?是该用户有展现无点击里面采样,还是所有用户有展现无点击里面采样,还是所有用户点击中但该用户无点击里面采样?
2) 新闻推荐中,是否也适合这种方法呢?估计可以有很大提高。