RL研究的基本问题
直观框架与基本概念
RL建模非常直观,他建模了智能体agent和环境environment不断交互的过程。
-
1 智能体agent:内部维护了一个策略policy,他能够基于对环境的观察observation,做出动作action
-
2 环境env:内部维护了一个状态state,状态随时间变化,变化的原因一个是环境内在的因素,一是受到agent的action影响。在收到agent的action时,env会根据自己的state变化情况返回一个奖励reward。
-
3 env状态的变化导致agent对env的observation发生变化,基于这个新的observation,agent按照自己的policy进行下一轮action的选择。
强化学习的目标是对于一个给定的环境,为agent寻找一个policy,使得它最大化reward奖励总和。
基于概率的建模
强化学习建模了交互的一个过程(从agent的视角看他在不断决策,所以称之为决策过程),而且这个过程中充满不确定性。从agent的视角入手我们能够分析出来,不确定性来自两个方面。
-
agent不知道env到底是怎么变化的,在输出一个action之前也不知道到底能获得多少收益,
-
因为对环境不确定,导致agent也不敢说在当前这个observation下采取某个特定的action就一定是最好的
上面这两个方面的不确定更正式一点可总结为:1) env导致的不确定,2) agent自身导致的不确定。
对于随机问题,自然需要用概率建模。
接下来我们考察一个具体的交互过程,用分别表示时刻的state,action和reward。这里暂时不考虑observation,假设我们的observation可以把环境的state完全观察到。
既然这个过程是随机的,那这个轨迹的每一步都是依照概率发生的,我们尝试用概率表示每一步:
-
首先初始状态的产生用概率表示
-
接下来动作是是看到了做出的,所以他的概率是。
-
接下来,环境能够转移到并给出reward 是在和的情况下产生的,所以概率是
再分析一轮就会出问题:
-
对agent,如果动作是是看到了做出的那概率就是,但是它是不是也可以考虑, ?那概率就是。
-
对env,能够转移到并给出reward 是在和的情况下产生的,那概率就是,但他会不会受到更前面的影响呢? 这样概率就是
这个时候就引出了经典的马尔可夫性质(Markov Property)假设。它的意思直观来说是:未来只和现在有关。即
另外一种等价说法是,掌握了现在,则未来和过去独立。
对于前面的分析,如果把分别当作history, now和future
那对于agent和env的概率就应该分别是和。
Markov Property极大简化了假设,让分析和计算变得简单。
但简单的代价就是假设本身的合理性,不过抛开具体案例讨论假设的合理性没有意义,因此不做过多讨论。一般而言这个假设还是比较通用的。
现在对于一个决策过程,我们可以分析出他的概率:
我们一般不关心初始状态的概率,因为是env的初始状态,agent也左右不了,因此我们更关心连乘符号后面的部分,第一项表征了env的不确定性,还是左右不了。第二项表征了agent的不确定性,这是我们能够控制的!
更进一步我们发现第二项其实就是agent的policy具体执行的结果,其实是一个分布列,即在给定的情况下,输出每一个动作的概率。然后agent依概率采样选取了一个特定的动作。
至此,上面的大写字母表示的是一个确定的事件,换成小写字母表示一个变量,则强化学习可以更为形式化的表述成:
给定模型,求策略,使得它能够最大化。
我们一般用表示,称之为累积收益。最大化的目标为期望累积收益。
有的时候我们认为reward早拿到会比晚拿到好(类似的思想通货膨胀),因此建模会引入一个discount factor,范围在之间,一般用表示,这样我们的最大化目标就变成了。这样还有一个更现实的需求,就是reward前面乘一个指数级数方便使累积收益收敛,让它是一个有限的数字,方便估计。
至此,我们已经引出了马尔科夫决策过程(Markov Decision Process, MDP)的全部内容。
一个MDP一般建模成五元组。和是state和action的取值空间,T和R分别是env的state转移概率和输出reward的概率分布。
一般表示为和,可以用我们前面的分别求边缘分布得到。即,。
Notes
-
1 上面的建模分析中的称之为一个episode。过程是否有限在计算期望累计收益是会有区别,这个在PPO那里会讲到。
-
2 如果把observation也考虑进去,通常认为observation仅受当前state影响,那么这个概率就可以表示为。这个和agent也没关系,只是env的事情,所以env的不确定变成了,agent的policy就变成了。因为我们的分析和优化主要都是在agent上,所以环境的变化其实没啥太大影响,日后对observation和state就不再区分。
-
3 上面的分析里,假设了时间是离散的,这个假设并不强,实际应用不会明显感觉到restriction,或者感觉到restriction的时候就不是RL的领域了。
-
4 上面的分析没有对action和state是否是离散还是连续作出假设,但是在实际应用中,会感觉到显著差别,一般连续会更麻烦,特别是action的连续尤其麻烦。
-
5 前面已经说到是policy,而policy一般用表示,所以这个概率分布有时候也写成,有的时候policy是确定性的,这个时候会写成,此时他表示的不是一个概率而直接就是action。更进一步,policy如果是一个神经网络的话,那他是由参数决定的,如果用表示参数,则前面的符号可以表示为或者