Motivation
1.解决多任务学习的跷跷板问题方案
Customized Gate Control Model (CGC, 定制化门控控制模型)
1.CGC 结构主要分解为理解三层: 底层 experts => 上层 task tower => 门控 gating network
2.底层 experts: 有两种结构
(i). task-specific 的 experts, 针对每个 task 都有自己的独立的 experts
(ii). shared experts: 全局唯一的一个 shared experts, 是保留了一个 shared bottom 的结构
3.上层 task tower: 对于每个 task 都搭建个 task’s tower network, 每个 task 只从自己对应的 task-specific experts和全局唯一的 shared experts 里面获取信息; GCG 相比 MMOE 核心改进是切断了当前的 task tower 和其他 task-specific experts 之间的联系, 不要让 task 和 task 之间直接产生干扰, 只让 task tower 和 shared experts 产生可能的联系
4.gating network: gate 其实也是一个网络, 实现了 selective fusion (有选择的信息融合), 对于 task $k$ , 它的 gating network 的输出记录为 $g^k(x)$
5.最终对于 task $k$ 的输出为tower $t^k$ 乘以 $g^k(x)$ , CGC结构可以理解为对task tower做二级reweight, 如果展开整个式子容易看清楚;
intuitively,
1.拆解化理解 CGC 分两步,
(i). 我们先盖住图片中的虚线的部分和 shared experts (以及它的连线) 部分, 其实就是单纯的多塔结构
(ii). 引入一个 shared experts, 通过 gate 结构连接起来 shared expert 和 task tower 的关系, 这个关系的形成需要结合[shared experts] 和 [task specific experts] 联合出来的某个 weight
2.理解 CGC 结构可以理解为对 task tower 做二级 reweight, 第一级做在 input 上面, 第二级做在 task 上面
Reference
[1]. Progressive Layered Extraction (PLE): A Novel Multi-Task Learning (MTL) Model for Personalized Recommendations.
转载请注明来源, from goldandrabbit.github.io