深度模型(十七):用户兴趣建模与多任务学习模型笔记

DIN

在这里插入图片描述

  • 历史行为丰富的用户,兴趣是多种多样的,在面对不同的候选商品时,用户的兴趣可以被局部激活。
  • DIN提出固定长度向量表达用户多种兴趣的局限性,并设计了全新的深度兴趣模型,引入了兴趣局部激活单元,自适应的从用户历史行为数据中学习与目标广告相关的用户兴趣的表示。DIN极大的提高了模型的表达能力,更好的捕捉用户兴趣的多种特征。
  • DIN中用户兴趣表示为 v U ( A ) = f ( e A , e 1 , e 2 , . . . , e H ) = ∑ j = 1 H a ( e A , e j ) e j = ∑ j = 1 H w j e j \bold{v}_U(A) = f(\bold{e}_A,\bold{e}_1,\bold{e}_2,...,\bold{e}_H) = \sum_{j=1}^Ha(\bold{e}_A,\bold{e}_j)\bold{e}_j=\sum_{j=1}^Hw_j\bold{e}_j vU(A)=f(eA,e1,e2,...,eH)=j=1Ha(eA,ej)ej=j=1Hwjej,值得注意的是标准注意力机制中的限制 ∑ j = 1 H w j = 1 \sum_{j=1}^Hw_j=1 j=1Hwj=1并没有被采用, v U ( A ) \bold{v}_U(A) vU(A)的大小可以近似表示用户兴趣的强烈程度。
  • DIN提出mini-batch感知的正则化,节省了深度模型正则化的计算量,避免参数过拟合。
  • DIN提出数据自适应激活函数,通过考虑输入的分布扩展PReLU函数,提升模型效果。
  • 试图采用LSTM建模建用户历史行为序列数据,但是没有提升。不同于NLP任务中遵循语法约束的文本序列,用户行为序列可能同时包含多种兴趣。用户兴趣点的跳转以及终止使用户行为序列看起来类似噪音。一个可能是方向是设计特殊的结构以序列的方式建模行为数据.

DIEN

在这里插入图片描述

  • 最终的兴趣表示 h ′ ( T ) = F ( b 1 , b 2 , . . . , b T ) h'(T)=F(\bold{b}_1,\bold{b}_2,...,\bold{b}_T) h(T)=F(b1,b2,...,bT)经过了嵌入层、兴趣抽取层、兴趣演变层。
  • 嵌入层将用户历史行为序列从稀疏的高维表示 { b i ∣ i ∈ [ 1 , T ] } \{\bold{b}_i | i\in[1, T]\} {bii[1,T]}映射到稠密的低纬表示 { e i ∣ i ∈ [ 1 , T ] } ] \{\bold{e}_i|i\in[1,T]\}] {eii[1,T]}]。不同于DIN中将用户历史行为表示 e j \bold{e}_j ej直接作为用户的多种兴趣表示,DIEN设计一个专门的兴趣抽取层,采用GRU网络建模用户历史行为间的依赖关系:

u t = σ ( W u i t + U u h t − 1 + b u ) \bold{u}_t=\sigma(W^u\bold{i}_t + U^u\bold{h}_{t-1} + \bold{b}^u) ut=σ(Wuit+Uuht1+bu)

r t = σ ( W r i t + U r h t − 1 + b r ) \bold{r}_t=\sigma(W^r\bold{i}_t+U^r\bold{h}_{t-1}+\bold{b}^r) rt=σ(Writ+Urht1+br)

h ~ t = t a n h ( W h i t + U h r t ∘ h t − 1 + b h ) \widetilde{\bold{h}}_t=tanh(W^h\bold{i}_t + U^h\bold{r}_t\circ\bold{h}_{t-1} + \bold{b}^h) h t=tanh(Whit+Uhrtht1+bh)

h t = ( 1 − u t ) ∘ h t − 1 + u t ∘ h ~ t \bold{h}_t = (\bold{1}-\bold{u}_t)\circ\bold{h}_{t-1} + \bold{u}_t \circ \widetilde{\bold{h}}_t ht=(1ut)ht1+uth t

  • G R U GRU GRU t t t时刻的隐状态 h t \bold{h}_t ht表示 t t t时刻的兴趣,但是GRU的隐状态并非用于兴趣表示的,所以设计了一个辅助任务,用于帮助隐状态的学习:

L o s s a u x = − 1 N ∑ i = 1 N ∑ t = 1 T ( l o g σ ( h t , e t + 1 ) + l o g ( 1 − σ ( h t , e t + 1 ′ ) ) ) Loss_{aux}=-\frac{1}{N}\sum_{i=1}^N\sum_{t=1}^T(log\sigma(\bold{h}_t,\bold{e}_{t+1}) +log(1 - \sigma(\bold{h}_t,\bold{e}_{t+1}'))) Lossaux=N1i=1Nt=1T(logσ(ht,et+1)+log(1σ(ht,et+1)))

  • 兴趣抽取层之后,得到了用户兴趣状态序列 h 1 , h 2 , . . . , h T \bold{h}_1, \bold{h}_2,...,\bold{h}^T h1,h2,...,hT.设计了用户兴趣演化网络层,建模用户兴趣中关于目标物品的兴趣的演化。

  • 通过注意力机制,选取用户兴趣状态序列中与目标物品相关的兴趣,然后通过RNN网络建模兴趣的演化过程,得到最终的用户兴趣 h T ′ \bold{h}_T' hT.

文中尝试了三种注意力机制与GRU的组合方式,分别是:

  • i t ′ = a ( e a , h t ) h t \bold{i}_t' = a(\bold{e}_a,\bold{h}_t)\bold{h}_t it=a(ea,ht)ht
  • h t ′ = ( 1 − a ( e a , h t ) ) h t − 1 ′ + a ( e a , h t ) h ~ t \bold{h}_t' = (1-a(\bold{e}_a,\bold{h}_t))\bold{h}_{t-1}' + a(\bold{e}_a, \bold{h}_t)\widetilde{\bold{h}}_{t} ht=(1a(ea,ht))ht1+a(ea,ht)h t
  • u t ′ = a ( e a , h t ′ ) u t ′ \bold{u}_t'=a(\bold{e}_a, \bold{h}_t')\bold{u}_t' ut=a(ea,ht)ut

DSIN

在这里插入图片描述

  • 前面的模型忽略了一个事实,那就是用户行为序列是分会话的
  • DSIN对用户历史行为的包含4层网络:
    • 会话分割层:将用户的历史行为划分为不同的会话
    • 会话兴趣抽取层:抽取会话内用户兴趣
    • 会话兴趣交互层:建模会话兴趣间的序列关系
    • 会话兴趣激活层:采用局部激活单元建模关于目标物品的兴趣

MMOE

在这里插入图片描述

  • 很多研究工作表明多任务模型的效果非常依赖任务间的内在相关性
  • 本论文采用合成数据的方式量化研究了任务相关性与多任务模型效果间的关系
  • 然而现实中任务间的相关性很难被量化,建立在任务间某种相关性基础上的多任务学习方式,适用范围比较小
  • MMOE并不会任务间的相关性做任何的假设,MMOE(多门混合专家模型)可表示为下列公式:

y k = h k ( f k ( x ) ) y_k=h^k(f^k(x)) yk=hk(fk(x))

f k ( x ) = ∑ i = 1 n g i k ( x ) f i ( x ) f^k(x) = \sum_{i=1}^ng_i^k(x)f_i(x) fk(x)=i=1ngik(x)fi(x)

g k ( x ) = s o f t m a x ( W g k x ) g^k(x) = softmax(W_{gk}x) gk(x)=softmax(Wgkx)

其中 y k , k ∈ [ 1 , K ] y_k,k\in[1,K] ykk[1,K]表示k个任务的拟合目标, h k ( . ) , k ∈ [ 1 , K ] h^k(.),k\in[1,K] hk(.)k[1,K]表示k个任务的独占网络, f i ( . ) , i ∈ [ 1 , n ] f_i(.),i\in[1,n] fi(.),i[1,n]表示n个专家网络, g k ( . ) g^k(.) gk(.)表示每个任务对应的控制门,这里控制门采用的结构是对输入 x x x做简单的转换后,通过softmax网络输出n个专家网络的分布。

PLE

在这里插入图片描述

PLE模型通过三步缓解多任务学习中的负向迁移问题

  • 提出CGC(Customized Gate Control (CGC))模型,显式底区分开共享专家和独占专家网络。CGC模型的结构可以表示下列公式:

y k ( x ) = t k ( g k ( x ) ) y^k(x)=t^k(g^k(x)) yk(x)=tk(gk(x))

g k ( x ) = w k ( x ) S k ( x ) g^k(x)=w^k(x)S^k(x) gk(x)=wk(x)Sk(x)

w k ( x ) = s o f t m a x ( W g k x ) w^k(x)=softmax(W_{gk}x) wk(x)=softmax(Wgkx)

S k ( x ) = [ E ( k , 1 ) T , . . . , E ( k , m k ) T , E ( s , 1 ) T , . . . , E ( s , m s ) T ] T S^k(x)=[E_{(k,1)}^T,...,E_{(k,m_k)}^T,E_{(s,1)}^T,...,E_{(s,m_s)}^T]^T Sk(x)=[E(k,1)T,...,E(k,mk)T,E(s,1)T,...,E(s,ms)T]T

其中 S k ( x ) S^k(x) Sk(x)包含任务共享的专家网络和任务独占专家网络。这里采用的控制门的结构也是对输入 x x x做一次变化后通过softmax网络输出共享专家和独占专家网络的分布。

  • 通过多层控制门网络和渐进式分离路由扩展CGC模型
  • 优化损失函数以更好的处理多任务联合训练的难点
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值