1

我将使用函数逼近的 Q 学习应用于每个状态没有相同动作集的问题。当我计算目标时

目标 = R(s,a,s') + (max_a' * Q(s',a'))

由于每个状态都没有相同的操作集,所以我是否应该在状态定义中也包含一组操作?否则发生的情况是,两个状态在所有其他功能中可能彼此非常相似,除了它们从那里开始有非常不同的可用操作集这一事实。即使我包括一组动作,问题也是向量的长度,因为每个状态都有不同数量的动作。请帮我。

4

1 回答 1

0

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

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

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

于 2016-08-25T16:50:22.430 回答