对于具有正面和负面奖励的环境,我有一个关于适当激活功能的问题。
在强化学习中,我认为,我们的产出应该是所有可能行动的预期回报。由于某些选项具有负面奖励,我们希望输出范围包括负数。
这将使我相信唯一合适的激活函数可以是线性的也可以是tanh。但是,我看到许多RL论文都使用了Relu。
所以有两个问题:
许多RL论文确实在大多数层中使用Relu,但通常不用于最终输出层。您在其中一篇评论中提到了通过深层强化学习论文和后见之明体验重播论文的人力控制,但这些论文都没有描述使用Relu作为输出层的架构。
在通过Deep RL论文的人类控制,第6页(参考后),“方法”部分,关于“模型架构”的部分的最后一段提到输出层是完全连接的线性层(不是Relu)。所以,实际上,所有隐藏层只能具有非负激活水平(因为它们都使用Relus),但如果输出层和最后隐藏层之间存在负权重,则输出层可以具有负激活水平。这确实是必要的,因为它应该创建的输出可以解释为Q值(可能是负值)。
在Hindsight Experience Replay论文中,他们不使用DQN(如上面的论文),而是使用DDPG。这是一个“Actor-Critic”算法。此架构的“批评”部分也旨在输出可能为负的值,类似于DQN架构,因此这也不能将Relu用于输出层(但它仍然可以在网络中的其他地方使用Relus)。在本文的附录A中,在“网络架构”下,还描述了actor输出层使用tanh作为激活函数。
回答您的具体问题:
- 如果你想同时拥有负输出和正输出,你只限于tanh和线性?
- 这是一个更好的策略(如果可能的话)来扩大奖励,使它们都处于正域(即代替[-1,0,1],[0,1,2]),以便模型能够利用替代激活功能?