神经网络学习技巧之梯度下降训练策略

梯度算法

  • 随机梯度下降SGD(Stochastic Gradient Descent)
  • 小批次梯度下降(Mini-batch Gradient Descent)
    在这里插入图片描述

批次梯度下降

利用全部训练数据集计算损失函数的梯度来执行一次参数更新
• 更新较慢
• 不能在线更新模型

• 对凸的损失函数可保证收敛到全局最小值;对非凸的损失函数可收敛到局部最小值
在这里插入图片描述

随机梯度下降

对每一个训练样本点和标签执行参数更新
• 速度快,可在线学习
• 梯度精度差,目标函数下降过程出现大幅波动 在这里插入图片描述

小批次梯度下降

每𝑛个训练样本点,进行一次参数更新
在这里插入图片描述
• Batch-GD和单样本SGD方法的折衷
• 减小了参数更新的方差,可平稳收敛
• 速度快,可利用优化的矩阵运算库来高效的计算梯度
• Batch大小根据问题来定。一般而言设为32、64、128或256即可。

存在问题

• 确定合适的学习率比较困难
– 小的学习率可保证收敛性,但收敛过程很慢
– 大的学习率会导致损失函数优化过程在最小值附近波动甚至发散
• SGD难以跳出局部极小值点和鞍点
– 神经网络对应的函数具有高度非线性
– 众多局部极小值点或鞍点
– 在极小值点或鞍点附近,目标函数值几乎不变,导致梯度近似为零

优化算法

• Momentum
• NAG
• Adagrad
• Adadelta
• RMSprop
• Adam

SGD+动量(Momentum)

动量(Momentum)可用来加速SGD
在这里插入图片描述
• 把过去时间步骤更新矢量的一部分(𝛾)加到当前更新矢量
• 速度的逐渐增加是作为梯度的移动平均
• 动量项𝛾 一般设为0.9。可理解为“摩擦”效果
在这里插入图片描述

Adam(Adaptive Moment Estimation)

Adam是一种为每一参数计算自适应学习率的方法
存储过去梯度平方的指数衰减平均值𝑣𝑡;保留了过去梯度的指数衰减平均值𝑚𝑡,类似动量 。
在这里插入图片描述
𝑚𝑡 和𝑣𝑡分别是一阶矩(均值) 和梯度二阶矩(有偏方差) 的估计值
参数 𝛽1、𝛽2 ∈ [0, 1) 控制了这些移动均值(moving average)指数衰减率。
计算含有偏差校正(bias-corrected)的一阶矩和二阶矩 的估计:
在这里插入图片描述
Adam更新规则:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值