热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

改善深层神经网络:超参数调整、正则化以及优化——2.7RMSprop

RMSprop算法全称是rootmeansquareprop算法,该算法可以加速梯度下降,回忆一下之前的例子,如果执行梯度下降࿰

RMSprop算法全称是root mean square prop算法,该算法可以加速梯度下降,回忆一下之前的例子,如果执行梯度下降,虽然横轴方向正在推进,但纵轴方向会有大幅度的摆动,假设纵轴代表参数b,横轴代表参数W,可能有W1W_1W1,W2W_2W2或者其它重要的参数,为了便于理解,称为b和W。所以如果想减缓b方向的学习,同时加快横轴方向的学习,RMSprop算法可以实现这一点。
在这里插入图片描述

在第t次迭代中,该算法会照常计算当下mini-batch的微分dWdWdWdbdbdb。这里用新符号SdwS_{dw}Sdw,Sdw=β∗Sdw+(1−β)∗(dW)2S_{dw}=\beta*S_{dw} +(1-\beta)*(dW)^2 Sdw=βSdw+(1β)(dW)2公式中平方的操作是针对这一整个符号的,这样做能够保留微分平方的加权平均数。同样有Sdb=β∗Sdb+(1−β)∗(db)2S_{db}=\beta * S_{db}+(1-\beta)*(db)^2Sdb=βSdb+(1β)(db)2参数更新公式变为W=W−α∗dWSdWW=W-\alpha * \frac{dW}{\sqrt{S_{dW}}}W=WαSdW

dWb=b−α∗dbSdbb=b-\alpha*\frac{db}{\sqrt{S_{db}}}b=bαSdb

db我们理解一下其中的原理,在横轴方向或者在例子中的W方向,我们希望学校速度快,而在垂直方向,也就是例子中的b方向,我们希望减缓纵轴上的摆动。所以有了SdWS_{dW}SdWSdbS_{db}Sdb,我们希望SdWS_{dW}SdW会相对较小,所以W参数更新要除以一个较小的数,而希望SdbS_dbSdb较大,这样b更新会除以一个较大的数字,这样就可以减缓纵轴上的变化。

RMSprop的影响就是,纵轴方向上的摆动较小,而横轴方向继续推进。还有个影响就是,可以用更大学习率α\alphaα加快学习。

在RMSprop中要确保算法不会除于0,如果SdWS^{dW}SdW的平方根趋近于0怎么办?这样得到的答案非常大,为了确保数值稳定,在实际中操作的时候,要在分母加上一个很小很小的ε\varepsilonε,ε\varepsilonε是多少没关系,KaTeX parse error: Expected 'EOF', got '&' at position 3: 10&̲{-8}是个不错的选择,这只是保证数值能够稳定一些。无论什么原因,都不会除以一个很小很小的数,所以RMSprop跟Momentum有很相似的一点,可以消除梯度下降中的摆动,并允许使用一个更大的学习率alphaalphaalpha,从而加快算法学习速度。


推荐阅读
  • 生成式对抗网络模型综述摘要生成式对抗网络模型(GAN)是基于深度学习的一种强大的生成模型,可以应用于计算机视觉、自然语言处理、半监督学习等重要领域。生成式对抗网络 ... [详细]
  • 不同优化算法的比较分析及实验验证
    本文介绍了神经网络优化中常用的优化方法,包括学习率调整和梯度估计修正,并通过实验验证了不同优化算法的效果。实验结果表明,Adam算法在综合考虑学习率调整和梯度估计修正方面表现较好。该研究对于优化神经网络的训练过程具有指导意义。 ... [详细]
  • 背景应用安全领域,各类攻击长久以来都危害着互联网上的应用,在web应用安全风险中,各类注入、跨站等攻击仍然占据着较前的位置。WAF(Web应用防火墙)正是为防御和阻断这类攻击而存在 ... [详细]
  • 本文由编程笔记#小编为大家整理,主要介绍了logistic回归(线性和非线性)相关的知识,包括线性logistic回归的代码和数据集的分布情况。希望对你有一定的参考价值。 ... [详细]
  • 微软头条实习生分享深度学习自学指南
    本文介绍了一位微软头条实习生自学深度学习的经验分享,包括学习资源推荐、重要基础知识的学习要点等。作者强调了学好Python和数学基础的重要性,并提供了一些建议。 ... [详细]
  • 云原生边缘计算之KubeEdge简介及功能特点
    本文介绍了云原生边缘计算中的KubeEdge系统,该系统是一个开源系统,用于将容器化应用程序编排功能扩展到Edge的主机。它基于Kubernetes构建,并为网络应用程序提供基础架构支持。同时,KubeEdge具有离线模式、基于Kubernetes的节点、群集、应用程序和设备管理、资源优化等特点。此外,KubeEdge还支持跨平台工作,在私有、公共和混合云中都可以运行。同时,KubeEdge还提供数据管理和数据分析管道引擎的支持。最后,本文还介绍了KubeEdge系统生成证书的方法。 ... [详细]
  • CSS3选择器的使用方法详解,提高Web开发效率和精准度
    本文详细介绍了CSS3新增的选择器方法,包括属性选择器的使用。通过CSS3选择器,可以提高Web开发的效率和精准度,使得查找元素更加方便和快捷。同时,本文还对属性选择器的各种用法进行了详细解释,并给出了相应的代码示例。通过学习本文,读者可以更好地掌握CSS3选择器的使用方法,提升自己的Web开发能力。 ... [详细]
  • 本文介绍了Java工具类库Hutool,该工具包封装了对文件、流、加密解密、转码、正则、线程、XML等JDK方法的封装,并提供了各种Util工具类。同时,还介绍了Hutool的组件,包括动态代理、布隆过滤、缓存、定时任务等功能。该工具包可以简化Java代码,提高开发效率。 ... [详细]
  • “你永远都不知道明天和‘公司的意外’哪个先来。”疫情期间,这是我们最战战兢兢的心情。但是显然,有些人体会不了。这份行业数据,让笔者“柠檬” ... [详细]
  • [译]技术公司十年经验的职场生涯回顾
    本文是一位在技术公司工作十年的职场人士对自己职业生涯的总结回顾。她的职业规划与众不同,令人深思又有趣。其中涉及到的内容有机器学习、创新创业以及引用了女性主义者在TED演讲中的部分讲义。文章表达了对职业生涯的愿望和希望,认为人类有能力不断改善自己。 ... [详细]
  • Python正则表达式学习记录及常用方法
    本文记录了学习Python正则表达式的过程,介绍了re模块的常用方法re.search,并解释了rawstring的作用。正则表达式是一种方便检查字符串匹配模式的工具,通过本文的学习可以掌握Python中使用正则表达式的基本方法。 ... [详细]
  • 本文介绍了Linux系统中正则表达式的基础知识,包括正则表达式的简介、字符分类、普通字符和元字符的区别,以及在学习过程中需要注意的事项。同时提醒读者要注意正则表达式与通配符的区别,并给出了使用正则表达式时的一些建议。本文适合初学者了解Linux系统中的正则表达式,并提供了学习的参考资料。 ... [详细]
  • 也就是|小窗_卷积的特征提取与参数计算
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了卷积的特征提取与参数计算相关的知识,希望对你有一定的参考价值。Dense和Conv2D根本区别在于,Den ... [详细]
  • 本文介绍了南邮ctf-web的writeup,包括签到题和md5 collision。在CTF比赛和渗透测试中,可以通过查看源代码、代码注释、页面隐藏元素、超链接和HTTP响应头部来寻找flag或提示信息。利用PHP弱类型,可以发现md5('QNKCDZO')='0e830400451993494058024219903391'和md5('240610708')='0e462097431906509019562988736854'。 ... [详细]
  • 深度学习中的Vision Transformer (ViT)详解
    本文详细介绍了深度学习中的Vision Transformer (ViT)方法。首先介绍了相关工作和ViT的基本原理,包括图像块嵌入、可学习的嵌入、位置嵌入和Transformer编码器等。接着讨论了ViT的张量维度变化、归纳偏置与混合架构、微调及更高分辨率等方面。最后给出了实验结果和相关代码的链接。本文的研究表明,对于CV任务,直接应用纯Transformer架构于图像块序列是可行的,无需依赖于卷积网络。 ... [详细]
author-avatar
youyiyang
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有