• 【Reinforcement Learning】价值学习


    强化学习二者之一,价值学习的究竟是怎么回事?此处笔记根据B站课程,王树森老师的强化学习记录而来。

    2.深度强化学习(2_5):价值学习 Value-Based Reinforc(Av374239425,P2)_哔哩哔哩_bilibili

    Value-Base Reinforcement Learning价值为基础的强化学习

    1.回顾动作价值函数action-value function

    U(t)=R(t)+r*R(t+1)+r^2*R(t+2)++r^3*R(t+3)+……

    U(t)是R(t)的加权和,展示未来累计奖励的总和,所以我们想知道它是多少。R(t)是随机变量,R(t)依赖于A(t)……和S(t)……,其中随机性来源于以下两个方面:

    A——>Π(a|s)策略函数,选择动作是随机的。

    S——>p(s'|s,a)状态转移函数,做出何种状态转移是随机的。

    这就导致U(t)是随机变量,为了估计t时刻的U(t)的值,求U(t)的期望,消除随机性。

    QΠ(s(t),a(t))动作价值函数,给t时刻动作打分,其中s(t),a(t)是观测值。其值还与策略函数Π有关,不同的策略函数会采取不同的动作。

    消除Π的影响,对Π求最大化,得到Q*(s(t),a(t))=maxΠ QΠ(s(t),a(t)),其对动作at打分,选择的得分最高的action。

    2.DQN:Deep Q-Network

    使用神经网络近似Q*,其中Q*相当于一个先知,它决策返回平均汇报最高的选择。奖励就是强化学习中的监督信号。

    maximize the total reward,其中best action就是a*=argmax a  Q*(s,a)。但是实际中Q*总是不知道的,所以DQN的功能就是学习一个函数来近似Q*.

    DQN的价值学习:Model  Q(w)

     


     

    3. Temporal Difference (TD) Learning

    TD算法是DQN的训练常用的方法,举例说明。

    上述过程需要完成全部旅程,才能更新模型,如果只到半路,那么能否更新模型?使用TD算法就可以。 

     在下面的例子中,300min是实际观测值,剩下的600min是模型的估计值。TD算法的原理:模型估计全程1000min,走了300min后,模型估计剩下600min,那么模型估计走的那段路应该花费1000-600=400min,但是实际使用了300min.这时TD error=100. 我们要使TD error 向0靠近,那么估计值就能够向真实值靠近。

     4.TD 算法训练DQN

    TD算法的核心是原来的全程估计转换成了一段估计加一段观测值的形式。就形成了如下范式,理想情况下,左右两边是相等的:(rt是真实的观测值)

     从公式理解,下面这个式子,反映了相邻两个折扣回报之间的关系。

     在DQN中进行解释时,有:

     在有了prediction和TD target之后,就可以采用梯度下降来更新模型,梯度下降的目的是为了使loss更小。

     

     Summary

    强化学习就是根据奖励更新模型。

     

     

  • 相关阅读:
    一文快速创建前端react项目
    FT2004(D2000)开发实战之PBF配置
    【Java编程进阶之路--方法】
    python之代理ip的配置与调试
    SpringBoot涉及的注解
    【数据结构】—带头双向循环链表的实现(完美链表)
    Mock工具之Moco使用教程
    PMP_第12章章节试题
    Unity Rain Ai 插件的使用入门
    Map<String, Object> 和 com.fasterxml.jackson.databind.node.ObjectNode区别
  • 原文地址:https://blog.csdn.net/lt_BeiMo/article/details/126586308