1.Markov
1.1 马尔科夫链(Markov Chain)
马尔可夫决策过程(MDP)是强化学习的一个基本框架。在马尔可夫决策过程是Fully Observable,部分观测的问题同样可以转化成MDP问题。
(1)Markov Property
状态转移序列满足马尔可夫(马尔可夫链性质):下一状态只取决于当前状态,和之前的状态不相关。
状态的历史: ht={s1,s2,s3,...,st} 如果满足Markov性质,下一状态只与当前状态有关:
p(st+1∣st)=p(st+1∣ht)p(st+1∣st,at)=p(st+1∣ht,at) st转成st+1等于之前所有的状态,未来的转台转移对过去是独立的,只取决于现在 (2)Markov Chain
p(st+1=s′∣st=s) 表示 agent在 st这个状态下的时候到下一个状态的概率 p=⎣⎡p(s1∣s1)p(s1∣s2)...p(s1∣sN)p(s2∣s1)p(s2∣s2)...p(s2∣sN).........p(sN∣s1)p(sN∣s2)...p(sN∣sN)⎦⎤ s3, s4, s5, s6, s6
s3, s2, s3, s2, s1
1.2马尔可夫奖励过程(MRP)
Markov Reward Process = 马尔科夫链+奖励函数R
(1)Markov Reward Process (MRP)
- S is a (finite) set of states (s∈S)
- P is dynamics/transition model that specifies P(St+1=s′∣st=s)
- R is a reward function R(st=s)=E[rt∣st=s]
- Discount factor γ∈[0,1](折扣系数)
(2)一些概念
Horizon
每一 episode(游戏环节,轨迹长度) 的最大步数
Return
Gt=Rt+1+γRt+2+γ2Rt+3+...+γT−t−1RT Value Function for MRP
Vt(s)=E[Gt∣st=s]=E[Rt+1+γRt+2+γ2Rt+3+...+γT−t−1RT∣st=s] 意味着从这个状态有可能获得多大的价值,也可以看作是对未来可能获得收益的当前价值的表现
(3)为什么需要折扣因子(Discount Factor)
- 避免马尔可夫有环
- 将不确定性表现出来,希望得到及时奖励
- 让奖励变得有价值,尽可能快的得到奖励而不是后面得到
- γ=0,只取决于当前奖励;γ=1,未来奖励和当前奖励权重一样
(4)计算value function
V(s)=R(s)+γs′∈S∑P(s′∣s)V(s′) - R(s):立即获得的奖励
- γs′∈S∑P(s′∣s)V(s′):未来获得的奖励
- P(s′∣s):当前状态转移到未来状态的关系
(5)Bellman equation
⎣⎡V(s1)V(s2)...V(sN)⎦⎤=⎣⎡R(s1)R(s2)...R(sN)⎦⎤+γ⎣⎡P(s1∣s1)P(s1∣s2)...P(s1∣sN)P(s2∣s1)P(s2∣s2)...P(s2∣sN)............P(sN∣s1)P(sN∣s2)...P(sN∣sN)⎦⎤⎣⎡V(s1)V(s2)...V(sN)⎦⎤ V=R+γPV 通过矩阵求逆的过程即可求出V(Value function),但是时间复杂度太大了。
(6)迭代方法求解 Value of MRP
- 动态规划的方法(Dynamic Programming)
- 蒙特卡洛的方法(Monte-Carlo evaluation)
- 动态规划和蒙特卡洛的结合(Temporal-Difference learning)
蒙特卡罗方法 Monte-Carlo
将多次轨迹奖励累加,当大于一定轨迹数量后,G除以轨迹数量得到价值Value
类似于采样的方法,在得到一个MRP后,从某一个状态开始,把小船放进去让他随波逐流,这样就会产生一个轨迹(episode);于是就会得到一个奖励,然后积累起来;在积累了一定数量过后,除以轨迹,得到价值。
动态规划 Dynamic Programming
通过一直迭代Belleman equation,当更新的状态和最后差距不大的时候 (收敛),更新停止,输出最新的V’(s)作为当前的价值
时间差分 Temporal-Difference
1.3马尔可夫决策过程(MDP)
马尔可夫决策过程(MDP)即在马尔可夫奖励过程(MRP)基础上增加了决策过程(action)
(1)Markov Decision Process
- S is a finite set of states
- A is a finite set of actions
- Pa is dynamics/transition model for each action
P(st+1=s′∣st=s,at=a)
采取某一种行为,未来的状态会不同,不仅依赖于当前的状态,也依赖于当前状态采取的行为,会决定未来的价值走向。
- R is a reward function R(st=s,at=a)=E[rt∣st=s,at=a]
- Discount factor γ∈[0,1]
MDP 表示:(S,A,P,R,γ) (2)Policy in MDP
- Policy specifies what action to take in each state
- Give a state, specify a distribution over actions
π(a∣s)=P(at=a∣st=s) - Policy are stationary (time-independnet),
At∼π(a∣s) for any t>0
在某一St下,采取什么action 。如果已知policy,即已知π(a∣s),已知每个state执行某个action的概率。 (3)MDP → MRP
当我们已知一个MDP和Policy π 的时候,可以把MDP转化成MRP - Given an MDP(S,A,P,R,γ), and a policy π
- The state sequence S1,S2,... is a Markov process (S,Pπ)
- The state and reward sequence S1,R2,S2,R2,... is a Markov reward process(S,Pπ,Rπ,γ) where:
Pπ(s′∣s)=a∈A∑π(a∣s)P(s′∣s,a)Rπ(s)=a∈A∑π(a∣s)R(s,a) 当policy已知,π(a∣s)已知,MDP问题将转化为MRP,原先MRP需要知道P(s′∣s),现在变成了需要知道P(s′∣s,a),即在某一状态下,采取某种action转移到下一状态的概率。 (4)MP/MRP和MDP的直观区别
多了一层action,有一定的不确定性,action有agent决定。
对于MDP,首先要决定采取某种行为,到达黑色的节点;到达黑色节点后,有多大的概率到达某一个状态,当前状态和未来状态转移过程中多了一层决策行为。
(5)MDP价值函数
The state-value function Vπ(s) of an MDP is the expected return starting from state s, and following policy π : Vπ(s)=Eπ[Gt∣st=s] The action-value function qπ(s,a) is the expected return starting from state s, taking action a, and then following policy π qπ(s,a)=Eπ[Gt∣st=s,At=a] We have the relation between Vπ(s) and qπ(s,a) Vπ(s)=a∈A∑π(a∣s)qπ(s,a) (6)Bellman期望等式
Bellman expectation equation描述了当前状态对未来状态的关联
The state-value function can be decomposed into immediate reward plus discounted value of the successor state,
Vπ(s)=Eπ[Rt+1+γVπ(st+1)∣st=s] The action-value function can similarly be decomposed
qπ(s,a)=Eπ[Rt+1+γqπ(st+1,At+1)∣st=s,At=a] Vπ(s)=a∈A∑π(a∣s)qπ(s,a) qπ(s,a)=R(s,a)+γs′∈S∑P(s′∣s,a)Vπ(s′) Vπ(s)=a∈A∑π(a∣s)(R(s,a)+s′∈S∑P(s′∣s,a)Vπ(s′)) qπ(s,a)=R(s,a)+γs′∈S∑P(s′∣s,a)(a′∈A∑π(a′∣s′)qπ(s′,a′)) (7)Backup推导
两层加和,内层加和是从叶子结点backup到父结点,外层加和是backup到图中的根节点(两个等式同理)。
VπBackup推导
对于某一个状态,上一个状态是和未来价值线性相关的。
Vπ(s)=a∈A∑π(a∣s)(R(s,a)+s′∈S∑P(s′∣s,a)Vπ(s′)) 这里包含两层加和,第一层加和推到黑色节点后再往上走一层推到根节点,即当前状态。
Backup Diagram定义了未来一个状态与上一个状态的关联。
QπBackup推导
根节点是q函数的节点,是黑色节点,下一时刻q函数是叶子节点(四个),通过加和将q节点到达白色节点s后,再进行加和推回到当前q函数。
qπ(s,a)=R(s,a)+γs′∈S∑P(s′∣s,a)(a′∈A∑π(a′∣s′)qπ(s′,a′)) 2.Policy evaluation in MDP
Evaluate the value of state given a policy π , compute Vπ(s) Also called as (Value) prediction
已知MDP和policy π,计算价值函数,用来评估策略会得到多大的奖励。也叫prediction,预测当前采取的策略未来会产生多大的价值。 Input : MDP <S,A,P,R,γ> and policy πor MRP <S,Pπ,Rπ,γ>
output : value function Vπ
3.Control in MDP
3.1 MDP决策
(1)Prediction
Input : MDP <S,A,P,R,γ> and policy π or MRP <S,Pπ,Rπ,γ> Output : Value function Vπ (2)Control
search the optimal policy
Input : MDP <S,A,P,R,γ> Output : optimal value function V∗ and optimal policy π∗ (3)Dynamic Programming
Prediction and Control in MDP can be solved by dynamic programming.
先寻找子问题的最佳解,然后再子问题逐步求解,最终得到原始问题的最佳解。
(MDP中:Bellman equation给出递归分解,价值函数储存并重用解决方案)
3.2 Policy evaluation on MDP
(1) Alg
- Objective : Evaluate a given policy π for a MDP
- Output : the value function under policy Vπ
- Solution : iteration on Bellman expectation bakcup
- Algorithm : Synchronous backup
At each iteration t+1, update Vt+1(s) from Vt(s′)for all states s∈S where s′ is a successor state of s Vt+1(s)=a∈A∑π(a∣s)(R(s,a)+γs′∈SP(s′∣s,a)Vt(s′)) - Convergence : v1 → v2→ ... → vπ
(2)思路
根据MDP+policy转化为MRP, 不断迭代得到V。可以用MC/DP/TD等方法求解。
Vt+1(s)=a∈A∑π(a∣s)(R(s,a)+γs′∈SP(s′∣s,a)Vt(s′)) Pπ(s′∣s)=a∈A∑π(a∣s)P(s′∣s,a)Rπ(s)=a∈A∑π(a∣s)R(s,a) Vt+1(s)=Rπ(s)+γPπ(s′∣s)vt(s′) 3.3 Optimal Value Function
The optimal state-value function v∗(s) is the maximum value function over all policies, 最优V函数指的就是在某种 π 下,V值最大 V∗(s)=πmax vπ(s) 最优策略即在最优V函数取某个状态下的最优action
π∗(s)=πarg max vπ(s) An MDP is "solved" when we know the optimal value
There exists a unique optimal value function, but could be multiple optima policies.
3.4 Finding Optimal Policy
任何一个MDP问题都有确定的最优策略。如果我们知道就可以直接得到optimal policy。
1. An optimal policy can be found by maximizing over q∗(s,a) π∗(a∣s)={1,0, if a=argmaxa∈A q∗(s,a) otherwise 2. There is always a deterministic optimal policy for any MDP
3. If we know q∗(s,a), we immediately have the optimal policy 3.5 Policy Search
穷举策略,将会有∣A∣∣s∣种可能,复杂度太高=>常见方法: - policy iteration
- value iteration
MDP最优策略是Deterministic、Stationary 、not unique的。
3.6 MDP Control
Compute the optimal policy
π∗(s)=πarg max vπ(s) Optimal policy for a MDP in an infinite horizon problem (agent acts forever) is
- Deterministic
- Stationary (does not depend on time step)
- Unique ? Not necessarily, may have state-actions with identical optimal values
3.7 Policy Iteration
Iterate through the two steps:
- Evaluate the policy π (computing v given current π)
- Improve the policy acting greedily with respect tovπ
π′=greedy(vπ)
(1) Policy Improvement
Compute the state-action value of a policy π qπi(s,a)=R(s,a)+γs′∈S∑P(s′∣s,a)vπi(s′) Computer new policy πi+1 for all s∈S following 可以把q函数看作q table,横轴是状态,纵轴是可能的action。q函数得到后即可得到q table,对于每一个状态。
πi+1(s)=aarg max qπi(s,a) (2)Monotonic Improvement in Policy
思想:通过采取greedy(arg max)的操作,是会得到更好或者不变的policy,而不会使它价值函数变差
qπ(s,π′(s))=a∈Amax qπ(s,a)=qπ(s,π(s))=vπ(s) Thus the Bellman optimality equation has been satisfied
vπ(s)=a∈Amax qπ(s,a) Therefor vπ(s)=v∗(s) for all s∈S, so π is an optimal policy 3.8 Value Iteration
(1) Bellman Optimality Equation
The optimal value functions are reached by the Bellman optimmality equations:
V∗(s)=amax q∗(s,a) q∗(s,a)=R(s,a)+γs′∈S∑P(s′∣s,a)V∗(s′) V∗(s)=amaxR(s,a)+s′∈S∑P(s′∣s,a)a′maxq∗(s′) q∗(s,a)=R(s,a)+γs′∈S∑P(s′∣s,a)a′max q∗(s′,a′) (2) Value Iteration
Value Iteration by turning the Bellman Optimality Equations as update rule.
思想:为了得到最佳的v∗(s),把Bellman optimality equation当成update rule来进行,把它当作一个迭代的等式,不停迭代,最后逐渐趋向于最佳策略。 1. If we know the solution to subproblem V∗(s′), which is optimal 2. Then the solution for the optimal V∗(s) can be found by iteration over the following Bellman Optimality backup rule, v(s)←a∈Amax (R(s,a)+γs′∈S∑P(s′∣s,a)V(s′)) 3. The idea of value iteration is to apply these updates iteratively
(3) Alg
Objective : find the optimal policy π Solution : iteration on the Bellman optimality backup
Value Iteration algorithm:
- initialize k=1 and v0(s)=0 for all state s
- For k=1:H
- for each state s
qk+1(s,a)=R(s,a)+γs′∈S∑P(s′∣s,a)Vk(s′) Vk+1(s)=amax qk+1(s,a) - k←k+1
- To retrieve the Optimal policy after the value iteration:
π(s)=aarg max R(s,a)+γs′∈S∑P(s′∣s,a)Vk+1(s′)
3.9 Policy Iteration vs Value Iteration
- Policy Iteration由policy evaluation和policy improvement两部分组成
- Value Iteration则是直接利用Bellman Optimality Equation迭代求解,最后再有一个policy extraction,由动作值获得最终策略
|
|
|
---|
Problem | Bellman Equation | Algorithm |
Prediction | Bellman Expectation Equation | Iterative Policy Evaluation |
Control | Bellman Expectation Equation | Policy Iteration |
Control | Bellman Optimality Equation | Value Iteration |
MDP Prediction问题:可直接用Bellman Expectation Equation迭代求解
MDP Control问题:可用Bellman Expectation Equation的方法(Policy iteration)或直接使用Bellman Optimality Equation进行值迭代(Value Iteration)。