Tabular Methods
本章通过最简单的表格型的方法(tabular methods)
来讲解如何使用value_based方法求解强化学习。
Model-based
如上图所示。去跟环境交互时,只能走完完整的一条路。这里面产生了一系列的一个决策过程,这就是跟环境交互产生了一个经验。**使用P函数(probability function)
和R函数(reward function)
去描述环境。**P函数就是状态转移函数的概率,P函数实际上反应的是环境的一个随机性。
当我们知道P函数和R函数时,我们就说这个MDP是已知的,可以通过policy iteration 和 value iteration 来找最佳的策略
例如上图所示,在熊发怒的情况下,如果选择装死,假设熊看到人装死就一定会走的话,我们就称在这里面的状态转移概率就是 100%。但如果说在熊发怒的情况下,我选择跑路而导致可能跑成功以及跑失败,出现这两种情况。那我们就可以用概率去表达一下说转移到其中一种情况的概率大概 10%,另外一种情况的概率大概是 90% 会跑失败。
如果知道这些状态转移概率和奖励函数的话,我们就说这个环境是已知的,因为我们是用这两个函数去描述环境的。 如果是已知的话,我们其实可以用动态规划去计算说,如果要逃脱熊,那么能够逃脱熊概率最大的最优策略是什么。很多强化学习的经典算法都是 model-free 的,就是环境是未知的。
Model-free
因为现实世界中人类第一次遇到熊之前,我们根本不知道能不能跑得过熊,所以刚刚那个 10%、90% 的概率也就是虚构出来的概率。熊到底在什么时候会往什么方向去转变的话,我们经常是不知道的。
我们是处于一个未知的环境里,也就是说这一系列的决策的P函数和R函数都是未知的,这就是model-based和model-free的一个最大的区别。
化学习要像人类一样去学习,人类学习的话就是一条路一条路地去尝试一下,先走一条路,看看结果到底是什么。多试几次,只要能活命的。我们可以慢慢地了解哪个状态会更好,
我们用价值函数 V(s)来代表这个状态是好的还是坏的。
用 Q 函数来判断说在什么状态下做什么动作能够拿到最大奖励,用 Q 函数来表示这个状态-动作值。
Model-based和Model-free
Policy iteration 和 value iteration 都需要得到环境的转移和奖励函数,所以在这个过程中,agent 没有跟环境进行交互。
在很多实际的问题中,MDP 的模型有可能是未知的,也有可能模型太大了,不能进行迭代的计算。比如 Atari 游戏、围棋、控制直升飞机、股票交易等问题,这些问题的状态转移太复杂了。
在这种情况下,我们使用 model-free 强化学习的方法来解。
Model-free 没有获取环境的状态转移和奖励函数,我们让 agent 跟环境进行交互,采集到很多的轨迹数据,agent 从轨迹中获取信息来改进策略,从而获得更多的奖励。
Q-table
接下来介绍Q函数,在多次尝试和熊打交道之后,人类就可以对熊的不同状态去做出判断,我们可以用状态动作价值来表达说在某个状态下,为什么动作1会比动作2好,因为动作1的价值比动作2要高,这个价值就叫做Q函数
如果Q表格
是一张已经训练好的表格的话,那这一张表格就像是一本生活手册,就知道在熊发怒的时候,装死的价值会更高一点。在熊离开的时候,我们肯能偷偷逃跑的会比较容易获救。
Q:为什么可以用未来的总收益来评价当前这个动作是好是坏?
A:如上图所示,假设一辆车在路上,当前是红灯,直接走的收益很低,因为违反交通规则,这就是当前的单步收益。可如果这是一辆正在运送病人的救护车,把病人送到医院的收益非常高,而且越快收益越大。在这种情况下,我们很可能应该要闯红灯,因为未来的收益太高了。这也是强化学习需要去学习远期收益,因为在现实世界中奖励往往是有延迟的。所以我们一般会从当前状态开始,把后续有可能会收到所有收益加起来计算当前动作的Q的价值