一、Momentum

1. 计算dw、db.

2. 定义v_db、v_dw

\[
v_{dw}=\beta v_{dw}+(1-\beta)dw
\]
\[
v_{db}=\beta v_{db}+(1-\beta)db
\]

3. 更新dw、db

\[
dw=w-\alpha v_{dw}
\]
\[
db=b-\alpha v_{db}
\]

二、RMSprop

1. 计算dw、db.

2. 定义s_db、s_dw (这里的平方是元素级的)

\[
s_{dw}=\beta s_{dw}+(1-\beta)dw^2
\]
\[
s_{db}=\beta s_{db}+(1-\beta)db^2
\]

3. 更新dw、db

\[
dw=w-\alpha \frac{w}{\sqrt{s_{dw}}}
\]
\[
db=b-\alpha \frac{b}{\sqrt{s_{db}}}
\]

三、Adam

==结合了Momentum+RMSprop==

1. 计算dw、db.

2. 定义v_db、v_dw、s_db、s_dw.

\[
v_{dw}=\beta_{1} v_{dw}+(1-\beta_{1})dw
\]
\[
v_{db}=\beta_{1} v_{db}+(1-\beta_{1})db
\]
\[
s_{dw}=\beta_{2} s_{dw}+(1-\beta_{2})dw^2
\]
\[
s_{db}=\beta_{2} s_{db}+(1-\beta_{2})db^2
\]

3. 纠偏(t为迭代次数)

\[
v_{dw}^{correct}=\frac{v_{dw}}{1-\beta^t}
\]
\[
v_{db}^{correct}=\frac{v_{db}}{1-\beta^t}
\]
\[
s_{dw}^{correct}=\frac{s_{dw}}{1-\beta^t}
\]
\[
s_{db}^{correct}=\frac{s_{db}}{1-\beta^t}
\]

4. 更新dw、db,e为很小的数,防止分母为0。

通常(e=10^-8)

\[
dw=w-\alpha \frac{v_{dw}^{correct}}{\sqrt{s_{dw}^{correct}}+e}
\]
\[
db=b-\alpha \frac{v_{db}^{correct}}{\sqrt{s_{db}^{correct}}+e}
\]

深度学习优化算法Momentum RMSprop Adam的更多相关文章

  1. 从 SGD 到 Adam —— 深度学习优化算法概览(一) 重点

    https://zhuanlan.zhihu.com/p/32626442 骆梁宸 paper插画师:poster设计师:oral slides制作人 445 人赞同了该文章 楔子 前些日在写计算数学 ...

  2. ubuntu之路——day8.1 深度学习优化算法之mini-batch梯度下降法

    所谓Mini-batch梯度下降法就是划分训练集和测试集为等分的数个子集,比如原来有500W个样本,将其划分为5000个baby batch,每个子集中有1000个样本,然后每次对一个mini-bat ...

  3. ubuntu之路——day8.2 深度学习优化算法之指数加权平均与偏差修正,以及基于指数加权移动平均法的动量梯度下降法

    首先感谢吴恩达老师的免费公开课,以下图片均来自于Andrew Ng的公开课 指数加权平均法 在统计学中被称为指数加权移动平均法,来看下面一个例子: 这是伦敦在一些天数中的气温分布图 Vt = βVt- ...

  4. 深度学习——优化器算法Optimizer详解(BGD、SGD、MBGD、Momentum、NAG、Adagrad、Adadelta、RMSprop、Adam)

    在机器学习.深度学习中使用的优化算法除了常见的梯度下降,还有 Adadelta,Adagrad,RMSProp 等几种优化器,都是什么呢,又该怎么选择呢? 在 Sebastian Ruder 的这篇论 ...

  5. 优化深度神经网络(二)优化算法 SGD Momentum RMSprop Adam

    Coursera吴恩达<优化深度神经网络>课程笔记(2)-- 优化算法 深度机器学习中的batch的大小 深度机器学习中的batch的大小对学习效果有何影响? 1. Mini-batch ...

  6. 深度学习剖根问底: Adam优化算法的由来

    在调整模型更新权重和偏差参数的方式时,你是否考虑过哪种优化算法能使模型产生更好且更快的效果?应该用梯度下降,随机梯度下降,还是Adam方法? 这篇文章介绍了不同优化算法之间的主要区别,以及如何选择最佳 ...

  7. ui2code中的深度学习+传统算法应用

    背景 在之前的文章中,我们已经提到过团队在UI自动化这方面的尝试,我们的目标是实现基于 单一图片到代码 的转换,在这个过程不可避免会遇到一个问题,就是为了从单一图片中提取出足够的有意义的结构信息,我们 ...

  8. <深度学习优化策略-3> 深度学习网络加速器Weight Normalization_WN

    前面我们学习过深度学习中用于加速网络训练.提升网络泛化能力的两种策略:Batch Normalization(Batch Normalization)和Layer Normalization(LN). ...

  9. Attention机制在深度学习推荐算法中的应用(转载)

    AFM:Attentional Factorization Machines: Learning the Weight of Feature Interactions via Attention Ne ...

随机推荐

  1. Web Magic 简介

    WebMagic in Action Little book of WebMagic. WebMagic是我业余开发的一款简单灵活的爬虫框架.基于它你可以很容易的编写一个爬虫. 这本小书以WebMag ...

  2. junit4X系列源码--Junit4 Runner以及test case执行顺序和源代码理解

    原文出处:http://www.cnblogs.com/caoyuanzhanlang/p/3534846.html.感谢作者的无私分享. 前一篇文章我们总体介绍了Junit4的用法以及一些简单的测试 ...

  3. Linkin大话Java和internet概念

    整理电脑,无意中翻到不知道哪里来的文章,觉得里面写的很好,仔细看过一遍后,整理了下贴了出来,其中的好多概念我觉得讲的很透彻. 既然Java不过另一种类型的程序设计语言,为什么还有这么多的人认为它是计算 ...

  4. Asp.net core 2.0.1 Razor 的使用学习笔记(三)

    ASP.net core 2.0.0 中 asp.net identity 2.0.0 的基本使用(二)—用户账户及cookie配置 修改用户账户及cookie配置 一.修改密码强度和用户邮箱验证规则 ...

  5. TP手册学习第一天

    调试执行的sql语句 User::get(1); echo User::getLastSql(); 方法直接返回当前的查询SQL而不执行fetchSql echo User::fetchSql()-& ...

  6. su鉴定故障

    su切换用户鉴定故障 [yolo1@izqfsfqp8ejn9zz ~]$ su root密码:su: 鉴定故障[yolo1@izqfsfqp8ejn9zz ~]$ sudo root 我们信任您已经 ...

  7. MySQL权限详解

    MySQL权限级别介绍 MySQL权限级别 全局性的管理权限,作用于整个MySQL实例级别 数据库级别的权限,作用于某个指定的数据库上或者所有的数据库上 数据库对象级别的权限,作用于指定的数据库对象上 ...

  8. DFS实现排列组合

    所谓排列,是指从给定的元素序列中依次取出元素,需要考虑取出顺序.比如,取出元素3, 5,因取出顺序的不同,则形成的序列{3, 5}与{5, 3}是不同的排列序列.对于长度为n的元素序列取出k个元素,则 ...

  9. ABP官方文档翻译 2.3 缓存

    缓存 介绍 ICacheManager 警告:GetCache方法 ICache ITypedCache 配置 实体缓存 实体缓存如何工作 Redis缓存集成 介绍 ABP为缓存提供了一个抽象接口,它 ...

  10. 三栏布局,div左右盒子是定宽,中间是自适应

    用弹性布局flex: 给父盒子加个display:flex; 给中间盒子设flex=1; /* 弹性盒子布局*/ .wrap{ width: 100%; height: 90px; display: ...