深度学习是机器学习的一个分支,研究通过多个连续的处理层学习表征的模型。大多数实现采用人工神经网络,其可调参数通过数据学习得到。深度学习属于更广泛的人工智能领域,其特点是强调学习中间表征,而非完全依赖人工指定的特征。“深度”指的是变换或概念的复合,并不意味着具有人类式的理解能力;对于模型至少需要多深才能称为深度模型,目前没有普遍认可的标准。(deeplearningbook.org)
表征与计算
核心原理是表征学习:系统学习如何将输入表示为有助于完成任务的形式。在图像识别中,较早的层可能对边缘作出响应,中间层可能对形状的组合作出响应,而较后的层则可能对有助于区分物体的结构作出响应。这种层级结构只是一个用于说明的例子,并不保证每一层都对应人类能够识别的概念。学习得到的表征可以减少对人工特征工程的依赖。(deeplearningbook.org)
基本的前馈网络将以下形式的变换逐层复合:
[ h^{(\ell)}=\sigma!\left(W^{(\ell)}h^{(\ell-1)}+b^{(\ell)}\right), ]
其中,(h^{(\ell)}) 是第 (\ell) 层的表征,(W^{(\ell)}) 包含权重,(b^{(\ell)}) 包含偏置,(\sigma) 是激活函数。非线性激活使网络能够表示非线性关系。如果层与层之间没有非线性运算,连续的仿射变换就会合并为一个仿射变换,从而使深度在表征能力上的优势大幅削弱。(deeplearningbook.org)
深度和宽度描述的是不同的属性:深度涉及连续变换的层数,而宽度涉及各层的规模。两者的作用取决于要学习的函数、网络架构以及可用数据;仅仅增加层数并不能保证性能更好。(deeplearningbook.org)
训练与学习方式
训练利用训练数据和表达学习目标的损失函数来调整参数。在监督学习中,样本包含目标标签或目标值。分类任务通常使用交叉熵,而数值预测可能使用平方误差。前向计算产生预测结果和损失;随后,反向传播高效地计算该损失对各参数的导数。反向传播负责计算梯度,本身并不是参数更新规则。(deeplearningbook.org)
随机梯度下降等优化器负责更新参数,通常每次使用一小批样本。学习率控制更新的幅度。训练深度网络通常涉及非凸优化,因此结果取决于初始化、优化设置以及问题的条件性质。梯度在经过较长的计算路径时可能变得过小或过大,从而使学习变得困难。(deeplearningbook.org)
深度学习并不限于使用带标签的样本。自监督学习从数据本身构造学习目标,例如预测文本中被遮蔽的词。预训练模型随后可以针对特定任务进行微调。BERT 展示了这种方法:先从无标签文本中学习双向表征,再将其适配于语言理解基准任务。(arxiv.org)
深度网络也可以与强化学习结合;在强化学习中,智能体通过交互获得奖励,并据此学习。在这种情况下,网络可能用于近似价值函数或决策过程中的其他组成部分,而不是简单地对相互独立的样本进行分类。(nature.com)
主要架构
卷积神经网络利用局部连接和参数共享来处理图像等结构化输入。这种设计利用了反复出现的空间模式,同时减少了需要独立学习的权重数量。循环神经网络通过在各个步骤之间传递状态来处理序列;采用门控机制的变体有助于在较长的序列中保留信息。这两类网络都已广泛用于视觉和语音处理。(nature.com)
2017 年提出的Transformer架构采用基于注意力的处理方式,而不是传统序列模型的循环机制。其自注意力运算使序列中的各个位置能够整合来自其他位置的信息。最初的 Transformer 在机器翻译任务上接受评估,与用于对比的循环架构相比,其训练更易于并行化。(arxiv.org)
不同架构体现了对输入及其相互关系的不同假设。因此,深度学习指的是一类建模方法,而非某一种网络设计或训练算法。(deeplearningbook.org)
历史发展与应用
深度学习是在早期神经网络研究的基础上,随着表征学习、优化方法、数据可用性和计算硬件的持续进步而发展起来的。反向传播在 20 世纪 80 年代的神经网络研究中受到广泛关注,而深度模型研究在 21 世纪初重新获得发展动力。深度学习的发展是逐步积累的结果,而非源于某一项单独的发明。(deeplearningbook.org)
2012 年的 AlexNet 是一个重要的里程碑。它的深度卷积网络显著提升了图像分类效果,并利用图形处理器加速计算。其表现推动深度网络成为计算机视觉中的重要方法。原始论文还展示了非线性激活以及减少过拟合的方法在实际应用中的重要性。(proceedings.neurips.cc)
应用领域包括物体识别、语音识别和自然语言处理。能够直接从像素、声学信号和文本等复杂输入中学习表征的模型,为这些任务带来了帮助。(nature.com)
泛化与局限
训练成功并不等同于能够对未见过的样本实现泛化(机器学习)。当模型拟合了训练样本,却未能在新数据上取得相应的良好表现时,就发生了过拟合。正则化方法旨在改善泛化能力,包括参数惩罚、随机失活(dropout)、数据增强和提前停止等。评估时,用于拟合参数的数据应与用于选择模型设置及估计性能的数据分开。(deeplearningbook.org)
预测准确并不必然意味着模型具有鲁棒性,也不意味着它能给出可理解的解释。对抗样本是经过修改、旨在诱使模型作出错误预测的输入;研究表明,经过精心选择、视觉上难以察觉的图像扰动可以欺骗训练好的网络。这些发现说明,模型在普通测试集上的表现与其抵御刻意构造的输入的能力并不相同,也表明学习得到的内部表征未必能与人类的解释清晰对应。(arxiv.org)