Reinforcement Learning Note: Concept and MDP

来源:互联网 发布:js touchevent事件 编辑:程序博客网 时间:2024/06/02 03:19

  • Reinforcement Learning Concept
    • reward
    • Sequential decision making
    • RL Agent
    • categorizing RL agent
  • MDP
    • Markov Process
    • Markov Reward Process
    • Markov Decision Process
    • Extension of MDP
      • POMDPs

转载请注明出处: http://blog.csdn.net/c602273091/article/details/78829342

Reinforcement Learning Concept

强化学习相比于有监督的机器学习而言,它是无监督的,没有label的,反馈是延时的,不是实时的,时间在强化学习中很重要,因为时间属于agent或者环境的state的一部分。agent的action会影响接下来它接受的数据。

reward

Rt 是反馈信号,反应的是在时刻t,agent进行action的好坏。agent的任务就是希望最大化reward。强化学习就是基于所有的目标都可以被最大化累计reward这样的reward假设。总之就是在某个状态St执行action之后得到的reward,反馈。

Sequential decision making

进行一系列的决策,就是为了最大化总的将来的reward。即使当前的reward不是最好的,但是最终的是最好的,有点儿像找最短路径,当前最短的,不一定是最终最短的路径。在agent和环境的关系中,agent执行action,然后接收到观察以及对应的reward。环境也会受到action的改变,会把observation的部分反馈给agent,agent会受到对应的reward。state就是记录了过去的所有的observation,reward,action等等。

agent state和environment state都是对自身的一种记录,以及对外需要有怎么样的表现等等。这里需要特别说明一种state叫做information state(Markov State),用来描述对未来的预测,并且有假设就是预测只基于当前的状态,那么以前的状态就可以丢弃(这玩意儿就叫做Markov,是这个人提出的,叫做Markov猜想)。

这里写图片描述

观测到的状态其实有可能是部分表达的,那么在进行决策的时候就会有不同的策略。当环境是完全可以观测的时候,不同状态之间的关系就是:这种情况下就可以使用MDP(Markov Decision Process)

这里写图片描述

当是有部分可观测的情况的时候,agent只能观测到部分的环境,那么就是属于partially observable Markov decision process(POMDP)。这个时候,agent就会重建它的state presentation,比如建图的时候进行地图拼接啦,比如状态预测啦(划重点,LSTM,RNN就在这里被使用)

这里写图片描述

RL Agent

一个RL的agent包含了policy,value function,model。

  • policy:就是当前属于什么状态,然后应该执行什么action。这个策略是确定的,就是一个从state到action的映射。
    这里写图片描述
  • value function:用来预测将来的reward,用来描述一个状态的好坏。其实在后期学习就可以知道,value function描述了可以用来选择action,通过计算执行不同action以及之后的一个state value进行一个组合,就可以计算出最大的value,来指导进行哪一个action。
    这里写图片描述
  • model:预测环境的变化,state的变化,reward的变化。
    这里写图片描述

在slide中,有个极好的example:
policy就是告知在什么状态做什么事情,通过好的策略,就可以通过最短的步数找到goal。
这里写图片描述

value function:每个state都有一个value,通过最大化value,我们就可以找到goal。
这里写图片描述

model:网格描述的是transition model Pass 数字描述的就是一个state到另外一个state的reward。
这里写图片描述

categorizing RL agent

RL的agent中,有基于value的,基于policy的,也有两种合并的actor critic model(非常重要)

根据model又分为model free和model based。model based就是使用了MDP。
这里写图片描述

在RL里面经常可以看到exploration和exploitation,其实简单来说,exploration就是agent去尝试各种policy,exploitation就是使用可以最大化reward的policy。

预测,就是使用一个policy。control:就是对未来进行优化,需要找到最好的policy。

MDP

Markov Process

这里写图片描述

MDP可以用来描述RL中的环境状态变化,状态转移只与当前状态有关,和之前的无关。几乎所有的RL问题都可以用MDP来进行假设。

状态转移概率以及矩阵:
这里写图片描述

这里写图片描述

MP(Markov Chain) definition:
这里写图片描述

在Markov Chain中进行一系列的状态变化记录,称为episodes。从Markov Chain可以写成Chain Transition Matrix。

Markov Reward Process

就是带有reward的Markov Chain,每个状态增加了reward。

具体的定义如下:
这里写图片描述

这里写图片描述

Return: Gt
这里写图片描述

就是计算在t时刻的时候从t+1t+k+1的总的reward,这里每个时刻之间可能会进行不同的action,根据不同的policy,然后就可以到达不同的状态,那么就有了不同的reward。这里会有有一个discount factor,中文名衰减因子,这是因为环境是uncertain的,避免无限循环,为了能够接近immediate reward。

value function就是对当前状态的return的一个期望。
这里写图片描述

Value function可以使用Bellman Equation进行精简:immediate reward和discount value of successor state value。
这里写图片描述

然后上诉又可以简化为:这里根据状态转移方程中的概率分布,计算当前状态到下一状态的概率的discount value的和加上当前状态reward。这里就是由v的期望方程得到,想一想计算期望的时候,由概率分布得到最终期望。
这里写图片描述

上面说到了一个value的计算,那么所有的state的value的计算呢?
这里写图片描述

如果我们能够解出上面的方程就可以得到最终每个状态的value,就可以进行基于value的RL,得出最佳的policy。
这里写图片描述

但是呢如果MRP矩阵太大的话,那么可以使用DP、Monte-Carlo Evaluation、Temporal-Difference Learning进行迭代求解。

Markov Decision Process

MDP是带有决策的Markov Reward Process,所有的状态都是Markov。

这里写图片描述

策略:根据给定的状态得到action。
这里写图片描述

在加入action之后,reward和transition matrix也发生了变化,需要加入action。
这里写图片描述

value function:state-value function是对在状态s的时候return value的期望,而action-value function是在上述函数加入了action之后,计算return value的期望。
这里写图片描述

再次使用Bellman Expectation Equation进行简化,那么就得到了state-value function和action-value function的对比:
这里写图片描述
这里写图片描述

再来一个实际例子计算state-value function以及action-value function。

这里写图片描述
这里写图片描述

这里写图片描述
这里写图片描述

下面这幅图的是计算state-value的一个例子,图中的value 7.4有两条分支,以一定的概率往两个方向,概率都是0.5,这就是π(a|s) 然后把概率乘以reward+到达state的value,相加就是最后的7.4。
这里写图片描述

根据Bellman Expectation Equation,可以把上面的state-value function写成:
这里写图片描述
可以进行直接求解。

刚才介绍的state-value function,action-value function,都是基于同一个policy进行的,那么如何得到最优解呢?这就是我们的目标。我们就知道这某个state的时候,就应该才去怎么样的policy,在这个policy下就会往期望最大的state-value前进。

这里写图片描述
这里写图片描述

在MDP中,总是有最优化的value function以及action value function。如何判断是不是最优的策略,判断依据就是:能够让action value最大化的时候。
这里写图片描述

具体就是如下例子,红色的线就表示optimal policy。
这里写图片描述

这里写图片描述
上图的情况就是在discount factor为0的时候,在红色部分的state如何选择action的计算。

所以在整个过程中,可以看到,从最初的MP,加入了reward之后的MRP,以及加入了action之后的MDP。最终对state-value function和action-value function进行求解,求解之后就可以得到最优的policy,求解过程需要使用Bellman Optimality Equation,iterative method(value iteration,policy iteration,Q learning,Sarsa)

Extension of MDP

这里的东西才是重头戏,主要是对离散状态有限的MDP的扩展,这里介绍了infinite & continuous MDPs;POMDPs;undiscounted average reward MDPs。没有介绍具体的东西,就是几个名词,需要用到的时候再具体使用。

Infinite MDPs:
continuous state(LQR);continuous time(需要使用部分可微函数;HJB方程;限制Bellman Equation到time-step是0)

POMDPs

POMDPs函数定义如下:
这里写图片描述

History Ht:
这里写图片描述

Belief state:
这里写图片描述

POMDPs可以简化成infinite history tree和infinite belief state tree。

这里面还有一个叫做EMP的东西(Ergodic Markov Process)的东西,定义为每个状态被访问了无数次;每个状态被访问的时候没有任何系统时期

接着把这个东西用在了average award value function里面。

这句话真不错:

The only stupid question is the one you were afraid to ask but never did. - Rich Sutton

slide中疑惑的问题:EMP,average Reward。

这个东西还是要多看几遍,多看几遍就明白了state-value function,action-state function之间的关系,以及MDP中我们最终的target是啥。

useful links:

2016年RL课程: https://hadovanhasselt.com/2016/01/12/ucl-course/
RL Lecture 1 Slide: http://www0.cs.ucl.ac.uk/staff/d.silver/web/Teaching_files/intro_RL.pdf
RL Lecture 2 Slide: http://www0.cs.ucl.ac.uk/staff/d.silver/web/Teaching_files/MDP.pdf
RL Lecture 1Video: https://www.youtube.com/watch?v=2pWv7GOvuf0
RL Lecture 2 Video: https://www.youtube.com/watch?v=lfHX2hHRMVQ
Other blog link: https://www.52coding.com.cn/index.php?/Articles/single/70

阅读全文
0 0
原创粉丝点击