- 分享主题:PLE
- 论文标题:Progressive Layered Extraction (PLE): A Novel Multi-Task Learning (MTL) Model for Personalized Recommendations
- 论文链接:https://dl.acm.org/doi/pdf/10.1145/3383313.3412236
- 分享人:唐共勇

1. Summary

【必写】,推荐使用 grammarly 检查语法问题,尽量参考论文 introduction 的写作方式。需要写出

  1. 这篇文章解决了什么问题?
  2. 作者使用了什么方法(不用太细节)来解决了这个问题?
  3. 你觉得你需要继续去研究哪些概念才会加深你对这篇文章的理解?

In the existing multi-objective model, it is difficult to optimize multiple objectives at the same time. Usually, the improvement of one task index is accompanied by the decline of other task indexes. This phenomenon is called the seesaw phenomenon in this paper. To solve the above “seesaw” phenomenon, this paper redesigns the sharing mechanism between multi-tasks and the specific network structure of a single task and proposes a progressive hierarchical extraction (PLE) model for sharing structure design. It consists of two parts, one is a gating (CGC) model that explicitly distinguishes shared expert tower and task-specific expert tower, and the other is a PLE model that extends from single-layer CGC structure to multi-layer. At the same time, a large number of experiments are carried out on the online and offline performance of the PLE model, and the experimental results prove the superiority of the PLE model.

2. 你对于论文的思考

需要写出你自己对于论文的思考,例如优缺点,你的takeaways

  1. 单层的多任务网络结构(CGC)中,每个任务有一个独立的专家网络,然后每个任务也都从共享专家网络里面提取特征信号,这样保证了单任务有两个特征信号来源:独有信号和糅合共享信号。
  2. 对于我的论文,可以借鉴其观点,将原本的专家网络改造成每个域所对应的特有网络,然后通过聚类模块整合全局信息用于共享

    3. 其他

    【可选】

image.png
1)Hard Parameter Sharing:最为常见的MTL模型,不同的任务底层的模块是共享的,然后共享层的输出分别输入到不同任务的独有模块中,得到各自的输出。当两个任务相关性较高时,用这种结构往往可以取得不错的效果,但任务相关性不高时,会存在负迁移现象,导致效果不理想。
2)Asymmetry Sharing(不对称共享):可以看到,这种结构的MTL,不同任务的底层模块有各自对应的输出,但其中部分任务的输出会被其他任务所使用,而部分任务则使用自己独有的输出。哪部分任务使用其他任务的输出,则需要人为指定。
3)Customized Sharing(自定义共享):这种结构的MTL,不同任务的底层模块不仅有各自独立的输出,还有共享的输出。
4)MMoE:底层包含多个Expert,然后基于门控机制,不同任务会对不同Expert的输出进行过滤。
image.png
为了解决seesaw phenomenon和negative transfer效应,文章提出了PLE网络结构,而PLE结构可以看做是CGC网络结构的进一步扩展(CGC是single-level的,PLE是multi-level的)。整个CGC网络结构如上图所示。从图中的网络结构可以看出,CGC的底层网络主要包括shared experts和task-specific expert构成,每一个expert module都由多个子网络组成,子网络的个数和网络结构(维数)都是超参数;上层由多任务网络构成,每一个多任务网络(towerA和towerB)的输入都是由gating网络进行加权控制,每一个子任务的gating网络的输入包括两部分,其中一部分是本任务下的task-specific部分的experts和shared部分的experts组成(即gating network网络结构中的vector1……vector m),输入input作为gating network的selector。而gating网络的结构也是比较简单的,只是一个单层的前向FC,利用输入作为筛选器(selector)从而获得不同子网络所占的权重大小,从而得到不同任务下gating网络的加权和。也就是说CGC网络结构保证了,每个子任务会根据输入来对task-specific和shared两部分的expert vector进行加权求和,从而每个子任务网络得到一个embedding,再经过每个子任务的tower就得到了对应子任务的输出。
CGC网络的好处是即包含了task-specific网络独有的个性化信息,也包含了shared网络具有的更加泛化的信息,文章指出虽然MMoE模型在理论上可以得到同样的解,但是在实际训练过程中很难收敛到这种情况。
image.png