第二篇:强化学习中的7个基础概念

news2024/12/22 15:47:23

你好,我是zhenguo(郭震)

这是强化学习第二篇:强化学习7个基础概念

在强化学习中,智能体需要在不断尝试和错误的过程中学习,通过观察环境的反馈(奖励或惩罚)来调整自己的行为,从而逐步改进策略。

强化学习常见的概念,结合迷宫游戏给大家阐述一下。

第一,红点表示智能体,它在迷宫这个环境中玩耍:

c261471027ed13a24c5b114326c690b0.png

第二,环境,在这里就是迷宫,迷宫环境里有:初始出发点,白色方块表示可以通行的格子,黑色格子表示障碍物,绿点表示迷宫出口,迷宫的长为8个格子,宽为8个格子,这些元素组成了强化学习的环境。

第三,状态,这个对于初学者觉得会比较抽象,在迷宫游戏里,状态可以理解为红点所在的一个格子里,一个格子会有一个坐标,假定坐标系的原点为左下角,假定智能体走到了最下方箭头所指的红点,那么此时智能体的状态可以抽象为 (2,0)

c7e41a018a235522741463988be76a5f.png

第四,动作:动作是智能体在特定状态下可以执行的操作。它可以是离散的(例如,向左/向右)或连续的(例如,控制机器臂的力或位置)。在迷宫游戏里,智能体状态为 (2,0) 时,它可能的动作只有两个:向左或向右,如下面2个粉色箭头所示,动作取值是离散的。

d728b01847437dd4dfc8ca89a6b54d33.png

第五,奖励:奖励是环境针对智能体的行为给出的反馈信号。它用来评估智能体的行为好坏,并作为学习信号指导智能体的决策。

在迷宫游戏中,如果智能体已经当前状态为 (2,0) ,并且它的上一个状态为 (1,0) ,因为此时它有两个动作选择,向左或向右。

如果它动作向左,表明重复原来路径,我们要给它一个惩罚奖励,尽量让它不要重复走路;相反,如果向右走,我们给它一个相对于向左来说更好的奖励,你看,这不就让智能体更倾向选择向右走吗?!

第六,策略:策略定义了智能体在给定状态下选择动作的方式。这个概念也是比较抽象的,策略是什么意思呢?

举一个常用到的策略:ε-贪婪策略。

该策略在选择动作时,以1-ε的概率选择当前最优的动作,以ε的概率选择随机动作。也就是说,在智能体当前状态为 (2,0) 时,下一状态它有可能再向左移动,尽管在当前这个环境下,向左移动我们直接观察出并不明智。但是,对于其他情况,随机选择动作会有可能得到意想不到的好结果。

54c524f07f2ab824e8debbb5bd469192.png

第七,值函数 :值函数用来评估状态或状态-动作对的价值,表示从该状态或状态-动作对开始,智能体能够获得的长期累积奖励的期望值。

更加通俗来说,值函数就是给你智能体的一个状态,返回它的累计奖励值。可以使用深度学习网络模型来逼近值函数,比如:让神经网络输入状态,输出各个动作下的奖励值。

以上就是强化学习中,最重要的7个概念,希望对你有帮助!

你的点赞和转发,给我更新增加更大动力,感谢你的支持。

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

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

相关文章

windows系统安装curl

下载安装包 https://curl.se/windows/ 2.如图所示,把下载的zip包解压到C盘某个目录下 把bin目录配置到系统环境变量Path里 在命令行里直接输入curl即可开始使用 5.curl测试访问百度 6.curl 测试ip端口连通性 用法:curl -v ip:port

推荐一款C端的低代码产品

目录 写在前面 低代码平台 平台怎么选 各平台区别 为什么选它 写在前面 大家都知道低代码这个叫法是从B端叫起来的,也就是说不管是业务人员还是开发人员,都是企业内部使用。那么有没有C端的,且免费使用的低代码产品呢? 低代码…

Matlab论文插图绘制模板第93期—带类别标签的散点图

在之前的文章中,分享了很多Matlab散点图的绘制模板: 进一步,再来分享一种特殊的散点图:带类别标签的散点图。 先来看一下成品效果: 特别提示:本期内容『数据代码』已上传资源群中,加群的朋友请…

数据库基础5-复合查询

文章目录 多表查询自连接子查询合并查询 基础查询中,再补充一个点: 在使用年薪进行降序排序中,我们有以下语句 //A: select ename, sal*12ifnull(comm,0) as 年薪 from emp order by 年薪 desc;查询到的结果: //B: select ename,…

Leetcode 剑指 Offer II 027. 回文链表

题目难度: 简单 原题链接 今天继续更新 Leetcode 的剑指 Offer(专项突击版)系列, 大家在公众号 算法精选 里回复 剑指offer2 就能看到该系列当前连载的所有文章了, 记得关注哦~ 题目描述 给定一个链表的 头节点 head ,请判断其是否为回文链表…

ROS 开发环境搭建(虚拟机版本)(一)

相关工具,以及镜像(以后有用) 链接:https://pan.baidu.com/s/1xgtp-XGFFNCACV_-0TJO2A 提取码:ar1w 1. 下载vm虚拟机(我选择的官方最新的vm虚拟机),安装好 2.安装百度网盘里面的…

办公智慧化风起云涌,华为MateBook X Pro 2023是最短距离

今年以来,我们几乎每个月,甚至每星期都可以看到大模型应用,在办公场景下推陈出新。 办公智慧化已成必然,大量智力工作正在被自动化。一个普遍共识是:AI能力范围之内的职业岌岌可危,AI 能力范围之外的职业欣…

【TES710D】基于复旦微的FMQL10S400全国产化ARM核心模块

板卡概述 TES710D是一款基于上海复旦微电子FMQL10S400的全国产化核心模块。该核心模块将复旦微的FMQL10S400(兼容FMQL20S400)的最小系统集成在了一个50*70mm的核心板上,可以作为一个核心模块,进行功能性扩展,特别是用…

第二章、认识用户体验五要素(本文作用是通俗讲解,让你更容易理解)

1.用户体验要素分五个层面,分别是战略层、范围层、结构层、框架层、表现层。 战略层:指的是产品所要解决的社会问题,和公司在这个产品上的收益目标。也就是大家所说的产品战略。 范围层:指的是我们要做的业务范围,我…

零基础学Java——基础part01

java基础第一篇 今日任务: 1、什么是软件开发 2、人机交互 3、常用的dos命令(了解) 4、什么是计算机语言 5、Java三种技术架构(了解) 6、Java语言特性(跨平台原理) (了解) 7、Java开发环境搭…

模拟运行600万年 数据0损坏!Solidigm把QLC闪存玩到了极致

不可否认的是,SLC、MLC、TLC、QLC、PLC、HLC……闪存技术一路走下来,整体的可靠性、寿命指标是逐步走低的,这也是NAND闪存架构天然属性所决定的。 当然,这不代表QLC、PLC闪存的就难堪大用,关键是看如何设计与优化&…

Carla自动驾驶仿真四:pygame渲染Camera画面及车辆控制(代码详解)

文章目录 前言一、依赖库安装1、pygame安装2、numpy安装 二、Pygame渲染Carla Camera画面1、连接Carla并初始化TrafficManager2、生成自动驾驶车辆并设置交通行为3、创建初始化pygame surface对象的函数4、创建pygame处理Carla图像的回调函数5、创建pygame键盘控制车辆运动的函…

软件设计师 试题二做题技巧

问题一:去需求分析中找相应的联系类型 问题二先看缺少的属性是不是er图中的实体,如果是实体文中就会有相关的信息,如果没有就对应的去图中找,转化为关系模式对应的联系也要转化为关系模式 如果是一对一就把联系归并到任意一方实…

JS 实现拖拽元素的功能

JS 实现拖拽元素的功能 这篇笔记比较短&#xff0c;主要过一遍 draggable 的事件。 首先简单看一下 HTML 实现&#xff1a; <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8" /><meta http-equiv"X-UA-Comp…

【小程序修改说明】分享朋友的,请忽略!

一、把js文件夹复制到根目录&#xff0c;跟pages同一目录 二、把下面的代码放到app.wxss最下面 代码 import "/js/font-awesome.wxss"; import "/js/font-awesome_small.wxss"; 三、ywym.wxml修改 1、ywym.wxml的最上边加上如下代码 <navigator url&…

【Linux】线程详解之线程控制

文章目录 POSIX线程库创建线程线程ID及进程地址空间布局线程等待pthread_join 线程终止pthread_exit函数pthread_cancel函数 线程分离理解pthread库 POSIX线程库 POSIX线程&#xff08;英语&#xff1a;POSIX Threads&#xff0c;常被缩写为Pthreads&#xff09;是POSIX的线程标…

若依源码解析:DataScopeAspect实现数据范围的控制

文章目录 源代码使用场景界面操作SysDeptServiceImplSysUserServiceImplSysUserMapperDataScope定义 代码解析Aspect和Component不同的数据权限类型Before通知处理数据范围的方法 源代码 Aspect Component public class DataScopeAspect {/*** 全部数据权限*/public static fi…

Python潮流周刊#2:Rust让Python再次伟大

△点击上方“Python猫”关注 &#xff0c;回复“1”领取电子书 这里记录每周值得分享的 Python 及通用技术内容&#xff0c;部分为英文&#xff0c;已在小标题注明。&#xff08;本期标题取自其中一则分享&#xff0c;不代表全部内容都是该主题&#xff0c;特此声明。&#xff…

【Linux Network】I/O多路转接之select

目录 1. 初识select 1.1 select函数原型 1.2 理解select执行过程 1.3 socket就绪条件 1.4 select的特点 1.5 select优缺点 2. 基于select的多人聊天程序 server源代码&#xff1a; client的登录&#xff1a; 结果演示&#xff1a; Linux Network&#x1f337; 1. 初识select 系…