美文网首页
David Silver Lecture 4 (1)(Model

David Silver Lecture 4 (1)(Model

作者: FeynmanZhang | 来源:发表于2018-09-03 22:02 被阅读0次

    1. 前言:

    这些博客是根据david silver 的深度强化学习内容,结合自己的理解以及学习而写成,转载请注明。前三节的课程是关于已知模型的MDP,在后期会补,但通常来讲,基于已知模型的MDP的计算比较简单,同时在实际中确切的模型也比较难以获知,所以我感觉比较难解决实际问题。
    在本节课程,我们主要关注两点:
    1)无模型函数的预测;
    2)unknown MDP情况下的值函数的预估。

    image.png

    [1]

    2. 蒙特卡洛强化学习方法(Monte-Carlo Reinforcement Learning, MC RL):

    MC RL 的特点:

    1. MC 方法直接从episodes of experience 中学习。
    2. MC 无需知道MDP 的状态转移矩阵以及收益函数。
    3. MC 从完整的episodes 中学习,没有bootstraping。
    4. MC 的一直最本质的想法就是:多次采样取平均,即:value = mean return。
    5. 注意点:MC适用于episodic 的MDP模型,所有的episodes 一定要结束。

    [2]

    (1). 通过MC 方法来进行策略评估 (Policy Evaluation)

    目标:
    已知策略policy{\pi}, 去求v_{\pi}
    回忆:总的折扣奖赏(total discounted reward)可以表示为:

    G_t = R_{t+1}+\gamma R_{t+1} + \gamma^2 R_{t+1}+\cdots +\gamma^{T-1} R_{T}

    而在策略{\pi}的指导下,对于状态s我们的值函数的定义可以表示为:
    v_{\pi}(s) = \mathrm{E}_{\pi}[G_t |S_t=s]

    MC策略评估的做法就是利用经验均值(多次采样取平均)来代替期望均值。

    (2). 首访MC策略评估和每访MC策略评估

    对于 首访MC策略评估:大体的想法如下:


    image.png

    大体的思想是:如果我们要评估状态s的值函数v_{\pi}(s), 我们需要做的是对于每个episode,从第一次遇到状态s开始,记录下来G_t,并更新S(s)=S(s)+G_t,并将计数器N(s)=N(s)+1。经验值V(s) = S(s)/ N(s)。 根据大数定理,经验值趋近于v_{\pi}(s), 即V(s)\rightarrow v_{\pi}(s).

    对于每访MC策略评估,大体思想如下:


    image.png

    大体的思想是:如果我们要评估状态s的值函数v_{\pi}(s),在每一次episode中,没访问一次状态t, 那么我们就更新一次计数器N(s)=N(s)+1以及S(s)=S(s)+G_t,这也意味着在一次episode中,N(s)S(s)可能被更新多次。实际上,有理论证明首访MC策略评估 和 每访MC策略评估最终对策略的评估结果(即经验均值V(s))是相同的,感兴趣的同学可以自己查阅资料。

    (3). 均值的递增式

    序列x_1, x_2, \cdots的均值实际上可以求解如下:

    image.png

    后面的一项可以理解为根据第k次的数据,对之前经验均值所做的一个调整,而调整的权重是1/k

    由于MC的思路也可以理解为是多个序列求经验均值,所以也同样可以表达成如上的形式:


    image.png

    注意对于权重1/N(s),实际是指到此时为止,之前所有episode中遇到的状态s的情况都考虑进来了,而实际上对于非静态的系统,很久之前的经验对于我们来讲已经没有意义,我们著需要关注最近发生的即可,所以又有了下式:

    image.png

    在上式中,在每一次更新V(s)时,最近一次得到的总的折扣奖赏G_t对于均值的调整总是\alpha,我个人理解是将上式换作如下写法可能对于作者的本意更好理解,上式可以写成如下:
    V(S_t) = (1-\alpha)V(S_t) + \alpha G_t
    通过调整\alpha,我们可以将注意力更多的集中在最近一次的采样值G_t上,而忽略之前的采样值的影响。

    3. 时域差分法(Temporal-Difference Learning)

    TD法 的特点:

    1. TD 方法直接从episodes of experience 中学习。
    2. TD 无需知道MDP 的状态转移矩阵以及收益函数。
    3. TD 可以从不完整的episodes 中学习,利用了bootstraping。
    4. MC 的一直最本质的想法就是:每一步都根据已有的经验动态的调整值函数,对策略进行评估。
    5. 自己理解:MC适用于episodic 的MDP模型,所有的episodes 一定要结束。而TD不一定要episodes结束,而是随时对策略的评估进行更新。

    最简单的TD(0)的更新公式如下:


    image.png

    注意在上式中,我们对于状态S_t=s的更新,实际上是利用了\delta_t = R_{t+1}+\gamma V(S_{t+1}=s')-V(S_t=s)
    其中R_{t+1}是真实环境中的值,而V(s), V(s')实际上我们一开始都会给一个猜测值(最简单的就是V(s) = 0, s \in \mathit{S},\mathit{S}表示状态空间),之后利用上面的公式不断进行迭代更新。所以David Silver说是

    image.png

    David Silver 随后利用一个例子说明了MC方法和TD方法思路上的差别。具体参考ppt 14-15, 在此略过。实际上想表达的物理思想就是:MC 实际上每一次更新都是根据一次完成的采样所得到的G_t, 有一点类似于上帝视角。而TD的想法是,我初始值很傻,就是随便猜,但是每一次得到了一次及时收益R_{t+1},我都可以进行一次更新,使猜的更准一点。我的例子是:比如:我女朋友让我猜这个口红的价钱,我傻乎乎的说0元,女朋友说低了,我说1000元,女朋友说高了,我再说100元,依次进行下去,根据每一个反馈来进行调整。而MC的策略的思想是:我看了女朋友的牌子迪奥,而我之前逛商场的时候看到了多款迪奥口红的价格,那么每一款迪奥口红的价格实际上类似于我的一次抽样(一个episode),那么我根据这么多的抽样就可以大体说出这款口红的价格。只是个例子,不够严谨,辅助理解。

    明天我将继续说明TD(n),以及TD(\lambda)的相关内容,欢迎关注。


    1. 参考ppt_3

    2. 参考ppt_4

    相关文章

      网友评论

          本文标题:David Silver Lecture 4 (1)(Model

          本文链接:https://www.haomeiwen.com/subject/nrbiwftx.html