我想了解强化算法的深度,以及在任何特定环境中训练自身需要多长时间。 我想出了一个非常简单的环境示例:
有一个计数器,它保存0到100之间的整数。 数到100就是它的目标。
有一个参数direction
,其值可以是+1或-1。
它只是显示了移动的方向。
out神经网络将此方向作为输入,并将2个可能的操作作为输出。
第一个动作将简单地翻转方向(+1 => -1或-1 => +1)。第二个动作将保持原样。
我正在使用python作为后端,使用javascript作为前端。 这似乎需要花费太多时间,而且它仍然是随机的。我使用了4层感知器。培训率为0.001。记忆学习与批量100.代码是Udemy人工智能教程,并正在正常工作。
我的问题是,完成和每个州的奖励应该是什么?以及需要多长时间训练这样简单的例子。?
答案 0 :(得分:1)
在强化学习中,强调奖励功能是游戏的定义。不同的奖励功能导致不同的游戏具有不同的最优策略。
在您的情况下,有几种不同的可能性:
第三种情况太容易了,没有涉及长期规划。在第一种情况下,代理人只有在意外达到100并且看到它是好的时才会开始学习。但是在第一种情况下,一旦它学会了上升,到达那里需要多长时间并不重要。第二个是最有趣的地方,它需要尽快到达那里。
使用什么奖励没有正确的答案,但最终你选择的奖励定义了你正在玩的游戏。
注意:此问题的4层感知器是 Big Time Overkill 。一层应该足够(这个问题很简单)。您是否在OpenAI's gym尝试了强化学习环境?强烈推荐它,他们拥有所有" classic"强化学习问题。