深度学习优化算法:Mini-batch梯度下降与动量法解析

1 下载量 192 浏览量 更新于2024-08-30 收藏 492KB PDF 举报
"这篇文稿主要讲解了吴恩达教授在深度学习课程中关于优化算法的部分,特别是聚焦于Mini-batch梯度下降法及其相关的优化技术,包括指数加权平均、动量梯度下降法、RMSprop以及Adam优化算法。" 在深度学习中,优化算法是调整模型参数以最小化损失函数的关键。本篇讨论的核心是Mini-batch梯度下降法,它是批量梯度下降法和随机梯度下降法之间的折衷方案,既能减少计算量,又能降低噪声影响。通过将数据集划分为多个小批次(Mini-batch),每次迭代时处理一部分数据,而不是整个数据集或单个样本。 **符号定义**: 在 Mini-batch 梯度下降法中,大括号 t 用来表示不同批次的数据,即 X{t} 和 Y{t} 分别表示第 t 个批次的输入数据和目标标签。当数据集有特定维度 nx 时,如 nx=1000,每个批次的维度为 (nx, batch_size)。对于标签 Y{t},其维度通常是 (1, batch_size),表示每个批次只有一个目标值。 **前向传播**: 在前向传播过程中,网络会根据当前批次的数据 X{t} 计算一系列中间变量 Z 和 A,直至得到最终的预测输出 A[L]。然后,计算带正则化的损失函数 J,它综合了所有样本的损失,并加上正则化项,以防止过拟合。公式如下: \[ J = \frac{1}{1000}\sum_{i=1}^{l}L\left(\mathcal{J}^{(i)},y^{(i)}\right) + \frac{\lambda}{21000}\sum_{l}\left\|w^{[l]}\right\|_{F}^{2} \] 其中,\( L \) 是损失函数,\( \mathcal{J}^{(i)} \) 是第 i 个样本的损失,\( y^{(i)} \) 是其真实标签,\( w^{[l]} \) 是第 l 层的权重矩阵,\( F \) 表示 Frobenius范数,\( \lambda \) 是正则化系数。 **后向传播**: 后向传播用于计算损失函数 J 对模型参数的梯度,以便更新参数。由于使用 Mini-batch,后向传播也针对每个批次独立进行。 **优化算法**: 1. **指数加权平均**:用于平滑过去梯度的平均值,减少噪声影响。其有偏差问题,可以通过修正来解决。 2. **动量梯度下降法**:引入了动量项,以加速梯度下降并帮助跳出局部极小值,动量项使得更新方向更加稳定。 3. **RMSprop**:通过调整学习率,对每个参数独立适应,解决了梯度下降法中学习率固定的局限,尤其适用于具有不同尺度特征的输入。 4. **Adam** 优化算法:结合了动量和RMSprop的优点,引入了指数加权平均的一阶和二阶矩估计,并且有一个自适应的学习率调整机制。Adam的超参数包括学习率 \( \alpha \)、一阶矩的衰减率 \( \beta_1 \) 和二阶矩的衰减率 \( \beta_2 \)。 这些优化算法在深度学习实践中被广泛应用,以提高模型的训练效率和性能。理解并正确选择优化算法对于构建高效、准确的深度学习模型至关重要。