02强化学习基本概念

news2024/11/20 14:20:44

强化学习基本概念

    • 前言
    • 1、State、Action、Policy等
      • ① State
      • ② Action
      • ③ State transition
      • ④ State transition probability
      • ⑤ Polity
    • 2、Reward、Return、MDP等
      • ① Reward
      • ② Trajectory and return
      • ③ Discounted return
      • ④ Episode
      • ⑤ MDP
    • 总结:

前言

本文来自西湖大学赵世钰老师的B站视频。本节课主要介绍强化学习的基本概念。

1、State、Action、Policy等

本文中会广泛使用的一个例子是网格世界,有一个机器人在里边走,每一个小的网格有不同的类型,白色的网格是可以进去的,黄色的网格是禁止进入的,target是我们希望它能够进到的网格,此外,这个网格是有边界的,3x3。要求是机器人可以在相邻的两个网格移动,不能斜着移动。这个机器人的任务是找到一个“good way”从Start到target。如下所示:

在这里插入图片描述
下面用这个例子来介绍本节课中的第一个概念:State

① State

在这里插入图片描述
State实际上描述的就是agent相对于环境的状态。(The status of the agent with respect to the environment)
在网格世界这个任务中,state指的就是机器人的位置,则共有s1,s2,…s9个位置,如上图所示。这里每个state用的是一个二维坐标表示,即(x,y),如果对于一些比较复杂的场景,可能还要加上速度和加速度。
状态空间就是所有状态的集合,用S={s1,s2,…s9}。

② Action

Action就是在每个状态可采取的行动。在网格世界任务中,每个状态有五个动作,记作a1,… a5。a1是往上走,a2是往右走,a3是往下走,a4是往左走,a5是原地不动。
在这里插入图片描述
Action space是所有可能的动作的集合,用A(si)={a1,… a5}表示。

③ State transition

当我们采取一个行动的时候,智能体agent就会从一个状态移动到另一个状态,这个过程叫做state transition。举个例子:
当我们在状态s1,采取行动a2,那么下一个状态就会变成s2,如下所示。
在这里插入图片描述
我们可以利用一个表格来描述状态转变,如下图所示:
在这里插入图片描述
表格虽然比较直观,但是在实际中却应用受限,因为它只能表示这种确定性的情况。比如,我们在状态s1,执行动作a4,即向左走,那么机器人会撞到墙弹回来,弹回来仍然为s1,也有可能弹到s4或者s7,这种不确定性无法用表格表示。因此我们更一般的方法是用state transition probability。

④ State transition probability

在这里插入图片描述
用条件概率来表示下一状态发生的可能性。

⑤ Polity

在这里插入图片描述
在这里插入图片描述
上图种圆圈代表原地不动,策略用箭头表示。箭头所表示的情况有限,现实中我们需要能够描述复杂情况的一般化方法:
在这里插入图片描述
用π表示策略(在强化学习中,π这个符号统一用来表示策略),π就是一个条件概率,它指定了任何一个状态下,任何一个action的概率,是一个不确定的概率。
在这里插入图片描述
策略可以用表格的形式表示:
在这里插入图片描述
每一行都对应了一个动作,每一列都对应一个状态。比如,在状态s1下,有50%的概率往右走,50%的概率往下走,那么在编程中如何实现呢?即使创建一个0到1之间的均匀分布,然后从中随机取一个数x,当x属于0~ 0.5时,就采取a2,x属于0.5~1时采取a1。

2、Reward、Return、MDP等

① Reward

reward是强化学习中非常独特的概念。Reward是采取一个动作之后得到的一个实数(标量)。如果这个实数是正数,代表我们对智能体的这个行为是鼓励的,如果这个实数是负数,代表我们不希望这样的事情发生,是一个惩罚。这里引出两个问题,一个问题是Reward为0,为0代表一定程度的奖励。还有一个问题是我们能不能用正数表示惩罚,负数表示激励,答案是可以,这本质上是数学上的一些技巧,本质上是一样的。对于网格世界,其Reward如下:
在这里插入图片描述
Reward可以理解为human-machine interface,是人类和机器交互的一种手段,通过Reward我们可以引导agent什么可以做,什么不能做。我们也可以用表格对Reward进行表示,如下图:
在这里插入图片描述
表格的形式智能表示一种确定的实例,如果采取一个动作,不确定其奖励,则可以通过数学方法(条件概率)进行表示:

在这里插入图片描述

② Trajectory and return

在这里插入图片描述
return就是把所有的reward加起来的总和。

③ Discounted return

在这里插入图片描述
从状态s1到状态s9,到了s9之后,策略还在进行,这导致了return为无穷大。为了避免这一情况,通过引入discount rate来解决:
在这里插入图片描述
如果减少γ,它就会更加注意最近的一些reward,如果增加γ,它就会更加注意长远的reward。

④ Episode

在这里插入图片描述
episode实际上就是状态s1到s9,状态s9称为terminal states,在terminal states之后就停止了,不在进行了,这就叫episode。
但有些任务没有terminal states,这意味着agent和环境的交互会永远交互下去,这样的任务称为continuing tasks。
在这里插入图片描述

⑤ MDP

Markov decision process(MDP),是马尔可夫过程。MDP有很多要素,第一个要素是它包含了很多集合Sets,包括State、Action、Reward。第二个要素是Probability distribution,第三个要素是Polity,第四个要素是Markov property:memoryless property,与历史无关,这是MDP本身的性质。详见如下:
在这里插入图片描述
可以用Markov decision process这三个词来描述马尔可夫过程,首先Markov对应Markov property,decision对应Policy,是一个策略,process是从一个状态跳到另一个状态,采取什么样的action等等,这些都由Sets(State、Action、Reward)和Probability distribution描述。那么网格世界就可以用Markov process来描述:
在这里插入图片描述
上图右图描述的是Markov process,如果policy是给定的话,就变成了Markov decision process。

总结:

在这里插入图片描述
下节介绍贝尔曼公式。

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

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

相关文章

PMP考试300条知识点汇总,20天上岸!

PMP考试300条知识点完整内容可在文末获取。 3、项目管理 vs 运营管理 项目与日常运营的共同特征: 由人来做、 受制于有限的资源、需要规划、执行和控制、为了实现组织的目标或战略计划 项目与日常运营的根本区别: 项目是临时的;运营是持…

企业进行品牌推广时怎么才能达到预期广告效应?不如试试软文营销

企业进行品牌推广的目的就在于提升品牌的曝光率,树立该品牌在市场中的形象,加强品牌的影响力与公信力,提高产品的竞争力,那么企业进行品牌推广时怎么才能达到预期效果呢,我们可以试试软文营销,接下来媒介盒…

竞赛选题 基于深度学习的目标检测算法

文章目录 1 简介2 目标检测概念3 目标分类、定位、检测示例4 传统目标检测5 两类目标检测算法5.1 相关研究5.1.1 选择性搜索5.1.2 OverFeat 5.2 基于区域提名的方法5.2.1 R-CNN5.2.2 SPP-net5.2.3 Fast R-CNN 5.3 端到端的方法YOLOSSD 6 人体检测结果7 最后 1 简介 &#x1f5…

从丢失msvcp140_codecvt_ids.dll到修复,解决方法详解

在日常计算机使用过程中,我们有时会遇到一些烦人的错误提示。其中之一就是丢失了msvcp140_codecvt_ids.dll文件。当我们打开某些应用程序或游戏时,可能会收到类似于“找不到msvcp140_codecvt_ids.dll”或“该应用程序无法正常启动”的错误信息。这可能会…

Guava Cache介绍-面试用

一、Guava Cache简介 1、简介 Guava Cache是本地缓存,数据读写都在一个进程内,相对于分布式缓存redis,不需要网络传输的过程,访问速度很快,同时也受到 JVM 内存的制约,无法在数据量较多的场景下使用。 基…

按文件大小批量分类保存,高效管理你的文件!

作为一名文件管理者,你是否经常为如何高效地管理大量文件而烦恼?现在,我们为你提供了一种简单、快速、准确的方法,帮助你轻松解决这个问题! 首先。进入文件批量改名高手主页面,并在板块栏里选择“文件智能…

Android 启动优化案例:WebView非预期初始化排查

去年年底做启动优化时,有个比较好玩的 case 给大家分享下,希望大家能从我的分享里 get 到我在做一些问题排查修复时是怎么看上去又low又土又高效的。 1. 现象 在我们使用 Perfetto 进行app 启动过程性能观测时,在 UI 线程发现了一段 几十毫…

当语文课本上的古诗词遇上拓世AI,文生图绘就东方美学画卷

东方美学自古以来一直以其深刻的内涵和精致的表现形式,吸引着世界各地的文化爱好者。在中国的文学传统中,古诗词扮演着不可或缺的角色。诗词是我国文学宝库中的瑰宝,也是我们民族的文化精髓。如今随着人工智能技术的崛起,古诗词与…

基于微信小程序付费自习室系统设计与实现(源码+lw+部署文档+讲解等)

文章目录 前言运行环境说明用户微信端的主要功能有:管理员的主要功能有:具体实现截图详细视频演示为什么选择我自己的网站自己的小程序(小蔡coding)有保障的售后福利 代码参考论文参考源码获取 前言 💗博主介绍&#x…

文心一言 VS 讯飞星火 VS chatgpt (98)-- 算法导论9.3 4题

四、用go语言,对一个包含n个元素的集合,假设一个算法只使用比较来确定第i小的元素,证明:无需额外的比较操作,它也能找到第 i-1 小的元素和第 n-i大的元素。 文心一言: 在这个问题中,我们要使用一个称为&q…

做影视特效本地电脑配置不够怎么办?

影视特效对电脑要求高,往往本地电脑配置不足的情况下,会导致电脑卡顿等造成工作效率低下等问题,再加上现在异地协同的云电脑需求越来越高,更多的企业和个人开始选择做影视特效的云电脑,那么今天就来看看租一台云电脑如…

Swift SwiftUI 修改 List 背景颜色

Preview: Code: .listRowBackground(Color(.yellow)).scrollContentBackground(.hidden) .background(.linearGradient(colors: [.white, .accentColor], startPoint: .top, endPoint: .bottom))喜欢或对你有帮助,点个赞吧,自己先点个嘿嘿。 有错误或者…

【面试题】面试官问你前端性能优化时,他想问什么?

一直以来,前端性能优化都是面试过程中考察的热点题目。 相关的技术博客也层不出穷,我们总是能找到很多这样的文章, 从一个应用的各个层面开始分析,优化的种种手段,取得的种种效果。 往往篇幅越长,讲得越…

MySQL 远程连接1130问题

通过后台进入mysql 1,切换到mysql库 2.查询user表信息 3.更新你想远程登录的用户的host信息,我这里想用root进行远程登录,所以修改如下 4.刷新权限 5.大功告成 快来和博主打成一片吧^_^

使用人工智能聊天机器人时要注意这些!(配提问技巧)

这两年ChatGPT可谓是火遍了互联网,在微博等社交平台上能看到很多网友晒出了与ChatGPT对话的截图,精准、恰当的回答让网友们都倍感新鲜。但是有很多人把人工智能聊天机器人当成玩具,有很多经典犯错回答,不少网友戏称是“人工智障”…

如何优雅的退出线程(condition_variable )

C多线程并发编程入门&#xff08;目录&#xff09; 使用条件变量来实现在析构函数中再次向线程发出一次notify&#xff0c;之后join 线程&#xff0c;等等线程安全退出。 #pragma once #include <iostream> #include <fstream> #include <string> #include …

PerformanceOne一站式性能测试平台

PerformanceOne&#xff08;简称&#xff1a;P-One&#xff09;是泽众软件自主研发的一套一站式性能测试平台软件产品。 该产品采用 B/S 架构开发&#xff0c;实现了集管理、设计、压测、监控以及分析于一体的全方位性能测试解决方案。可有效提升性能测试技术能力&#xff0c;…

拥抱数字化时代SOP电子作业指导书系统助力企业差异化竞争

在如今的竞争激烈的市场环境中&#xff0c;企业要想在同等条件下脱颖而出&#xff0c;差异化竞争成为了关键。然而&#xff0c;与硬件相比&#xff0c;软件的差异化更具有决定性的作用。而软件的差异化往往体现在细节上&#xff0c;而不是大的战略方面。而如何将这些细节进行量…

深入理解C#中委托的使用及不同类型委托的应用示例

在C#中&#xff0c;委托是一种强大而灵活的机制&#xff0c;可以引用一个或多个方法&#xff0c;并允许以类似函数指针的方式进行调用。委托在事件处理、回调函数和多线程编程等场景中非常有用。本文将深入探讨C#中委托的使用&#xff0c;并介绍不同类型委托的应用示例。 目录…

怎么解决IT运维管理痛点?运维工单系统如何提高企业运营效率?

随着企业信息化的飞速发展&#xff0c;IT系统的规模和复杂性也在迅速增长。然而&#xff0c;传统的IT运维管理方式往往难以满足现代企业的需求&#xff0c;存在着许多痛点。   首先&#xff0c;传统的运维管理方式效率低下&#xff0c;缺乏有效的IT资产管理和监控手段&#x…