在RL里面重要且比较容易被忽视的一环是ENv,为什么重要,因为env是对实际情况的理解,尤其是输入特征和reward的定义直接影响最终的结果。而网上的很多关于RL的知识点,都主要在涉及agent上,所以对这个基础的东西是忽略掉了的。
迷宫游戏
游戏规则:探索者从红色的初始位置以最少的step到达天堂
Env提供的数据
Initial:在红色位置为初始化位置
States: 当前位置【observation可以看成是state的函数】
Obrvations:[x, y] x,y属于[0~1],例如[0.25, 0.25]代表第一个红色的方格位置
Actions:[left, up, down, right],
Done: 到达黄色或者黑色位置表示结束
Reward:到达黄色位置表示天堂,到达黑色位置表示地狱。
state是最原始的环境内部的表示,observation则是state的函数。好比我们所看见的东西并不一定就是它们在世界中的真实状态,而是经过我们的大脑加工过的信息
判断游戏是否达到比较好的效果:
- loss值
关于这点,网上找到的说法如下:
“可以看出曲线并不是平滑下降的, 这是因为 DQN 中的 input 数据是一步步改变的, 而且会根据学习情况, 获取到不同的数据. 所以这并不像一般的监督学习, DQN 的 cost 曲线就有所不同了”
- 根据规则来定义
显然下面这个更加能够判定我们最终基本上找到了次优解,这里如果最后掉进了地狱,我就认为走的step为负数。
我们再来看看动作的价值: