跳到主内容

什么是多任务学习头?一个模型多个输出

2026-10-06 发布 来源:我告诉你AI导航 阅读

做内容审核的 AI 系统常遇到这样的排期:一条评论进来,要判断它是否违规、属于哪个话题、有没有广告嫌疑,三件事分别训了三个模型,三份算力、三次维护、三套上线流程。多任务学习头就是把这些合并的常见做法:一个共享的主干网络把输入读一遍,...

做内容审核的 AI 系统常遇到这样的排期:一条评论进来,要判断它是否违规、属于哪个话题、有没有广告嫌疑,三件事分别训了三个模型,三份算力、三次维护、三套上线流程。多任务学习头就是把这些合并的常见做法:一个共享的主干网络把输入读一遍,末端分出几个小头,各自给出一个任务的答案。本文讲清它的结构、共享带来的真实好处、任务之间互相拖累的机制,以及什么情况下该放弃共享。

结构:一份表示,几路输出

拆开看只有两部分。主干负责把原始输入转成一组特征表示,这部分所有任务共用;任务头是接在主干末端的一小段网络,把同一份特征翻译成该任务需要的格式——分类头输出类别概率,回归头输出一个数值,序列头输出一串标签。参数量上,主干通常占绝大部分,每个头只占很小一块,所以从两个任务加到三个任务,边际成本往往只有几个百分点。这也是它在工业界流行的原因:多做一个任务,比多训一个模型便宜得多。多任务学习是这套思路的总称,头只是它在网络结构上的落地形式。

共享到什么程度,是第一个决策

共享方式共享范围加一个任务的参数增量适合的情形
硬共享主干全部共用,只在末端分头很小,通常几个百分点任务同源、标注量差距大
部分共享前几层共用,后几层各自独立中等任务相关,但输出粒度差别大
完全分开不共享,各训一个模型成倍任务冲突明显,或其中一个优先级极高

这三行其实是同一条光谱上的三个位置,选哪个取决于任务冲突有多严重。冲突轻,共享得越彻底越省;冲突重,就要往右边挪,用参数换独立性。

收益从三次复用里来

第一层复用是算力:输入只过一次主干,不必为每个任务各跑一遍前向和反向。第二层是数据:某个任务标注少,它依然能从其他任务逼出来的通用特征里获益,相当于借了别人的标注。第三层是正则:同时满足几个目标,主干很难只迎合某一个任务的噪声,学出的表示往往更通用,对过拟合的抵抗力也更强。第三层最不直观,却常常是实际效果提升的主要来源。

代价:主干被几股力量拉扯

几个任务的梯度都往主干上灌,方向不一致时就会互相抵消甚至互相破坏,这种现象一般叫负迁移。典型例子是一个任务需要细粒度特征,比如区分退款和退货,另一个只需要粗粒度,判断是不是售后问题;共享主干被迫在两种粒度之间折中,结果两边都不够好。缓解手段有几类:调各任务损失的权重、让靠后的层不共享、按梯度大小动态调整各任务的贡献、给每个任务留一小段私有参数。选哪种取决于冲突的形态,没有通用解。

任务互相打架时更糟

多任务头不能凭空造出信息:某个任务本身标注质量差,共享再多也救不回来,甚至会把噪声传进主干,污染其他任务。它也不能让每个任务都变好,负迁移发生时,常见结果是平均指标上升、关键任务下降。任务权重的调节本身是个难题,权重设错,等于悄悄改掉了优化目标。评测也更麻烦:单任务模型看一个指标就够,多任务模型要看一组指标,还得判断这组指标的取舍是否可接受。最后,它和追求单任务极限效果的路线天然冲突——如果你的目标就是某一个任务拿到尽可能高的分数,分开训通常更省心。想理解主干怎么在下游任务上调整,可以对照微调的做法。

怎么判断值不值得用

先看任务之间是否共享同一类输入特征。都依赖同一批文本、同一张图、同一段语音,共享大概率有正收益;只是业务上相关、输入特征却各管一段,共享的理由就弱。再看标注量是否悬殊,悬殊时共享的价值最大,因为稀缺任务能借力。最后看优先级,如果某个任务的效果直接对应核心指标,而其他任务只是顺带,就要接受它可能被拉低,或者干脆把它单独拎出来训。三个问题都过了,再谈结构怎么搭。

速查:多任务学习头

  • 结构:共享主干加每任务一个小头
  • 省在哪:一次前向、借用标注、额外正则
  • 风险:梯度冲突导致负迁移,平均涨、单任务跌
  • 缓解:调损失权重、部分层不共享、动态平衡梯度
  • 前提:任务同源、标注量有差距、没有绝对优先的单任务

反馈页面信息

请描述需要更正的地方,页面标题和网址会自动附上。

也可以发邮件至 [email protected]