深度强化学习参数和简单游戏的训练时间

时间:2017-10-27 16:51:15

标签: machine-learning neural-network artificial-intelligence reinforcement-learning pytorch

我想了解强化算法的深度,以及在任何特定环境中训练自身需要多长时间。 我想出了一个非常简单的环境示例:

有一个计数器,它保存0到100之间的整数。 数到100就是它的目标。

有一个参数direction,其值可以是+1或-1。 它只是显示了移动的方向。

out神经网络将此方向作为输入,并将2个可能的操作作为输出。

  1. 改变方向
  2. 不要改变方向
  3. 第一个动作将简单地翻转方向(+1 => -1或-1 => +1)。第二个动作将保持原样。

    我正在使用python作为后端,使用javascript作为前端。 这似乎需要花费太多时间,而且它仍然是随机的。我使用了4层感知器。培训率为0.001。记忆学习与批量100.代码是Udemy人工智能教程,并正在正常工作。

    我的问题是,完成和每个州的奖励应该是什么?以及需要多长时间训练这样简单的例子。?

1 个答案:

答案 0 :(得分:1)

在强化学习中,强调奖励功能是游戏的定义。不同的奖励功能导致不同的游戏具有不同的最优策略。

在您的情况下,有几种不同的可能性:

  1. 只有达到100才能获得+1。
  2. 为达到100而给予+1,为每个时间步长给出不为100的-0.001。
  3. 给予+1以上升-1。
  4. 第三种情况太容易了,没有涉及长期规划。在第一种情况下,代理人只有在意外达到100并且看到它是好的时才会开始学习。但是在第一种情况下,一旦它学会了上升,到达那里需要多长时间并不重要。第二个是最有趣的地方,它需要尽快到达那里。

    使用什么奖励没有正确的答案,但最终你选择的奖励定义了你正在玩的游戏。

    注意:此问题的4层感知器是 Big Time Overkill 。一层应该足够(这个问题很简单)。您是否在OpenAI's gym尝试了强化学习环境?强烈推荐它,他们拥有所有" classic"强化学习问题。