【问题标题】:Time step in Adam optimizerAdam 优化器中的时间步长
【发布时间】:2022-01-10 11:36:56
【问题描述】:

我正在尝试为我的神经网络实现 Adam 优化器(一切都是从头开始编写的)。

我已经实现了,但有一件事我不确定。时间步长什么时候递增?

我的意思是,每个小批量后它都会增加吗?我会在每个时代之后增加它吗?我是否在每个 epoch 之后重置计算的先前时刻和时间步长?

我正在尝试所有选项,但每件事都会产生不同的结果,所以我不确定哪个是正确的。

【问题讨论】:

    标签: deep-learning neural-network gradient-descent


    【解决方案1】:

    Adam 优化器与神经网络无关,因此它的定义方式是根据标准的迭代过程来定义的

    theta_{t+1}, state_{t+1} = adam(loss, theta_t, state_t)
    

    请注意,没有“批次”、“时期”或任何东西。每次更新权重时,都会更新统计信息(状态)。

    如果您现在碰巧使用小批量来估计您的梯度,并据此更新您的权重,那么此时您的统计数据也会更新。如果你决定使用全梯度,这就是状态更新的时候,等等。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-10-14
      • 2018-10-02
      • 2018-06-04
      • 2020-01-09
      • 1970-01-01
      • 1970-01-01
      • 2016-02-20
      • 2020-05-18
      相关资源
      最近更新 更多