一、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. python_5_模块

    创:5_4_2017 修: 什么是模块? --标准库+第三方库+自定义,为实现某一方面的功能集合(变量,函数,类) 如何安装第三方库? --pip install 第三方库 如何导入和使用模块? -- ...

  2. 阿里java开发手册中命名规约解读之DO/BO/DTO/VO/AO

    前言 在阅读<阿里巴巴Java开发手册>时,看到命名规则中有这样一条 虽然知道这些是根据Java对象的角色所分配名称的后缀,但是没有弄清楚分别是什么意思,日常开发中也没有使用到. 网上查找 ...

  3. j2e应用概述

    过年也过完了,现在正式开始进入j2e的整理.现在开篇第一篇,整理一下j2e应用和开发环境.j2e应用提供的跨平台性,开放性已经各种远程访问的技术,为异构系统的良好整合提供了保证.注意这个是有一个异构系 ...

  4. 【转】VMware 克隆 Linux 系统后找不到 eth0 网卡问题

    [问题描述] 使用 VMware 虚拟机的克隆功能,快速复制已安装好的 Linux 系统. 克隆完成之后,发现没有 eth0 网卡. [解决方法] 1. 编辑 /etc/udev/rules.d/70 ...

  5. Hyperledger Fabric Endorsement policies——背书策略

    背书策略 背书策略用于指导peer如何确定交易是否得到了的认可.当一个peer接收到一个事务时,它会调用与事务的Chaincode相关联的VSCC(验证系统链代码),作为事务验证流程的一部分,以确定交 ...

  6. linux tar 压缩解压命令

    tar命令: -c 压缩-x 解压缩-t 不解压的情况下查看文件内容-r 向压缩文件追加文件-u 更新压缩文件 以上参数必须和'-f'参数连用,且'-f'必须为最后一个参数,后接文档名 -z 对应gz ...

  7. html的标签

    <a>:anchor 定义锚 <abbr>:abbreviation 定义缩写 <acronym>: 定义只取消首字母的缩写 <address>:定义地 ...

  8. Object对象和function对象

    Obejct对象 1.ECMAScript 中的 Object 对象与 Java 中的 java.lang.Object 相似. 2.ECMAScript中的所有对象都由Object对象继承而来,Ob ...

  9. oracle学习(一)

    作为一个入门选手,怕忘记,所以所有东西都尽量写下来.(省略oracle11g的安装过程) 一.sqlpuls用sys账户登录 (sqlplus是客户端连上服务器的一个工具) 1.使用cmd控制台登录 ...

  10. Sizeof的三种作用

    一.计算常量占用的字节数 例如:int num=sizeof(10); printf("%i",num); 二.计算变量占用的字节数 例如:int num2=3; int resu ...