主题
第 10 章 模型独立的学习方式
第二部分 · 基础模型课件 16 页讲义约 20 分钟Model-Independent Learning
学习目标
- 理解集成学习为什么有效,掌握 Bagging、随机森林和 AdaBoost 的算法流程;
- 理解协同训练的“多视角”假设;
- 了解多任务学习的四种共享模式;
- 理解迁移学习的基本设定、归纳迁移与转导迁移(领域适应);
- 理解元学习“学习如何学习”的思想,掌握 MAML 的两层优化;
- 了解终身学习中的灾难性遗忘及弹性权重巩固。
课件幻灯片

1 / 16
提示:点击幻灯片左右两侧或使用 ← → 键翻页,手机上左右滑动;按 F 全屏。
讲义
前面各章的学习方式都依赖于具体的模型,而本章介绍的学习方式不限于某个特定模型:无论是前馈网络、循环网络还是其他模型,都可以使用。它们关注的是另一些问题:如何组合多个模型?如何利用无标注数据?如何在多个任务、多个领域之间共享知识?如何持续学习、快速学习?幻灯片 2
flowchart LR
R(("模型独立的<br/>学习方式")) --> E["集成学习"]
R --> CT["协同训练"]
R --> MT["多任务学习"]
R --> TL["迁移学习"]
R --> LL["终身学习"]
R --> ML["元学习"]
E --> E1["Bagging / 随机森林"]
E --> E2["Boosting / AdaBoost"]
TL --> T1["归纳迁移:预训练-微调"]
TL --> T2["转导迁移:领域适应"]
ML --> M1["基于优化器"]
ML --> M2["MAML"]
10.1 集成学习
集成学习通过某种策略把多个模型集成起来,以提高决策的准确率。最直接的策略是直接平均(投票):
设每个模型的期望错误为
当各模型的错误互不相关时取下界——集成的效果最好;完全相同时取上界——集成没有帮助。因此模型之间的差异性是集成学习的关键。增加差异性的方法有两类:幻灯片 5
- Bagging 类方法:通过对训练集进行有放回的随机采样(自助采样)得到多个不同的训练集,分别训练模型,再投票或平均。随机森林在 Bagging 的基础上,在每个决策树的分裂节点上还随机选取特征子集,进一步增加了树之间的独立性。幻灯片 6
- Boosting 类方法:按顺序训练一系列模型,后面的模型更关注前面模型分错的样本,即每个模型在前一个模型的基础上“提升”。幻灯片 7
AdaBoost(二分类,
- 初始化样本权重
; - 对
:按权重训练弱分类器 ,计算加权错误率 ;计算分类器权重 更新样本权重 (分错的样本权重变大); - 输出
。
AdaBoost 可以看作用前向分步法优化指数损失
10.2 协同训练
半监督学习希望同时利用少量有标注数据和大量无标注数据。自训练用模型自己的高置信度预测作为伪标签,但容易强化自身的错误。协同训练则基于多视角:假设每个样本可以从两个相互独立且各自充分的视角(特征集合)
- 在有标注数据上分别用两个视角训练两个分类器
; - 每个分类器在无标注数据上预测,挑选各自置信度最高的若干样本加入另一个分类器的训练集;
- 重新训练,重复直到收敛。
由于两个视角条件独立,一个分类器的高置信度样本对另一个分类器来说相当于“随机”的新样本,能带来新的信息。
10.3 多任务学习
多任务学习同时学习多个相关任务,让它们在学习过程中共享知识,利用任务之间的相关性来提高每个任务的性能和泛化能力。多任务学习可以看作一种归纳迁移学习,共享的知识相当于一种归纳偏置,也起到了正则化的作用。幻灯片 10
常见的四种共享模式:
- 硬共享:不同任务共享底层的若干层,上层为各任务特定的层;
- 软共享:每个任务有自己的网络,但可以从其他任务“读取”信息(如交叉缝合网络);
- 层次共享:低层任务在网络的低层输出,高层任务在高层输出(如词性标注 → 句法分析 → 语义任务);
- 共享-私有:每个任务的表示由共享模块和私有模块组成,二者互补。
训练时联合目标为
10.4 迁移学习
标注数据往往稀缺,而相关领域可能有大量数据。迁移学习旨在把源领域
- 归纳迁移学习:源领域和目标领域任务不同,但目标领域有少量标注数据。典型做法是预训练-微调:在大规模数据(如 ImageNet、大规模文本)上预训练,再在目标任务上微调;或者把预训练模型当作特征提取器。今天的预训练语言模型就是归纳迁移学习的代表。
- 转导迁移学习(领域适应):任务相同,源领域有大量标注数据,目标领域只有无标注数据。根据联合分布
中哪一部分发生变化,分为协变量偏移( 变化)、概念偏移( 变化)和先验偏移( 变化)。常用方法是学习一个领域无关的表示,例如用领域对抗训练让判别器无法区分特征来自哪个领域。
10.5 元学习
人类能从很少的样本中快速学会新概念,因为我们已经积累了“如何学习”的经验。元学习即“学习如何学习”,希望从大量相关任务中学到一些通用知识,使得在新任务上只需少量样本和迭代就能快速适应。幻灯片 13
基于优化器的元学习:把梯度下降的更新规则本身用一个网络(如 LSTM)来学习,
模型无关的元学习(MAML):学习一个好的初始化参数
外循环的梯度需要对内循环的更新求导,涉及二阶导数;实践中常用一阶近似(FOMAML、Reptile)。
10.6 终身学习
终身学习(持续学习)希望像人一样持续地学习一系列任务,并把已学到的知识用于新任务。与多任务学习不同,终身学习中任务是依次出现的,学习新任务时通常无法再访问旧任务的数据。幻灯片 15
终身学习的核心难题是灾难性遗忘:按新任务训练时,网络参数被改写,旧任务的性能急剧下降。一种解决方法是弹性权重巩固(EWC):用 Fisher 信息矩阵
其他思路还包括保留少量旧样本进行回放、用生成模型产生伪样本,以及为新任务动态扩展网络结构等。
本章小结
- 集成学习依靠模型差异性降低错误:Bagging / 随机森林并行采样,Boosting / AdaBoost 顺序关注难例。
- 协同训练利用两个独立充分的视角互相提供伪标签;多任务学习通过参数共享获得归纳偏置。
- 迁移学习把源领域知识迁移到目标领域:预训练-微调(归纳)和领域适应(转导)。
- 元学习“学习如何学习”(如 MAML 学习初始化),终身学习要克服灾难性遗忘(如 EWC)。
思考题与习题
- (推导) 证明当
个模型的误差 均值为 0 且互不相关时,直接平均集成的期望错误为 。 - (计算) AdaBoost 中某弱分类器的加权错误率
,计算其权重 ;分错样本与分对样本的权重分别乘以多少(归一化前)? - (分析) 为什么 AdaBoost 要求
?若 会发生什么? - (概念) 多任务学习、迁移学习、终身学习和元学习都涉及多个任务,比较它们在任务出现的方式和学习目标上的区别。
- (分析) 举出生活或应用中协变量偏移、概念偏移、先验偏移的例子各一个。
- (编程) 用 ImageNet 预训练的 ResNet-18 在一个小数据集(如花卉分类)上比较:从零训练、只训练最后一层、全部微调三种方式的效果。
部分提示
- 第 2 题:
;分错样本权重乘 ,分对样本乘 。 - 第 3 题:
时 ,相当于把该分类器反过来用; 时它没有任何贡献。 - 第 4 题:多任务学习同时学多个任务、追求所有任务都好;迁移学习关注目标任务;终身学习任务依次到来、不能忘记旧任务;元学习追求在新任务上快速学习。
延伸阅读
- 教材:邱锡鹏《神经网络与深度学习》第 10 章「模型独立的学习方式」。
- 周志华《集成学习:基础与算法》;Blum A, Mitchell T. Combining labeled and unlabeled data with co-training, 1998;Caruana R. Multitask learning, Machine Learning 1997。
- Finn C, et al. Model-agnostic meta-learning for fast adaptation of deep networks, ICML 2017;Kirkpatrick J, et al. Overcoming catastrophic forgetting in neural networks, PNAS 2017。
- 第二版对应章节:第 11 章「模型独立的学习方式」。