深度学习中的梯度下降与模型训练策略
1. 梯度下降算法
在训练神经网络时,我们需要找到一种有效的策略来优化权重,使得误差函数最小化。梯度下降算法就是这样一种常用的优化方法。
为了直观理解梯度下降,我们简化问题,假设线性神经元只有两个输入,即两个权重 $w_1$ 和 $w_2$。这样可以构建一个三维空间,水平维度对应权重 $w_1$ 和 $w_2$,垂直维度对应误差函数 $E$ 的值。在这个空间中,水平面上的点代表不同的权重设置,该点的高度对应所产生的误差。考虑所有可能的权重组合下的误差,会得到一个三维空间中的曲面,通常是一个二次碗状曲面。
我们也可以将这个曲面可视化为一组椭圆形等高线,椭圆中心是最小误差点。在这个二维平面中,等高线代表 $w_1$ 和 $w_2$ 的设置使得误差函数 $E$ 具有相同的值。等高线越密集,斜率越陡峭,而最陡峭下降的方向总是垂直于等高线,这个方向用一个向量表示,即梯度。
下面是梯度下降的步骤:
1. 随机初始化网络的权重,使我们处于水平面上的某个位置。
2. 计算当前位置的梯度,找到最陡峭下降的方向,并沿该方向移动一步。
3. 到达一个新位置,该位置比之前更接近最小值。
4. 在新位置重新计算梯度,确定新的最陡峭下降方向,并再次移动。
通过不断重复这个过程,最终会到达误差最小的点。这种算法被称为梯度下降,可用于训练单个神经元和整个神经网络。
2. 增量规则与学习率
在训练神经网络时,除了网络中的权重参数,学习算法还需要一些额外的参数,其中一个重要的超参数是学习率。
在每次垂直于等高线移动时,我们需要确定在重新计
超级会员免费看
订阅专栏 解锁全文
9万+

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



