神经网络训练:从梯度下降到避免过拟合
1. 梯度下降算法
在神经网络的训练过程中,传统的方程组方法已不再适用,我们需要更优的策略,梯度下降算法便是其中之一。
为了便于理解,假设一个线性神经元只有两个输入,即两个权重 (w_1) 和 (w_2)。我们可以构建一个三维空间,其中水平维度对应权重 (w_1) 和 (w_2),垂直维度对应误差函数 (E) 的值。在这个空间里,水平面上的点代表不同的权重设置,该点的高度则表示相应的误差。考虑所有可能的权重组合所产生的误差,会形成一个三维空间中的曲面,通常是一个二次碗状曲面。
我们也可以将这个曲面可视化为一组椭圆轮廓,椭圆的中心即为最小误差点。在这个二维平面中,维度对应两个权重,轮廓线表示 (w_1) 和 (w_2) 的设置使得误差函数 (E) 具有相同的值。轮廓线越接近,坡度越陡,而最陡下降方向始终垂直于轮廓线,这个方向用向量表示就是梯度。
梯度下降算法的策略如下:
- 随机初始化网络的权重,使我们处于水平面上的某一点。
- 计算当前位置的梯度,确定最陡下降方向,并沿该方向迈出一步。
- 到达新位置后,重新计算梯度,确定新的最陡下降方向,再迈出一步。
- 重复上述步骤,最终会到达最小误差点。
这个算法可用于训练单个神经元,也可用于训练整个神经网络。
2. 德尔塔规则与学习率
在训练神经网络时,除了网络中的权重参数,还需要一些额外的参数,即超参数,学习率就是其中之一。
在垂直于轮廓线移动的每一步中,我们需要确定在重新计算新方向之前要移动的距离,这个距离应取决于曲面的陡峭程度。因为越接近最小值,曲面越平坦,我们希望
神经网络训练核心方法解析
超级会员免费看
订阅专栏 解锁全文

14万+

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



