发新帖

tensorflow adadelta中使用了learningrate

[复制链接]
669 3

快来加入 TensorFlowers 大家庭!

您需要 登录 才可以下载或查看,没有帐号?加入社区

x
最近在实现adadelta优化算法,在和tf比较结果时发现有挺大的差距,仔细看了tensorflow c++版本的代码,更新公式里使用了learningrate,目前有下面几个问题,求大神帮忙解答:
1. adadelta论文和网上各种教程中adadelta都不需要使用learningrate,但为什么tensorflow会使用呢,仅仅是因为测试的效果好?但adadelta这个算法本身不就是为了解决学习率设置的问题。
2. python版本的tf的adadelta具体计算逻辑代码在哪里呢,找了半天也没找到
3. adadelta到底应不应该使用learningrate。

TianLin已获得悬赏 10 金币+10 金币

最佳答案

好问题! Adadelta 的API 文档中写了: 所以如果想跟原始论文 (https://arxiv.org/pdf/1212.5701v1.pdf) 中一样,需要设置learning_rate = 1.0. Python 代码在 https://github.com/tensorflow/tensorflow/blob/r ...
本楼点评(0) 收起

精彩评论3

Myy  TF荚荚  发表于 2018-4-17 16:11:10 | 显示全部楼层
求大神解答
本楼点评(0) 收起
TF-boy  TF豆豆  发表于 2018-4-18 08:27:13 | 显示全部楼层
帮顶
本楼点评(1) 收起
TianLin  TF荚荚  发表于 2018-4-18 09:33:24 | 显示全部楼层
本帖最后由 TianLin 于 2018-4-18 09:39 编辑

好问题!

Adadelta 的API 文档中写了:

  1. learning_rate: A Tensor or a floating point value. The learning rate. To match the exact form in the original paper use 1.0.
复制代码

所以如果想跟原始论文 (https://arxiv.org/pdf/1212.5701v1.pdf) 中一样,需要设置learning_rate = 1.0.
Python 代码在 https://github.com/tensorflow/tensorflow/blob/r1.8/tensorflow/python/training/adadelta.py。设置小一些的learning rate无非是改变每次更新的步长而已,可以根据你自己的情况来设置。





本楼点评(4) 收起
  • Myy非常感谢您的回答,看起来应该是tf本身结合实际情况对adadelta使用了trick。
    https://github.com/tensorflow/tensorflow/blob/r1.8/tensorflow/python/training/adadelta.py 这个是adadelta的入口函数 具体的计算公式在哪里可以看到呢(是如何计算及更新权重的) 我这边把learningrate设置为1,跑了自己的结果和tf对比,发现有点差距,所以想确认下tf里的更新公式是否和自己的一样。(我找了很久没有找到)
    2018-4-18 10:52 回复
  • Myy是指adadelta参数的具体计算逻辑哈
    2018-4-18 10:55 回复
  • TianLin回复 Myy :  CPU/GPU 分别是

    https://github.com/tensorflow/tensorflow/blob/15a9de7763aa736e97d7e636d9487c0dde372d4b/tensorflow/core/kernels/training_ops.cc#L69

    https://github.com/tensorflow/tensorflow/blob/15a9de7763aa736e97d7e636d9487c0dde372d4b/tensorflow/core/kernels/training_ops_gpu.cu.cc#L55
    2018-4-18 13:38 回复
  • Myy回复 TianLin 正解 感谢!!
    2018-4-18 14:29 回复
您需要登录后才可以回帖 登录 | 加入社区

本版积分规则

主题

帖子

11

积分
快速回复 返回顶部 返回列表