第四课主要介绍了model-based问题的求解方法,第五课主要介绍了model-free问题的求解方法
第四课 值迭代与策略迭代
值迭代value iterative
需要注意的是,这里
v
k
v_k
vk和
v
k
+
1
v_{k+1}
vk+1都不是state value,在此过程中策略
π
\pi
π也还是变化的,
v
k
v_k
vk和
v
k
+
1
v_{k+1}
vk+1只是迭代过程中还未收敛的值,只有收敛后得到的才是给定初始状态下最优策略
π
∗
\pi^*
π∗的state value。
对上述迭代过程进行详细说明:
策略更新的时候遵守贪婪策略,因此在每个状态选择动作时都直接选择对应action value最大的动作(注意这里不止一个方程,是一组方程,所以是每个状态都选择一个对应动作)
值更新是在当前最优策略的基础上求更新的值,由于此时最优策略满足贪婪性(每个状态下发生动作的概率分布值只有0或1),所以此时更新后的v就等于每个状态下最大的action value。
因此,将上述过程的伪代码写为:
策略迭代policy iteration
对上述过程进行详细说明:
这里elementwise form表示policy evaluation嵌套了一个迭代,用于求解给定策略下的state value(即上一篇中求解贝尔曼方程的方法2)
此处可以理解为value iteration的第一步,已知v找最优的策略
因此,将上述过程的伪代码写为:
截断策略迭代truncated policy iteration
首先对比值迭代和策略迭代:
不同之处的核心点在于:
在第四步中,policy iteration 需要用bellman迭代求解
π
1
\pi_1
π1对应的
v
π
1
v_{\pi_1}
vπ1,value iteration 直接一步带入
v
0
v_0
v0得到
v
1
v_1
v1
实际应用中,policy iteration是不可实现的,都是truncated policy iteration,truncated的参数j是人为规定的
第五课 蒙特卡洛方法
MC Basic Algorithm
为了解决无模型的问题,首先引入Monte Carlo estimation,用大量的采样(试验)结果的平均值近似期望(基于大数定律),用于 model-free 形式下的 policy iteration(主要体现在 policy evaluation部分)
基于上述思想就形成了最基础的MC Basic Algorithm:
基础但并不使用的算法,因为求解效率太低
关于采样过程中episode length的讨论:可以将episode length视为探索解的半径,episode length取适当的值可以兼顾求解的速度和质量(太短则离目标状态远的初始状态无法到达目标,太长则浪费算力)
MC Exploring Starts
效率提升方法一:提高对数字的利用率
在介绍算法之前先介绍一个新增概念:visit
s
1
→
a
2
s
2
→
a
4
s
1
→
a
2
s
2
→
a
3
s
5
→
a
1
s_1\stackrel{a_2}{\to} s_2\stackrel{a_4}{\to}s_ 1 \stackrel{a_2}{\to}s_2 \stackrel{a_3}{\to}s_5\stackrel{a_1}{\to}
s1→a2s2→a4s1→a2s2→a3s5→a1 在该episode中,包含的state-action对有:
(
s
1
,
a
2
)
(s_1,a_2)
(s1,a2)、
(
s
2
,
a
4
)
(s_2,a_4)
(s2,a4)、
(
s
2
,
a
3
)
(s_2,a_3)
(s2,a3)、
(
s
5
,
a
1
)
(s_5,a_1)
(s5,a1)等,在episode中每出现一次视为对state-action对的一次visit。
在MC Basic中采用的是Initial-visit,用整个episode得到的return作为第一个state-action对的action value【效率低】因此提出 every visit ,即一个episode中某一state-action对多次出现时,每一次出现后的return都可以当作是一次对该state-action对的估计
效率提升方法二:加快改进策略的速度
以往的方法:为了得到一个state-action对的action value ,等收集到所有采样点的episode的return来计算均值。
改进:每收集到一个episode的return就用于改进策略(episode by episode)
Generalized policy iteration (GPI):表示整个迭代过程在policy-evaluation和policy-improvment之间不断切换,不要求每一次都精确求出action value或state value.
下面介绍改进算法MC Exporing Starts
注意此处使用的first-visit策略,并且为了减少计算量采用了后向的算法
根据名字不难看出该方法的核心在于遍历所有的state-action对作为start,但实际应用中一般不会采用。
MC
ϵ
\epsilon
ϵ-greedy
soft policy——一种在某个状态下选择每个动作的概率都部不为0的策略(属于stochastic policy)【而前面介绍的 greedy policy都是deterministic policy】
引入soft policy的目的是为减少需要计算的从state-action对开始的episode的return数量
Balance between exploitation and exploration
将
ϵ
\epsilon
ϵ-greedy应用于MC Exploring Starts则得到了新的算法:
这个方法能有效减少计算量,兼顾了探索性和利用性,参数
ϵ
\epsilon
ϵ的值因问题而异。