Deep learning/zh
| Article | |
|---|---|
| Topic area | Machine Learning |
| Difficulty | Introductory |
深度学习是机器学习的一个子领域,它使用具有许多层——以及数百万到数十亿参数——的人工神经网络,直接从原始数据中学习分层表示。它支撑了计算机视觉、自然语言处理、语音识别和科学发现领域近期的大多数突破。
概述
经典机器学习依赖于手工设计的特征:研究者会设计像素统计量、n-gram 计数或声学描述符,再由相对浅层的模型将这些特征映射到输出。深度学习消除了这一瓶颈。深度神经网络逐层学习自己的特征,每个后续层都将下层的简单模式组合成更抽象的概念。
修饰词"深度"指的是计算图的深度,而非任何特定的生物逼真度。现代系统通常堆叠数十到数百层,并依赖于在 2010 年代初同时成熟起来的三种相互耦合的要素:大型标注数据集、大规模并行硬件(GPU 以及后来的 TPU)和稳定的优化技术。它们共同使得训练表征能力远超此前可行水平的网络变得切实可行。
深度学习通常被认为推动了人工智能从基于规则与特征工程的系统转向端到端学习范式,其中单个可微分模型被联合训练,以将原始输入映射到任务输出。
核心概念
- 分层表示学习——连续的层将输入转化为抽象程度递增的表示;网络自行发现特征,而非被动接收。
- 分布式表示——概念被编码为众多单元上的激活模式,从而实现了 one-hot 或符号化方案无法企及的组合泛化。
- 可微分计算——每一种运算(几乎处处)都是可微的,因此梯度可以贯穿整个模型,参数通过基于梯度的优化进行调整。
- 端到端训练——从原始输入到最终预测的整条流水线针对单一损失进行优化,从而省去了人工调整的中间阶段。
- 通过架构引入归纳偏置——卷积编码平移等变性,循环编码时间局部性,注意力编码两两交互;架构的选择为数据注入了恰当的假设。
- 规模——经验性的扩展定律表明,损失会按模型规模、数据集规模和计算量的幂律可预测地下降,这激励了规模不断扩大的模型。
历史
深度学习的根源远早于它如今的主导地位。感知机(Rosenblatt 1958)以及 1960 年代早期的多层模型确立了基本的神经元抽象,但因缺乏有效的隐藏层训练方法而受到限制。1986 年 Rumelhart、Hinton 与 Williams 重新发明并推广了反向传播,使多层训练变得可行;Yann LeCun 的 LeNet(1989 年提出,1990 年代逐步完善)则用卷积网络演示了对手写数字的端到端学习。
在 1990 年代以及 2000 年代初,神经网络在很大程度上被支持向量机、核方法以及概率图模型所掩盖。研究兴趣的复苏来自对深度信念网络与无监督预训练的工作(Hinton、Salakhutdinov、Bengio,2006 年前后),这些工作表明:只要谨慎处理初始化,深度便是可处理的。
决定性的转折点是 AlexNet(Krizhevsky、Sutskever、Hinton,2012),它以巨大优势赢得 ImageNet 挑战赛,展示了在 GPU 上以 Dropout 和 交叉熵目标训练卷积网络的实际威力。随后的几年里架构进展迅速:VGG 与 GoogLeNet(2014)、ResNet(He 等人,2015)及其残差连接、带注意力的序列到序列模型,以及Transformer(Vaswani 等人,2017)。Transformer 进而使大型语言模型(BERT 2018、GPT-2 2019、GPT-3 2020)以及现代多模态系统成为可能。
主要方法
典型的深度模型是一个参数化函数 $ f_\theta : \mathcal{X} \to \mathcal{Y} $,通过最小化经验风险进行训练:
- $ \mathcal{L}(\theta) = \frac{1}{N}\sum_{i=1}^{N} \ell\bigl(f_\theta(x_i),\, y_i\bigr) + \lambda\, R(\theta) $
其中 $ \ell $ 是逐样本的损失(例如分类使用交叉熵,回归使用平方误差),$ R $ 为可选的正则化项。梯度 $ \nabla_\theta \mathcal{L} $ 通过反向传播计算,参数则使用随机梯度下降或诸如 Adam 这样的自适应方法进行更新:
- $ \theta_{t+1} = \theta_t - \eta\, \widehat{\nabla}_\theta \mathcal{L}(\theta_t) $
占主导地位的架构家族包括:
- 卷积网络——面向网格结构数据的平移等变特征提取器;视觉领域的基石。
- 循环网络(LSTM、GRU)——面向序列、携带状态的模型,是早期语音与语言研究的核心。
- Transformer——围绕注意力机制构建,其输出按 $ \operatorname{Attention}(Q,K,V)=\operatorname{softmax}(QK^\top/\sqrt{d_k})V $ 计算;如今是语言任务的默认选择,并日益主导视觉和音频领域。
- 图神经网络——将卷积推广到节点与边,用于分子、引用网络和社交图谱。
- 自编码器与变分自编码器——编码器–解码器对,训练用于压缩与重构,适用于表示学习和生成。
- 生成对抗网络——生成器与判别器在极小极大博弈中对抗训练,以生成逼真的样本。
- 扩散模型——学习反演渐进加噪过程的生成模型,在现代图像与视频合成中占据主导地位。
有效的训练依赖于一系列辅助技术:精心的初始化(Xavier、He)、归一化(批、层、组)、正则化(Dropout、权重衰减、数据增强)以及学习率调度(预热、余弦衰减)。自监督和预训练目标越来越多地被用来从无标注数据中学习通用表示,再通过微调或迁移学习适配到下游任务。
训练范式的粗略分类:
| 范式 | 信号 | 典型用途 |
|---|---|---|
| 有监督 | 带标注的 $ (x, y) $ 对 | 图像分类、机器翻译 |
| 自监督 | 仅由 $ x $ 派生的 pretext 任务 | 语言与视觉模型的预训练 |
| 无监督 / 生成式 | $ x $ 的似然 | 自编码器、扩散、GAN |
| 强化 | 来自环境的标量奖励 | 游戏、机器人、用于对齐的 RLHF |
关联
深度学习处于多个长期存在领域的交汇处。作为机器学习的一种形式,它继承了偏差—方差权衡、泛化理论以及对过拟合的关注。它建立在神经网络之上,并在信用分配上严重依赖反向传播,在优化上严重依赖梯度下降(尤其是随机梯度下降)。分类头通常将 softmax 输出与交叉熵损失结合使用,而其他损失则根据任务结构进行选择。
在架构上,CNN 将通用框架专门化以处理空间数据,RNN 处理序列数据,而 Transformer 通过注意力处理一般的集合结构与序列结构数据。在语言与搜索中,词嵌入是深度模型能够学习离散符号有意义连续表示的早期例证。现代强化学习、推荐系统以及计算科学的众多领域,如今都依赖深度模型作为可即插即用的函数逼近器。
参见
- Neural Networks
- Backpropagation
- Gradient Descent
- Stochastic Gradient Descent
- Convolutional Neural Networks
- Recurrent Neural Networks
- Attention Mechanisms
- Dropout
- Batch Normalization
- Transfer Learning
- Cross-Entropy Loss
- Overfitting and Regularization
参考文献
- LeCun, Y., Bengio, Y. and Hinton, G. (2015). "Deep learning". Nature, 521, 436–444.
- Goodfellow, I., Bengio, Y. and Courville, A. (2016). Deep Learning. MIT Press.
- Rumelhart, D. E., Hinton, G. E. and Williams, R. J. (1986). "Learning representations by back-propagating errors". Nature, 323, 533–536.
- Krizhevsky, A., Sutskever, I. and Hinton, G. E. (2012). "ImageNet Classification with Deep Convolutional Neural Networks". NeurIPS.
- He, K., Zhang, X., Ren, S. and Sun, J. (2016). "Deep Residual Learning for Image Recognition". CVPR.
- Vaswani, A. et al. (2017). "attention Is All You Need". NeurIPS.
- Schmidhuber, J. (2015). "Deep Learning in Neural Networks: An Overview". Neural Networks, 61, 85–117.