基于模型的强化学习
学习一个MDP模型
目前我们关注在给出一个已知MDP模型后,即状态转移 P s a ( s ′ ) P_{sa}{(s')} Psa(s′) 和奖励函数 R ( s ) R(s) R(s) 明确给定后
- 计算最优价值函数
- 学习最优策略
在实际问题中,状态转移和奖励函数一般不是明确给出的
往往只能够看到一些片段episodes
Episode1: s 0 ( 1 ) → a 0 ( 1 ) , R ( s 0 ) ( 1 ) s 1 ( 1 ) → a 1 ( 1 ) , R ( s 1 ) ( 1 ) s 2 ( 1 ) → a 2 ( 1 ) , R ( s 2 ) ( 1 ) s 3 ( 1 ) ⋯ s T ( 1 ) s^{(1)}_{0}\xrightarrow{a^{(1)}_{0},R(s_{0})^{(1)}}s^{(1)}_{1}\xrightarrow{a^{(1)}_{1},R(s_{1})^{(1)}}s^{(1)}_{2}\xrightarrow{a^{(1)}_{2},R(s_{2})^{(1)}}s^{(1)}_{3}\cdots s^{(1)}_{T} s0(1)a0(1),R(s0)(1)s1(1)a1(1),R(s1)(1)s2(1)a2(1),R(s2)(1)s3(1)⋯sT(1)
Episode2: s 0 ( 2 ) → a 0 ( 2 ) , R ( s 0 ) ( 2 ) s 1 ( 2 ) → a 1 ( 2 ) , R ( s 1 ) ( 2 ) s 2 ( 2 ) → a 2 ( 2 ) , R ( s 2 ) ( 2 ) s 3 ( 2 ) ⋯ s T ( 2 ) s^{(2)}_{0}\xrightarrow{a^{(2)}_{0},R(s_{0})^{(2)}}s^{(2)}_{1}\xrightarrow{a^{(2)}_{1},R(s_{1})^{(2)}}s^{(2)}_{2}\xrightarrow{a^{(2)}_{2},R(s_{2})^{(2)}}s^{(2)}_{3}\cdots s^{(2)}_{T} s0(2)a0(2),R(s0)(2)s1(2)a1(2),R(s1)(2)s2(2)a2(2),R(s2)(2)s3(2)⋯sT(2)
从经验中学习一个MDP模型
- 学习状态转移概率 P s a ( s ′ ) P_{sa}{(s')} Psa(s′)
P s a ( s ′ ) = 在 s 下采取动作 a 并转移到 s ′ 的次数 在 s 下采取动作 a 的次数 {P_{sa}{(s')}}=\frac{在s下采取动作a并转移到s'的次数}{在s下采取动作a的次数} Psa(s′)=在s下采取动作a的次数在s下采取动作a并转移到s′的次数
- 学习奖励函数 R ( s ) R(s) R(s) ,也就是立即奖赏期望
R ( s ) = a v e r a g e { R ( s ) ( i ) } R(s)=average\{R(s)^{(i)}\} R(s)=average{R(s)(i)}
学习模型&优化策略
算法实现
- 随机初始化策略 π \pi π
- 重复以下过程直到收敛
- 在MDP中执行 π \pi π ,收集经验数据
- 使用MDP中的累积经验更新对 P s a P_{sa} Psa 和 R R R 的估计
- 利用对 P s a P_{sa} Psa 和 R R R 的估计执行价值迭代,得到新的估计价值函数 V V V
- 根据 V V V 更新策略 π \pi π 为贪心策略
基于模型的强化学习:
假设真实的环境是一个黑盒,这种学习的方式就是首先从真实环境中学习一个MDP模型,再进行价值迭代或者策略迭代学习最优策略,以此来解决没有MDP模型的问题。
模型无关的强化学习:
另一种解决方法是不学习MDP,从经验中直接学习价值函数和策略
即模型无关的强化学习(Model-free Reinforcement Learning)
直接从经验中去学习
V
(
s
)
V(s)
V(s) 和
π
\pi
π,而不是学习
P
s
a
P_{sa}
Psa 和
R
R
R
一般RL(Reinforcement Learning)特指模型无关的强化学习,即直接从经验中学价值函数和策略
基于模型的强化学习业界一般叫做Planning或者Dynamic Programming
马尔可夫决策过程总结
- MDP由一个五元组构成 ( S , A , { P s a } , γ , R ) (S,A,\{P_{sa}\},\gamma,R) (S,A,{Psa},γ,R) ,其中状态转移 P P P 和奖励函数 R R R 构成了动态系统
- 动态系统和策略交互的占用度量
ρ π ( s , a ) = E a ∼ π ( s ) , s ′ ∼ p ( s , a ) [ ∑ t = 0 T γ t p ( s t = s , a t = a ) ] \rho^{\pi}(s,a)=\mathbb{E}_{a\sim\pi(s),s'\sim p(s,a)}{\left[\sum^{T}_{t=0}{\gamma^{t}p(s_{t}=s,a_{t}=a)}\right]} ρπ(s,a)=Ea∼π(s),s′∼p(s,a)[t=0∑Tγtp(st=s,at=a)]
- 一个白盒环境给定的情况下,可用动态规划的方法求解最优策略(值迭代和策略迭代)
- 如果环境是黑盒的,可以根据统计信息来拟合出动态环境 P P P 和 R R R ,然后做动态规划求解最优策略