深度学习:原理与训练算法解析
1. 引言
深度学习模型拥有强大的能力,但也伴随着计算方面的挑战。其中一个关键问题是,反向传播算法对算法设置中的微小变化相当不稳定,例如所采用的初始化点。在处理深度极深的网络时,这种不稳定性尤为显著。
神经网络参数优化属于多变量优化问题,这些变量对应着各层连接的权重。多变量优化问题常常面临稳定性挑战,因为必须以“恰当”的比例沿着每个方向进行步骤操作。在深度网络中,这种比例很难控制。梯度仅能提供每个方向上无穷小范围内的变化率,而实际步骤具有有限的长度。为了在优化过程中取得实际进展,需要选择合理大小的步骤。然而,梯度在有限长度的步骤中会发生变化,在某些情况下变化还非常剧烈。深度网络呈现出的复杂优化曲面在这方面尤其棘手,而选择不当的设置(如初始化点或输入特征的归一化)会加剧这个问题。因此,容易计算的最速下降方向往往并非保持使用大步长能力的最佳方向。小步长会导致进展缓慢,而使用大步长时,优化曲面可能会以不可预测的方式发生变化。所有这些问题使得神经网络优化比乍看起来更加困难。不过,通过精心调整梯度下降步骤,使其对优化曲面的性质更具鲁棒性,许多问题是可以避免的。
2. 深度为何有益?
深度的益处关键在于使用非线性激活函数。实际上,线性函数的重复组合仍会得到另一个线性函数,因此不会增加学习算法的能力。然而,反复组合非线性函数会产生本质上更强大的模型。一般来说,网络的每一层都会构建出与当前预测问题相关的、越来越复杂的特征,这一原理被称为分层特征工程。
2.1 分层特征工程:深度如何揭示丰富结构
许多具有前馈架构的深度架构有多个层,前一层输入的连续变换会产生越来越复杂的数据表示。对于特定输入,每个隐藏
超级会员免费看
订阅专栏 解锁全文
2834

被折叠的 条评论
为什么被折叠?



