Mode-Free Policy Evaluation: Policy Evaluation Without Knowing How the World Works
Policy evaluation without known dynamics & reward models
This Lecture: Policy Evaluation
- 在没有权限访问真实MDP模型的条件下估计一个特定策略的回报期望
- 动态规划
- 蒙特·卡洛尔策略评估
- 在没有一个建模world如何运转的模型下做策略评估
- 时序差分(Temporal Difference, TD)
- 评估和比较算法的标准
下面是复习的内容,但跟之前博文对比变换了叙述的角度,引入了新的内容,所以也值得一看。
Recall

Dynamic Programming for Policy Evaluation
- Initializa V0π=0 for s
- For k = 1 until convergence
- For all s in S
- Vkπ=r(s,π(s))+γ∑s′∈Sp(s′∣s,π(s))Vk−1π(s′)
Vkπ(s) is exact value of k-horizon value of state s under policy π。
Vkπ(s) is an estimate of infinite horizon value of state s under policy。
Vπ(s)=Eπ[Gt∣st=s]≈E[rt+γVk−1∣st=s]
k越大,这越是一个好的近似;k越小,这越是一个差的近似。
收敛判定条件:
∥Vkπ−Vk−1π∥<ϵ
当然,该算法是在已给定动态/变迁模型P的条件下运行。
图形化描述,注意图中文字。

Policy Evaluation: Vπ(s)=E[Gt∣st=s]
这里引入新的内容
- 如果我们不知道动态模型P/或奖励模型R呢?
- 新内容:在没有模型的条件下进行策略价值评估
- 给定数据/或与环境交互的能力
- 足够计算策略π的合理估计
Monte Carlo(MC) Policy Evaluation
蒙特·卡罗尔策略评估
-
Gt=rt+γrt+1+γ2rt+2+r3γrt+3+... in MDP M under policy π
-
Vπ(s)=ET∼π[Gt∣st=s]
- 遵循策略π产生的迹(trajectories)T(希腊字母tau)上的期望
迹(trajectories)想表达的是执行路径的意思,其实也可以翻译成路径,但形式化领域惯用迹这种说法。
-
简单的理解思路:价值 = 回报的平均(Value = mean return)
-
如果所有的迹都是有限的,那么我们在迹的集合中采样并计算平均回报
-
不需要MDP的动态模型/回报模型
-
不需要bootstrapping
-
不需要假设状态是马尔科夫的
-
只能被应用于周期化(可以重复进行多次的意思)的MDPs
- 在一个完整的一轮(episode)中取平均
- 需要每一轮都能终止
最后一个如何理解,比如人生只有一次,所以它不能重复,也就不能进行多次然后取平均;但驾车去机场可以重复,每一轮都走高速,然后重复100轮取平均是可行的。去机场可能会花很长时间,但你最后都能到达机场(一轮终止),而且第二天你还能再接着去机场(周期化)。
- 目标:在策略π下给定的所有轮次下估计Vπ
-
s1,a1,r1,s2,a2,r2,...其中的动作都是在策略π中采样得到的。
-
Gt=rt+γrt+1+γ2rt+2+γ3rt+3+... in MDP M under policy π
- Vπ(s)=Eπ[Gt∣st=s]
- MC计算实验平均回报
- 通常是通过一个递增的风格实现的
First-Visit Monte Carlo(MC) On Policy Evaluation Algorithm
Initialize N(s)=0, G(s)=0 ∀s∈S
Loop
- Sample episode i=si,1,ai,1,ri,1,si,2,ai,2,ri,2,...,si,Ti
- Define Gi,t=ri,t+γri,t+1+γ2ri,t+2+...+γTi−1ri,τi as return from time step t onwards in ith episode
- For each state s visited in episode i
- For first time t that state s is visited in episode i
- Increment counter of total first visits: N(s)=N(s)+1
- Increment total return G(s)=G(s)+Gi,t
- Update estimate Vπ(s)=G(s)/N(s)
Note:这个算法被称作策略评估上的第一次访问蒙特·卡罗尔算法,是因为只在第一次访问某个状态s的时候计算,更新估计,下一次再遇到同样的状态
Bias, Variance and MSE
深度学习的概率基础,这里复习一下,因为要衡量估计的好坏,不懂的话参见深度学习那本花书。
- 考虑一个被θ参数化的统计模型,它决定了在观测数据上的概率分布P(x∣θ)
- 考虑一个统计θ^,它提供了θ的一个估计并且它是观测数据x上的一个函数
- 比如。对于一个未知方差的高斯分布,独立同分布(iid,independently identically distribution) 数据点的平均值是对高斯分布平均的一个估计
- 定义:估计θ^的bias是:
Biasθ(θ^)=Ex∣θ[θ^]−θ
- 定义:估计θ^的Variance是:
Var(θ^)=Ex∣θ[(θ^−E[θ^])2]
- 定义:估计θ^的均方误差(MSE)是:
MSE(θ^)=Var(θ^)+Bias(θ^)2
MSE(θ^)=Ex∣θ[(^θ)−θ] (按MSE的定义,博主补充的公式)
有了补充的知识后,在回头看上面的算法:

它有如下性质:
-
Vπ估计器是真实期望Eπ[Gt∣st=s]的一个无偏估计器
- 根据大数定理,当N(s)→∞时,Vπ(s)→Eπ[Gt∣st=t]
Concentration inqualities通常用于Variance。通常我们不知道确切的Bias,除非知道ground truth值。实践中有很多方法得到bias的估计:比较不同形式的参数模型、structural risk maximization。
待续。。。