强化学习原理入门-1绪论

news2024/11/17 15:56:55

1 绪论

1.1 这是一本什么书

强化学习算法?

AlphaGo大胜世界围棋冠军李世石和柯洁事件,核心算法就用到了强化学习算法

1.2 强化学习解决什么问题

案例1 非线性系统二级倒立摆

案例2 AlphaGo与柯洁的第二局棋

案例3 机器人学习站立

......

智能决策问题==强化学习要解决的问题,更准确的是序贯决策问题(即需要连续不断地做出决策,才能实现最终目标的问题)

1.3 强化学习如何解决问题

强化学习解决序贯决策问题监督学习解决智能感知问题

1. 监督学习

最典型的例子是数字手写体识别,当给出手写数字时,监督学习需要判别该数字是多少。也就是说,监督学习需要感知到当前的输入到底长什么样子,当智能体感知到输入长什么样子时,智能体就可以对它进行分类了。智能感知其实就是在学习输入长得像什么(特征),以及与该长相一一对应得是什么(标签)。所以,智能感知必不可少的前提是需要大量长相差异化的输入以及输入相关的标签。因此,监督学习解决问题的方法就是输入大量带有标签的数据,让智能体从中学到输入的抽象特征并分类。

2.强化学习

强化学习要解决的是序贯决策问题,它不关心输入长什么样子,只关心当前输入下应该采取什么动作才能实现最终的目标。(当前采用什么动作与最终的目标有关。)

这就需要智能体不断地与环境进行交互。智能体通过动作与环境进行交互时,环境会返给智能体一个当前的回报,智能体则根据当前的回报评估所采取的动作,有利于实现目标的动作被保留,不利于实现目标的动作被衰减。

3.强化学习和监督学习的异同

同:两者都需要大量的数据进行训练

异:但两者所需要的数据类型不同。监督学习需要的是多样化的标签数据,强化学习需要的是带有回报的交互数据

4.强化学习算法获取数据

有自己的获取数据、利用数据的独特方法。

5.强化学习算法的发展历史

两个关键的时间点

(1)1998年,Richard S. Sutton出版了他的强化学习导论第一版

(2)2013年,DeepMind提出来了DQN(Deep Q Network),将深度网络与强化学习算法结合形成强化深度学习。2013年之后,随着深度学习的火热,深度强化学习也越来越引起大家的注意。特别的,2016和2017年,谷歌的AlphaGo连续两年击败世界围棋冠军。

1.4 强化学习算法分类

强化学习算法种类繁多,一般按以下几个标准来分类

(1)根据是否依赖模型:基于模型的强化学习算法、无模型的强化学习算法。

共同点是通过环境交互获得数据,不同点是利用数据的方式不同。基于模型的强化学习算法利用与环境交互得到的数据学习系统或者环境模型,再基于模型进行序贯决策。无模型的强化学习算法则是直接利用环境交互获得的数据改善自身的行为。

两种方法各有优劣。基于模型的比无模型的算法效率更高,因为智能体在探索环境时可以利用模型信息。但是,有些无法建立模型的只能选后者。无模型的不需要建模,因此相较于有模型的,更具有通用性。

(2)根据策略的更新和学习方法:基于值函数的强化学习算法、基于直接策略搜索的强化学习算法、AC算法。

基于值函数的强化学习算法:指学习值函数,最终的策略根据根据值函数贪婪得到。也就是说,任意状态下,值函数最大的动作为当前最优策略。

基于直接策略搜索的强化学习算法:一般是将策略参数化,学习实现目标的最优参数。

AC算法:联合使用前两种方法。

(3)根据环境返回的回报函数是否已知:正向强化学习和逆向强化学习。

在强化学习中,回报函数是人为指定的,回报函数指定的强化学习算法是正向强化学习。很多时候,回报无法人为指定,如无人机的特效表演,这时可以通过机器学习的方法由函数自己学出来回报。

机器学习常被分为:监督学习、非监督学习和强化学习。

1.5 强化学习仿真环境构建

学习算法的共同点是从数据中学习,因此数据是学习算法最基本的组成元素。监督学习的数据独立于算法本身。而强化学习的数据是智能体与环境的交互数据。

仿真环境必备的两个要素是物理引擎和图像引擎。

1.物理引擎

用来计算仿真环境中物体是如何运动的,其背后的原理是物理定律,如刚体动力学、流体力学、柔性体动力学等。

常用的开源的物理引擎有ODE(open Dynamisc Engine)、Bullet 、Physx等。

2.图像引擎

用来显示仿真环境中的物体,包括绘图、渲染等。

常用的图像引擎大都基于OpenGL(Open Graphics Library)

学习中,使用的仿真环境是openAI 的gym.

https://github.com/openai/gym

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

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

相关文章

【程序大侠传】异步架构应用回调数据接收接口偶发NPE

前序 在这片浩瀚的代码江湖中,各大门派林立,各自修炼独门绝技,江湖中的侠士们分别担任着开发、测试、产品和运维的角色,共同守护着这片数字化的疆域。 开发门派:代码剑宗 代码剑宗的弟子们精通各种编程语言&#xff…

新款奔驰GLE350升级原厂空气悬挂系统有哪些功能

奔驰 GLE350 升级原厂空气悬挂带来了一系列显著的优势和功能: 1. 舒适性提升 • 能够根据不同的路况和驾驶模式自动调节悬挂硬度和高度,有效过滤路面颠簸,为驾乘者提供更加平稳、舒适的行驶体验。 2. 行驶高度调节 • 驾驶者可以手动或自…

网络攻防题录集

文章目录 第一章 网络攻防概述第二章 密码学第三章 网络协议脆弱性分析第四 自测题三第五章 自测题五第六章 自测题六第七章 自测题七第八章 自测题八第九章 自测题九第十章 自测题十第十一章 自测题十一第十二章 自测题十二第十三章 自测题十三 第一章 网络攻防概述 第一代安…

文心一言 VS 讯飞星火 VS chatgpt (293)-- 算法导论21.4 2题

二、证明:每个结点的秩最多为 ⌊lgm⌋ 。如果要写代码,请用go语言。 文心一言: 在数据结构和算法中,当我们谈论“结点的秩”时,这通常与某些特定的数据结构(如B树或B树)相关,其中每…

vant ( weapp ) - - - - - van-tabs组件选中下划线初始位置异常

这里写自定义目录标题 1. 当前效果展示2. 官方解释 & 方案 1. 当前效果展示 明显可以看到框内的光标位置偏移了&#xff0c;但当切换一次之后就会显示正常。 只有初次打开的时候&#xff0c;才会出现上述问题。 代码如下&#xff1a; <van-popup show"{{ makeSho…

【超级简单】植物大战僵尸杂交版V2.1,手机上最简单的安装方法~!

大家好&#xff0c;我是坤坤黑科技&#xff01;之前给大家分享了植物大战僵尸杂交版手机的安装方法&#xff0c;但是很多朋友还是因为操作难度大所以没有玩到。今天发现一个更加简单的在手机上玩植物大战僵尸杂交版的方法&#xff0c;直接安装就可以玩到最新的2.1版本~ 植物大…

【python】最新版抖音s逆向拿到数据,非常详细教程(附完整代码)

✨✨ 欢迎大家来到景天科技苑✨✨ 🎈🎈 养成好习惯,先赞后看哦~🎈🎈 🏆 作者简介:景天科技苑 🏆《头衔》:大厂架构师,华为云开发者社区专家博主,阿里云开发者社区专家博主,CSDN全栈领域优质创作者,掘金优秀博主,51CTO博客专家等。 🏆《博客》:Python全…

SaaS增长:小型SaaS企业可以使用推荐奖励计划吗

在SaaS&#xff08;软件即服务&#xff09;行业的激烈竞争中&#xff0c;如何快速有效地增长用户数量是每个企业都面临的挑战。对于小型SaaS企业来说&#xff0c;资源有限&#xff0c;如何最大化利用现有资源实现用户增长成为了一个重要议题。在这样的背景下&#xff0c;推荐奖…

解决 npm intasll 安装报错 Error: EPERM: operation not permitted

Node.js安装及环境配置完成之后 npm install express -g 安装全局的模块报错提示没有权限operation not permitted mkdir 错误编号4048&#xff1a; 其原因是当前用户操作该目录权限不足&#xff0c;当以管理员身份运行cmd&#xff0c;再执行npm install express -g 是不会报权…

JELR-G150F可调漏电继电器 面板安装 30~300mA 约瑟JOSEF

一、应用 JELR系列漏电继电器&#xff08;以下简称继电器&#xff09;适用于交流电压为660V.至1140V电压系统中,频率为50Hz,电流15~4000A线路中做有无中性点漏电保护. 该继电器可与带分励脱扣器或失压脱扣器的断路器、交流接触器、磁力启动器等组成漏电保护装置&#xff0c;作…

Vue3 登录成功,浏览器存在toke,再次访问/login路由到/index 首页页面

文章目录 目录 文章目录 流程 小结 概要流程技术细节小结 概要 首先需要清楚知道浏览器localstorage和Session storage的区别 localStorage 和 sessionStorage 是 HTML5 提供的两种客户端存储数据的方法&#xff0c;它们在使用和生命周期上有一些区别&#xff1a; 1. 生命周期…

视频共享交换平台LntonCVS视频融合共享平台搭建智慧园区视频监控平台应用方案

智慧园区作为现代化城市发展的重要组成部分&#xff0c;不仅承载着产业升级的使命&#xff0c;更是智慧城市建设的重要体现。随着产业园区竞争的激烈化&#xff0c;越来越多的关注点集中在如何打造完善的智慧园区上。 在智慧园区规划的初期阶段&#xff0c;面临诸多挑战。如何选…

刷代码随想录有感(122):动态规划——最长子序列

题干&#xff1a; 代码&#xff1a; class Solution { public:int lengthOfLIS(vector<int>& nums) {if(nums.size() < 1)return nums.size();vector<int>dp(nums.size(), 1);int res 0;for(int i 1; i < nums.size(); i){for(int j 0; j < i; j)…

生信新包|Mellon·量化单细胞表型景观中的细胞状态密度

分化是支持所有多细胞生物发育和功能的动态过程。了解细胞如何沿着分化轨迹分布对解析驱动分化的机制、找出关键调控因素以及表征疾病中的失调至关重要。细胞状态密度是这种细胞分布的表现&#xff0c;受到基本生物过程的影响。增殖会增加某一状态下的细胞数目&#xff0c;从而…

倒装COB显示屏与传统SMD显示屏安装方式有哪些不同?

COB显示屏与传统SMD显示屏是商业显示领域中非常重要的两种载体&#xff0c;在前面的文章当中我们为大家阐述了倒装COB显示屏的技术特点&#xff0c;今天跟随COB显示屏厂家深圳市中品瑞科技一起来看看&#xff0c;COB显示屏的安装与传统LED显示屏的安装有哪些不同&#xff1f; 一…

Dev++软件连接Sqlite

Dev中的C语言使用连接sqlite数据库 1.下载sqlite3.dll和sqlite3.h sqlite3.dll类似于.c文件&#xff0c;封装了函数的原型。 sqlite3.h库文件声明函数。 官网地址下载&#xff1a;sqlite sqlite-amalgamation-3460000.zipsqlite-dll-win-x64-3460000.zip 2.新建c项目 1. …

es学习初步总结

看api看麻了不知道意义在哪里&#xff0c;所以就简单总结点我觉得有用的东西 基本数据结构解析 分为了文档&#xff0c;索引和映射 索引可以理解为一张表&#xff0c;映射描述了索引的数据结构&#xff0c;而文档就是一个个具体的行 所以一般我们需要在申明索引的时候同时申…

STC8/32 软硬件I2C通讯方式扫描I2C设备地址

STC8/32 软硬件I2C通讯方式扫描I2C设备地址 📄主要用于检测挂载在I2C总线上的设备。在驱动I2C设备之前,如果能扫描到该设备,说明通讯设备可以连接的上,在提前未知I2C地址的情况下,可以方便后面的驱动代码的完善。 🔬扫描测试效果:(测试mpu6050以及ssd1306 i2c oled )…

Java源码实现《植物大战僵尸》

前言 学Java的朋友们&#xff0c;福利来了&#xff0c;今天小编给大家带来了一款 植物大战僵尸源码&#xff0c;看图: 视频演示 java植物大战僵尸 环境JDK1.8 类继承UML图 源码实现 我们先从main函数看起&#xff0c;继承了javafx.application.Application。JavaFx是Java图形…