强化学习概论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

Model-free在真实环境中学习,一步一步根据真实环境的反馈,并根据反馈采取下一步的行动。Model-based在前者的基础上可以对真实环境进行建模从而创建虚拟环境,模型可以在虚拟环境中进行强化。该模型 M \mathcal{M} M通过参数化 η \eta η来表示马尔科夫决策过程MDP &lt; S , A , P , R &gt; \mathcal{&lt;S,A,P,R&gt;} <S,A,P,R>

  • S \mathcal{S} S:状态空间
  • A \mathcal{A} A:动作空间
  • P \mathcal{P} P:状态转移概率 P ( s t + 1 ∣ s t , a t ) P(s_{t+1}|s_{t},a_{t}) P(st+1st,at)
  • R \mathcal{R} R:奖励函数 R ( s t , a t ) R(s_{t},a_{t}) R(st,at)

模型 M \mathcal{M} M通过真实的experience { S 1 , A 1 , R 1 , . . . , R T } \{S_{1},A_{1},R_{1},...,R_{T}\} {S1,A1,R1,...,RT}学习,这是一个有监督学习,所有的训练数据有如下表示:
S 1 , A 1 → R 2 , S 2 S 2 , A 2 → R 3 , S 3 . . . . . . S T − 1 , A T − 1 → R T , S T S_{1},A_{1}\rightarrow R_{2},S_{2}\\ S_{2},A_{2}\rightarrow R_{3},S_{3}\\ ......\\ S_{T-1},A_{T-1}\rightarrow R_{T},S_{T} S1,A1R2,S2S2,A2R3,S3......ST1,AT1RT,ST
学习 s , a → r s,a \rightarrow r s,ar是一个回归问题,学习 s , a → s ′ s,a\rightarrow s&#x27; s,as是一个概率密度估计问题,通过学习 η \eta η来减小误差。

  • 最简单的是查找表模型Table Lookup Model,是一个显式的MDP,根据真实经历组织一个查找表。 由此奖励和概率通过直接求平均和数数量可得到:
    P ( s ′ ∣ s , a ) = 1 N ( s , a ) ∑ t = 1 T 1 ( S t , A t , S t + 1 = s , a , s ′ ) R ( s , a ) = 1 N ( s , a ) ∑ t = 1 T 1 ( S t , A t = s , a ) R t P(s&#x27;|s,a)=\frac{1}{N(s,a)}\sum_{t=1}^{T}1(S_{t},A_{t},S_{t+1}=s,a,s&#x27;)\\ R(s,a)=\frac{1}{N(s,a)}\sum_{t=1}^{T}1(S_{t},A_{t}=s,a)R_{t} P(ss,a)=N(s,a)1t=1T1(St,At,St+1=s,a,s)R(s,a)=N(s,a)1t=1T1(St,At=s,a)Rt

Sample-based方法,使用model-free RL来抽样经历,这种方法更有效率。
在这里插入图片描述
model-based缺点:
model-based RL受限于近似的MDP,所以不能达到最优策略。当model不准确时,最终将是一个局部策略。解决方法:(1)当模型错误,使用model-free RL。(2)明确解释模型的不确定性。

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.
在这里插入图片描述

已标记关键词 清除标记
相关推荐
©️2020 CSDN 皮肤主题: 编程工作室 设计师:CSDN官方博客 返回首页