一、神经网络训练过程
- 前向传播,计算损失
- 反向传播,更新参数
- 循环往复,损失最小
模型训练的过程,就是通过SGD、Adam等优化算法指导模型进行参数更新的过程
二、前向传播
前向传播(forward propagation)的过程就是按照从输入到输出的顺序,计算和存储神经网络中每一层的结果,即中间变量。
三、反向传播
反向传播(Backward Propagation)的过程就是按照从输出到输入的顺序,依次计算和存储神经网络的中间变量和参数的梯度,原理是链式法则。
反向传播过程中会重复利用前向传播中存储的中间值,以避免重复计算。因此,需要保留前向传播过程中的中间结果,这会导致模型训练比模型预测需要更多的内存(显存)。
四、梯度下降
沿梯度下降的方向更新权重和偏置的值,沿梯度方向会增加损失函数的值,学习率为 η η η
学习率不能太大也不能太小,否则会出现下图所示情况: