基于神经网络的强化学习,具有可变动作集

时间:2017-08-30 16:00:00

标签: machine-learning reinforcement-learning

如何使用强化学习处理变量(状态相关)动作集,特别是Actor-Critic方法?我发现了一个类似的问题(Reinforcement Learning With Variable Actions),但它没有提供我可以使用的完整答案。

问题在于,对Policy函数建模的神经网络具有固定数量的输出(对应于最大可能的一组动作)。它可以帮助但计算所有动作的概率,包括在当前状态下不可能的动作。当有些状态只有一个或两个动作,例如,最初的50个是可能的时候,它就成了一个特别大的问题。

我看到两种可能性:

1)忽略不可能的行为,并在可能的行为中选择行动,将每个行为的概率重新归一化为概率之和。

2)让动作选择器选择不可能的动作,但是这样做会使网络受到惩罚,直到它学会永远不会选择不可能的动作。

我试过了两个,但他们都有一些问题:

1)忽略不可能的动作可能导致动作输出概率为0.01,重新归一化概率为0.99,具体取决于其他动作。在反向传播步骤中,由于log(概率)因子(网络将使用原始的,非标准化的计算概率),这将导致大的梯度。我不完全确定这是否可取,而且这种方法似乎并没有给出特别好的结果。

2)选择不良行为的惩罚甚至更成问题。如果我只是略微惩罚他们,那么行动选择可能会长时间陷入困境,同时它会调整过度膨胀的不可能行动的可能性,直到先前可能的行动的可能性变小为止。但是,如果我严重惩罚不良行为,就会导致糟糕的结果,比如拥有一个行动有1.0概率的网络,其余的都是0.0。更糟糕的是,由于精度问题,网络甚至可能陷入无限循环。

我还没有在任何地方看到对这个问题的正确讨论,但也许我不能想到一个合适的搜索词。如果有人能指导我处理这个问题的论文或博客文章,或者给我一个关于正确处理这个案例的扩展答案,我将非常感激。

0 个答案:

没有答案