曾经多次看到别人说起,在选择Optimizer的时候默认就选Adam。这样的建议其实比较尴尬,如果有一点科学精神的人,其实就会想问为什么,并搞懂这一切,这也是我开这个Optimizer系列的原因之一。前面介绍了Momentum,也介绍了RMSProp,其实Adam就是二者的结合,再加上偏差修正(Bias Correction)。

首先,在Adam算法迭代过程中,需要计算各个时刻梯度的Exponential Moving Average,这一步骤来源于Momentum算法:

第二,计算各个时刻梯度平方的Exponential Moving Average,这一步骤来源于RMSProp算法:

第三步,分别对二者最Bias Correction:

最后,将算法合并:

最新文章

  1. nginx $document_uri 防止死循环
  2. 基于WS-BPEL2.0的服务组合研究
  3. gulp进阶构建项目由浅入深
  4. 网站为什么要做SEO
  5. Uva401Palindromes
  6. 点餐APP 冲刺一总结
  7. Linux 本地文件或文件夹上传服务器
  8. java spring 框架学习
  9. Codeforces Round #221 (Div. 2) C. Divisible by Seven(构造 大数除法 )
  10. eclipse中调出android sdk manager和android virtual device manager图标
  11. SMT贴片红胶基本知识
  12. DHot.exe 热点新闻
  13. rpm打包工具---FPM
  14. Python文件学习
  15. Codeforces1062C. Banh-mi(贪心+快速幂)
  16. Python-初识模块
  17. 018_nginx_proxy死循环问题
  18. 最大流最小割学习 基本知识 | 证明 | FF算法
  19. DFS遍历中forward、backward以及cross边的界定
  20. 异步FIFO格雷码与空满

热门文章

  1. Appium+Python之元素定位和操作
  2. 引入maven以外的jar包
  3. Lambda创建表达式目录树
  4. CentOS7搭建Docker镜像实战
  5. canvas画随机的四位验证码
  6. Storm简介——初始Storm
  7. 刚新建好的动态网站项目,创建jsp页面就报错??
  8. 036:DTL常用过滤器(5)
  9. maven推送本地包到私服
  10. APP稳定性测试-monkey执行