第十部分:通过梯度下降从数据中学习
本文件对应原 PDF 第 67-73 页。
本部分内容
- 10.1 学习函数
:数据 与权重 - 10.2 计算
的图像中线性区域的数量 - 10.3 最小化损失:随机梯度下降
- 10.4 “之”字形路径导致的慢收敛:加入动量
- 10.5 卷积神经网络:一维与二维 CNN
- 10.6 反向传播:
的链式法则
10.1 学习函数
设训练数据由
从第
- 乘以权重矩阵
; - 加上偏置向量
; - 对每个分量应用 ReLU。
因此:
ReLU,即修正线性单元,定义为
它逐分量作用于向量。ReLU 的图像是一条折线:
矩阵乘法和加法本身都是线性的,ReLU 为学习函数提供了必要的非线性。
一个含
其中
每个
原讲义中的单隐藏层示例有:
- 输入维数
; - 隐藏层宽度
; - 一个标量输出
。
映射可写为
其中
四个 ReLU 超平面在三维输入空间中最多可以产生
个线性区域。
10.2 线性区域的数量
权重矩阵
先考虑二维输入空间中的直线排列:
两条一般位置的直线最多把平面分成
个区域;
加入第三条直线
时,它被原有两条直线分成 段,每一段都切开一个原区域,所以新增 3 个区域;
因此
第四条一般位置的直线与原有三条直线相交,形成 4 段,于是
一般的递推关系为
定理:在
个区域。
二项式系数为
约定
当
更深的网络会把前一层形成的区域进一步折叠,因此实际表达能力还会随深度以复合方式增长;单层超平面计数只是理解这种增长的第一步。
10.3 最小化损失:随机梯度下降
函数
的梯度是由全部偏导数组成的向量:
例如:
的图像是三维空间中的碗形曲面。其最小值为
并在
处取得。
对于复杂损失函数,从初始点
其中
每到一个新点
训练神经网络面临两个大规模问题:
- 未知参数很多:
包含全部 层中的所有权重和偏置; - 总损失包含所有训练样本的误差之和,项数很多。
常见损失包括:
平方损失
交叉熵损失。
随机梯度下降(SGD)的做法是,每一步不计算全部样本的梯度,而是随机选择:
- 单个训练样本;或
- 含
个样本的小批量(mini-batch)。
每一步重新抽取样本或小批量,并用其梯度近似总梯度。这样显著降低单步成本;梯度中的随机噪声有时还可帮助算法离开不理想的局部区域。
10.4 慢收敛、之字形路径与动量
考虑二次函数
梯度为
函数的等高线形成一条狭长谷地。即使每一步都沿梯度方向做精确线搜索,路径也会在谷地两侧来回摆动,只能缓慢地向
从特定初值出发,原讲义给出的迭代量满足:
并且
关键收敛比率为
当
重球动量
动量法让新的搜索方向保留一部分过去方向。常见写法为
适当选择步长
改善为近似
例如
加入优化动量后可改善为
每一步误差缩小得明显更多。
自适应方法
ADAM 一类方法对历史梯度做指数加权。例如一阶动量可写为
完整 ADAM 还会估计梯度平方的二阶矩,并对不同参数采用自适应步长。
深度学习中的一个根本问题仍然是:为什么在训练数据上得到的权重矩阵
10.5 卷积神经网络
一维卷积
卷积矩阵具有常数对角线,可实现滑动窗口。比如移动平均滤波器在每个位置都使用相同的权重
这意味着局部规则被复制到所有位置,不需要为每个位置单独学习一套权重。
二维图像卷积
在二维图像上,窗口同时横向和纵向滑动。例如一个
一个
个权重,这 9 个权重在每个窗口中重复使用。
卷积层的三个关键特点是:
- 局部连接:远处像素的权重为零;
- 参数共享:同一组 9 个权重复制到每个窗口;
- 平移等变性:同一特征无论出现在何处,都用同一滤波器检测。
这使卷积网络特别适合图像。MNIST 手写数字识别是经典测试任务之一。
常见配套结构包括:
最大池化:从每个局部输出块中取最大值,以降低空间维数;
Softmax:把输出分数
转换为概率 残差网络:加入跨越若干层的跳跃连接;
批量归一化:在新层中重新调整小批量激活的中心和尺度。
10.6 反向传播与链式法则
学习的目标,是求出使总损失
其中每个分量都是“误差对某个权重的偏导数”。
单变量复合函数的链式法则为
多变量情况下,导数变成 Jacobian 矩阵。若
则
其中
乘积为
对仿射层
分量形式为
因此:
ReLU 的导数在正输入处为
一个
例如:
若只需要
再乘
反向传播正是按反向顺序复用中间结果,快速计算标量损失对所有参数的梯度。它等价于反向模式自动微分,是深度学习能够有效训练的关键。