深入理解强化学习——马尔可夫决策过程:备份图(Backup Diagram)

分类目录:《深入理解强化学习》总目录


在本文中,我们将介绍备份(Backup)的概念。备份类似于自举之间的迭代关系,对于某一个状态,它的当前价值是与它的未来价值线性相关的。 我们将与下图类似的图称为备份图(Backup Diagram)或回溯图,因为它们所示的关系构成了更新或备份操作的基础,而这些操作是强化学习方法的核心。这些操作将价值信息从一个状态(或状态—动作对)的后继状态(或状态—动作对)转移回它。 每一个空心圆圈代表一个状态,每一个实心圆圈代表一个状态-动作对。
备份图
如下式所示,这里有两层加和。第一层加和是对叶子节点进行加和,往上备份一层,我们就可以把未来的价值( s ′ s' s的价值)备份到黑色的节点。 第二层加和是对动作进行加和,得到黑色节点的价值后,再往上备份一层,就会得到根节点的价值,即当前状态的价值。
V π ( s ) = ∑ a ∈ A π ( a ∣ s ) ( R ( s , a ) + γ ∑ s ′ ∈ S p ( s ′ ∣ s , a ) V π ( s ′ ) ) V_\pi(s)=\sum_{a\in A}\pi(a|s)(R(s, a)+\gamma\sum_{s'\in S}p(s'|s,a)V_\pi(s')) Vπ(s)=aAπ(as)(R(s,a)+γsSp(ss,a)Vπ(s))

下图所示为状态价值函数的计算分解,其中子图( b b b)的计算公式为:
V π ( s ) = ∑ a ∈ A π ( a ∣ s ) Q π ( s , a ) V_\pi(s)=\sum_{a\in A}\pi(a|s)Q_\pi(s, a) Vπ(s)=aAπ(as)Qπ(s,a)

其给出了状态价值函数与Q函数之间的关系。子图( c c c)计算Q函数为:
Q π ( s , a ) = R ( s , a ) + γ ∑ s ′ ∈ S p ( s ′ ∣ s , a ) V π ( s ′ ) Q_\pi(s, a)=R(s, a)+\gamma\sum_{s'\in S}p(s'|s,a)V_\pi(s') Qπ(s,a)=R(s,a)+γsSp(ss,a)Vπ(s)

我们将上两式的 Q π ( s , a ) Q_\pi(s, a) Qπ(s,a)替换可得:
V π ( s ) = ∑ a ∈ A π ( a ∣ s ) ( R ( s , a ) + γ ∑ s ′ ∈ S p ( s ′ ∣ s , a ) V π ( s ′ ) ) V_\pi(s)=\sum_{a\in A}\pi(a|s)(R(s, a)+\gamma\sum_{s'\in S}p(s'|s,a)V_\pi(s')) Vπ(s)=aAπ(as)(R(s,a)+γsSp(ss,a)Vπ(s))

所以备份图给出了未来下一时刻的状态价值函数与上一时刻的状态价值函数之间的关联:
状态价值函数的计算分解
对于Q函数,我们也可以进行这样的一个推导。如下图所示,现在的根节点是Q函数的一个节点。Q函数对应于黑色的节点。下一时刻的Q函数对应于叶子节点,有4个黑色的叶子节点:
Q π ( s , a ) = R ( s , a ) + γ ∑ s ′ ∈ S p ( s ′ ∣ s , a ) ∑ a ′ ∈ A π ( a ′ ∣ s ′ ) Q π ( s ′ , a ′ ) Q_\pi(s, a)=R(s, a)+\gamma\sum_{s'\in S}p(s'|s,a)\sum_{a'\in A}\pi(a'|s')Q_\pi(s', a') Qπ(s,a)=R(s,a)+γsSp(ss,a)aAπ(as)Qπ(s,a)

如上式所示,这里也有两层加和。第一层加和先把叶子节点从黑色节点推到空心圆圈节点,进入到空心圆圈结点的状态。 当我们到达某一个状态后,再对空心圆圈节点进行加和,这样就把空心圆圈节点重新推回到当前时刻的Q函数。
备份图
下图子图( c c c)中:
V π ( s ′ ) = ∑ a ′ ∈ A π ( a ′ ∣ s ′ ) Q π ( s ′ , a ′ ) V_\pi(s')=\sum_{a'\in A}\pi(a'|s')Q_\pi(s', a') Vπ(s)=aAπ(as)Qπ(s,a)

我们将上式代入上文中 Q π ( s , a ) Q_\pi(s, a) Qπ(s,a)算式可得未来Q函数与当前Q函数之间的关联,即:
Q π ( s , a ) = R ( s , a ) + γ ∑ s ′ ∈ S p ( s ′ ∣ s , a ) ∑ a ′ ∈ A π ( a ′ ∣ s ′ ) Q π ( s ′ , a ′ ) Q_\pi(s, a)=R(s, a)+\gamma\sum_{s'\in S}p(s'|s,a)\sum_{a'\in A}\pi(a'|s')Q_\pi(s', a') Qπ(s,a)=R(s,a)+γsSp(ss,a)aAπ(as)Qπ(s,a)

参考文献:
[1] 张伟楠, 沈键, 俞勇. 动手学强化学习[M]. 人民邮电出版社, 2022.
[2] Richard S. Sutton, Andrew G. Barto. 强化学习(第2版)[M]. 电子工业出版社, 2019
[3] Maxim Lapan. 深度强化学习实践(原书第2版)[M]. 北京华章图文信息有限公司, 2021
[4] 王琦, 杨毅远, 江季. Easy RL:强化学习教程 [M]. 人民邮电出版社, 2022


http://www.niftyadmin.cn/n/5222150.html

相关文章

如何使用企业微信 WorkTool API 开源框架快速开发企微聊天机器人(详细教程)

WorkTool 基本框架概述 WorkTool 是一个依附于企业微信来运行的无人值守群管理机器人程序,WorkTool 开源,并且永久免费。您可以使用本应用程序来自动执行一个自己企业微信里的账号(当做机器人账号)可通过后台调用对应的 API 来驱…

深度学习之基于百度飞桨PaddleOCR图像字符检测识别系统

欢迎大家点赞、收藏、关注、评论啦 ,由于篇幅有限,只展示了部分核心代码。 文章目录 一项目简介主要特点使用步骤 二、功能三、系统四. 总结 一项目简介 # Introduction to PaddleOCR Image Character Detection and Recognition System Based on Baidu…

【嵌入式开发 Linux 常用命令系列 13 -- 脚本中自动将文本中的内容复制到剪切板】

文章目录 在Linux中,你可以使用xclip或xsel命令将文本内容复制到剪贴板。这些工具可能不是默认安装的,所以你可能需要先通过包管理器安装它们。 对于xclip,可以使用以下命令来安装: sudo apt-get install xclip # Debian/Ubuntu …

01 项目架构

关于我 曾经就职于蚂蚁金服,多年的后端开发经验,对微服务、架构这块研究颇深,同时也是一名热衷于技术分享、拥抱开源技术的博主。 个人技术公众号:码猿技术专栏个人博客:www.java-family.cn 前期一直在更新《Spring…

智慧化工~工厂设备检修和保全信息化智能化机制流程

化工厂每年需要现场检修很多机器,比如泵、压缩机、管道、塔等等,现场检查人员都是使用照相机,现场拍完很多机器后,回办公室整理乱糟糟的照片,但是经常照了之后无法分辨是哪台设备,而且现场经常漏拍&#xf…

C++ 泛型编程,函数模版和类模版

1.泛型编程 泛型编程:编写与类型无关的通用代码,是代码复用的一种手段。模板是泛型编程的基础 就比如说活字印刷术,就是提供一个模具,然后根据模具来印刷出不同的字。 泛型编程跟着类似,提供一个模版,根据这…

封装可多选的组件(Autocomplete)

一。组件库Material UI 1.1 地址 https://v4.mui.com/zh/getting-started/installation/ 1.2 简介 自称世界上最受欢迎的React UI组件库(能看到这里的基本用法应该都清楚了,我就不重复了) 二。效果展示 三。代码展示 import React from reactimport { useField, us…

【论文阅读】An Experimental Survey of Missing Data Imputation Algorithms

论文地址:An Experimental Survey of Missing Data Imputation Algorithms | IEEE Journals & Magazine | IEEE Xplore 处理缺失数据最简单的方法就是是丢弃缺失值的样本,但这会使得数据更加不完整并且导致偏差或影响结果的代表性。因此,…