神经网络训练方法(pytorch)

神经网络训练方法

以下内容是根据torch官网和莫烦python学习所得

SGD随机梯度下降

假设样本数量为 N N ,关于梯度下降,最重要的就是损失函数最小化,其中权 W W 的更新方式为
W = W λ 1 M i = 1 M L ( x i ) W (1) W = W - \lambda * \frac{1}{M}\sum_{i=1}^M\frac{\partial{L(x_i)}}{\partial{W}} \tag{1}
按照 M M 的不同,可分为三种情况:

  • batch梯度下降(batch gradient descent, BGD)

    M = N M = N ,即所有样本都参与权的更新,计算量最大,下降趋势比较平滑

  • mini-batch梯度下降

    1 < M < N 1<M<N ,随机选择 M M 个样本作为代表,快速下降后波动

  • 随机梯度下降(stochastic gradient descent, SGD)

    N = 1 N = 1 ,每次随机选择1个作为代表参与计算,快速下降后趋于平稳

下面几个看网址吧 https://blog.csdn.net/u014595019/article/details/52989301?depth_1-utm_source=distribute.pc_relevant.none-task&utm_source=distribute.pc_relevant.none-task

Momentum 更新

AdaGrand更新

RMSProp更新

Adam更新

发布了12 篇原创文章 · 获赞 2 · 访问量 3193

猜你喜欢

转载自blog.csdn.net/wq_151/article/details/104999738