tensorflow - Adam opitmizer 中的 epsilon 参数
问题描述
使用 pyTorch 和 tensorflow (TF),我一直好奇 Adam 优化器是如何实现的。而且我不知道我是否错了,但在我看来,这两种实现方式不同,pyTorch 一种是来自https://arxiv.org/pdf/1412.6980.pdf的原始实现。
我的问题来自 eps 参数。使用 TF 实现似乎会导致此参数的时间和 b2 依赖性,即
q(t+1) = q(t) - \gamma * sqrt[(1-b2^t)]/(1-b1^t) * m(t)/[sqrt[v(t)]+eps]
在原始算法符号中可以重新表述为
q(t+1) = q(t) - \gamma * mhat(t)/[sqrt[vhat(t)]+ eps/sqrt[(1-b2^t)]]
这指出了 eps 参数的变化,这在原始算法和 pyTorch 实现中都不是这种情况。
我错了吗?还是众所周知?谢谢你的帮助。
解决方案
推荐阅读
- sql - 垂直合并到组内的多行
- python-3.x - 使用 Python Selenium 选择 textarea 中的所有文本
- nginx - Nginx proxy_pass 删除uri中的路径
- flutter - Flutter textfieldcontroller默认值不适用于变量
- python - 为什么我的浏览器中的网页输出与我通过抓取该网页获得的页面源代码不匹配?
- python - 使用示例日期时间值初始化数据框
- javascript - 使用 google 的差异匹配补丁库进行 html 字符串比较,方法是将 html 标签替换为 unicode 字符,但不适用于项目符号列表?
- java - 如何从输入字段中获取属性值?硒 - Java
- python - 将用户定义的行添加到数据集
- arduino-uno - SD卡无法在proteus中初始化