强化学习视频(一)

Lecture One--RL introduction

David Silver 

PPT链接:http://www0.cs.ucl.ac.uk/staff/d.silver/web/Teaching_files/intro_RL.pdf

视频链接:https://www.youtube.com/watch?v=2pWv7GOvuf0&index=1&list=PL5X3mDkKaJrL42i_jhE4N-p6E2Ol62Ofa

Bilibili中文字幕:https://space.bilibili.com/74997410/#/

强化学习与其它机器学习的区别:

  1.  没有监督,仅仅只有一个奖励信号,或者说,不直接判定某个状态或动作的好坏,而是给出一个奖励;
  2. 没有即时的反馈,或者说,反馈是有延迟的。在监督学习中,例如分类问题,类别判断错误与否直接与损失函数挂钩,而在RL中,比如围棋,我们当前的落子并不会直接被赋予奖励,而是整盘棋下完之后才有一个反馈(赢或输);
  3. 每一时刻发生的事情不是独立同分布的,每一时刻之间是有关联的。所以数据(包括Agent所观察到的信息、Agent接受到的奖励信息等)也是时序化的,数据与数据之间是有关的;
  4. Agent的行为将影响后续的数据,Agent每一次进行的决策都可能会进入不同的环境,处理不同的数据吗,得到不同的反馈结果。例如在下围棋时,每一步的落子将会影响棋局的走向。

RL中的决策:

  1. RL的目标是希望选出一系列的Actions,使最终的rewards最大。
  2. Planning要提前。当前的决策所产生的影响或许是一个长期的过程。
  3. 决策的目标要长远,不要贪心只顾及眼前的利益。
  4. Agent 的决策包含两个方面,一是如何处理观测信息,二是应该记住哪些信息,抛弃哪些信息。

Agent与环境:

强化学习视频(一)_第1张图片

PPT里的图和视频不太一致,这里用视频中的图。图中大脑就是就是agent,在时刻t ,agent观测到环境信息Ot后得知自己所处的状态,经过算法决定执行动作action At, 周围的环境(地球)接收到此动作At, 反馈一个奖励Rt,并更新环境的状态St。环境所处的状态对Agent而言是未知的,Agent只能感知环境输出给他的observation Ot

符号及意义

history是所有动作、状态、奖赏的序列,Ht=A1,O1,R1,…,At,Ot,Rt

 

environment state,Set,环境当前的状态,它反应了环境发生什么改变。这里需要明白的一点是环境自身的状态和环境反馈给agent的observation并不一定是相同的。这取决于Agent是完全可以观察(感知)到环境,还是只能观察(感知)到部分环境。例如Agent在社交网络中不可能总览全网的所有信息,这时Agent便处于一种部分可观测的环境中,也就是说Agent这时候不能够总是知道自己所处的环境是如何发生变化的。

agent state,是agent的现在所处状态的表示,它可以是history的任何函数。即状态St = f(Ht),这里的状态是Agent的状态。

information(Markov) state,它包含了history的所有有用信息。一个状态有马尔可夫性质是指下一个时刻的状态仅由当前状态决定,与过去状态无关。Agent state是有马尔可夫性质的,H 1:t  ---->St ---->H t+1:无穷

对未来事情的预测取决于状态表征方法。例如下图的示例:

强化学习视频(一)_第2张图片

状态表述的不同,会导致预测结果的不同。

当状态表征为标签序列时,从老鼠学习到的前两次的结果,其会预测第三次的时序下会被电。 

当状态表征为标签出现频次时,其会预测出第三次会吃到奶酪。

Fully Observable Environment & Partially Observable Environment

环境又分为全面观测环境和局部观测环境,全面观测环境即我们是上帝视角,可以看到整个环境的变化,比如下围棋,环境是整个棋面,我们可以完全观测到,而像人在微博环境中,即是一个部分可观察的环境。

Fully Observable Environment:

  • agent能够直接看到环境当前的状态
  • agent observation  = agent state = environment state
  • Ot = t时Agent 的状态 = t时刻环境的状态

上述公式也就是MDP的表示方式。

Partially Observable Environment:

  • Agent不能够直接看到环境当前的状态
  • Agent必须自己描述状态表示: 
  1.  complete history :: Sat = Ht 
  2. 用概率向量表示,根据H中所有状态出现的概率决定
  3. 由RNN决定
  • 上述公式是POMDP的表示方式。

RL agent的主要组成:

Policy :Agent的行为函数,状态S作为输入,行动A作为输出

Value : 用于评价Agent在某种特殊状态下的好坏,或采取某一行动之后的好坏。

Model:用于描述Agent眼中环境是如何变化的。

 

Policy: 是一个状态-动作的映射函数

有两种形式,一种是确定性的policy,即从历史经验中学习得到:a=\pi (s),

另外一种是个随机的policy,以概率决策。概率模型:\pi (a|s)=P[A_{t}=a|S_{t}=s]

Value: 值函数,用于评估某一状态的好坏,预测未来的奖励。

       V_{\pi }(s)=E_{\pi }[R_{t+1}+\gamma R_{t+2}+\gamma ^{2}R_{t+3}+...|S_{t}=s],其中\gamma是衰减因子。

Model: Agent学习环境中的行为,以预测下一刻的环境。分为两种模型:

\rho_{ss'}^{a}=P[S_{t+1}=s'|S_{t}=s,A_{t}=a] 预测下个状态,即转移概率,主要用于动态环境变化的问题。

R_{s}^{a}=E[R_{t+1}|S_{t}=s,A_{t}=a]   预测下个奖励,也就是即时奖励。

 

RL agent的分类

两种分类方式:

第一种方式 分为 Value Based   Policy Based 以及Actor Critic(兼有Policy和Value Function)

第二种分类方式分为 Model Free 和 Model Based

 

RL中的关键问题

有关序列决策的问题分类:

RL 问题:对环境未知,Agent需要与环境不断地进行试错交互,来形成最优决策

Planning问题:已知环境信息,且已知游戏规则,Agent不需要与环境进行交互,只需要进行内部运算便可得知下一步的action,并形成最优决策

 

RL 中的经典问题:Exploration&Exploitation的平衡问题。

Exploration就是探索,偏向于随机,即发现环境的更多信息。例如在广告投放问题中,选择投放新的广告就是一种exploration。

Exploitation就是利用,尽可能利用已知信息来最大化累积奖励,即按学到的最优解走。选择投放点击率最高的广告来获得更大的利润就是一种exploitation。

这两个不能只顾某一方,需要平衡才是算法的最佳形式。在其他问题中,例如在一个优化问题中,我们需要兼顾多样性和集中性。

预测算法和控制算法:

预测算法:用于评估一个决策所能获得的奖励;

控制算法:用于寻找最优决策。

二者是相辅相成的存在。

你可能感兴趣的:(强化学习视频(一))