介绍系统中多义务学习的优化思绪 一文汇总
多义务学习是介绍系统中十分经常出现的一个疑问。介绍系统中,经常要对多个指标启动预测,比如点击率、转化率、观看时长等等。将这些义务联结学习,宿愿经过不同的监视消息,相互增强各自指标的拟合才干。然而同时,不同指标之间又不必定是正向相关,或者存在负向迁徙疑问,存在跷跷板现象。因此,如何最好的施展多义务学习的作用,到达各个义务联结最优,不时是一个介绍系统畛域的外围钻研疑问。
这篇文章就给大家汇总一下,介绍系统中经常出现的多义务学习处置思绪。全体可以分为参数共享/私无模式、梯度平衡、表征学习优化等几个方面。
参数共享/私无模式
不同义务之间如何启动参数的共享,哪些参数又该作为该义务的私有参数,这个方面不时是多义务学习中的一个外围钻研点。最早的文章由谷歌等机构宣布在KDD2018 Modeling task relationships in multi-task learning with multi-gate mixture-of-experts ,这篇文章提出了一种基于门控的多专家网络(MMoE),处置多义务学习疑问。在底层网络中,有多个并行的NN网络,每个NN网络就是一个expert。每个义务的预测经常使用这些expert的加权求和获取,权重由一个门控网络依据输入样本生成。经过这种模式,各个expert是参数共享的,能够最大限制共享各个义务的消息,同时经过gate针对不同义务并重各自的expert,成功必定水平的参数隔离,缓解各个义务之间的负向影响。
SNR: Sub-Network Routing for Flexible Parameter Sharing in Multi-Task Learning(AAAI 2019) 是谷歌提出的另一篇多义务学习网络结构。SNR相比MMoE愈加灵敏,重要体如今把各个Expert拆成了更细的粒度,把每个专家拆成多层,每层之间都能启动路由,使得NN网络的义务间共享私无机制愈加灵敏。
Progressive Layered Extraction (PLE): A Novel Multi-Task Learning (MTL) Model for Personalized Recommendations(RecSys 2020) 是腾讯在2020提出的一种多专家网络结构。之前的多专家网络一切Expert都是各个义务共享的,只靠Gate控制各个义务关于各个expert的经常使用水平,依然比拟容易产生跷跷板现象。为了缓解这个疑问,PLE提出了在网络中参与组个每个义务独立,和睦其余义务共享的参数。经过这种模式,让每个义务有自己独立的参数空间,大幅缓解了多义务学习中的跷跷板现象。
梯度平衡
因为不同义务的数据散布不同,各个义务在反向流传时的梯度也不同。这就或者产生,某些义务的梯度十分大,把学习环节主导了,造成其余义务学习不好的状况。为了处置这类疑问,一些上班专门钻研如何设计更好的优化器,平衡各个义务之间的梯度。
MetaBalance: Improving Multi-Task Recommendations via Adapting Gradient Magnitudes of Auxiliary Tasks(WWW 2022) 提出了一种梯度平衡的方法。本文面临的疑问是,引入辅佐义务优化主义务,然而辅佐义务梯渡过大造成主导了训练,反而影响了主义务成果的疑问。为了处置这个疑问,文中驳回范数来解放辅佐义务的梯度,让辅佐义务梯度的范数和主义务尽或者分歧。范数的计算驳回滑动平均的方法,计算历史累积范数的滑动平均值,防止单次范数计算动摇较大。经过,间接解放范数的结果或者并不是最优的梯度降级模式,因此文中还引入了一个系数,融合范数解放前后的梯度。
AdaTask: A Task-Aware Adaptive Learning Rate Approach to Multi-Task Learning(AAAI 2023) 提出了在Adam、Adagrad等优化器中,引入思考多义务之间梯度大小的消息,让这些优化器在多义务学习的优化中平衡不同义务的梯度大小。全体的成功思绪为,原来大Adagrad等方法会依据历史梯度消息调整每个参数的学习率。本文的AdaTask在此基础上,参与了一个义务维度,也就是每个义务、每个参数,依据历史梯度消息调整下一步的学习率。
表征学习优化
多义务联结学习的一个外围目的,就是为了让应用多个义务的指标,独特降级底层表征,优化底层表征的表白才干,进而优化各个义务的成果。在谷歌的文章 Can Small Heads Help? Understanding and Improving Multi-Task Generalization(WWW2022) 中,提出了一个多义务表征学习的矛盾点。普通多义务学习都由共享参数和私有参数两局部组成,假设私有参数量太小,就会造成存在负向迁徙的各个义务之间成果相互影响,降低全体多义务学习的成果。假设私有参数量太大,模型的自在度很高,底层表征就不可学到兼容各个义务的消息了。
为了处置这个疑问,本文提出了在每个义务的原始输入head基础上,参与一个小的输入head,这个小的输入head也拟合对应的义务,作为辅佐塔。其目的是增加私有head参数的参数量,以此成功让底层表征必定抽取出多义务共享的消息,进而优化多义务底层表征的泛化才干。
本文转载自,作者: