多目标建模算法PLE

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6

1. 概述

在现如今的推荐系统或者搜索中都存在多个目标多目标的算法在现如今的系统中已然成为了标配。在多目标的建模过程中如果不同的学习任务之间较为相关时多个任务之间可以共享一部分的信息这样最终能够提升整体的模型学习效果。但是如果多个任务之间的相关性并不强或者说多个任务之间存在某种冲突这样通过部分的共享就会起到事与愿违的效果这便是通常所说的在多任务建模中出现的负迁移negative transfer现象即在相关性不强或者无相关性的多任务环境下进行信息共享最终影响整体的网络效果MMoE[1]便是在这样的情况下被提出。在MMoE中通过共享多个专家expert实现信息的共享同时针对每一个上层任务task都有对应的门控函数gate学习到多个专家对于特定任务的贡献程度即专家的分布。以此实现了对任务之间的关联和区别的学习。

然而在多任务建模过程中还存在另外一种现象称为跷跷板现象seesaw phenomenon。简单来说跷跷板现象就是在对多个目标进行优化的过程中一个任务指标的提升伴随着另外一些任务指标的下降。出现这种现象的主要原因是多个任务之间出现较多的共享MMoE算法中也不能有效解决这样的一个问题。PLEProgressive Layered Extraction[2]模型在MMoE的基础上通过对共享的网络结构优化在原先的共享部分又增加了task-specific的部分同时为了增强网络的效果构造了多层的网络结构。

2. 算法原理

2.1. Customized Gate Control

为解决上述提出的两个问题参考[2]中首先提出了CGCCustomized Gate Control网络。在CGC网络中在共享专家网络的基础上又针对特定的任务有特定的专家网络以此增强每个任务的效果。CGC的网络结构如下图所示

在这里插入图片描述

在CGC的网络结构中其底层网络包括了shared experts和task-specific expert两个部分且每一个expert部分都是由多个expert组成上层针对每一个任务都有一个门控网络且门控网络的输入是共享的experts和该任务对应的experts。由此可见在CGC网络中既包含了task-specific网络针对特定任务独有的信息也包含了shared网络共享的信息以上图为例假设 [ E ( k , 1 ) T , E ( k , 2 ) T , ⋯   , E ( k , m k ) T ] \left [ E_{\left ( k,1 \right )}^T,E_{\left ( k,2 \right )}^T,\cdots, E_{\left ( k,m_k \right )}^T \right ] [E(k,1)T,E(k,2)T,,E(k,mk)T]为指定任务 k k k对应的多个专家的输出 [ E ( s , 1 ) T , E ( s , 2 ) T , ⋯   , E ( s , m s ) T ] \left [ E_{\left ( s,1 \right )}^T,E_{\left ( s,2 \right )}^T,\cdots, E_{\left ( s,m_s \right )}^T \right ] [E(s,1)T,E(s,2)T,,E(s,ms)T]为共享部分的多个专家的输出这两个输出组合成上层门控网络的输入 S k ( x ) S^k\left ( x \right ) Sk(x)

S k ( x ) = [ E ( k , 1 ) T , E ( k , 2 ) T , ⋯   , E ( k , m k ) T , E ( s , 1 ) T , E ( s , 2 ) T , ⋯   , E ( s , m s ) T ] S^k\left ( x \right )=\left [ E_{\left ( k,1 \right )}^T,E_{\left ( k,2 \right )}^T,\cdots, E_{\left ( k,m_k \right )}^T, E_{\left ( s,1 \right )}^T,E_{\left ( s,2 \right )}^T,\cdots, E_{\left ( s,m_s \right )}^T \right ] Sk(x)=[E(k,1)T,E(k,2)T,,E(k,mk)T,E(s,1)T,E(s,2)T,,E(s,ms)T]

门控网络的计算输出 g k ( x ) g^k\left ( x \right ) gk(x)

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

其中 w k ( x ) = S o f t m a x ( W g k x ) w^k\left ( x \right )=Softmax\left ( W_g^kx \right ) wk(x)=Softmax(Wgkx) W g k ∈ R ( m k + m s ) × d W_g^k\in \mathbb{R}^{\left ( m_k+m_s \right )\times d} WgkR(mk+ms)×d

2.2. Progressive Layered Extraction

在深度学习中为了使得模型能够具有更好的泛化能力通常的方法是构建更深的网络。同样为了能够得到更具有泛化能力的网络可以将上述网络构建得更深这便有了PLE结构。简单来说PLE结构可以看做是CGC网络结构的扩展由single-level的CGC衍生为multi-level的PLE。具体的PLE网络结构如下图所示

在这里插入图片描述
与CGC网络相比除了第一个Extraction Network的输入是原始的Input其余的Extraction Network的输入是上一个Extraction Network的输出即包含两个大的部分即特定任务对应的专家网络输出如上图中的Experts A和Experts B的输出另外一个是共享专家网络的输出如上图中的Experts Shared的输出。

2.3. 损失函数

在多任务重其损失函数为各任务损失的加权求和即为

L k ( θ 1 , ⋯   , θ K , θ s ) = ∑ k = 1 K ω k L k ( θ k , θ s ) L_k\left ( \theta _1,\cdots ,\theta _K,\theta _s \right )=\sum_{k=1}^{K}\omega _kL_k\left ( \theta _k,\theta _s \right ) Lk(θ1,,θK,θs)=k=1KωkLk(θk,θs)

其中 ω k \omega _k ωk为第 k k k个任务的权重对于权重的设置参考[2]中给出了如下的迭代公式

ω k ( t ) = ω k , 0 × γ k t \omega _k^{\left ( t \right )}=\omega _{k,0}\times \gamma _k^t ωk(t)=ωk,0×γkt

其中 γ k \gamma _k γk为更新率。对于任务 k k k的损失函数 L k ( θ k , θ s ) L_k\left ( \theta _k,\theta _s \right ) Lk(θk,θs)参考[2]中给出了如下的公式

L k ( θ k , θ s ) = 1 ∑ i δ k i ∑ i δ k i    l o s s k ( y ^ k i ( θ k , θ s ) , y k i ) L_k\left ( \theta _k,\theta _s \right )=\frac{1}{\sum_{i}\delta _k^i}\sum_{i}\delta _k^i\;loss_k\left ( \hat{y}_k^i\left ( \theta _k,\theta _s \right ),y_k^i \right ) Lk(θk,θs)=iδki1iδkilossk(y^ki(θk,θs),yki)

因为存在不同任务上的样本空间不一致的问题因此在特定的任务中计算损失函数时选择在其空间上的样本即对于 δ k i \delta _k^i δki其取值为 0 0 0或者 1 1 1表示的是第 i i i个样本是否属于第 k k k个任务的样本空间。

3. 总结

为了解决多任务模型中普遍存在的负迁移和跷跷板现象在MMoE模型的基础上提出了CGC模型在共享专家的基础上增加了针对特定任务的专家网络可以针对特定任务学习到独有的网络部分从而避免任务之间的相互影响同时为了进一步提升整体网络的泛化效果在CGC的基础上通过堆叠Extraction Network构造了更深的网络结构进一步提升多任务模型的学习效果。

参考文献

[1] Ma J, Zhao Z, Yi X, et al. Modeling task relationships in multi-task learning with multi-gate mixture-of-experts[C]//Proceedings of the 24th ACM SIGKDD International Conference on Knowledge Discovery & Data Mining. 2018: 1930-1939.

[2] Tang H, Liu J, Zhao M, et al. Progressive layered extraction (ple): A novel multi-task learning (mtl) model for personalized recommendations[C]//Fourteenth ACM Conference on Recommender Systems. 2020: 269-278.

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6
返回列表

上一篇:C语言:函数

下一篇:WC2023游记

“多目标建模算法PLE” 的相关文章