【问题标题】:Q-Learning: Inaccurate predictionsQ-Learning:不准确的预测
【发布时间】:2018-01-03 11:14:28
【问题描述】:

我最近开始接触 Q-Learning。我目前正在编写一个应该玩简单棋盘游戏(奥赛罗)的代理。 我正在和一个随机的对手比赛。但是它不能正常工作。我训练的时间越长,我的经纪人要么保持在 50% 左右的胜率,要么变得更糟。 我的神经网络的输出是一个 8x8 矩阵,每一步都有 Q 值。

我的奖励如下:

  • 1 胜
  • -1 表示损失
  • 无效的移动算作损失,因此奖励为 -1
  • 否则我尝试直接奖励 -0.01 或 0。

我做了一些我无法解释的观察: 当我考虑对第一步的预测(我的代理总是开始)时,对无效移动的预测非常快地接近 -1。然而,我玩的时间越长,对有效动作的预测似乎就越高。他们甚至超过了 1(他们在某些时候超过了 3),这是不可能的,因为我正在根据贝尔曼方程(alpha = 1)更新我的 Q 值


其中 Gamma 是小于 1 的参数(我大部分时间使用 0.99)。如果游戏持续大约 30 回合,我预计最大/最小值为 +-0.99^30=+-0.73。 此外,对起始状态的预测似乎是最高的。

我的另一个观察是,网络似乎对其预测过于乐观。如果我考虑移动的预测,之后游戏将失败,无效回合的预测再次接近 -1。然而,有效转弯的预测值通常远高于 0(如 0.1 甚至 0.5)。

我有点迷茫,因为我无法解释是什么导致了我的问题,因为我已经仔细检查了我的奖励/目标矩阵。有什么想法吗?

【问题讨论】:

    标签: machine-learning neural-network q-learning


    【解决方案1】:

    我怀疑你的 bellman 计算(特别是 Q(s', a'))没有在游戏进行时检查 有效 动作。这可以解释为什么“对无效动作的预测非常快地接近 -1”。

    【讨论】:

      猜你喜欢
      • 2020-04-29
      • 1970-01-01
      • 1970-01-01
      • 2018-11-07
      • 1970-01-01
      • 2015-08-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多