强化学习和POMDP

3
  • 我正在尝试使用多层神经网络在部分可观测马尔可夫过程中实现概率函数。
  • 我认为神经网络的输入应该是:当前状态、选择的动作、结果状态;输出是一个在[0,1]范围内的概率(执行所选动作会导致当前状态转移到结果状态的概率)。
  • 在训练时,我把上述输入馈送到神经网络中,并教它每个已发生情况的输出=1.0。

问题:
几乎所有测试用例的输出概率都接近于0.95,没有任何输出低于0.9!即使对于几乎不可能的结果,它也给出了如此高的概率。

附注:我认为这是因为我只教它已发生的情况,而没有教它未发生的情况。但我不能在每一步中都告诉它每个未发生的动作的输出=0.0!

有什么建议可以克服这个问题吗?或者还有其他使用神经网络或实现概率函数的方法吗?

谢谢

2个回答

2
问题在于所有可能的后续状态的总和必须等于1。如果您构建网络就像那样,这不能保证。我脑海中有两种可能的替代方案,其中我假设离散状态。
  1. 进行预测时,为每个可能的后续状态运行网络。之后,通过除以所有概率的总和来进行归一化。
  2. 对于每个可能的后续状态使用一个输出。然后,您可以使用softmax层(如分类)并解释值,这些值从0到1范围内,并且总和为1,作为概率。
从数学角度看,这两者实际上大致相等。
在连续变量的情况下,您将不得不假设分布(例如多元高斯分布),并使用该分布的参数(例如平均值和协方差标准偏差)作为输出。

0

在拟合神经网络时,您可能希望拟合更广泛的数据范围,在训练中是否有任何您想要使其更接近0概率的数据?如果没有,我怀疑您可能会得到较差的结果。作为第一步,我建议尝试选择训练数据集中的一些不同内容。

另外,您是如何训练神经网络的?您尝试过使用其他方法吗?激活函数怎么样?也许可以尝试使用一些不同的激活函数进行实验。

对于神经网络,我认为在选择模型时需要进行一些试错。 (如果所有这些都不够具体,请见谅。)


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接