神经网络的优化方法总结


由浅层的神经网络到层次较深的神经网络,单纯靠增加神经网络层数并不能有效提高模型的性能,此处将总结一些优化算法:

优化神经网络一:使用正则化技巧提高模型的泛化能力

常用的正则化方法如下所示:

  • L1、L2 正则化
  • dropout 正则化
  • Data Augmentation 增加训练样本
  • Early stopping 选择合适的迭代训练次数

优化神经网络二:梯度优化

常用的梯度优化方法如下:

  • 梯度下降

    • Batch 梯度下降
    • Mini-Batch梯度下降
    • 随机梯度下降 (SGD)
  • 动量梯度下降 (Momentum GD)

  • Nesterw Momentum

  • AdaGrad

  • RMSprop

  • Adam

优化神经网络三:网络初始化技巧和超参数调优

  • 网络初始化技巧
    • 网络输入的标准化 (使各特征值的数量取值范围相同)

    • 权重 w 初始化

      • 让权重 W 的方差为 1 / n[l-1]
        W[l] = np.random.randn(n[l],n[l-1])*np.sqrt(1/n[l-1])
      • 让权重 W 的方差为 2 / n[l-1]
       W[l] = np.random.randn(n[l],n[l-1])*np.sqrt(2/n[l-1])
      • 让权重 W 的方差为 2 / n[l−1]⋅n[l]
      W[l] = np.random.randn(n[l],n[l-1])*np.sqrt(2/(n[l-1]*n[l]))
  • 超参数调试
    深度神经网络需要调试的超参数较多,常见如下:
    • 学习因子 α
    • 动量梯度下降因子 β
    • Adam 优化算法参数 β1、β2、ε
    • 神经网络层数
    • 各隐藏层神经元个数
    • 学习因子下降参数
    • 批量训练样本包含的样本个数
    • L1、L2 正则化系数 λ
发布了21 篇原创文章 · 获赞 6 · 访问量 7993

猜你喜欢

转载自blog.csdn.net/weixin_42128329/article/details/104570774