使用所选动作的反馈而不是真实标签为游戏训练分类器

数据挖掘 机器学习 神经网络
2022-03-05 04:20:28

我在一行中描述我想要的东西时遇到了一些麻烦,这可能就是为什么我对谷歌没有太多运气的原因。

假设我有一个像 2048 这样的游戏,其中每个步骤的可能动作是固定的(并且不止两个)。我想训练一个选择移动的神经网络,所以我在输出层有 4 个神经元,我做出了最高预测的移动。输出向量被归一化(softmax 层)。

但是,我拥有的训练数据只是状态、所采取的行动以及结果是好是坏。如果选择的动作不好,我不知道其他哪个更好(如果有的话)。

我应该如何训练这个?我现在的想法是这样的:

  • 好动?-> 选择的动作得到正错误(所以预测上升)
  • 动作不好?-> 选择的步骤得到负错误(所以预测下降)

但我还没有找到支持这种猜测的文献。有替代方案:

  1. 也许我还应该更新未选择的选项(在相反的方向)?
  2. 直接设置错误而不是使用目标预测是个好主意吗?
  3. 正确和不正确的错误可能不同,也许是为了保持标准化?
  4. ...

(我在做2048,用的是神经网络,但我觉得不限于这个游戏或者这个方法。)

1个回答

解决问题的一种方法是使用强化学习 (RL)。强化学习 (RL) 训练代理以在环境中完成目标。在你的情况下,环境是 2048,目标是解决游戏,代理是你正在训练的模型。

如果选择的动作不好,我不知道其他哪个更好。

这种权衡通常被称为探索-利用。代理是否会做出它预测的最佳动作(利用)?或者代理是否在寻找更好的可能动作(探索)?