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如何运转的模型下做策略评估
      • 在给定on-policy的采样下
  • 时序差分(Temporal Difference, TD)
  • 评估和比较算法的标准
下面是复习的内容,但跟之前博文对比变换了叙述的角度,引入了新的内容,所以也值得一看。

Recall

Model-Free Policy Evaluation 无模型策略评估

Dynamic Programming for Policy Evaluation

  • Initializa V0π=0V_0^\pi=0 for s
  • For k = 1 until convergence
    • For all s in S
      • Vkπ=r(s,π(s))+γsSp(ss,π(s))Vk1π(s)V_k^\pi=r(s,\pi(s))+\gamma\sum_{s' \in S}p(s'|s,\pi(s))V_{k-1}^\pi(s')

Vkπ(s)V_k^{\pi}(s) is exact value of k-horizon value of state s under policy π\pi
Vkπ(s)V_k^\pi(s) is an estimate of infinite horizon value of state s under policy。

Vπ(s)=Eπ[Gtst=s]E[rt+γVk1st=s]V^{\pi}(s) = \mathbb{E}_\pi[G_t|s_t=s]\approx\mathbb{E}[r_t+\gamma V_{k-1}|s_t=s]
k越大,这越是一个好的近似;k越小,这越是一个差的近似。

收敛判定条件:
VkπVk1π<ϵ\|V_k^\pi-V_{k-1}^\pi\|<\epsilon

当然,该算法是在已给定动态/变迁模型P的条件下运行。

图形化描述,注意图中文字。
Model-Free Policy Evaluation 无模型策略评估

Policy Evaluation: Vπ(s)=E[Gtst=s]V^\pi(s)=\mathbb{E}[G_t|s_t=s]

  • Gt=rt+γrt+1+γ2rt+2+r3γrt+3+...G_t = r_t+\gamma r_{t+1}+\gamma^2r_{t+2}+r^3\gamma r_{t+3}+... in MDP M under policy π\pi

  • 动态规划

    • Vπ(s)Eπ[rt+γVk1st=s]V^\pi(s)\approx\mathbb{E}_\pi[r_t+\gamma V_{k-1}|s_t = s]
    • 需要MDP模型M
    • 使用估计值bootstraps未来回报

这里引入新的内容

  • 如果我们不知道动态模型P/或奖励模型R呢?
  • 新内容:在没有模型的条件下进行策略价值评估
    • 给定数据/或与环境交互的能力
    • 足够计算策略π\pi的合理估计

Monte Carlo(MC) Policy Evaluation

蒙特·卡罗尔策略评估

  • Gt=rt+γrt+1+γ2rt+2+r3γrt+3+...G_t = r_t+\gamma r_{t+1}+\gamma^2r_{t+2}+r^3\gamma r_{t+3}+... in MDP M under policy π\pi
  • Vπ(s)=ETπ[Gtst=s]V^\pi(s)=\mathbb{E}_{\Tau \sim \pi}[G_t|s_t=s]
    • 遵循策略π\pi产生的迹(trajectories)T\Tau(希腊字母tau)上的期望

迹(trajectories)想表达的是执行路径的意思,其实也可以翻译成路径,但形式化领域惯用迹这种说法。

  • 简单的理解思路:价值 = 回报的平均(Value = mean return)

  • 如果所有的迹都是有限的,那么我们在迹的集合中采样并计算平均回报

  • 不需要MDP的动态模型/回报模型

  • 不需要bootstrapping

  • 不需要假设状态是马尔科夫的

  • 只能被应用于周期化(可以重复进行多次的意思)的MDPs

    • 在一个完整的一轮(episode)中取平均
    • 需要每一轮都能终止
最后一个如何理解,比如人生只有一次,所以它不能重复,也就不能进行多次然后取平均;但驾车去机场可以重复,每一轮都走高速,然后重复100轮取平均是可行的。去机场可能会花很长时间,但你最后都能到达机场(一轮终止),而且第二天你还能再接着去机场(周期化)。
  • 目标:在策略π\pi下给定的所有轮次下估计VπV^\pi
    • s1,a1,r1,s2,a2,r2,...s_1,a_1,r_1,s_2,a_2,r_2,...其中的动作都是在策略π\pi中采样得到的。
  • Gt=rt+γrt+1+γ2rt+2+γ3rt+3+...G_t=r_t+\gamma r_{t+1}+\gamma^2r_{t+2}+\gamma^3r_{t+3}+... in MDP M under policy π\pi
  • Vπ(s)=Eπ[Gtst=s]V^\pi(s) = \mathbb{E}_\pi[G_t|s_t=s]
  • MC计算实验平均回报
  • 通常是通过一个递增的风格实现的
    • 在每一轮之后,更新VπV^\pi的估计

First-Visit Monte Carlo(MC) On Policy Evaluation Algorithm

Initialize N(s)=0N(s) = 0, G(s)=0 sSG(s)=0\ \forall s \in S
Loop

  • Sample episode i=si,1,ai,1,ri,1,si,2,ai,2,ri,2,...,si,Tii=s_{i,1},a_{i,1},r_{i,1},s_{i,2},a_{i,2},r_{i,2},...,s_{i,\Tau_i}
  • Define Gi,t=ri,t+γri,t+1+γ2ri,t+2+...+γTi1ri,τiG_{i,t}=r_{i,t}+\gamma r_{i, t+1} + \gamma^2r_{i, t+2}+...+\gamma^{\Tau_i-1}r_{i,\tau_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)+1N(s) = N(s)+1
      • Increment total return G(s)=G(s)+Gi,tG(s)=G(s)+G_{i,t}
      • Update estimate Vπ(s)=G(s)/N(s)V_\pi(s) = G(s)/N(s)

        Note:这个算法被称作策略评估上的第一次访问蒙特·卡罗尔算法,是因为只在第一次访问某个状态s的时候计算,更新估计,下一次再遇到同样的状态

Bias, Variance and MSE

深度学习的概率基础,这里复习一下,因为要衡量估计的好坏,不懂的话参见深度学习那本花书。

  • 考虑一个被θ\theta参数化的统计模型,它决定了在观测数据上的概率分布P(xθ)P(x|\theta)
  • 考虑一个统计θ^\hat{\theta},它提供了θ\theta的一个估计并且它是观测数据x上的一个函数
    • 比如。对于一个未知方差的高斯分布,独立同分布(iid,independently identically distribution) 数据点的平均值是对高斯分布平均的一个估计
  • 定义:估计θ^\hat{\theta}的bias是:
    Biasθ(θ^)=Exθ[θ^]θBias_\theta(\hat{\theta})=\mathbb{E}_{x|\theta}[\hat{\theta}]-\theta
  • 定义:估计θ^\hat{\theta}的Variance是:
    Var(θ^)=Exθ[(θ^E[θ^])2]Var(\hat{\theta})=\mathbb{E}_{x|\theta}[(\hat{\theta}-\mathbb{E}[\hat{\theta}])^2]
  • 定义:估计θ^\hat{\theta}的均方误差(MSE)是:
    MSE(θ^)=Var(θ^)+Bias(θ^)2MSE(\hat{\theta})=Var(\hat{\theta})+Bias(\hat{\theta})^2
    MSE(θ^)=Exθ[(^θ)θ]MSE(\hat{\theta})=\mathbb{E}_{x|\theta}[\hat(\theta)-\theta] (按MSE的定义,博主补充的公式)

有了补充的知识后,在回头看上面的算法:
Model-Free Policy Evaluation 无模型策略评估
它有如下性质:

  • VπV\pi估计器是真实期望Eπ[Gtst=s]\mathbb{E}_\pi[G_t|s_t=s]的一个无偏估计器
  • 根据大数定理,当N(s)N(s)\rightarrow \infty时,Vπ(s)Eπ[Gtst=t]V^\pi(s)\rightarrow \mathbb{E}_\pi[G_t|s_t=t]

Concentration inqualities通常用于Variance。通常我们不知道确切的Bias,除非知道ground truth值。实践中有很多方法得到bias的估计:比较不同形式的参数模型、structural risk maximization。

待续。。。

相关文章: