技术指南

多任务学习

多任务学习训练一个模型同时执行多个相关任务,并在它们之间共享内部表示。

听听这个指南AI叙述 · ~2 min

在本页阅读时间:2分钟
  1. 概述
  2. 深入探讨
  3. 现实世界的实施
  4. 多任务学习的未来
  5. 付诸实践
  6. 不断探索
  7. 常见问题

概述

通过学习共享结构,每个任务都可以帮助其他任务,通常比训练单独的模型提高准确性和数据效率。

深入探讨

多任务学习 (MTL) 不是为每个任务构建单独的模型,而是使用一个共享主干,该主干分支为特定于任务的头。例如,自动驾驶感知网络可能共享一个视觉编码器,然后分成多个头来检测汽车、分割道路和估计深度。共享层学习跨任务有用的通用特征,而每个头则专门化。这充当了归纳偏差和正则化的一种形式:来自一个任务的信号限制了共享表示,减少了过度拟合并提高了泛化性,特别是当某些任务数据很少时。主要挑战是平衡任务——如果它们的损失规模或梯度发生冲突,一个任务可能占主导地位,而其他任务则会受到影响,这一问题称为负迁移。损失权重、基于不确定性的权重和梯度手术等技术旨在保持任务合作而不是竞争。

现实世界的实施

自动驾驶感知堆栈共享一个视觉编码器,用于对象检测、车道分割和深度估计。

使用单个共享网络处理翻译、摘要、情感和问答的大型语言模型。

推荐系统联合预测点击次数、观看时间和购买次数,以优化用户参与度。

医学成像模型可在同一次扫描中同时检测肿瘤、分割其边界并对其类型进行分类。

多任务学习的未来

多任务学习支撑了通才模型的趋势。大型语言模型本质上是多任务的——一个网络处理翻译、摘要、编码和问答——而多模态系统将其扩展到文本、图像和音频。预计统一架构和指令调整的使用将越来越多,将许多任务折叠到一个模型中,再加上更好的自动任务平衡和路由(如专家混合),因此添加任务不再意味着添加单独的模型。

付诸实践

为什么这很重要

  • 成本与预算. 多年来,架构决策决定着性能和运营成本。
  • 更清晰的判决. 技术教育帮助团队选择正确的堆栈,而不仅仅是最新的堆栈。
  • 质量控制. 更好的工程选择可以减少生产中的可靠性事故。

留意

  • 优化一项基准测试可以隐藏更广泛的系统弱点。
  • 基础设施和维护成本常常被低估。
  • 随着系统变得更加复杂,安全性和可观察性差距可能会扩大。

后续步骤

  1. 在实施之前定义延迟、质量和成本目标。
  2. 在实际负载和数据条件下进行基准测试。
  3. 仪器监控错误、漂移和用户影响。
  4. 在扩展之前准备回滚和事件响应路径。

不断探索

免费通讯

获取每日AI简报

每个工作日早晨提供三条经过验证的AI故事,使用简明英文撰写。永久免费,无广告。

每个工作日发送一封邮件。一键退订。我们永不出售或分享您的地址。

测试一下自己

Take the Multi-Task Learning quiz

每个答案即时反馈,课程通过后可获得可验证ID的可分享证书。

开始测验

支持免费AI教育。AI Understanding是一家501(c)(3)非营利组织——无广告,无付费墙,永不收费。 捐款

常见问题

什么是多任务学习?

多任务学习训练一个模型同时执行多个相关任务,并在它们之间共享内部表示。通过学习共享结构,每个任务都可以帮助其他任务,通常比训练单独的模型提高准确性和数据效率。

训练时如何建立多任务学习模型?

MTL 在多个任务上训练单个模型,因此共享层捕获对所有任务有用的结构。

在典型的硬参数共享 MTL 网络中,什么是共享的,什么是独立的?

硬参数共享使用用于一般功能的公共主干和专门用于每个任务的单独头。

为什么多任务学习可以提高泛化能力?

学习多个任务会限制共享特征,作为正则化,通常尤其有助于低数据任务。

什么是多任务学习中的“负迁移”?

冲突的梯度或显性损失可能会导致一项任务降低其他任务的质量,这与有益的迁移相反。

多任务学习中总体损失通常是如何形成的?

目标通常是 Σ wᵢ Lᵢ,并且选择权重至关重要,因为任务的规模和难度各不相同。