• Value-Based RL


    Value-Based RL

    0.含折扣的回报(Discounted Return)

    在这里插入图片描述

    U t U_t Ut 等于从 t t t时刻开始的奖励之和,并且给未来的奖励一个折扣率 γ ∈ [ 0 , 1 ] \gamma \in [0,1] γ[0,1]

    U t U_t Ut 是一个随机变量,其不确定性来自于未来的状态和动作,动作是通过策略函数随机得到,状态是通过状态转移函数随机得到。

    1.动作价值函数

    在这里插入图片描述

    Q π ( s t , a t ) Q_\pi(s_t,a_t) Qπ(st,at) 表示 U t U_t Ut 的期望,该函数进行评估在策略 π \pi π 下状态 s t s_t st执行动作 a t a_t at的好坏。

    关于为什么用Q缩写来表示的原因:

    有一篇论文提到了,但是貌似是猜测。
    在这里插入图片描述
    [Christopher Watkins Learning From Delayed Rewards]

    Quantity 貌似说不通,衡量动作的好坏的函数用数量(?)缩写,我觉得用Quality(质量)更加贴切,类似评价物品的好坏,用Quality一样。


    在这里插入图片描述

    我们定义最优动作价值函数 Q ∗ ( s t , a t ) Q^*(s_t,a_t) Q(st,at)来表示在所有策略下的最大 Q Q Q,通过这个函数我们可以找到最优的 a t a_t at


    2.DQN(Deep Q Network)

    在这里插入图片描述

    为了近似这个 Q ∗ Q^* Q函数,我们便使用价值网络(DQN)来近似该函数。


    在这里插入图片描述

    DQN的输入就是状态 s t s_t st,通过卷积层提取特征向量,在经过全连接层得到每个动作对应的价值。


    在这里插入图片描述

    通过该网络,我们便可以觉得每次执行什么动作 a t a_t at,然后得到外界的奖励 r t r_t rt 和新一轮的状态 s t + 1 s_{t+1} st+1,从而不断地执行下去。


    3.TD算法

    用来训练价值网络地算法称为:Temporal Difference (TD) Learning,时间差分序列算法。

    在这里插入图片描述

    在这里插入图片描述

    上图是一个TD算法的实例,用来估计两地距离。

    把它应用到DQN中,就是如下图所示。

    在这里插入图片描述

    可以看到, Q Q Q值由真实值和模型预测值组成。

    在这里插入图片描述

    我们对回报Return的期望进行变形,便可以得到与TD算法类似的等式关系。

    在这里插入图片描述


    在这里插入图片描述

    通过该算法,我们便可以求出TD的目标函数 y t y_t yt ,计算损失 L o s s Loss Loss,然后进行梯度下降训练网络。

    4.总结

    在这里插入图片描述

  • 相关阅读:
    《动手学深度学习 Pytorch版》 5.2 参数管理
    【Vue3从零开始-实战】S11:setup函数的职责及封装setup函数中的逻辑
    软考系统架构师常考知识点整理(含案例分析、论文历年题目总结)
    Linux服务管理
    计算二叉树的深度和叶子结点数
    1.5、Python基础-模块和包
    uniapp使用uni.downloadFile(OBJECT)结合uni.storage/uni.getstorage实现离线缓存
    Java—类加载机制
    MySQL中的datetime和timestamp有什么区别
    2022年智慧城市与智能电网国际会议(CSCSG 2022)
  • 原文地址:https://blog.csdn.net/weixin_45750972/article/details/126773064