神经网络优化算法

本文详述了从SGD到Nadam的梯度下降优化算法演进过程,包括SGD、SGDM、NAG、AdaGrad、AdaDelta、RMSprop、Adam、AdaMax、Nadam和AMSGrad等算法的原理与区别。重点分析了固定学习率与自适应学习率策略,以及经典动量、自适应学习率方法的优缺点。

梯度下降优化算法(gradient descent optimization algorithms):
SGD -> SGDM -> NAG -> AdaGrad -> AdaDelta -> RMSprop -> Adam -> AdaMax -> Nadam -> AMSGrad
在每个epoch t:
1)计算目标函数关于当前参数的梯度;
2)根据历史梯度计算一阶动量和二阶动量;
3)计算当前时刻的下降梯度;
4)根据下降梯度进行更新;
各个优化算法在步骤3、4上都是一致的,主要差别体现在1和2上;
优化算法分为固定学习率和自适应学习率;
固定学习率优化策略有SGD、SGDM、NAG;自适应学习率优化策略有AdaGrad、AdaDelta、Adam、Nadam;

classical momentum (CM)是1964年提出的;(原论文Some methods of speeding up the convergence of iteration methods)
SGDM是在SGD的基础上引入了动量,即SGD with momentum;
NAG是Nesterov’s Accelerated Gradient;
NAG在梯度更新时做了一个矫正,避免了前进太快,同时提高灵敏度;
RMSprop是Geoff Hinton提出的一种自适应学习率方法,可缓解Adagrad算法学习率下降较快的问题;

Adam是另一种自适应学习率方法,是Momentum+AdaGrad/RMSProp?是默认的最好优化器!把一阶动量和二阶动量都用起来;
(利用梯度的一阶矩估计和二阶矩估计动态调整每个参数的学习率;)
(AdaMax is a variant of Adam based on the infinity norm;)
Nesterov(NAG) + Adam = Nadam
AdaGrad和AdaDelta在SGD基础上增加了二阶动量;
(AdaDelta是对AdaGrad的扩展,用于解决AdaGrad学习率单调下降过于激进问题;)
(当使用Adadelta,甚至可以不设置初始学习率;)

SGD、BGD、MBGD分别是Stochastic gradient descent、Batch gradient descent、Mini-batch gradient descent;

二阶方法有牛顿法、拟牛顿法、L-BFGS等:
牛顿法(Hessian矩阵)内存和计算量太大;
二阶方法如牛顿法不能替代梯度法的原因是容易跳入鞍点,所以有无鞍牛顿法;
L-BFGS是对动量技术的改进,不常用;

相关论文:
On the importance of initialization and momentum in deep learning
An overview of gradient descent optimization algorithms
Adam: A Method for Stochastic Optimization

http://ruder.io/optimizing-gradient-descent/index.html !!!
https://blog.youkuaiyun.com/google19890102/article/details/69942970 !!!
https://blog.youkuaiyun.com/heyongluoyao8/article/details/52478715 !!!
https://blog.youkuaiyun.com/u014595019/article/details/52989301 !!!
https://www.cnblogs.com/ranjiewen/p/5938944.html !!!
https://blog.youkuaiyun.com/weixin_38582851/article/details/80555145 !!!
http://wemedia.ifeng.com/69799959/wemedia.shtml
https://zhuanlan.zhihu.com/p/32230623

摘要:数据的上界和下界概念在人工智能领域中使用得非常普 遍,在粗糙集理论中尤为明显,随着粗集理论的不断发展, 上下边界的概念得到更大范围内的应用。本文将经典的神经 网络和粗集理论有机地结合,提出了一种基于粗集理论的神 经网络,并应用神经网络的粗糙模式建立预测模型。在粗糙 模式下每个神经网络的输入值不是一个单值而是一对值,即 上下边界数据,经典的神经网络在预测模型中采用的是单值 数据作为输入值,但是在一些应用中会产生问题,如医院要 对病人进行病情的跟踪观察,并希望对其未来的情况进行预 测,这时经典的神经网络就难以适用了,对于一个病人来 说,心跳次数,脉搏次数,血压值,体温等项指标在一天当 中需要进行几次测试,问题在于对于同一项指标每次测量值 也是不同的,因此得到的是一组数据而非单个数据,由于经 典的神经网络对于外界的信息的传导需要的是单值输入,究 竟应该取测量值中的哪个值作为输入就难以确定,通常的方 法是将测量数据进行数学平均,以均值作为网络的输入,但 是这可能导致具有重要性质数据的泛化,而粗糙集理论则可 以很好地解决这个问题,粗糙集数据的上下边界可以将病人 一天的各项指标测量值的上界和下界数据作为粗糙神经元的 输入。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值