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

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



