

Adam优化器杂谈
source link: https://segmentfault.com/a/1190000023456730
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

文章来自:微信公众号【机器学习炼丹术】
最常用的Adam优化器,有着收敛速度快、调参容易等优点,但是也存在经常被人吐槽的泛化性问题和收敛问题。
因此,在很多大佬的代码中,依然会使用传统的SGD+momentum的优化器。
关于两个优化器的比较,仁者见仁智者见智,可以看一下这篇文章,有简单的关于这两个优化器的代码实现和效果比较:
Pytorch的SGD,SGDM,Adam,RAdam的代码实现这篇文章就随便的谈一谈下面的问题,来让大家扩展一下知识:
- Adam被攻击的泛化问题和收敛问题;
Adam是什么
对机器学习有了解的朋友,应该对Adam优化器不陌生了。大体来说就是 Momentum + Adagrad + RMSProp 的结合。
【如果需要的话,之后可以简单易懂的通俗讲讲各种类型的优化器的算法】
从Adam和SGDM中就可以得知,Momentum是一个很好的设计。
Adam的两个吐槽
泛化问题
在讨论模型泛化问题的时候, 我们会希望模型找到的极小值(收敛位置),是一个比较平缓、不陡峭的位置! ,原因看下图:
、调度资源、网络通信、生成渲染命令这些,是容易发生变化的。 其中,资源的调度和网...
-
31
对于当代游戏,尤其是大制作来说,IO往往是一个非常主要的性能瓶颈。不仅仅是CPU读取游戏资源的方式,游戏资源的打包方式本身也会极大地影响CPU性能。 常规的文件操作,是一个多个步骤连锁的过程:需要按层级遍历目录,需要对比文件名,...
-
29
在当代游戏引擎当中,CPU负责生成GPU命令队列,并提交给GPU执行。因为这个命令队列是生成在内存空间当中然后提交给GPU的,所以无论对于CPU还是GPU来说,这其实也是一种IO操作。 特别是,在PC等通用环境下,为了提高系统的鲁棒性和兼容性...
-
17
游戏逻辑的执行,也是CPU端性能瓶颈的常见原因之一。 当代游戏引擎的一大进步,是将游戏逻辑的制作从程序员手中解放出来。WYSIWYG的可视化编辑,基于脚本语言甚至是节点连线的二次开发,都大大降低了编写游戏逻辑的技术门槛。但是正如老...
-
25
我认为性能优化可以分为宏观层面的优化,与微观层面的优化。前者多与开发技术及流程的选型有关,因此应该在项目的前期就开始考虑,而且是越早考虑费用效益比越好。而后者则是对于成品性能热点区域针对性的优化,通常在项目的中后期进行,且效果...
-
45
GPU管线的最前端通常是一个指令获取与译码单元。这个单元从内存取出CPU传递过来的指令,将其进行译码。一些命令发送给后面的微核心进行执行,比如DMA数据传输、和CPU之间的通信同步等等;另外一些命令则对GPU内的数百个状态寄存器...
-
18
ADAM与二阶优化算法的联系 – 智汇云技术社区 ADAM与二阶优化算法的联系 2022-3-28 9:53 人...
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK