1.【MMoE】《Modeling Task Relationships in Multi-task Learning with Multi-gate Mixture-of-Experts》
作者: Ma, Jiaqi and Zhao, Zhe and Yi, Xinyang and Chen, Jilin and Hong, Lichan and Chi, Ed H.
发布时间: 2018-07
来源: In Proceedings of the 24th ACM SIGKDD International Conference on Knowledge Discovery & Data Mining (KDD '18). Association for Computing Machinery。cites:73。
引用数: 182
地址: https://doi.org/10.1145/3219819.3220007
笔记: 多任务学习模型 based on Multi-gate Mixture-of-Experts。如下图©所示。模型是在shared bottom模型的基础上进行改进,混合多个expert和gate。each tower network is a single-layer neural network with 8 hidden units. and each expert implemented as a single-layer network with 16 hidden units。模型原理: h k h^k hk表示tower network, f k ( x ) f^k(x) fk(x)表示expert network, g k ( x ) g^k(x) gk(x)表示gate。 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 k ( x ) i f i ( x ) f^k(x)=\sum_{i=1}^{n}g^k(x)_if_i(x) fk(x)=i=1∑ngk(x)ifi(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)
2.【DMTL】《Distillation based Multi-task Learning: A Candidate Generation Model for Improving Reading Duration》
作者: Zhong Zhao and Yanmei Fu and Hanming Liang and Li Ma and Guangyao Zhao and Hongwei Jiang
发布时间: 2021-02
来源: eprint arXiv:2102.07142
引用数:
地址: https://arxiv.org/abs/2102.07142
笔记: 背景:low quality but attractive title 被推荐给用户,破坏用户行为。解决方案:为点击和阅读时长同时建模。多任务学习【MTL】。两个挑战:对没有标记dislike的0阅读时长的负样本处理;在只能处理单任务的双塔结构候选集生成模型上进行多任务学习。由两个模型【ESMM模型】和【DSSM模型】组合构建。两个任务:the click task and the duration task。利用MMoE模型构建多任务学习模型。其CTR和CVR的计算如下,其中g(x)和f(x)在MMoE模型中有介绍。 e c ( x i ) = ∑ k = 1 K g c k ( x i ) f k ( x i ) ( 公 式 2 ) e_c(x_i)=\sum_{k=1}^{K}g_{ck}(x_i)f_k(x_i) \space\space\space\space\space\space\space\space(公式2) ec(xi)=k=1∑Kgck(xi)fk(xi) (公式2) e d ( x i ) = ∑ k = 1 K g d k ( x i ) f k ( x i ) ( 公 式 3 ) e_d(x_i)=\sum_{k=1}^{K}g_{dk}(x_i)f_k(x_i) \space\space\space\space\space\space\space\space(公式3) ed(xi)=k=1∑Kgdk(xi)fk(xi) (公式3)对于样本x的pCTR和pCVR的计算如下,其中 h ( ⋅ ) h(·) h(⋅)在MMoE模型中有介绍。 P c t r ( x i , θ t ) = s i g m o i d ( h c ( e c ( x i ) ) ) ( 公 式 4 ) Pctr(x_i,\theta_t)=sigmoid(h_c(e_c(x_i))) \space\space\space\space\space\space\space\space(公式4) Pctr(xi,θt)=sigmoid(hc(ec(xi))) (公式4) P c v r ( x i , θ t ) = s i g m o i d ( h d ( e d ( x i ) ) ) ( 公 式 5 ) Pcvr(x_i,\theta_t)=sigmoid(h_d(e_d(x_i))) \space\space\space\space\space\space\space\space(公式5) Pcvr(xi,θt)=sigmoid(hd(ed(xi))) (公式5)根据 P c t r Pctr Pctr和 P c v r Pcvr Pcvr计算出 P c t c v r Pctcvr Pctcvr, P c t c v r ( x i , θ t ) = P c t r ( x i , θ t ) P c v r ( x i , θ t ) ( 公 式 6 ) Pctcvr(x_i,\theta_t)=Pctr(x_i,\theta_t)Pcvr(x_i,\theta_t) \space\space\space\space\space\space\space\space(公式6) Pctcvr(xi,θt)=Pctr(xi,θt)Pcvr(xi,θt) (公式6)the duration task的损失函数,二分类交叉熵: L d ( θ t ) = − ∑ i = 1 N z i l o g p c t c v r ( x i , θ t ) + ( 1 − z i ) l o g ( 1 − l o g p c t c v r ( x i , θ t ) ) ( 公 式 7 ) L_d(\theta_t)=-\sum_{i=1}^{N}z_ilogp_{ctcvr}(x_i,\theta_t)+(1-z_i)log(1-logp_{ctcvr}(x_i,\theta_t))\space\space\space\space\space\space\space\space(公式7) Ld(θt)=−i=1∑Nzilogpctcvr(xi,θt)+(1−zi)log(1−logpctcvr(xi,θt)) (公式7)the click task的损失函数,二分类交叉熵: L c ( θ t ) = − ∑ i = 1 N z i l o g p c t r ( x i , θ t ) + ( 1 − z i ) l o g ( 1 − l o g p c t r ( x i , θ t ) ) ( 公 式 8 ) L_c(\theta_t)=-\sum_{i=1}^{N}z_ilogp_{ctr}(x_i,\theta_t)+(1-z_i)log(1-logp_{ctr}(x_i,\theta_t))\space\space\space\space\space\space\space\space(公式8) Lc(θt)=−i=1∑Nzilogpctr(xi,θt)+(1−zi)log(1−logpctr(xi,θt)) (公式8)由两个任务的损失函数可以得到多任务学习器的损失函数: L t e a c h e r ( θ t ) = w 1 L d ( θ t ) + w 2 L c ( θ t ) ( 公 式 9 ) L_{teacher}(\theta_t)=w_1L_d(\theta_t)+w_2L_c(\theta_t)\space\space\space\space\space\space\space\space(公式9) Lteacher(θt)=w1Ld(θt)+w2Lc(θt) (公式9)以上就是DMTL模型中的MMoE模块部分。
利用DSSM蒸馏候选集生成,使用双塔结构,利用DNNs分别计算user vector( R ( u i ) R(u_i) R(ui))和item vector( S ( v i ) S(v_i) S(vi)),根据两个向量可以预测CTCVR: p ( z i = 1 ∣ R ( u i ) , S ( v i ) , θ s ) = s i g m o i d ( R ( u i ) T S ( v i ) ) ( 公 式 10 ) p(z_i=1|R(u_i),S(v_i),\theta_s)=sigmoid(R(u_i)^TS(v_i))\space\space\space\space\space\space\space\space(公式10) p(zi=1∣R(ui),S(vi),θs)=sigmoid(R(ui)TS(vi)) (公式10)其中 θ \theta θ是可训练的参数,期望就是【公式6】和【公式10】尽可能相等。因此,可以在保持候选生成模型高效的同时使用【公式10】精确地估计CTCVR。把多任务模型【公式9】称teacher,双塔候选集生成模型【公式10】称student。然后使用蒸馏方法将学到的知识从teacher转到student。蒸馏的loss使用KL散度: L s t u d e n t ( θ s ) = P c t c v r ( x i , θ t ) P c t c v r ( x i , θ t ) p ( z i = 1 ∣ R ( u i ) , S ( v i ) , θ s ) + ( 1 − P c t c v r ( x i , θ t ) ) 1 − P c t c v r ( x i , θ t ) 1 − p ( z i = 1 ∣ R ( u i ) , S ( v i ) , θ s ) ( 公 式 11 ) L_{student}(\theta_s)=Pctcvr(x_i,\theta_t)\frac{Pctcvr(x_i,\theta_t)}{p(z_i=1|R(u_i),S(v_i),\theta_s)}+(1-Pctcvr(x_i,\theta_t))\frac{1-Pctcvr(x_i,\theta_t)}{1-p(z_i=1|R(u_i),S(v_i),\theta_s)}\space\space\space\space\space\space\space\space(公式11) Lstudent(θs)=Pctcvr(xi,θt)p(zi=1∣R(ui),S(vi),θs)Pctcvr(xi,θt)+(1−Pctcvr(xi,θt))1−p(zi=1∣R(ui),S(vi),θs)1−Pctcvr(xi,θt) (公式11)然后整合teacher的loss和student的loss: L ( θ t , θ s ) = L t e a c h e r ( θ t ) + L s t u d e n t ( θ s ) L(\theta_t,\theta_s)=L_{teacher}(\theta_t)+L_{student}(\theta_s) L(θt,θs)=Lteacher(θt)+Lstudent(θs)以上就是DMTL模型原理。
3.【Wide&Deep】《Wide & Deep Learning for Recommender Systems》
作者: Cheng, Heng-Tze and Koc, Levent and Harmsen, Jeremiah and Shaked, Tal and Chandra, Tushar and Aradhye, Hrishi and Anderson, Glen and Corrado, Greg and Chai, Wei and Ispir, Mustafa and Anil, Rohan and Haque, Zakaria and Hong, Lichan and Jain, Vihan and Liu, Xiaobing and Shah, Hemal
发布时间: 2016-09
来源: Association for Computing Machinery / Proceedings of the 1st Workshop on Deep Learning for Recommender Systems
引用数: 1009
地址: https://doi.org/10.1145/2988450.2988454
笔记: 背景:1、广泛的特征转换向量积记录特征之间的交互有效且可解释,但是需要更多的特征工程。2、深度学习模型通过学习稀疏特征的低维稠密向量可以更好地表示隐含特征组合。并且只需要较少的特征工程。结合两者的优势:wide linear model的特征交互标记和deep neural network的隐含特征组合学习。
Wide模块是一个线性模型, y = w T x + b y=w^Tx+b y=wTx+b.input包含未处理的特征和转换过的特征。转换的方法为特征向量积 ϕ k ( x ) = ∏ i = 1 d x i c k i c k i ∈ { 0 , 1 } \phi_k(x)=\prod\limits_{i=1}^{d}x_i^{c_{ki}}\space\space\space c_{ki}\in\{0,1\} ϕk(x)=i=1∏dxicki cki∈{0,1},其中 c k i c_{ki} cki是一个boolean变量,当第 i i i个特征是第 k k k转换变量 ϕ k \phi_k ϕk时值为1,否则为0。
Deep模块是一个反馈神经网络,将每个稀疏的、高维类别特征转换为低维的、稠密的向量。向量一开始被随机初始化,然后通过模型训练更新得到最终的低维稠密向量,并被输入到神经网络的隐藏层。隐藏层执行的操作是 a l + 1 = f ( W ( l ) a ( l ) + b ( l ) ) a^{l+1}=f(W^{(l)}a^{(l)}+b^{(l)}) al+1=f(W(l)a(l)+b(l)),其中 f f f为ReLU激活函数。
最终的预测模型为: P ( Y = 1 ∣ x ) = σ ( w w i d e T [ x , ϕ ( x ) ] + w d e e p T a ( l f ) + b ) P(Y=1|\mathbf x)=\sigma(\mathbf w^T_{wide}[\mathbf x, \phi(\mathbf x)]+\mathbf w^T_{deep}a^{(l_f)}+b) P(Y=1∣x)=σ(wwideT[x,ϕ(x)]+wdeepTa(lf)+b)
4.【DSSM】《Learning deep structured semantic models for web search using clickthrough data》
作者: Huang, Po-Sen and He, Xiaodong and Gao, Jianfeng and Deng, Li and Acero, Alex and Heck, Larry
发布时间: 2013-10
来源: Association for Computing Machinery / Proceedings of the 22nd ACM International Conference on Information & Knowledge Management
引用数: 599
地址: https://doi.org/10.1145/2505515.2505665
笔记: 模型运用于document rank 分为两步:1)将Term vector映射成语义特征向量;2)计算语义特征向量和query的相似度(cosine similarity)。其中第一部分如下图中的下半部分,是一个DNN网络,输出层和隐藏层使用的tanh激活函数。In web search, given the query, the documents are sorted by their semantic relevance scores。Word Hashing:在输入层使用word hashing来解决实际应用中词汇太大不好管理的问题。主要目的就是减少输入层bag-of-words向量的维度。原理:letter n-grams;e.g. 单词good加上开始和结束标识 => #good#,然后使用letter tri-grams => #go, goo, ood, od#,最后得到向量。下图是word hashing生成向量的不同n-grams的冲突情况。
5.【DeepFM】《A Factorization-Machine based Neural Network for CTR Prediction》
作者: Huifeng Guo, Ruiming Tang, Yunming Ye, Zhenguo Li, Xiuqiang He
发布时间: 2017-03
来源: eprint arXiv:1703.04247v1
引用数: 1188
地址: https://arxiv.org/abs/1703.04247
笔记: 结合现有的FM模型和DNN模型。自动学习特征(end-to-end),no need of feature engineering besides raw features。模型的灵感来自于【Wide&Deep模型】。FM模块负责一阶特征建模,输出一个 y F M y_{FM} yFM,DNN模块负责二阶特征交互建模,输出一个 y D N N y_{DNN} yDNN,最终模型预测的结果 y ^ = s i g m o i d ( y F M + y D N N ) \hat y=sigmoid(y_{FM} + y_{DNN}) y^=sigmoid(yFM+yDNN)。