深度学习调参技巧:Mini-batch, Momentum与Adam算法解析

需积分: 9 3 下载量 27 浏览量 更新于2024-07-19 收藏 6.99MB PDF 举报
"这篇笔记是关于DeepLearning.ai课程的第二部分,主要涵盖了神经网络的参数调优和训练技巧,由Andrew Ng教授讲解。笔记中讨论了mini-batch的概念、指数加权平均、Adam优化算法、学习率衰减、神经网络的局部最优问题,以及在模型训练中遇到的drop测试题和bias/variance问题,并提到了He初始化方法。" 1. **Mini-Batch**: Mini-batch 是一种训练策略,每次迭代时使用一部分而不是全部训练数据,这样可以降低计算复杂性并引入一定的随机性,帮助模型跳出局部最优。1个epoch表示遍历整个训练集一次。当batch size等于1时,称为SGD(随机梯度下降),它具有较高的探索性,但收敛速度较慢;而较大的batch size则可以提供更稳定的梯度估计,但可能导致收敛到较差的局部最小值。 2. **指数加权平均(Exponentially Weighted Averages)**: 这是一种技术,用于平滑序列数据,抑制短期波动,保留长期趋势。在优化过程中,如Momentum方法,它被用来结合过去的梯度信息,以加速收敛。 3. **Adam优化算法**: Adam结合了动量梯度下降(Momentum)和RMSprop的优点,通过两个指数加权移动平均分别处理梯度的一阶矩和二阶矩。超参数β1和β2分别控制这两者的权重,ε用于防止分母为零的风险。通常,我们会使用默认的β1和β2值,然后通过调整学习率(lr)来观察训练效果。 4. **学习率衰减(Learning Rate Decay)**: 学习率衰减策略有助于在训练后期减小步长,使得模型能够在接近最优解时更加精细地调整参数。可以使用线性、指数或其他方式来减小学习率,避免过拟合和早停问题。 5. **神经网络的局部最优问题**: 在高维参数空间中,局部最优并不常见,更常见的问题是鞍点。平缓的梯度区域会减慢学习速度,因此优化算法如Adam和学习率衰减是关键,它们有助于在这些区域中高效地搜索。 6. **Dropout测试题的问题**: 增加keep_prob(保留概率)实际上意味着减少dropout的比例,这会导致更多的神经元在训练期间保持激活,可能会提高模型在训练集上的性能,因为模型有了更多依赖的特征。 7. **Bias/Variance测试题问题**: 使用更大的神经网络(bigger NN)不能直接解决高方差问题,因为增加模型复杂性可能导致过拟合,从而增加模型对训练数据的依赖,而非提高泛化能力。 8. **He初始化**: He初始化是为了改善神经网络中的权重初始化,使得输入层到隐藏层的权重矩阵的方差与输入节点的数量成比例,通常是1/n或2/n,其中n是输入节点的数量。这种方法有助于在ReLU激活函数中平衡前向传播的信号强度,促进训练的稳定性。 以上知识点是深度学习中至关重要的,理解和应用这些概念可以显著提高模型的训练效果和性能。