多任务学习:原理、应用与技巧
1. 多任务学习助力主任务的原因
多任务学习(MTL)在某些情况下能够显著提升主任务的学习效果,主要有以下几个原因:
- 共享子特征信息 :以任务 1 为例,它需要学习子特征 Parity(B2 · · · B6),而任务 2 - 4 能为网络提供关于该子特征的额外信息。当 B1 = 1 时,任务 1 的训练信号不包含 Parity(B2 · · · B6) 的信息,即 B1 对其进行了“掩码”操作。但任务 2 的训练信号能在任务 1 被掩码的情况下提供该子特征的信息。因此,同时训练任务 1 和 2 的网络隐藏层,相比只训练单个任务的网络,能获得两倍关于该子特征的信息。
- 更好地选择输入特征 :所有任务都基于相同的输入(比特 B1 · · · B6),并忽略相同的输入(B7 和 B8)。由于任务在使用和不使用的特征上存在重叠,MTL 网络能更有效地选择输入特征。
- 促进学习良好的内部表示 :不同任务使用输入的方式之间存在关系,有助于学习良好的内部表示。例如,所有任务都将输入 B1 与输入 B2 · · · B6 的函数进行逻辑组合,这种相似性可防止网络学习直接组合比特 B1 和 B2 等不合理的内部表示。训练所有任务的网络倾向于学习更模块化、更正确的内部表示,以支持多个任务,从而减少学习有限训练样本中虚假相关性的可能性。
2. 现实世界中多任务学习的应用技巧
在现实世界中,许多问题都为多任务学习提供了机会,以下是一些典型的应用场景:
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



