AdEMAMix: 一种创新的神经网络优化器

news/2024/11/16 14:42:49/文章来源:https://www.cnblogs.com/deephub/p/18428386

这是9月发布的一篇论文,Pagliardini等人在其论文中提出了一种新的优化算法——AdEMAMix。这种算法旨在解决当前广泛使用的Adam及其变体(如AdamW)在利用长期梯度信息方面的局限性。研究者们通过巧妙地结合两个不同衰减率的指数移动平均(EMA),设计出了这种新的优化器,以更有效地利用历史梯度信息。

研究动机

作者们指出,传统的动量优化器通常使用单一EMA来累积过去的梯度,这种方法面临一个两难困境:

  1. 较小的衰减率(β)会导致优化器对近期梯度给予较高权重,但快速遗忘旧梯度。
  2. 较大的衰减率可以保留更多旧梯度信息,但会减慢对近期梯度的响应。

研究者们发现,即使在数万步训练之后,梯度信息仍然可能保持有用。这一发现促使他们设计了AdEMAMix,以同时利用近期和远期的梯度信息。

AdEMAMix算法

核心思想

AdEMAMix的核心在于使用两个EMA项:

  1. 快速EMA(低β值): m₁ = β₁m₁ + (1-β₁)g
  2. 慢速EMA(高β值): m₂ = β₃m₂ + (1-β₃)g

其中g为当前梯度,β₁和β₃分别为快速和慢速EMA的衰减率。

参数更新规则

作者们给出了AdEMAMix的参数更新规则:

θ = θ - η((m̂₁ + αm₂) / (√v̂ + ε) + λθ)

其中θ为模型参数,η为学习率,α为权衡两个EMA项的系数,v̂为Adam中的二阶矩估计,λ为权重衰减系数。

 

https://avoid.overfit.cn/post/aec60154f99a42ab81274c7f7afe15f3

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/802676.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Vue 基本使用

基本使用,组件使用❗必须要会! 高级特性 不常用,但可以体现你的知识深度 Vuex 和 Vue router❗重要 考察频率高面试题👇1. 指令 插值computed和watchcomputed的值没变,会缓存起来 watch 深度监听: deep: true,有子属性会遍历下去。 class和style 动态属性、驼峰写法条件…

绘制印章的开源工具DrawStampUtils使用

最近写了一个绘制印章的工具DrawStampUtils,具有比较完整的印章修改效果,定制化度较高,git地址(https://github.com/xxss0903/drawstamputils),也可以在npmjs中搜索DrawStampUtils即可// 将要绘制的canvas组件的引用传入,还有就是对应的毫米转像素的大小传入即可const sta…

从零开始学机器学习——什么是机器学习

机器学习作为人工智能的重要组成部分,通过算法自动发现数据中的模式和规律,从而使我们能够做出预测和决策。在学习过程中,我们强调了重要的关键词汇和步骤,包括训练数据集、模型、训练方法和调优过程。这个系列的文章旨在为初学者提供机器学习知识,避免使用专业术语和复杂…

Spark(八)SparkSQL概述

概述Hive是将SQL转为MapReduce SparkSQL可以理解成是将SQL解析成:“RDD+优化”再执行 SparkSQL可以简化RDD的开发,提高开发效率,且执行效率非常快 Spark SQL为了简化RDD的开发,提高开发效率,提供了2个编程抽象,DataFrame和DataSet,类似Spark Core中的RDD1. SparkSQL特点易…

Linux C++ 开发10 - 手把手教你使用valgrind性能分析工具

1. 什么是valgrind? 2. (Ubuntu)安装valgrind 3. valgrind工具的使用3.1. 命令的语法格式 3.2. 工具选项 3.3. LOG信息输出 3.4. Demo演示《Linux C++ 开发9 - 手把手教你使用gprof性能分析工具》一文中,我们讲解了gprof工具的使用方法,本文将继续讲解valgrind工具的使用方法…

js DOM学习的综合样例

js DOM学习的综合样例 本人简单学习了一点md语法,写出来的博客会更好看喵. 样例介绍 主要实现利用DOM的获取标签对象的功能和对监听功能实现三个功能:(1)开灯,关灯(2)对标签进行全选,反选(3)对文本框聚焦时字母为大写,反之为小写基本实现方法(1)开灯关灯:a.用img标签贴图关灯的…

救园最后7天:「坚持你所相信的,相信你所坚持的」

从7月15日开始的救园还剩最后7天,很有希望,也很紧张,能否救园成功,取决于最后7天有多少园友出手相救。前二十年,我们选择了「坚持我们所相信的」,相信真心为开发者服务,一定会有出路,我们坚持了下来。在第二十年遇到最大难关时,我们选择了「相信我们所坚持的」从7月15…

统计一个字符在字符串里出现的次数

统计一个字符在字符串里出现的次数 背景在数据库操作中,统计字符串中某个特定字符出现的次数是一个常见需求。无论是分析文本数据、格式化字符串,还是确保数据一致性,字符出现次数的统计对于开发人员和数据库管理员来说都是一项重要任务。这个问题看似简单,但可以通过数据库…

React的useId,现在Vue3.5终于也有了!

前言 React在很早之前的版本中加了useId,用于生成唯一ID。在Vue3.5版本中,终于也有了期待已久的useId。这篇文章来带你搞清楚useId有哪些应用场景,以及他是如何实现的。 关注公众号:【前端欧阳】,给自己一个进阶vue的机会 useId的作用 他的作用也是生成唯一ID,同一个Vue应…

Windows 目录统计信息

WinDirStat 是适用于各种版本 Microsoft Windows 的磁盘使用情况统计查看器和清理工具。注意:如果您正在寻找 Linux 的替代品,您正在寻找 KDirStat(在 Debian 衍生产品上为 apt-get install kdirstat 或 apt-get install k4dirstat)或 QDirStat,对于 MacOS X,则为 Disk I…

Cisco Secure Firewall Threat Defense Virtual 7.6.0 发布下载,新增功能概览

Cisco Secure Firewall Threat Defense Virtual 7.6.0 - 思科下一代防火墙虚拟设备 (FTDv)Cisco Secure Firewall Threat Defense Virtual 7.6.0 - 思科下一代防火墙虚拟设备 (FTDv) Firepower Threat Defense (FTD) Software for ESXi & KVM 请访问原文链接:https://sysi…

让人眼前一亮的开源项目「GitHub 热点速览」

时隔两周,我又带着让人眼前一亮的开源项目回来了! 告别数据线、蓝牙、WiFi 和网络,只需用手机的摄像头扫描一张动图条形码(需安装应用),就能在设备间传输文件的 libcimbar,一款无需联网和蓝牙的文件传输工具,仅用摄像头传输数据。用 Rust 编写的 PostgreSQL 数据库命令…