【强化学习】周博磊第2章 马尔科夫决策过程

周博磊 第2章 马尔科夫决策过程

MDP

  • Markov Process 马尔科夫过程
  • Markov Reward Process 马尔科夫奖励过程
  • Markov Decision Proces 马尔科夫决策过程

MDP性质

The furture is independent of the past given the present.
未来的状态只与当前的状态相关

Markov Prcess / Markov Chain

请添加图片描述

Markov Reward Process

  1. S 状态
  2. P 动态转移矩阵
  3. R 奖励函数 R ( s t = s ) = E [ r t ∣ S t = s ] R(s_{t}=s) = \mathbb{E}[r_{t}|S_{t}=s] R(st=s)=E[rtSt=s]
  4. γ \gamma γ 折扣因子

Return && Vaule Function

  1. Horizon:每个Episode的最大步长
  2. Return: Horizon的折扣奖励
    G t = R t + 1 + γ R t + 2 + γ 2 R t + 3 + . . . + γ T − t − 1 R T G_{t} = R_{t+1} + \gamma R_{t+2} + \gamma^{2} R_{t+3} + ... + \gamma ^{T-t-1} R_{T} Gt=Rt+1+γRt+2+γ2Rt+3+...+γTt1RT
  3. V t ( s ) V_{t}(s) Vt(s) : Return的期望
    V t = E [ G t ∣ s t = s ] = E [ R t + 1 + γ R t + 2 + γ 2 R t + 3 + . . . + γ T − t − 1 R T ∣ s t = s ] V_{t} = \mathbb{E}[G_{t} | s_{t} = s] \\ = \mathbb{E}[R_{t+1} + \gamma R_{t+2} + \gamma ^{2} R_{t+3} + ... + \gamma^{T-t-1} R_{T} | s_{t} = s] Vt=E[Gtst=s]=E[Rt+1+γRt+2+γ2Rt+3+...+γTt1RTst=s]

折扣因子 γ \gamma γ

  • 避免环状的马尔科夫过程
  • 未来具有不确定性
  • 更加关注即时的奖励

贝尔曼方程

贝尔曼等式描述了状态间的迭代关系
V ( s ) = R ( s ) + γ ∑ s ′ ∈ S P ( s ′ ∣ s ) V ( s ′ ) V(s) = R(s) + \gamma \sum_{s^{'} \in S} P(s^{'}|s) V(s^{'}) V(s)=R(s)+γsSP(ss)V(s)

迭代的方式计算MRP

  • Dynamic Programming
    请添加图片描述

  • Monte-Carto evalutation
    请添加图片描述

  • Temporal-Difference Learning

MDP

马尔科夫决策过程相比与奖励过程,加入了动作。也就是说,未来的状态由当前状态和动作共同决定的。
Markov 链/ MRP: 像随波漂流的小船
Markov 决策过程:可以采取导航行为的小船
请添加图片描述

  1. S 状态
  2. A 动作
  3. P 动态转移矩阵 P ( s t + 1 = s ′ ∣ s t = s , a t = a ) P(s_{t+1} = s^{'}|s_{t} = s, a_{t} = a) P(st+1=sst=s,at=a)
  4. R 奖励函数 R ( s t = s ) = E [ r t ∣ s t = s , a t = a ] R(s_{t}=s) = \mathbb{E}[r_{t}|s_{t}=s, a_{t}=a] R(st=s)=E[rtst=s,at=a]
  5. γ \gamma γ 折扣因子

Policy 策略

Policy 是指在某一状态执行某一动作的概率
π = P ( a t = a ∣ s = s t ) \pi = P(a_{t} = a|s=s_{t}) π=P(at=as=st)
动态转移方程和奖励由当前状态与动作共同决定
P π = ∑ a ∈ A π ( a ∣ s ) P ( s ′ ∣ s , a ) P^{\pi} = \sum_{a\in A} \pi(a|s) P(s'|s, a) Pπ=aAπ(as)P(ss,a)
R π = ∑ a ∈ A π ( a ∣ s ) R ( s , a ) R^{\pi} = \sum_{a\in A} \pi(a|s) R(s, a) Rπ=aAπ(as)R(s,a)

Value Function 价值函数

  • v π ( s ) v^{\pi}(s) vπ(s) 在s状态下,基于策略 π \pi π 期望的回报
    V π = E [ G t ∣ s t = s ] V^{\pi} = \mathbb{E}[G_{t}|s_{t}=s] Vπ=E[Gtst=s]
  • q π ( s , a ) q^{\pi}(s,a) qπ(s,a) 在s状态下,采取行动,基于策略 π \pi π 期望的回报
    q π ( s , a ) = E [ G t ∣ s t = s , a t = a ] q^{\pi}(s, a) = \mathbb{E}[G_{t}|s_{t} = s, a_{t} = a] qπ(s,a)=E[Gtst=s,at=a]
  • 两者之间的关系
    v π ( s ) = ∑ a ∈ A π ( a ∣ s ) q π ( s , a ) v^{\pi}(s) = \sum_{a\in A} \pi(a|s)q^{\pi}(s,a) vπ(s)=aAπ(as)qπ(s,a)

贝尔曼期望方程

v π ( s ) = E π [ R t + 1 + γ v π ( s t + 1 ) ∣ s t = s ] v^{\pi}(s) = \mathbb{E}_{\pi}[R_{t+1} + \gamma v^{\pi}(s_{t+1})|s_{t} = s] vπ(s)=Eπ[Rt+1+γvπ(st+1)st=s]
q π ( s , a ) = E π [ R t + 1 + γ q π ( s t + 1 , A t + 1 ) ∣ s t = s , A t = a ] q^{\pi}(s, a) = \mathbb{E}_{\pi}[R_{t+1} + \gamma q^{\pi}(s_{t+1}, A_{t+1}) | s_{t} = s, A_{t} = a] qπ(s,a)=Eπ[Rt+1+γqπ(st+1,At+1)st=s,At=a]
两者之间的关系
请添加图片描述

Policy Evalution

已知策略 π \pi π MDP, 计算价值函数 v π ( s ) v^{\pi}(s) vπ(s)
可以用动态规划来做:
v t + 1 ( s ) = ∑ a ∈ A π ( a ∣ s ) ( R ( s , a ) + γ ∑ s ′ ∈ S P ( s ′ ∣ s , a ) V t ( s ′ ) ) v_{t+1}(s) = \sum_{a\in A} \pi(a|s) (R(s,a) + \gamma\sum_{s'\in S} P(s^{'}|s, a)V_t(s^{'})) vt+1(s)=aAπ(as)(R(s,a)+γsSP(ss,a)Vt(s))

Control

已知MDP,寻找最优价值函数和策略
最优函数可以通过寻找最大化 q ∗ ( s , a ) q^{*}(s, a) q(s,a)
π ∗ ( a ∣ s ) = { 1 , i f a = a r g m a x a ∈ A q ∗ ( s , a ) 0 , o t h e r w i s e \pi^{*}(a|s) = \left\{ \begin{array}{lc} 1, & if a = arg max_{a \in A}q^{*}(s, a) \\ 0, & otherwise\\ \end{array} \right. π(as)={1,0,ifa=argmaxaAq(s,a)otherwise

演示样例

动画:
https://cs.stanford.edu/people/karpathy/reinforcejs/gridworld_dp.html
代码:
https://github.com/cuhkrlcourse/RLexample/tree/master/MDP

通过策略迭代更新策略

请添加图片描述

  • 步骤一:基于策略 π \pi π计算价值函数
    q π i ( s , a ) = R ( s , a ) + γ ∑ s ′ ∈ S P ( s ′ ∣ s , a ) v π i ( s ′ ) q^{\pi_{i}}(s, a) = R(s, a) + \gamma \sum_{s^{'}\in S} P(s^{'} | s, a)v^{\pi_{i}}(s') qπi(s,a)=R(s,a)+γsSP(ss,a)vπi(s)
  • 步骤二:依据价值函数更新策略
    π i + 1 ( s ) = arg max ⁡ a q π i ( s , a ) \pi_{i+1}(s) = \argmax_{a} q^{\pi_{i}(s, a)} πi+1(s)=aargmaxqπi(s,a)

值迭代

请添加图片描述

贝尔曼最优方程

v ∗ = max ⁡ a q ∗ ( s , a ) q ∗ ( s , a ) = R ( s , a ) + γ ∑ s ′ ∈ S P ( s ′ ∣ s , a ) v ( s ′ ) v^{*} = \max_{a} q^{*}(s,a) \\ q^{*}(s, a) = R(s, a) + \gamma \sum_{s^{'} \in S}P(s^{'}|s, a)v(s^{'}) v=amaxq(s,a)q(s,a)=R(s,a)+γsSP(ss,a)v(s)
=>
v ∗ = max ⁡ a R ( s , a ) + γ ∑ s ′ ∈ S P ( s ′ ∣ s , a ) v ( s ′ ) q ∗ ( s , a ) = R ( s , a ) + γ ∑ s ′ ∈ S P ( s ′ ∣ s , a ) max ⁡ a ′ q ∗ ( s ′ , a ′ ) v^{*} = \max_{a}R(s,a) + \gamma \sum_{s^{'} \in S}P(s^{'}|s, a)v(s^{'}) \\ q^{*}(s, a) = R(s, a) + \gamma \sum_{s^{'} \in S}P(s^{'}|s, a)\max_{a^{'}}q^{*}(s^{'}, a^{'}) v=amaxR(s,a)+γsSP(ss,a)v(s)q(s,a)=R(s,a)+γsSP(ss,a)amaxq(s,a)

策略迭代 VS 价值迭代

  • 策略迭代:【策略估计 + 策略更新】作为一个整体过程,需要迭代多次
  • 价值阶段:找出最优价值函数 + 策略提取 寻找最优策略是个迭代过程,策略提取取最大价值的动作即是策略。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值