2016-08-24 76 views
1

我正在将Q-学习与函数逼近应用于每个状态没有相同动作集合的问题。还有,当我计算目标具有函数逼近的Q学习,其中每个状态都没有相同的动作集合

目标= R(S,A,S ')+(max_a' * Q(S',A'))

由于每个状态不具有相同的一组动作,从而我是否应该在我的状态定义中包含一系列操作?否则发生的事情是两个状态在所有其他特征中可能彼此非常相似,除了它们具有非常不同的一组行为之外。即使我包括一组动作,那么问题就是矢量的长度,因为每个状态都有不同数量的动作。请帮帮我。

回答

0

我的建议是将动作表达为特征的加权和。

例如,如果您使用的是神经网络,您的输入图层将是状态,您的输出图层将是动作的特征。您可以将Q(s,a)计算为sum(NN(s)_i * a_i),其中NN(s)_i是神经网络给定输入s的第i个输出神经元的值,a_i是给定以行动为特征a。

这也可以被解释为具有在最后一层具有预定权重的单个神经网络,其对于每个输入都是不同的。这在概念上非常混乱,但易于编程。

+0

对不起,我不明白你的解决方案。我所做的是每个状态动作对是一组用于神经网络和目标输入层的特征。T =从下一个状态开始的即时奖励+最大回报。但是因为从下一个州向前的最大收益将会变化,因为从下一个州向前可用的不同的一组行动。现在如何在当前状态下捕获它,而不包括当前状态和动作对特征向量中的从下一状态开始可用的动作? – Prabir