带有负奖励的RL激活功能

ZAR*_*ZAR 6 machine-learning reinforcement-learning q-learning activation-function

我有一个关于带有正负奖励环境的适当激活功能的问题。

我认为,在强化学习中,我们的产出应该是所有可能采取的行动的预期回报。由于某些选项的收益为负,因此我们希望输出范围包括负数。

这使我相信唯一合适的激活函数将是线性或正切。但是,我看到许多ReRL论文都在使用Relu。

有两个问题:

  1. 如果确实要同时具有负输出和正输出,那么您是否仅限于正切和线性?

  2. 是否有更好的策略(如果可能)扩大奖励,使奖励都处于正域(即代替[-1,0,1],[0、1、2]),以便模型能够利用替代激活功能?

Den*_*ers 6

许多 RL 论文确实在大多数层中使用 Relu,但通常不会在最终输出层中使用。您在其中一篇评论中提到了《通过深度强化学习进行人类水平控制》论文和《后见之明体验重放》论文,但这两篇论文都没有描述使用 Relu 作为输出层的架构。

在《通过深度强化学习进行人类水平控制》论文第 6 页(参考文献之后)的“方法”部分,“模型架构”部分的最后一段提到输出层是一个全连接的线性层(不是 Relu)。因此,实际上,所有隐藏层只能具有非负激活级别(因为它们都使用 Relus),但如果输出层和最后一个隐藏层之间存在负权重,则输出层可以具有负激活级别。这确实是必要的,因为它应该创建的输出可以解释为 Q 值(可能为负)。

在 Hindsight Experience Replay 论文中,他们没有使用 DQN(如上面的论文),而是使用 DDPG。这是一个“Actor-Critic”算法。该架构的“critic”部分也旨在输出可以为负的值,类似于 DQN 架构,因此这也不能使用 Relu 作为输出层(但它仍然可以在网络中的其他任何地方使用 Relus)。在本文的附录A中,在“网络架构”下,还描述了actor输出层使用tanh作为激活函数。

回答您的具体问题:

  1. 如果您确实想要同时获得负输出和正输出,您是否仅限于 tanh 和线性输出?
  2. 为了使模型能够发挥作用,扩大奖励范围以使它们全部位于正域(即而不是 [-1,0,1], [0, 1, 2])是否是更好的策略(如果可能)替代激活函数?
  1. 好吧,还有其他激活(leaky relu、sigmoid,可能还有很多其他激活)。但 Relu 确实不会导致负输出。
  2. 可能不是100%确定。但是,如果您不了解可能获得多少奖励(和/或回报)的领域知识,那么这通常会很困难。我有一种感觉,简单地以一个完全连接的线性层结束通常会更容易。