深入理解强化学习——序列决策(Sequential Decision Making)

news2024/10/6 6:04:17

分类目录:《深入理解联邦学习》总目录


在本文中我们将介绍序列决策(Sequential Decision Making)过程中的各个过程。

智能体与环境

强化学习研究的问题是智能体与环境交互的问题,下图左边的智能体一直在与下图右边的环境进行交互。智能体把它的动作输出给环境,环境取得这个动作后会进行下一步,把下一步的观测与这个动作带来的奖励返还给智能体。这样的交互会产生很多观测,智能体的目的是从这些观测之中学到能最大化奖励的策略。
智能体与环境

奖励

奖励是由环境给的一种标量的反馈信号(Scalar Feedback Signal),这种信号可显示智能体在某一步采取某个策略的表现如何。强化学习的目的就是最大化智能体可以获得的奖励,智能体在环境里面存在的目的就是最大化它的期望的累积奖励(Expected Cumulative Reward)。不同的环境中,奖励也是不同的。这里给大家举一些奖励的例子:

  • 比如一个象棋选手,他的目的是赢棋,在最后棋局结束的时候,他就会得到一个正奖励(赢)或 者负奖励(输)
  • 在股票管理里面,奖励由股票获取的奖励与损失决定
  • 在玩雅达利游戏的时候,奖励就是增加或减少的游戏的分数,奖励本身的稀疏程度决定了游戏的难度。

序列决策

在一个强化学习环境里面,智能体的目的就是选取一系列的动作来最大化奖励,所以这些选取的动作必须有长期的影响。但在这个过程里面,智能体的奖励其实是被延迟了的,就是我们现在选取的某一步动作,可能要等到很久后才知道这一步到底产生了什么样的影响。如下图所示,在玩雅达利的Pong游戏时,我们可能只有到最后游戏结束时,才知道球到底有没有被击打过去。过程中我们采取的上升或下降动作,并不会直接产生奖励。强化学习里面一个重要的课题就是近期奖励和远期奖励的权衡,研究怎么让智能体取得更多的远期奖励。
Pong游戏

在与环境的交互过程中,智能体会获得很多观测。针对每一个观测,智能体会采取一个动作,也会得到一个奖励。所以历史是观测、动作、奖励的序列:
H t = o 1 , a 1 , r 1 , o 2 , a 2 , r 2 , ⋯   , o t , a t , r t H_t=o_1, a_1, r_1, o_2, a_2, r_2, \cdots, o_t, a_t, r_t Ht=o1,a1,r1,o2,a2,r2,,ot,at,rt

智能体在采取当前动作的时候会依赖于它之前得到的历史,所以我们可以把整个游戏的状态看成关于这个历史的函数:
S t = f ( H t ) S_t=f(H_t) St=f(Ht)

状态是对世界的完整描述,不会隐藏世界的信息。观测是对状态的部分描述,可能会遗漏一些信息。在深度强化学习中,我们几乎总是用实值的向量、矩阵或者更高阶的张量来表示状态和观测。例如, 我们可以用RGB像素值的矩阵来表示一个视觉的观测,可以用机器人关节的角度和速度来表示一个机器人的状态。

环境有自己的函数 s t e = f ( H t e ) s^e_t=f(H_t^e) ste=f(Hte)来更新状态,在智能体的内部也有一个函数 s t a = f ( H t a ) s^a_t=f(H_t^a) sta=f(Hta)来更新状态。当智能体的状态与环境的状态等价的时候,即当智能体能够观察到环境的所有状态时,我们称这个环境是完全可观测的(Fully Observed)。在这种情况下面,强化学习通常被建模成一个马尔可夫决策过程 (Markov Decision Process,MDP)的问题。在马尔可夫决策过程中,我们有 o t = s t e = s t a o_t=s^e_t=s^a_t ot=ste=sta

但是有一种情况是智能体得到的观测并不能包含环境运作的所有状态,因为在强化学习的设定里面, 环境的状态才是真正的所有状态。比如智能体在玩Black Jack游戏,它能看到的其实是牌面上的牌。或者在玩雅达利游戏的时候,观测到的只是当前电视上面这一帧的信息,我们并没有得到游戏内部里面所有的运作状态。也就是当智能体只能看到部分的观测,我们就称这个环境是部分可观测的(Partially Observed)。在这种情况下,强化学习通常被建模成部分可观测马尔可夫决策过程(Partially Observable Markov Decision Process, POMDP)的问题。部分可观测马尔可夫决策过程是马尔可夫决策过程的一种泛化。部分可观测马尔可夫决策过程依然具有马尔可夫性质,但是假设智能体无法感知环境的状态,只能知道部分观测值。比如在自动驾驶中,智能体只能感知传感器采集的有限的环境信息。部分可观测马尔可夫决策过程可以用一个七元组描述: ( S , A , T , R , Ω , O , γ ) (S, A, T, R, \Omega, O, \gamma) (S,A,T,R,Ω,O,γ),其中 S S S表示状态空间,是一个隐变量, A A A为动作空间, T ( s ′ ∣ s , a ) T(s'|s, a) T(ss,a)为状态转移概率, R R R为奖励函数, Ω ( o ∣ s , a ) \Omega(o|s, a) Ω(os,a)为观测概率, O O O为观测空间, γ \gamma γ为折扣系数。

参考文献:
[1] 杨强, 刘洋, 程勇, 康焱, 陈天健, 于涵. 联邦学习[M]. 电子工业出版社, 2020
[2] 微众银行, FedAI. 联邦学习白皮书V2.0. 腾讯研究院等, 2021

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1085423.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

springboot农机电招平台springboot37

大家好✌!我是CZ淡陌。一名专注以理论为基础实战为主的技术博主,将再这里为大家分享优质的实战项目,本人在Java毕业设计领域有多年的经验,陆续会更新更多优质的Java实战项目,希望你能有所收获,少走一些弯路…

【Debian】报错:su: Authentication failure

项目场景: 今天我重新刷了一个debian系统。 系统版本: # 查看系统版本 lsb_release -a 我的系统版本: No LSB modules are available. Distributor ID:Debian Description: Debian GNU/Linux 12 (bookworm&#xff…

使用LLM在KG上进行复杂的逻辑推理10.12

使用LLM在KG上进行复杂的逻辑推理 摘要介绍相关工作 摘要 在知识图谱上进行推理是一项具有挑战性的任务,这需要深度理解实体之间复杂的关系和它们关系的逻辑。而当前的方法通常依赖于学习 几何形状 以将实体嵌入到向量空间中进行逻辑查询操作,但在复杂查…

ChatGLM:向量化构建本地知识库原理

一、概念 1.向量:是有大小和方向的量,可以使用带箭头的线段表示,箭头指向即为向量的方向,线段的长度表示向量的大小。 2.向量化:将语言模型的数据转化为向量。这通常通过嵌入模型(embedding models&#…

【算法-动态规划】0-1 背包问题

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:kuan 的首页,持续学…

解锁 OpenAI 密钥的新利器:OpenAI Key 有效性查询工具,支持GPT4

在寻找新的创意或解决问题时,OpenAI 的 GPT 模型是一个强大的工具。但是,一旦您拥有了自己的 OpenAI 密钥,您可能会遇到一个常见的问题 - 如何验证您的密钥是否有效?这个问题可能令人困扰,但不必再担心了。现在&#x…

多功能按键中断

key1 开关实现led1亮灭,key2开关实现蜂鸣器开关,key3开关实现风扇开关 main.c #include "uart.h" #include "key_it.h" #include "led.h" int main() {char c;char *s;uart4_init();//串口初始化all_led_init();key_it_config();fengshan_init…

Day 05 python学习笔记

循环 应用:循环轮播图 最基础、最核心 循环:周而复始,谓之循环 (为了代码尽量不要重复) while循环 while的格式 索引定义 while 表达式(只要结果为布尔值即可): 循环体 通过条件的不断变化,从…

1315. 网格 - 卡特兰数

1315. 网格 - AcWing题库 只要是触及上面这条红线的,就以第一次触及的点为起点沿红线反转,终点的位置与红线对称的位置可以看作触及红线的路线的终点。 yx1 横坐标容易得出时m - 1,(m n) - (m - 1)得出纵坐标n 1 …

JVM面试题:(四)四种引用方式强弱软虚

四种引用方式: 强引用 强引用是平常中使用最多的引用,强引用在程序内存不足(OOM)的时候也不会被回收,使用 方式: String str new String(“str”); System.out.println(str); 软引用 软引用在程序内存不…

07-网络篇-抓包分析TCP

为了抓包方便一些&#xff0c;我在ubuntu虚拟机运行服务端程序&#xff0c;而在windows运行客户端程序&#xff0c;关于客户端与服务端程序如下。 ##1.程序 客户端&#xff1a; vs_client.cpp #include "stdafx.h" #include <iostream> #include <winsock2…

MapStruct_概念、如何使用、子集和映射、合并、Spring方式、表达式、自定义切面处理

文章目录 ①. 什么是MapStruct&#xff1f;②. 如何使用MapStruct?③. 子集和映射④. 合并映射⑤. Spring依赖注入⑥. 常量、默认值和表达式⑦. 自定义切面处理 ①. 什么是MapStruct&#xff1f; ①. MapStruct是一款基于Java注解的对象属性映射工具,使用的时候我们只要在接口…

SQL 教程||SQL 简介

SQL 简介&#xff08;开个新坑&#xff09; SQL&#xff08;结构化查询语言&#xff09;是用于访问和操作数据库中的数据的标准数据库编程语言。 SQL是关系数据库系统的标准语言。所有关系数据库管理系统(RDMS)&#xff0c;如MySQL、MS Access、Oracle、Sybase、Informix、Po…

第四章——密码学的数学引论

一.数论 1.素数 200以内的素数&#xff1a; 2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97 101 103 107 109 113 127 131 137 139 149 151 157 163 167 173 179 181 191 193 197 199 算术基本定理&#xff1a; 任何一个不等于0的正整数a都可以写…

接上面 通过索引index 和类型Java.lang.string.来注入

index 属性表示构造函数参数的索引&#xff0c;value 属性表示构造函数参数的值。

【web实现右侧弹窗】JS+CSS如何实现右侧缓慢弹窗动态效果『附完整源码下载』

文章目录 写在前面涉及知识点页面效果1、页面DOM创建1.1创建底层操作dom节点1.2 创建存放弹窗dom节点 2、页面联动功能实现&#xff08;关闭与弹出&#xff09;2.1 点击非右侧区域实现关闭2.2 点击叉叉及关闭按钮实现关闭功能 3、完整源码包下载3.1百度网盘3.2 123云盘3.3邮箱留…

没用的知识增加了,尝试用文心实现褒义词贬义词快速分类

尝试用文心实现褒义词贬义词快速分类 一、我的需求二、项目环境搭建千帆SDK安装及使用流程 三、项目实现过程创建应用获取签名调用接口计算向量积总结 百度世界大会将于10月17日在北京首钢园举办&#xff0c;今天进入倒计时五天了。通过官方渠道的信息了解到&#xff0c;这次是…

【APUE】文件系统 — 进程环境

目录 一、再提 main 函数 二、进程的终止 2.1 正常终止 2.1.1 从 main 函数用 return 返回 2.1.2 主动调用 exit 函数 2.1.3 钩子函数 2.1.4 调用 _exit 或 _Exit 2.2 异常终止 三、命令行参数的分析 3.1 getopt 3.2 示例 四、环境变量 4.1 简介 4.2 查看环境…

内网收集哈希传递

1.内网收集的前提 获得一个主机权限 补丁提权 可以使用 systeminfo 然后使用python脚本找到缺少的补丁 下载下来 让后使用exp提权 收集信息 路由信息 补丁接口 dns域看一看是不是域控 扫描别的端口 看看有没有内在的web网站 哈希传递 哈希是啥 哈希…

墨者学院 WordPress 远程命令执行漏洞(CVE-2018-15877)

1. 背景介绍 近日&#xff0c;WordPress 插件Plainview Activity Monitor被曝出存在一个远程命令执行漏洞。Plainview Activity Monitor 是一款网站用户活动监控插件。 远程攻击者可以通过构造的url来诱导wordpress管理员来点击恶意链接最终导致远程命令执行 2.影响范围 Pla…