书 · 2016-11 · 伊恩·古德费洛、约书亚·本吉奥、亚伦·库维尔

《深度学习》

计算机与 AI书单第 13 名

一句话结论

深度学习的关键,是让机器学会有用的多层表示,再用统计学习、优化方法和结构假设,把这种表达能力变成对新数据的预测能力。

值不值得读完整本?

值得分阶段读完全书,尤其适合想系统理解深度学习原理的读者;但不必第一遍就掌握所有推导。它能建立扎实的基础,却不能代替出版于它之后的 Transformer 等研究。

  • 先读第1、5、6章,建立表示学习、泛化和前馈网络的基本框架,再读第11章,了解实际工作怎样设指标、建基线和排查问题;第2—4章的数学按需回查。
  • 细读第7—10章,掌握正则化、优化、卷积网络和循环网络。配合手算小网络的梯度,并做一次比较训练误差与验证误差的实验。
  • 第13—20章要读懂主线:线性因子模型、自编码器、表示学习、概率图、采样、配分函数、近似推断和生成模型。第一遍可以略过玻尔兹曼机各变体的细节,但应弄清它们各自解决什么计算困难。
  • 第12章的应用案例和各章历史说明可以略读。准备学科考试时,要能解释每类方法为什么有效、依赖什么假设、可能在哪里失效,不能只记网络名称。

核心观点

1. 学习分层、分布式的表示,比固定特征更有表达效率

深度学习把特征本身也纳入学习过程,让复杂概念由较简单的概念逐层组成。分布式表示则让多个特征共同描述一个对象,使同一特征能参与许多概念。

为什么:原始数据的坐标往往不能直接显露任务所需的规律,例如像素变化可能同时混合物体、位置和光照。学习中间表示,可以把这些变化重新组织,让后续预测更容易。多个特征通过不同组合描述对象,可以共享统计信息,避免为每一种组合分别学习。对于某些具有组合结构的函数,增加深度还能复用中间计算,比深度不足的网络节省大量单元;这不是所有任务都越深越好的保证。

2. 学习的目标是泛化,训练集拟合只是中间步骤

模型应当在未见过的数据上表现良好,而不只是记住训练样本。损失函数、模型容量、正则化和验证方法,要围绕这个目标共同选择。

为什么:训练数据只是未知数据分布的有限样本,因此训练误差不能直接代表未来误差。容量不足时,模型连样本中的规律也难以拟合;容量较大时,又可能把偶然噪声当成规律。正则化通过参数约束、数据增强、提前停止等方式加入偏好,帮助选择更可能适用于新样本的解。验证集用于选择超参数,测试集用于最后评估,避免把评估数据反复用于决策。最大似然等训练原则提供了明确目标,但不会自动消除有限数据带来的泛化问题。

3. 反向传播解决求导,优化方法决定怎样学习

反向传播是一种高效计算梯度的方法,本身不等于完整的训练算法。训练还需要目标函数、参数初始化,以及随机梯度下降等更新规则。

为什么:多层网络由许多可微运算组成,链式法则可以把输出误差对参数的影响逐层传回。反向传播复用中间结果,避免为每个参数重复计算整条求导路径。小批量随机梯度用部分样本估计更新方向,降低每次更新的计算成本。可是梯度可能消失或爆炸,目标也可能病态或包含鞍点,所以初始化、激活函数、学习率和更新策略会影响训练能否取得进展。

4. 网络结构把关于数据的假设写进模型

卷积网络和循环网络的优势,来自对空间结构、时间结构及参数共享的利用。结构选择意味着加入归纳偏好,而不是完全抛开人工知识。

为什么:图像中的局部模式可能出现在不同位置,卷积通过局部连接和共享卷积核,减少需要分别学习的参数。卷积具有平移等变性,池化则能带来一定程度的局部平移不变性,两者作用不同。序列中的相似处理规则可能在不同时刻重复,循环网络因此跨时间共享参数,并用状态传递历史信息。普通循环网络的长期依赖学习容易受梯度问题影响,LSTM等门控结构通过可调的信息通路改善记忆与遗忘。当这些结构假设与任务不匹配时,它们也可能限制模型。

5. 无标签数据能帮助学习表示,但目标必须防止无用的复制

自编码器等方法可以从没有人工标签的数据中学习结构。关键是设计约束,让模型提取有用规律,而不只是原样复制输入。

为什么:重建输入本身提供了训练信号,因此表示学习不一定需要人工标注。可是容量足够大、又缺少约束的自编码器,可能只学会恒等映射,重建准确却没有提炼出有用特征。限制表示容量、要求稀疏,或让模型从受扰动的输入恢复原始数据,可以迫使它利用数据中的稳定联系。这些方法通常依赖数据具有可利用结构的假设,例如高维观测集中在较低维的流形附近。学到的表示能否帮助另一个任务,还取决于两项任务是否共享相关因素。

6. 生成模型的关键难题,是表达能力与可计算性之间的取舍

生成建模研究数据的概率分布及其潜在结构,并区分参数学习、隐变量推断和采样。强大的模型还必须配合能够实际计算的训练与推断方法。

为什么:结构化概率模型通过因子分解表达变量依赖,避免直接为所有变量组合分别指定概率。引入隐变量可以描述隐藏结构,但观测数据的概率和隐变量后验,可能需要代价极高的求和或积分。蒙特卡洛方法用采样估计难算的量,但马尔可夫链可能难以在相隔较远的高概率区域之间移动,某些模型还面临配分函数难算的问题。变分方法以较易处理的分布近似后验,并优化似然下界,在计算成本与近似精度之间取舍。生成对抗网络则采用生成器与判别器的对抗训练,提供不必直接计算数据似然的另一条路线。

反对意见

容量和显式正则化不足以解释泛化(Chiyuan Zhang等)

Zhang等在《Understanding deep learning requires rethinking generalization》中发现,较大的神经网络既能学习真实标签,也能拟合随机标签,常用显式正则化并未消除后一种能力。这挑战了仅靠模型容量和显式正则化解释良好泛化的充分性,需要进一步研究训练算法与数据结构。它没有否定本书区分训练误差和泛化误差的原则,也不意味着正则化毫无用处。

分层表示不自动带来系统性推理(Gary Marcus)

Marcus在《Deep Learning: A Critical Appraisal》中认为,当时的深度学习在组合泛化、层级结构、抽象推理等方面仍有明显局限。网络能在熟悉分布中识别模式,不代表能把规则可靠地运用到新的组合,因此他主张结合符号操作等其他方法。这是对深度学习通向通用智能的路线提出的批评,并非证明本书介绍的算法无效。

学到的特征可能只是数据中的捷径(Robert Geirhos等)

Geirhos等在《Shortcut Learning in Deep Neural Networks》中指出,模型可能利用背景、纹理等容易预测标签的线索,在标准测试中表现很好,却无法适应条件变化。这提醒我们:自动学得的表示不一定对应人希望模型掌握的规律。这项研究补充了本书的泛化框架,要求进一步检查测试环境和数据变化,而不能只看同一分布中的测试分数。

相关推荐

导读由 AI 根据公开资料整理,没有读取原书全文,一切以原著为准。导读 Primer 首页