【Keras】各个优化器的介绍与使用(动量优化,Nesterov, AdaGrad,RMSProp,Adam和Nadam优化)

27 篇文章 16 订阅
订阅专栏

更快的优化器

动量优化

  • 梯度下降通过直接减去权重的成本函数 J ( θ ) J(\theta) J(θ)的梯度乘以学习率( Δ θ J ( θ ) \Delta _{\theta}J(\theta) ΔθJ(θ))来更新权重 θ \theta θ。它不关系较早的梯度是什么。
  • 动量优化:在每次迭代时,它都会从动量向量 m m m中减去局部梯度(乘以学习率 η \eta η),并通过添加该动量来更新权重。
    1. m ← β m − η Δ θ J ( θ ) 2. θ ← θ + m \begin{array}{ll} 1.&m\gets \beta m - \eta \Delta_{\theta}J(\theta)\\ 2.&\theta \gets \theta + m \end{array} 1.2.mβmηΔθJ(θ)θθ+m
  • 如果梯度保持恒定,则最终速度(即权重更新的最大大小)等于该梯度乘以学习率 η \eta η 在乘以 1 / ( 1 − β ) 1/(1-\beta) 1/(1β)
  • 梯度下降相当快地沿着陡峭的斜坡下降,但是沿着山谷下降需要很长时间。相反,动量优化将沿着山谷滚得越来越快,知道达到谷底(最优解)。
  • 在Keras实现动量优化:
optimizer = keras.optimizer.SGD(lr=0.001, momentum=0.9)

Nesterov加速梯度

  • Nesterov加速梯度(Nersterov Accelerated Gradient,NAG)也称为Nesterov动量优化,它不是在局部位置 θ \theta θ,而是在 θ + β m \theta+\beta m θ+βm处,沿动量方向稍微提前处,测量成本函数的梯度。
    1. m ← β m − η Δ θ J ( θ + β m ) 2. θ ← θ + m \begin{array}{ll} 1.&m\gets \beta m - \eta \Delta_{\theta}J(\theta + \beta m)\\ 2.&\theta \gets \theta + m \end{array} 1.2.mβmηΔθJ(θ+βm)θθ+m
  • 下图 Δ 1 \Delta_1 Δ1表示在起点 θ \theta θ处计算的梯度, Δ 2 \Delta_2 Δ2表示在位于 θ + β m \theta+\beta m θ+βm处计算的梯度,当动量推动权重跨越谷底时, Δ 1 \Delta_1 Δ1继续推动越过谷底,而 Δ 2 \Delta_2 Δ2推回谷底。这有助于减少震荡,因此NAG收敛更快。
    在这里插入图片描述
  • 使用NAG:
optimizer = keras.optimizer.SGD(lr=0.001, momentum=0.9, nesterov=True)

AdaGrad

  • 梯度下降从快速沿着最陡的坡度下降开始,该坡度没有指向全局最优解。AdaGrad算法通过沿着最陡峭的维度按比例缩小梯度向量来实现,更早地纠正其方向。
    1. s ← s + Δ θ J ( θ ) ⊗ Δ θ J ( θ ) 2. θ − η Δ θ J ( θ ) ⊘ s + ϵ \begin{array}{ll} 1.& s\gets s + \Delta_{\theta}J(\theta)\otimes \Delta_{\theta}J(\theta)\\ 2.& \theta-\eta \Delta_{\theta}J(\theta)\oslash \sqrt{s+\epsilon } \end{array} 1.2.ss+ΔθJ(θ)ΔθJ(θ)θηΔθJ(θ)s+ϵ
  • 在如上显示的AdaGrad算法中:
    ⊗ \otimes 符号表示逐个元素相乘,第一步将梯度的平方累加到向量 s s s中。每个 s i s_i si累加关于参数 θ i \theta_i θi的成本函数偏导数的平方。如果成本函数沿着第 i i i个维度陡峭,则 s i s_i si将在每次迭代中变得越来越大。
    ⊘ \oslash 符号表示逐个元素相除,第二步几乎与”梯度下降“相同,只是梯度向量按比例因子 s + ϵ \sqrt{s+\epsilon } s+ϵ 缩小了。
  • 该算法会降低学习率,但是对于陡峭的维度,它的执行速度比对缓慢下降的维度的执行速度要快,这称为自适应学习率。它几乎不需要调整学习率超参数 η \eta η
    在这里插入图片描述
  • 在训练神经网络时候,它往往停止得太早,不适合用于训练深度神经网络,但对于线性回归之类的简单任务可能是有效的。

RMSProp

  • RMSProp算法通过只是累加最近迭代中的梯度(而不是自训练开始以来的所有梯度),通过在第一步中使用指数衰减来实现:
    1. s ← β s + ( 1 − β ) Δ θ J ( θ ) ⊗ Δ θ J ( θ ) 2. θ − η Δ θ J ( θ ) ⊘ s + ϵ \begin{array}{ll} 1.& s\gets \beta s + (1-\beta )\Delta_{\theta}J(\theta)\otimes \Delta_{\theta}J(\theta)\\ 2.& \theta-\eta \Delta_{\theta}J(\theta)\oslash \sqrt{s+\epsilon } \end{array} 1.2.sβs+(1β)ΔθJ(θ)ΔθJ(θ)θηΔθJ(θ)s+ϵ
    衰减率 β \beta β通常设置为0.9.
  • Keras有RMSprop优化器:
optimizer = keras.optimizer.RMSprop(lr=0.001, rho=0.9)

Adam和Nadam优化

  • Adam代表自适应钜估计,结合了动量优化和RMSProp的思想:就像动量优化一样,它跟踪过去梯度的指数衰减平均值;想RMSProp一样,它跟踪过去平方梯度的指数衰减平均值。
    在这里插入图片描述
  • 动量衰减超参数 β 1 \beta_1 β1 通常被初始化为0.9,缩放衰减超参数 β 2 \beta_2 β2 通常被初始化为 0.999.
  • 使用Keras来创建Adam优化器:
optimizer = keras.optimizer.Adam(lr=0.001, beta_1=0.9, beta_2=0.999)
  • Adam有两个变体:AdaMax和Nadam。

训练稀疏模型

  • 密集模型意味大多数参数都是非零的,如果在运行时需要一个非常快的模型,或者需要更少的内存,可以使用稀疏模型。
  • 实现方法是像往常一样训练模型,去掉很小的权重(设置为0)。更好的方法是在训练时使用强1正规化,它会迫使优化器产生更多的为零的权重。

优化器比较

在这里插入图片描述

第八节:Keras深度学习框架之优化器
BBM的博客
05-02 726
优化器keras在模型编译时需要的参数之一
一文看懂Keras实现深度学习常见优化器
禅与计算机程序设计艺术
08-13 315
深度学习(Deep Learning)应用已经成为当今最热门的机器学习研究方向之一。然而随着近年来深度学习模型的不断提升,一些基础的优化器技巧也越来越受到关注。比如如何选择合适的学习率、动量、权重衰减方法等等,这些优化器对训练过程中的梯度更新机制及超参数都起到了重要作用。本文将结合Keras API进行深度学习优化器的实践,从最简单的梯度下降优化器开始逐步深入,对比不同优化器的优劣与适用场景,最后给出一个建议。希望通过这篇文章能够让读者对深度学习优化器的应用有一个全面和系统的认识。
优化器】(五) Adam原理 & pytorch代码解析
Lizhi_Tech的博客
07-18 1万+
在之前的文章了,我们学习了SGD,以及在其基础上加了一阶动量的SGD Momentum,还有在其基础上加了二阶动量AdaGradAdaDelta、RMSProp。那么自然而然就会想到把一阶动量和二阶动量结合起来,这样就形成了我们常用的优化器Adam
keras优化器详解
10-05
一份详细的keras优化器详细总结。基于梯度的优化方法 1 0. 梯度下降 2 1. 批量梯度下降Batch gradient descent(BGD) 3 2. 随机梯度下降 Stochastic gradient descent(SGD) 4 3. 小批量梯度下降 Mini-batch gradient descent(MBGD) 5 4. Momentum(动量) 7 5. Adagrad 7 6. Adadelta 9 7. RMSprop 9 8. Adam 10 优化器的选择 11 最近邻分类器 11 损失函数 12 激活函数: 14 优化函数 14
各种优化器及其优缺点(SGD,RMSProp,Adam及其变种)
最新发布
samoyan的博客,记录技术成长~
04-29 1794
其中,θ_t是第t步的参数,α是学习率,∇f(θ_{t-1})是损失函数在第t-1步的梯度,r_t是第t步的平方梯度的移动平均值,β是衰减系数,ε是防止除0错误的小常数。其中,m_t和v_t分别是一阶矩和二阶矩的指数移动平均值,β1和β2是衰减系数,α是学习率,λ是权重衰减系数,ε是防止除0错误的小常数。其中,θ_t是第t步的参数,α是学习率,∇f(θ_{t-1})是损失函数在第t-1步的梯度,v_t是第t步的速度,γ是动量参数。动量优化的另一个缺点是可能会导致优化过程在某些方向上过快,从而跳过最优解。
Keras 优化器总结
zhenyu_qiu的博客
06-19 8681
1. 优化器(Optimizer)用法 优化器Keras模型Compile()方法所需的参数之一,其决定采用何种方法来训练模型。 优化器两种用法: 实例化优化器对象,然后传入model.compile()。实例化的优化器对象可以指定参数 from kears import optimizers model = Sequential() model.add(Dense(64, kernel_initializer='uniform', input_shape=(10,))) model.add(Acti
Keras 深度学习框架的优化器(optimizers)
weixin_33688840的博客
09-12 1025
2019独角兽企业重金招聘Python工程师标准>>> ...
如何在keras中添加自己的优化器(如adam等)
09-16
主要介绍了在keras中实现添加自己的优化器(如adam等)方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
Keras SGD 随机梯度下降优化器参数设置方式
09-16
主要介绍Keras SGD 随机梯度下降优化器参数设置方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
浅谈keras中的目标函数和优化函数MSE用法
09-16
在这个例子中,我们创建了一个简单的全连接网络,并使用了随机梯度下降(SGD)优化器,其参数包括学习率(lr)、衰减率(decay)、动量(momentum)和Nesterov动量。 **优化器**是用于更新模型权重以最小化损失函数...
Keras学习之六:训练辅助及优化工具
zzulp的专栏
08-02 9803
Keras提供的一些训练辅助工具类进行介绍
nadam优化器
studyvcmfc的专栏
08-26 3900
https://blog.csdn.net/qq_42109740/article/details/105401197
Adam优化器
cocapop的博客
03-29 5050
简单来说,Adam是带动量的梯度下降算法和RMSProp算法的结合。对梯度的一阶矩估计(First Moment Estimation,即梯度的均值)和二阶矩估计(Second Moment Estimation,即梯度的未中心化的方差)进行综合考虑,计算出更新步长。均方根传播(RMSProp)也维护每个参数的学习速率,根据最近的权重梯度的平均值(例如变化的速度)来调整。自适应梯度算法(AdaGrad)维护一个参数的学习速率,可以提高在稀疏梯度问题上的性能(例如,自然语言和计算机视觉问题)。
关于Keras里常用各种优化器的实验
AlexDish的博客
10-03 1956
关于Keras里常用各种优化嘎嘎的实验前言其他数据以及神经网络结构优化器之SGD优化器Adagrad优化器Adam优化器RMSprop优化器Adadelta优化器Adamax优化器之Nadam后记 前言 一直以来只知道根据例程里的使用SGD优化器,也不知道有什么好处和速度,为此就列出Keras里常用的优化器,分别对比一下他们效果。 本实验有SGD,AdagradAdam,RMSprop,Adadelta,Adamax,Nadam的实验对比。 本人只合适小白学习者看,反正我也不懂什么公式的。 其他
keras 优化器 optimizer
benbencan的专栏
08-21 966
https://www.cnblogs.com/LS1314/p/10380634.html
深度学习各类优化器详解(动量、NAG、adam、Adagradadadelta、RMSprop、adaMax、Nadam、AMSGrad
热门推荐
恩泽君的博客
04-09 2万+
深度学习各类优化器详细介绍   这篇文章将按照时间线详细讲解各类深度学习优化器,包括常用与不常用的,为这篇博客的个人笔记,但是本文将对每个优化器进行更加清晰的讲解,所以可以更容易理解每一个优化器,对于深度学习小白来说也可以很容易看懂。 一、前言:   最新的深度学习库包含各种优化梯度下降的算法,比如有caffe、keras、tensorflow、pytorch等,但是通常这些算法被当做一个黑匣子使...
Nadam优化算法公式推导(涉及NetsterovAdam,Momentum)
灰灰渔渔爱吃鱼
03-29 775
原论文:INCORPORATING NESTEROV MOMENTUM INTO ADAM https://openreview.net/pdf?id=OM0jvwB8jIp57ZJjtNEZ
KerasAdam优化器decay理解及自适应学习率
qq_41082686的博客
06-21 3241
KerasAdam优化器中各参数如下: : 学习率 : 0到1之间,一般接近于1 : 0到1之间,一般接近于1,和一样,使用默认的就好 : 模糊因子,如果为空,默认为 : 学习率随每次更新进行衰减 : 布尔型,是否使用变体下面我们来看看decay是如何发挥作用的: 写为数学表达式的形式为: 转存失败重新上传取消 为了更好的观察学习率的衰减情况,我们将学习率lr的衰减过程画出来,lr取0.01,decay取0.01lr=0.01,decacy=0.0001,iterations=500 从图中可以
优化器| SGD/SGD-m/SGD-NAG/Adagrad/Adadelta/RMSProp/Adam/Nadam/Adamax
bettii的博客
05-24 1076
最近准备复习一下深度学习的基础知识,开个专栏记录自己的学习笔记。
keras优化器rmsprop
08-25
Keras中,要使用rmsprop优化器,可以通过以下方式来定义模型: ```python from keras.optimizers import RMSprop model.compile(optimizer=RMSprop(lr=0.001), ...) ``` 在上述示例中,我们将RMSprop优化器作为...

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

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
写文章

热门文章

  • 多元函数的极限,连续,偏导数,全微分之间的关系(学习笔记) 12924
  • NLP 中文分词-双向匹配算法(理论+Python实现) 5775
  • 【数学建模】马氏链模型(基本概念+正则链+吸收链) 4369
  • 【NLP】多语言预训练模型(mBERT和XLM) 3905
  • 【论文阅读】自动作文评分系统:一份系统的文献综述 3735

分类专栏

  • NLP 27篇
  • Codeforces 7篇
  • 数学知识 1篇
  • 图论 2篇
  • 编程经验总结 2篇
  • PTA 5篇
  • 动态规划 3篇
  • 数据结构 6篇
  • 牛客 1篇
  • 数论题 2篇
  • 几何数学 1篇
  • 学习笔记 5篇
  • Java 2篇
  • 拓扑排序 1篇
  • LPOJ 2篇
  • 并查集 1篇

最新评论

  • PTA 7-1 玩转二叉树

    蒙奇·D·ffy: 链接没法访问

  • 【Tensorflow】使用字符RNN生成莎士比亚文本

    Wu S.Y.: 为什么windows()的方法用不了呢

  • 【论文阅读】通过解缠绕表示学习提升领域泛化能力用于主题感知的作文评分

    shanzi0403: 为什么都没有论文的信息,可以提供一下吗

  • 【论文阅读】聚集多个启发式信号作为监督用于无监督作文自动评分

    shanzi0403: 亲,你的这个论文名是什么,可以分享一下吗

  • 【论文阅读】BERTopic:采用一个基于类的TF-IDF流程进行神经网络的主题建模

    IcecreamHan2478962: 请问如何改进BERTopic使得每个文档有多个主题分布呢?

您愿意向朋友推荐“博客详情页”吗?

  • 强烈不推荐
  • 不推荐
  • 一般般
  • 推荐
  • 强烈推荐
提交

最新文章

  • 【复习笔记】学术英语
  • 【论文阅读】面向抽取和理解基于Transformer的自动作文评分模型的隐式评价标准(实验结果部分)
  • 【知识积累】准确率,精确率,召回率,F1值
2024年1篇
2023年5篇
2022年47篇
2021年3篇
2020年25篇

目录

目录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值

PHP网站源码宝安网页设计横岗推广网站南联网站推广永湖百搜标王西乡至尊标王沙井SEO按效果付费罗湖百度竞价观澜如何制作网站坪山网站优化按天计费龙华网站优化按天扣费东莞网站优化按天计费荷坳网站建设设计同乐seo沙井百度网站优化福永营销网站南山外贸网站设计惠州百度竞价西乡百搜词包南联企业网站改版爱联企业网站改版观澜企业网站制作塘坑如何制作网站坂田网络推广深圳设计公司网站木棉湾SEO按天扣费盐田模板推广龙岗模板网站建设广州外贸网站设计荷坳建站同乐网站定制歼20紧急升空逼退外机英媒称团队夜以继日筹划王妃复出草木蔓发 春山在望成都发生巨响 当地回应60岁老人炒菠菜未焯水致肾病恶化男子涉嫌走私被判11年却一天牢没坐劳斯莱斯右转逼停直行车网传落水者说“没让你救”系谣言广东通报13岁男孩性侵女童不予立案贵州小伙回应在美国卖三蹦子火了淀粉肠小王子日销售额涨超10倍有个姐真把千机伞做出来了近3万元金手镯仅含足金十克呼北高速交通事故已致14人死亡杨洋拄拐现身医院国产伟哥去年销售近13亿男子给前妻转账 现任妻子起诉要回新基金只募集到26元还是员工自购男孩疑遭霸凌 家长讨说法被踢出群充个话费竟沦为间接洗钱工具新的一天从800个哈欠开始单亲妈妈陷入热恋 14岁儿子报警#春分立蛋大挑战#中国投资客涌入日本东京买房两大学生合买彩票中奖一人不认账新加坡主帅:唯一目标击败中国队月嫂回应掌掴婴儿是在赶虫子19岁小伙救下5人后溺亡 多方发声清明节放假3天调休1天张家界的山上“长”满了韩国人?开封王婆为何火了主播靠辱骂母亲走红被批捕封号代拍被何赛飞拿着魔杖追着打阿根廷将发行1万与2万面值的纸币库克现身上海为江西彩礼“减负”的“试婚人”因自嘲式简历走红的教授更新简介殡仪馆花卉高于市场价3倍还重复用网友称在豆瓣酱里吃出老鼠头315晚会后胖东来又人满为患了网友建议重庆地铁不准乘客携带菜筐特朗普谈“凯特王妃P图照”罗斯否认插足凯特王妃婚姻青海通报栏杆断裂小学生跌落住进ICU恒大被罚41.75亿到底怎么缴湖南一县政协主席疑涉刑案被控制茶百道就改标签日期致歉王树国3次鞠躬告别西交大师生张立群任西安交通大学校长杨倩无缘巴黎奥运

PHP网站源码 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化