强化学习概论2

参考链接:https://morvanzhou.github.io/tutorials/machine-learning/reinforcement-learning/1-1-A-RL/

https://morvanzhou.github.io/tutorials/machine-learning/reinforcement-learning/1-1-B-RL-methods/

定义

强化学习是一类算法, 是让计算机实现从一开始什么都不知道, 通过不断地尝试, 从错误中学习, 最后找到规律, 学会了达到目的的方法. 这就是一个完整的强化学习过程. 实际中的强化学习例子有很多. 比如近期最有名的 Alpha go, 机器头一次在围棋场上战胜人类高手, 让计算机自己学着玩经典游戏 Atari, 这些都是让计算机在不断的尝试中更新自己的行为准则, 从而一步步学会如何下好围棋, 如何操控游戏得到高分。

Model-free和Model-based

前者在真实环境中学习,一步一步根据真实环境的反馈,并根据反馈采取下一步的行动。后者在前者的基础上可以对真实环境进行建模从而创建虚拟环境,模型可以在虚拟环境中进行强化,根据当前环境状态和当前行动预测接下来的环境状态,并根据下一步环境对下一步行动的反馈选择最佳的下一步行动。

Policy-based-RL与Value-based-RL

前者根据下一步所有行动的概率来选择应该采取的行动,即使概率最高的行动也未必会被选中;后者根据下一步所有行动产生的期望价值(Q)来选择采取的行动,选择Q值最高的行动执行。

Value-based-RL适合离散取值的行动,而连续取值的动作只能采取Policy-based-RL,可以基于概率密度函数取得概率。

基于概率有 Policy Gradients, 在基于价值有 Q learning, Sarsa 等

回合更新和单步更新

想象强化学习就是在玩游戏, 游戏回合有开始和结束. 回合更新指的是游戏开始后, 我们要等待游戏结束, 然后再总结这一回合中的所有转折点, 再更新我们的行为准则. 而单步更新则是在游戏进行中每一步都在更新, 不用等待游戏的结束, 这样就能边玩边学习。Monte-carlo learning 和基础版的 policy gradients 等 都是回合更新制, Qlearning, Sarsa, 升级版的 policy gradients 等都是单步更新制. 因为单步更新更有效率, 所以现在大多方法都是基于单步更新

在线学习和离线学习

在线学习, 就是指我必须本人在场, 并且一定是本人边玩边学习, 而离线学习是你可以选择自己玩, 也可以选择看着别人玩, 通过看别人玩来学习别人的行为准则,;离线学习 同样是从过往的经验中学习, 但是这些过往的经历没必要是自己的经历, 任何人的经历都能被学习. 或者也不必要边玩边学习, 可以白天先存储下来玩耍时的记忆, 然后晚上通过离线学习来学习白天的记忆。

在线学习比如Sarsa, 还有一种优化 Sarsa 的算法, 叫做 Sarsa lambda;最典型的离线学习就是 Q learning, 后来人也根据离线学习的属性, 开发了更强大的算法, 比如让计算机学会玩电动的 Deep-Q-Network.
强化学习概论2

上一篇:temporal credit assignment in reinforcement learning


下一篇:【BZOJ3160】万径人踪灭 - 题解