梯度下降优化方法(SGD,Adagrad,Adadelta,Adam,Adamax,Nadam)

参考博客:

https://zhuanlan.zhihu.com/p/22252270?utm_source=qq&utm_medium=social

https://zhuanlan.zhihu.com/p/32626442

标记成原创是因为加入了很多整理,内容并非原创,写在前面,希望后人不要误解,一切解释归参考博客中的博文所有


在文章:

LeNet-5 研习 4 (进行C语言实现LeNet的后向传播的解读)

我们对梯度下降法进行了介绍,为了方便,这里我们那部分内容全部拷贝过来:

你也可以通过目录,快速跳转到梯度下降优化方法

一 基础简介

2梯度下降法(粗略看下即可)

2.1感知器

2.2线性单元

2.3误差准则

当然,实际情况下的loss损失函数可能更为复杂,比如鞍面,这样我们使用梯度下降就有可能取到局部极值,从而引出梯度下降的很多优化算法,在另外的博客中我们再行具体论述:

2.4梯度下降法的推导

2.5增量梯度下降

2.6关于寻优方法的比较

二梯度下降优化方法

前文中我们提到过

批量学习方法:突触权值的调整在训练样本集合的所有N个例子都出现后进行,这个N个例子构成训练的一个回合,每个回合的训练样本的样例都是随机选择的,而权值的调整是靠所有N个例子的总体平均来实现。

批量学习方法的优点在于能够精确估计当前梯度向量(即代价函数对权值向量W的导数),因此,保证能最快下降到局部极小点的收敛性,另外能满足并行计算的要求,当前也增加存储压力。

      在线学习方法:即样例是一个接一个输入网络中,只有当前一样本输入完成权值调整后,后一样本才能进入网络。在线学习方法相比于批量学习方法,其更容易执行,而且也不易陷入局部极值点,另外比批量学习需要更少的存储空间。

例子:关于mnist使用LeNet-5的损失函数loss

如果我们使用批量学习方法

其中D是训练样本的集合,是训练样本d的目标输出(训练样本d的类别信息),是线性单元对于训练样本d的实际输出

上图是对于mnist的识别,d=1,一个样本的各个类别信息,各个神经元实际输出,以及相减的误差信息(上图其实是使用在线学习方法,但是在线学习方法就是相当于批量学习方法d=1的情况)

如果我们使用在线学习方法

每次只输入一个训练样本

和上面一样,不过每次就是输入一个样本,上述数据直接可作为J\left ( \Theta \right )进行反向传播

1-Gradient Descent梯度下降法

2-SGD梯度下降法

3-Momentum梯度下降法

4-Nesterov梯度下降法

5-Adagrad梯度下降法

6-RMSprop梯度下降法

7-Adadelta梯度下降法

8-Adam梯度下降法

9-Adamax梯度下降法

10-NAdam

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值