动态规划

动态规划

在动态规划设置中,智能体完全了解 MDP,因此智能体不需要互动就能学习到最优策略;

为了获得策略 π π 对应的状态值函数vπ,我们只需求解 vπ v π 的贝尔曼预期方程对应的方程组即可;虽然可以通过分析方式求解方程组,但是我们将重点讲解以下三种迭代方法。

有这之前,先来看一下贝尔曼方程;
贝尔曼预期方程:
动作值函数

qπ(s,a)=sS,rRp(s,r|s,a)(r+gvπ(s)) q π ( s , a ) = ∑ s ′ ∈ S , r ∈ R p ( s ′ , r | s , a ) ∗ ( r + g ∗ v π ( s ′ ) )

状态值函数
vπ(s)=aA(s)π(s)qπ(s,a) v π ( s ) = ∑ a ∈ A ( s ) π ( s ) ∗ q π ( s , a )

贝尔曼最优性方程:
动作值函数

qπ(s,a)=sS,rRp(s,r|s,a)(r+gvπ(s)) q π ( s , a ) = ∑ s ′ ∈ S , r ∈ R p ( s ′ , r | s , a ) ∗ ( r + g ∗ v π ( s ′ ) )

状态值函数
vπ(s)=maxaA(s)Q(s,a) v π ( s ) = m a x a ∈ A ( s ) Q ( s , a )

最优策略:

π=argmaxaA(s)Q(s,a) π ′ = a r g m a x a ∈ A ( s ) Q ( s , a )

1、策略迭代

策略迭代是一种可以在动态规划设置中解决 MDP 的算法。它包含一系列的策略评估和改进步骤,肯定会收敛于最优策略(对应任意有限 MDP)。

迭代策略评估是在动态规划设置中用到的算法,用于估算策略 π π 对应的状态值函数 vπ。在此方法中,我们将向值函数估值中应用贝尔曼更新,直到估值的变化非常小。

状态值的计算公式(r:奖赏,g:折扣率):

vπ(s)=aA(s)π(s)sS,rRp(s,r|s,a)(r+gvπ(s)) v π ( s ) = ∑ a ∈ A ( s ) π ( s ) ∗ ∑ s ′ ∈ S , r ∈ R p ( s ′ , r | s , a ) ∗ ( r + g ∗ v π ( s ′ ) )

动作值的估值在动态规划设置中,可以使用以下方程从状态值函数 vπ v π 快速获得动作值函数 qπ q π

qπ(s,a)=sS,rRp(s,r|s,a)(r+gvπ(s)) q π ( s , a ) = ∑ s ′ ∈ S , r ∈ R p ( s ′ , r | s , a ) ∗ ( r + g ∗ v π ( s ′ ) )

策略改进:对应每个状态 sS s ∈ S ,只需选择最大化 Q(s,a) Q ( s , a ) 的动作 a a 。即:

π=argmaxaA(s)Q(s,a)

2、截断策略迭代

截断策略迭代是在动态规划设置中用来估算策略 π π 对应的状态值函数vπ的算法。对于此方法,在对状态空间执行固定次数的遍历后,停止评估步骤。我们将评估步骤中的此方法称为截断策略评估。

动作值评估:

qπ(s,a)=sS,rRp(s,r|s,a)(r+gvπ(s)) q π ( s , a ) = ∑ s ′ ∈ S , r ∈ R p ( s ′ , r | s , a ) ∗ ( r + g ∗ v π ( s ′ ) )

策略改进:
π=argmaxaA(s)Q(s,a) π ′ = a r g m a x a ∈ A ( s ) Q ( s , a )

策略评估:
vπ(s)=aA(s)π(s)qπ(s,a) v π ( s ) = ∑ a ∈ A ( s ) π ( s ) ∗ q π ( s , a )

3、值迭代

值迭代是在动态规划设置中用来估算策略 π π 对应的状态值函数vπ的算法。对于此方法,每次对状态空间进行遍历时,都同时进行策略评估和策略改进。

动作值评估:

qπ(s,a)=sS,rRp(s,r|s,a)(r+gvπ(s)) q π ( s , a ) = ∑ s ′ ∈ S , r ∈ R p ( s ′ , r | s , a ) ∗ ( r + g ∗ v π ( s ′ ) )

策略评估:
vπ(s)=maxaA(s)Q(s,a) v π ( s ) = m a x a ∈ A ( s ) Q ( s , a )

策略改进:
π=argmaxaA(s)Q(s,a) π ′ = a r g m a x a ∈ A ( s ) Q ( s , a )

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值