马尔可夫决策过程(MDP)

背景

马尔可夫决策过程(Markov Decision Process)是在马尔科夫链的基础上考虑reward和action,从而得出决策。即不同的action会得到不同的reward,而我们的目的是寻求最优的action序列,从而使reward达到最高。在一个决策任务中,假如我们将已经发生的所有状态都考虑进去,然后去评估下一个状态,那么就很难从理论上去进行推导,也很难在实际任务进行实现。所以从马尔科夫链的角度我们认为当前状态仅与前一个状态或前几个状态有关,这样会极大的简化我们的计算,同时由于之前的状态会考虑更前的状态,所以我们是可以这样假设的,即 P ( s t + 1 ∣ s t , s t − 1 , … , s 1 ) = P ( s t + 1 ∣ s t ) P(s_{t+1}|s_{t},s_{t-1},\dots,s_{1}) = P({s_{t+1}}|s_{t}) P(st+1st,st1,,s1)=P(st+1st)
在这里插入图片描述

其中 S t S_{t} St为当前状态, S t + 1 S_{t+1} St+1为下一个状态, A t A_{t} At是指在当前状态作出的action, R t + 1 R_{t+1} Rt+1是指做了action( A t A_{t} At)后得到的回报 R t + 1 R_{t+1} Rt+1

动态特性

在这里插入图片描述
上图为整个马尔可夫决策的过程。这里我们可以定义一个函数,即 p ( s ′ , r ∣ s , a ) = P r ( S t + 1 = s ′ , R t + 1 = r ∣ S t = s , A t = a ) p(s^{\prime},r|s,a) = Pr(S_{t+1}=s^{\prime},R_{t+1}= r|S_{t}=s,A_{t}=a) p(s,rs,a)=Pr(St+1=s,Rt+1=rSt=s,At=a)这里表示了,在不同的state和action的前提下,下一个state和reward的分布。不同的state和action会带来不同的reward和next state,所以体现了其动态性。同时我们可以得到状态转移函数 p ( s ′ ∣ s , a ) = ∑ r ∈ R p ( s ′ , r ∣ s , a ) p(s^{\prime}|s,a) =\sum_{r\in R}p(s',r|s,a ) p(ss,a)=rRp(s,rs,a)这里 r r r是看作一个关于 s , a s,a s,a的一个随机变量,即在给定 s , a s,a s,a后, r r r不是一个固定的值,而是一个关于 s , a s,a s,a的离散分布。

价值函数

这里首先定义一个回报函数 G t G_{t} Gt G t = R t + 1 + γ R t + 2 + γ 2 R t + 3 + ⋯ + γ T − ( t + 1 ) R T = ∑ i = 0 ∞ γ i R t + 1 + i G_t = R_{t+1}+\gamma R_{t+2}+\gamma^2 R_{t+3}+\cdots+\gamma^{T-(t+1)}R_{T} = \sum_{i=0}^{\infty} \gamma^{i}R_{t+1+i} Gt=Rt+1+γRt+2+γ2Rt+3++γT(t+1)RT=i=0γiRt+1+i其中 γ ( γ ∈ [ 0 , 1 ] ) \gamma(\gamma\in[0,1]) γ(γ[0,1])是指衰减指数。这个公式就是说在状态 s s s中给定动作 a a a后获得的回报,这个回报是直至结束的。简单的理解就是像在象棋中,每一个手棋之后会有一个整体得分,而非单手的得分。这里回报是指后续的全部得分,而 R R R是指单手得分。然后 γ \gamma γ是指衰减,即从现在的角度看未来的几手棋的单手得分对现在的影响是会随着步数的增加而减少的。就像未来的绝杀获得了100分,但我们肯定不能把这100分直接加到当前这手棋的回报里,所以这里给了一个衰减指数的常量。

然后我们就可以定义价值函数 V V V V π ( s ) = E π [ G t ∣ S t = s ] V_\pi(s)=E_{\pi}[G_{t}|S_t = s] Vπ(s)=Eπ[GtSt=s]这里是指在给定了状态 s s s的前提下啊,不同的 π \pi π(policy)会带来不同的回报,而价值函数就是求它们的数学期望。在这里policy是具有随机性的,即给定状态后,是有可能执行不同的action,而非给定一个状态之后只执行一个action。

贝尔曼期望方程

在这里插入图片描述

上图是回溯图,描绘了 S t S_t St转移到 S t + 1 S_{t+1} St+1的过程。对于价值函数 V V V,它是所有路径回报的平均价值。为了更深入地分析,这里引入了更细致的价值函数 q q q,其考虑了当前状态 S t S_t St和动作 a a a q π ( s , a ) = E π [ G t ∣ S t = s , A t = a ] q_\pi (s,a) =E_\pi [G_t|S_t=s,A_t=a] qπ(s,a)=Eπ[GtSt=s,At=a]这里我们就可以分析价值函数 q q q V V V的关系,通过上图,我们可以发现 q q q是给定action后的价值,所以得到 V π ( s ) = ∑ a π ( a ∣ s ) ⋅ q π ( s , a ) V_\pi(s) =\sum_{a}\pi(a|s)\cdot q_\pi(s,a) Vπ(s)=aπ(as)qπ(s,a)然后分析 q π ( s , a ) q_\pi(s,a) qπ(s,a),这里可以发现通过通过动作 a a a转移到状态 S t + 1 S_{t+1} St+1的价值,然后它的价值就是 ( r + γ V ( S t + 1 ) ) (r+\gamma V(S_{t+1})) (r+γV(St+1)) r r r就是指获得reward, V ( S t + 1 ) V(S_{t+1}) V(St+1)是指下一个状态的价值函数, γ \gamma γ则是上文提过的衰减指数。然后q是包含了所有转移的价值,所以需要考虑到所有的 R t + 1 R_{t+1} Rt+1 S t + 1 S_{t+1} St+1,即 q π ( s , a ) = ∑ s ′ ∑ r P r ( r , s ′ ∣ s , a ) ( r + γ V ( s ′ ) ) q_{\pi}(s,a) =\sum_{s'}\sum_{r}Pr(r,s'|s,a) (r+\gamma V(s')) qπ(s,a)=srPr(r,ss,a)(r+γV(s))其中 s ′ ∈ S s'\in S sS指下一个状态的某个可能, r ∈ R r\in R rR是指奖励的可能。这样我们就可以得到价值函数V的递推表达式 V π ( s ) = π ( a ∣ s ) [ ∑ s ′ ∑ r P r ( r , s ′ ∣ s , a ) ( r + γ V ( s ′ ) ) ] V_\pi (s) = \pi(a|s)\left[\sum_{s'}\sum_{r}Pr(r,s'|s,a) (r+\gamma V(s'))\right] Vπ(s)=π(as)[srPr(r,ss,a)(r+γV(s))]同理对于价值函数 q q q也有递推表达式 q π ( s , a ) = ∑ s ′ ∑ r P r ( r , s ′ ∣ s , a ) ( r + γ [ ∑ a ′ π ( a ′ ∣ s ′ ) q π ( a ′ ∣ s ′ ) ] ) q_\pi(s,a) = \sum_{s'}\sum_{r}Pr(r,s'|s,a) \left(r+\gamma \left[\sum_{a'}\pi(a'|s')q_\pi(a'|s')\right]\right) qπ(s,a)=srPr(r,ss,a)(r+γ[aπ(as)qπ(as)])
这俩个递推式也称为贝尔曼期望方程。即 V π ( s ) = π ( a ∣ s ) [ ∑ s ′ ∑ r P r ( r , s ′ ∣ s , a ) ( r + γ V ( s ′ ) ) ] V_\pi (s) = \pi(a|s)\left[\sum_{s'}\sum_{r}Pr(r,s'|s,a) (r+\gamma V(s'))\right] Vπ(s)=π(as)[srPr(r,ss,a)(r+γV(s))] q π ( s , a ) = ∑ s ′ ∑ r P r ( r , s ′ ∣ s , a ) ( r + γ [ ∑ a ′ π ( a ′ ∣ s ′ ) q π ( a ′ ∣ s ′ ) ] ) q_\pi(s,a) = \sum_{s'}\sum_{r}Pr(r,s'|s,a) \left(r+\gamma \left[\sum_{a'}\pi(a'|s')q_\pi(a'|s')\right]\right) qπ(s,a)=srPr(r,ss,a)(r+γ[aπ(as)qπ(as)])

贝尔曼最优方程

这里我们先定义最优的价值函数 V V V q q q分别为 V π ∗ ( s ) V^*_\pi(s) Vπ(s) q π ∗ ( s , a ) q_\pi^*(s,a) qπ(s,a),即 V π ∗ ( s ) = max ⁡ π V π ( s ) V^*_{\pi}(s) = \max_{\pi} V_\pi(s) Vπ(s)=πmaxVπ(s) q π ∗ ( s , a ) = max ⁡ π q π ( s , a ) q^*_{\pi}(s,a) = \max_{\pi} q_\pi(s,a) qπ(s,a)=πmaxqπ(s,a)即在最优策略下的最大价值函数。同样的可以认为 V V V q q q的最优策略是一样的,即 π ∗ = arg max ⁡ π V π ( s ) = arg max ⁡ π q π ( s , a ) \pi^* = \argmax_\pi V_\pi (s) = \argmax_\pi q_\pi (s,a) π=πargmaxVπ(s)=πargmaxqπ(s,a)这里有一点不严谨,就是 π ∗ \pi^{*} π q q q中会比 V V V少一个action,除去这个action之外的策略是相同的。然后可以记 V ∗ ( s ) = max ⁡ π V π ( s ) = V π ∗ ( s ) V_{*}(s) = \max_\pi V_{\pi}(s) = V_{\pi^{*}}(s) V(s)=πmaxVπ(s)=Vπ(s) q ∗ ( s , a ) = max ⁡ π q π ( s , a ) = q π ∗ ( s , a ) q_{*}(s,a) = \max_\pi q_{\pi}(s,a) = q_{\pi^{*}}(s,a) q(s,a)=πmaxqπ(s,a)=qπ(s,a)然后建立它们之间的等式关系 V ∗ ( s ) = max ⁡ a q ∗ ( s , a ) V_*(s) =\max_{a}q_*(s,a) V(s)=amaxq(s,a)这里可以是指从原本的 V π ∗ ( s ) = ∑ a π ( a ∣ s ) ⋅ q π ∗ ( s , a ) V_{\pi^*}(s) =\sum_{a}\pi(a|s)\cdot q_{\pi^*}(s,a) Vπ(s)=aπ(as)qπ(s,a),在最优策略下 π ( a ∗ ∣ s ) = 1 \pi(a^*|s)=1 π(as)=1,从而得到这个等式关系。然后联立 V ∗ ( s ) = max ⁡ a q ∗ ( s , a ) V_*(s) =\max_{a}q_*(s,a) V(s)=amaxq(s,a) q π ( s , a ) = ∑ s ′ ∑ r P r ( r , s ′ ∣ s , a ) ( r + γ [ ∑ a ′ π ( a ′ ∣ s ′ ) q π ( a ′ ∣ s ′ ) ] ) q_\pi(s,a) = \sum_{s'}\sum_{r}Pr(r,s'|s,a) \left(r+\gamma \left[\sum_{a'}\pi(a'|s')q_\pi(a'|s')\right]\right) qπ(s,a)=srPr(r,ss,a)(r+γ[aπ(as)qπ(as)]) V ∗ ( s ) = max ⁡ a ∑ s ′ ∑ r P r ( r , s ′ ∣ s , a ) ( r + γ [ V ∗ ( s ′ ) ] ) V_*(s) = \max_{a}\sum_{s'}\sum_{r}Pr(r,s'|s,a) \left(r+\gamma \left[V_*(s')\right]\right) V(s)=amaxsrPr(r,ss,a)(r+γ[V(s)]) q ∗ ( s , a ) = ∑ s ′ ∑ r P r ( r , s ′ ∣ s , a ) ( r + γ [ max ⁡ a ′ q ∗ ( s ′ , a ′ ) ] ) q_{*}(s,a) = \sum_{s'}\sum_{r}Pr(r,s'|s,a) \left(r+\gamma \left[\max_{a'}q_{*}(s',a')\right]\right) q(s,a)=srPr(r,ss,a)(r+γ[amaxq(s,a)])这个递推方程也称之为贝尔曼最优方程

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值