外观
迁移学习、微调、多任务学习(MTL)与联邦学习
Transfer Learning, Fine-tuning, Multitask Learning and Federated Learning
大多数机器学习模型都是独立训练的,不与其他模型进行任何交互。然而在真实世界的机器学习领域,有许多强大的学习技术依赖于模型之间的交互来提升性能。

下图总结了四种这样被广泛采用、必须了解的训练方法:

这种方法在以下情况尤其有用:
- 目标任务数据较少。
- 但某个相关任务数据充足。
其工作原理如下:
- 在相关任务上训练一个神经网络(neural network)模型(基础模型)。
- 用新的层(layers)替换基础模型的最后几层。
- 在目标任务上训练该网络,但在反向传播(backpropagation)过程中不更新未被替换层的权重(weights)。通过先在相关任务上训练模型,我们可以捕获目标任务的核心模式。之后,我们可以调整最后几层来捕获特定任务的行为。与此思路有些类似的另一个想法是知识蒸馏(knowledge distillation),它涉及知识的“转移”。我们将在后续章节中讨论它。迁移学习常用于许多计算机视觉任务。

微调涉及更新预训练(pre-training)模型部分或全部层的权重,以使其适应新任务。这一思路看起来可能与迁移学习类似,但在微调中,我们通常不会替换预训练网络的最后几层。相反,预训练模型本身会被调整以适应新数据。

顾名思义,模型被训练以同时执行多个任务。模型在任务之间共享知识,旨在提升每个任务的泛化(generalization)能力和性能。
它可以在任务相关、或能从共享表示中受益的场景中发挥作用。事实上,多任务学习的动机不仅是提升泛化能力。通过采用共享层和任务特定部分,我们还能在训练过程中节省算力。

- 想象在相关任务上独立训练两个模型。
- 现在将其与一个拥有共享层、再分出任务特定分支的网络相比较。方案二通常会带来:
- 在所有任务上更好的泛化能力。
- 存储模型权重占用更少内存。
- 训练过程中资源消耗更少。
我们将在下一章讨论它。