【问题标题】:What is the meaning of batch size in the background of deep reinforcement learning?深度强化学习背景下的batch size是什么意思?
【发布时间】:2019-04-02 11:41:05
【问题描述】:

Batch size 是指在监督学习中进行神经工作训练的样本数量,但是,在强化学习的背景下,batch size 的含义是什么?它也指样品吗?如果是,那么这些样本在强化学习背景下的意义是什么?

【问题讨论】:

    标签: reinforcement-learning batchsize


    【解决方案1】:

    与监督学习相比,批量大小在强化学习中确实意味着同样的事情。 “批量学习”(通常在 mini-batch 中)的直觉是双重的:

    1. 由于硬件的内存限制,可能难以对超过 1,000,000 个数据点进行批量梯度下降。
    2. 计算整个数据子集的损失梯度,该子集代表整个数据。如果您在每个步骤中训练的批次不能代表整个数据,那么您的更新步骤中就会存在偏差。

    在神经网络等监督学习中,您需要进行小批量梯度下降来更新您的神经网络。在深度强化学习中,您正在训练相同的神经网络,因此它的工作方式相同。

    在监督学习中,您的批次将包含一组特征及其各自的标签。在深度强化学习中,情况类似。它是一个元组(状态、动作、奖励、t + 1 时的状态,有时完成)。

    状态:描述您的环境的原始状态

    动作:你在那个环境状态下执行的动作

    Reward:在该状态下执行该动作后获得的奖励信号

    状态 t+1:您的操作将您转换到的新状态。

    Done:表示任务结束的布尔值。例如,如果您训练 RL 下国际象棋,那么完成的将是赢得或输掉国际象棋比赛。

    您将采样一批 (s, a, r, s(t+1), done) 元组。然后将其输入到 TD 更新规则中,通常采用以下形式:

    两个 Q 是动作值,通过将 s、s(t+1) 和 a 传递到您的神经网络来计算。

    然后,您将使用 Q 作为标签来更新您的神经网络。

    【讨论】:

    • 您好,谢谢您的回答,如果batch size为150,在深度强化学习的背景下,意思是用150个元组训练?这种理解正确吗?
    • 是的,这是正确的,理想情况下,这些样本应该以能够代表整个问题的方式分布,这样您就不会遇到偏见问题。
    • 批量大小是否只适用于Q学习?它在策略梯度方法中是否仍然代表相同的东西,例如信任区域策略梯度?
    • 一般的想法。该方法适用于任何具有批量学习的 RL 方法。为了提高样本效率,有些人甚至在表格 RL 中这样做,在每个步骤中,他们都会进行批量更新。对于策略梯度,我认为您必须首先在每集结束时及时将奖励折回,并以这种方式创建您的元组。因为策略梯度是使用蒙特卡罗模拟训练的。但最后,你仍然会得到上面列出的 5 件事的元组。对于第二种方法,您的意思是信任区域策略优化吗?无论哪种方式,它们都应该相同/相似。
    • 非常感谢,感谢您的帮助
    猜你喜欢
    • 2018-11-05
    • 2016-10-24
    • 2018-02-21
    • 1970-01-01
    • 2020-03-23
    • 2020-04-22
    • 1970-01-01
    • 2020-06-30
    • 2022-01-17
    相关资源
    最近更新 更多