机器学习---强化学习

1. 什么是强化学习

在连接主义学习中,在学习的方式有三种:非监督学习(unsupervised learning)、监督学习

(supervised leaning)和强化学习。监督学习也称为有导师的学习,需要外界存在一个“教师”对给定

输入提供应有的输出结果,学习的目的是减少系统产生的实际输出和预期输出之间的误差,所产生

的误差反馈给系统来指导学习。非监督学习也称为无导师的学习。它是指系统不存在外部教师指导

的情形下构建其内部表征。学习完全是开环的。

生物进化过程中为适应环境而进行的学习有两个特点:一是人从来不是静止的被动的等待而是主动

的对环境作试探;二是环境对试探动作产生的反馈是评价性的,生物根据环境的评价来调整以后的

行为,是一种从环境状态到行为映射的学习,具有以上特点的学习就是强化学习。

强化学习reinforcement learning)又称为再励学习,是指从环境状态到行为映射的学习,以使系

统行为从环境中获得的累积奖励值最大的一种机器学习方法,智能控制机器人及分析预测等领域有

许多应用。

2. 发展史

强化学习技术是从控制理论、统计学、心理学等相关学科发展而来,最早可以追溯到巴甫洛夫的条

件反射实验。1911Thorndike提出了效果律(Law of Effect):一定情景下让动物感到舒服的行

为,就会与此情景增强联系(强化),当此情景再现时,动物的这种行为也更易再现;相反,让动

物感觉不舒服的行为,会减弱与情景的联系,此情景再现时,此行为将很难再现。动物的试错学

习,包含两个含义:选择(selectional)和联系(associative),对应计算上的搜索和记忆。

强化学习的研究发展史可分为两个阶段。第一阶段是50年代至60年代,为强化学习的形成阶段。

1954年,Minsky在他的博士论文中实现了计算上的试错学习,并首次提出“强化学习”术语。最有影

响的是他的论文“通往人工智能的阶梯”(Minsky1961),这篇文章讨论了有关强化学习的几个问

题,其中包括他称为信誉分配的问题:怎样在许多的、与产生成功结果有关的各个决策中分配信

誉。后来,FarleyClark的兴趣从试错学习转向泛化和模式识别,也就是从强化学习转向监督学

习,这引起了几种学习方法之间的关系混乱。由于这些混乱原因,使得真正的试错学习在二十世纪

六、七十年代研究得很少。第二阶段是强化学习的发展阶段。直到上世纪八十年代末、九十年代初

强化学习技术才在人工智能、机器学习和自动控制等领域中得到广泛研究和应用,并被认为是设计

智能系统的核心技术之一。

强化学习在国内处于发展阶段,并取得一定成绩。杨璐采用强化学习中的TD算法对经济领域的问

题进行预测;蒋国飞将Q学习应用在倒立摆控制系统,并通过对连续空间的离散化,证明了在满足

一定条件下的Q学习的收敛性;张健沛等对连续动作的强化学习方法进行了研究,并将其应用到机

器人避障行为中……。随着强化学习的数学基础研究取得突破性进展后对强化学习的研究和应用成

为目前机器学习领域的研究热点之一。主要内容包括:1)连续状态和连续动作问题;2)与遗传算

法与神经网络的结合;3)不完全感知问题;4)强化学习算法的规划规则抽取和偏差。

3. 工作原理

强化学习是一种在线的、无导师机器学习方法。在强化学习中,我们设计算法来把外界环境转化为

最大化奖励量的方式的动作。我们并没有直接告诉主体要做什么或者要采取哪个动作,而是主体通

过看哪个动作得到了最多的奖励来自己发现。主体的动作的影响不只是立即得到的奖励,而且还影

响接下来的动作和最终的奖励。

强化学习与其他机器学习任务(例如监督学习) 的显著区别在于,首先没有预先给出训练数据,而是

要通过与环境的交互来产生,其次在环境中执行一个动作后,没有关于这个动作好坏的标记,而只

有在交互一段时间后,才能得知累积奖赏从而推断之前动作的好坏。例如,在下棋时,机器没有被

告知每一步落棋的决策是好是坏,直到许多次决策分出胜负后,才收到了总体的反馈,并从最终的

胜负来学习,以提升自己的胜率。

学习者必须尝试各种动作,并且渐渐趋近于那些表现最好的动作,以达到目标。尝试各种动作即为

试错,也称为探索,趋近于好的动作即为强化,也称为利用。探索与利用之间的平衡,是强化学习

的一个挑战。探索多了,有可能找到差的动作,探索少了,有可能错过好的动作。总体趋势:探索

变少,利用变多。

举例1:

如果通过几次尝试,走位置1比走位置2赢棋的可能大,得出经验,则为强化学习。

举例2:一个机器人在面临:进入一个新房间去寻找更多垃圾、寻找一条回去充电的路两个命令选

择时根据以前找到充电器的快慢和难易程度来作决定。这是以前与环境交互得到的经验。

举例3:一个进行石油提炼操作的搅拌控制器。该控制器逐步优化产量/成本/质量之间的平衡而不是

严格按照工程师的最初设置来搅拌。

这些例子中,随时间推移,学习者利用它获得的经验不断提高自己的性能。简言之,强化学习就是

试出来的经验。它们都涉及一个积极作决策的Agent和它所处的环境之间的交互,尽管环境是不确

定的,但是Agent试着寻找并实现目标。Agent的动作允许影响环境的未来状态(如下一个棋子的位

置,机器人的下一位置等),进而影响Agent以后可利用的选项和机会。

4. 强化学习模型

定义Agent(学习的主体,如小猫、小狗、人、机器人、控制程序)其中,Agent具有特点如下:

  1、能感知环境的状态

  2、选择动作(可能会影响环境的状态)

  3、有一个目标(与环境状态有关的)

Agent以最终目标为导向,与不确定环境之间进行交互,在交互过程中强化好的动作,获得经验。

在强化学习中, Agent 选择一个动作a作用于环境,环境接收该动作后发生变化,同时产生一个强

化信号(奖或罚)反馈给AgentAgent再根据强化信号和环境的当前状态s 再选择下一个动作,选

择的原则是使受到正的奖赏值的概率增大。选择的动作不仅影响立即奖赏值,而且还影响下一时刻

的状态及最终强化值。强化学习的目的就是寻找一个最优策略,使得Agent在运行中所获得的累计

报酬值最大。

除了Agent和环境之外,强化学习系统的四个主要子要素:策略(policy)、奖赏函数(reward

function)、值函数(value function)和一个可选的环境模型(model)

四要素之间的包含关系:

策略定义了Agent在给定时间内的行为方式。简单地说,一个策略就是从环境感知的状态到在这些

状态中可采用动作的一个映射。对应在心理学中被称为刺激-反应的规则或联系的一个集合。在某

些情况下策略可能是一个简单函数或查找表,而在其他情况下策略可能还涉及到大量计算。策略在

某种意义上说是强化学习Agent的核心。  

奖赏函数定义了在强化学习问题中的目标。简单地说,它把环境中感知到的状态(或状态-动作对)

射为单独的一个数值,即奖赏(reward),表示该状态内在的可取程度。强化学习Agent的唯一目标

就是最大化在长期运行过程中收到的总奖赏。奖赏函数定义了对Agent来说什么是好和坏的事件。

在生物系统中,用愉快和痛苦来定义奖赏似乎有些不合适。而奖赏是Agent所面对的问题的直接的

和规定性的特征。正因为这样,奖赏函数必须是Agent所不能改变的,但是它可以是调整策略的基

础。

对于一个策略,如果我们可以在一个状态上就看到这个策略未来将会取得的累积奖赏,这将为强化

学习带来很大的方便,提供这种功能的函数在强化学习中称为值函数(Value function)。奖赏决定了

环境状态的直接、内在的可取性,而值表示的是把可能的后续的状态以及在这些状态中可获得的奖

赏考虑在内的状态的长期可取性。

例如,一个状态可能会总是得到一个低的直接奖赏但仍有较高的值,因为该状态的后续状态能获得

高的奖赏。或者反过来也是可能的。拿人类做类比,奖赏就象当前的快乐(奖赏高)和痛苦(奖赏

),而值就像是我们在一个特定的环境中用更完善、更长远的目光来看我们有多开心或不开心。

从某种意义上说奖赏是主要的,而值是对奖赏的预测,是第二位的。没有奖赏就没有值,而估计值

的唯一目的就是获得更多的回报(总奖赏)。然而,我们在做决策和评价决策的时候考虑最多的却

是值。动作的选择是根据值来判断的。我们选择带来最高值的动作,而不是带来最高奖赏的动作,

因为这些带来最高值的动作在长期运行过程中获得的奖赏总和最多。

有些强化学习系统中还存在着第四个也是最后一个要素:环境模型。它模拟了环境的行为。例如,

给定一个状态和动作,这个模型可以预测必定导致的下一状态和下一奖赏。

5. 强化信号

强化信号可以从环境的状态中直接获得。例如:传感器检测到机器人与障碍物的距离信息小于给定

值时都可看做一个失败信号。倒立摆的角度大于一定值就可产生一个失败信号。强化信号也可从环

境的状态信息中间接获得,当环境的状态值达不到预期的要求时,也可以认为产生了一个失败的强

化信号。

强化信号r的取值可以是以下形式中的一种:

1)二值 {-1,0},其中-1表示失败,0表示成功。

2)介于[-1,1]区间的多个离散值,分段表示失败或成功的程度。

3)介于[-1,1]区间的实数连续值,能够更加细致地刻画成功和失败的程度。

从获取的时间看,强化信号分为立即回报和延时回报。

立即回报指学习Agent执行完动作后立即从环境中获得回报;延时回报指学习系统在以后的某个时

机,将从环境中获得的回报传给先前的决策,作为先前决策的回报。一般来说,立即回报越多,系

统的学习速度就越快。

Agent 对动作的搜索策略主要有贪婪策略和随机策略。贪婪策略总是选择估计报酬为最大的动作;

随机策略是用一个随机分布来根据各动作的评价值确定其被选择的概率,其原则是保证学习开始时

动作选择的随机性较大,随着学习次数的增大,评价值最大的动作被选择的相对概率也随之增大。

所有的强化学习算法的机制都是基于值函数和策略之间的相互作用,利用值函数可以改善策略,而

利用对策略的评价又可以改进值函数。强化学习在这种交互过程中,逐渐得到最优的值函数和最优

策略。

许多强化学习都基于一种假设,即Agent与环境的交互可用一个马尔可夫决策(MDP)过程来刻画:

1)可将Agent和环境刻画为同步的有限状态自动机

2Agent和环境在离散的时间段内交互

3Agent能感知到环境的状态,作出反应性动作

4)在Agent执行完动作后,环境的状态会发生变化

5Agent执行完动作后,会得到某种回报

马尔可夫决策过程(MDP)可定义为4元组<S,A,P,R>。其中S为环境状态集合;AAgent执行的

动作集合;P:S×A×S→[0,1]为状态转换概率函数,记为P(s'|s,a);R:S×A→IR为奖赏函数(IR

实数集),记为r(s,a)。

马尔可夫决策本质:设系统在某任意时刻t的状态为s,则其Agent在时刻t执行动作a后使状态转变

到下一状态s'的概率P(s'|s,a),以及获得的顺时奖赏值r(s,a)都仅仅依赖于当前状态s和选择的动作

a,而与历史状态和历史动作无关,即“将来”与“现在”有关,而与过去有关。       

如果在学习过程中Agent无需学习马尔可夫决策模型知识( 即T 函数和R 函数) ,而直接学习最优策

略,将这类方法称为模型无关法;而在学习过程中先学习模型知识,然后根据模型知识推导优化策

略的方法,称为基于模型法。由于不需要学习T 函数和R 函数,模型无关方法每次迭代计算量较小

但由于没有充分利用每次学习中获取的经验知识,相比基于模型法收敛要慢得多。  

强化学习面临搜索和利用两难问题。由于搜索新动作能够带来长期的性能改善,因此搜索可以帮助

收敛到最优策略;而利用可以帮助系统短期性能改善,但可能收敛到次优解。我们把强调获得最优

策略的强化学习算法称为最优搜索型;而把强调获得策略性能改善的强化学习算法称为经验强化

型。强化学习所面临的环境类别, 基本上可以分为马尔可夫型环境和非马尔可夫型环境两种。

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

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

相关文章

Android 11.0 mtp在锁屏模式和息屏时禁止访问mtp文件夹功能实现

1.前言 在11.0的系统rom产品定制化开发中,由于系统对于mtp模式访问文件夹没有限制,就是在锁屏息屏状态下也是可以访问文件夹的,由于产品的需要 要求在锁屏和息屏的情况下,禁止访问文件夹,就是需要实现如图效果 2.mtp在锁屏模式和息屏时禁止访问mtp文件夹功能实现的核心…

【Vue3】路由传参的几种方式

路由导航有两种方式&#xff0c;分别是&#xff1a;声明式导航 和 编程式导航 参数分为query参数和params参数两种 声明式导航 query参数 一、路径字符串拼接(不推荐) 1.传参 在路由路径后直接拼接?参数名:参数值 &#xff0c;多组参数间使用&分隔。 <RouterLink …

unity学习(27)——修改text控件的内容

手游最大的特点就是简单易懂好上手。 1.在canvas上添加一个text的UI&#xff0c;内容设置为空。在字体处添加宋体&#xff0c;增加一个tag。 2.修改LoginHandler中的内容如下&#xff1a;&#xff08;之前有从inputFiled中获取文字的经验&#xff09; public void LoginHandl…

阿里云幻兽帕鲁服务器,游戏服务端版本升级怎么操作?

用阿里云一键部署的幻兽帕鲁服务器&#xff0c;想要更新游戏服务端版本&#xff0c;现在非常简单。之前还需要通过输入一行命令来更新&#xff0c;而现在可以直接通过面板上的选型来操作。 打开阿里云的计算巢&#xff0c;找到你的这台服务实例&#xff0c;点击进入&#xff0…

通过HTTP隧道在Linux上实现跨域资源共享(CORS):打破数字世界的“门禁”

在数字世界里&#xff0c;有时你会碰到一些“门禁”&#xff0c;它们阻止你访问某些资源&#xff0c;就像现实生活中的门禁系统一样。这些“门禁”就是所谓的跨域资源共享&#xff08;CORS&#xff09;限制。不过别担心&#xff0c;我们有一个绝妙的解决方案&#xff1a;通过HT…

模板(函数模板)---C++

模板目录 模板1.模板概念&#xff12;.泛型编程 1.函数模板1.1 函数模板语法1.2 函数模板注意事项1.3 普通函数与函数模板的区别1.4 普通函数与函数模板的调用规则1.5 模板的局限性1.6 函数模板案例 模板 1.模板概念 模板就是建立通用的模具&#xff0c;大大提高复用性。 模板…

安防监控平台EasyCVR升级之后添加通道进行播放,提示“请确认播放协议配置选项”是什么原因?

智慧安防平台EasyCVR能在复杂的网络环境中&#xff08;专网、局域网、广域网、VPN、公网等&#xff09;将前端海量的设备进行统一集中接入与视频汇聚管理&#xff0c;平台可支持的接入协议包括&#xff1a;国标GB28181、RTSP/Onvif、RTMP&#xff0c;以及厂家的私有协议与SDK&a…

文献速递:GAN医学影像合成--联邦生成对抗网络基础医学图像合成中的后门攻击与防御

文献速递&#xff1a;GAN医学影像合成–联邦生成对抗网络基础医学图像合成中的后门攻击与防御 01 文献速递介绍 虽然深度学习在医疗保健研究中产生了显著影响&#xff0c;但其在医疗保健领域的影响无疑比在其他应用领域更慢、更有限。造成这种情况的一个重要原因是&#xff…

码蹄集新手村MT1241-总结

这道题可以通过手写排序算法&#xff0c;完成从大到小排序后再输出 这里提供另外一种思路 了解c中sort()函数。sort()函数可以对给定区间所有元素进行排序。它有三个参数sort(begin, end, cmp)&#xff0c;其中begin为指向待sort()的数组的第一个元素的指针&#xff0c;end为…

政安晨:【完全零基础】认知人工智能(四)【超级简单】的【机器学习神经网络】—— 权重矩阵

预备 如果小伙伴们第一次看到这篇文章&#xff0c;同时也对这类知识还是稍感陌生的话&#xff0c;可以先看看我这个系列的前三篇文章&#xff1a; 政安晨&#xff1a;【完全零基础】认知人工智能&#xff08;一&#xff09;【超级简单】的【机器学习神经网络】 —— 预测机ht…

【ARMv8M Cortex-M33 系列 8 -- RT-Thread 移植 posix pthread】

文章目录 RT-Thread POSIX PthreadRT-Thread Pthread 相关宏定义RT-Thread libc 初始化RT-Thread Pthread 测试 RT-Thread POSIX Pthread pthread是POSIX&#xff08;Portable Operating System Interface&#xff09;标准定义的一套线程相关的API&#xff0c;全称为POSIX Thr…

jenkins离线安装一波

内网安装jenkins对于没有外网的看过来 插件下载神器-jenkins-plugin-manager 首先下载jenkins&#xff0c;官网地址我就不贴了下载完正常运行&#xff0c;开始界面不要选择任何插件安装&#xff0c;选择无去下载一个插件下载工具https://github.com/jenkinsci/plugin-installa…

《Solidity 简易速速上手小册》第1章:Solidity 和智能合约简介(2024 最新版)

文章目录 1.1 Solidity 的起源和重要性1.1.1 基础知识解析1.1.2 重点案例&#xff1a;去中心化金融 (DeFi) 平台案例 Demo&#xff1a;简易借贷平台 1.1.3 拓展案例 1&#xff1a;NFT 市场案例 Demo&#xff1a;简易 NFT 市场 1.1.4 拓展案例 2&#xff1a;智能合约管理的投票系…

C++ 区间合并 算法(详解) + 例题

1、定义 把所有&#xff0c;有交集的区间合并 图解&#xff1a; 2、实现 步骤如下&#xff1a; 1、首先按照每个区间左端点排序 2、扫描 所有区间&#xff0c;进行区间合并 上述第二条&#xff0c;可以理解为&#xff1a;拿出一个区间去跟它后面的所有的区间去进行合并&…

electron Tab加载动画开启和关闭

记个开发中的bug&#xff0c;以此为鉴。眼懒得时候手勤快点儿&#xff0c;不要想当然&#xff01;&#xff01;&#xff01; 没有转载的价值&#xff0c;请勿转载搬运呦。 WebContents API&#xff1a; Event: did-finish-load​ 导航完成时触发&#xff0c;即选项卡的旋转…

conda 进入python环境里pip install安装不到该环境或不生效

参考&#xff1a;https://blog.csdn.net/weixin_47834823/article/details/128951963 https://blog.51cto.com/u_15060549/4662570?loginfrom_csdn 1、直接进入python Scripts目录下安装 cmd打开运行窗口&#xff0c;cd切换路径至指定虚拟环境下的Scripts路径后再pip安装 擦…

文件上传漏洞--Upload-labs--Pass10--双写绕过

一、什么是双写绕过 顾名思义&#xff0c;双写绕过就是双写文件后缀名来进行绕过&#xff0c;如&#xff1a;test.php 双写后为 test.pphphp。通常情况下双写绕过用于绕过源代码中的 str_ireplace()函数。 二、双写绕过原理 1、首先进行代码审计&#xff0c;源代码中有黑名单…

NBlog个人博客部署维护过程记录 -- 后端springboot + 前端vue

项目是fork的Naccl大佬NBlog项目&#xff0c;页面做的相当漂亮&#xff0c;所以选择了这个。可以参考2.3的效果图 惭愧&#xff0c;工作两年了也没个自己的博客系统&#xff0c;趁着过年时间&#xff0c;开始搭建一下. NBlog原项目的github链接&#xff1a;Naccl/NBlog: &#…

数据库||数据库的完整性

1.实验题目&#xff1a;数据库的完整性 2.实验目的和要求&#xff1a; 掌握数据库的实体完整性约束定义&#xff0c;完整性检查及违约处理方式。 掌握数据库的参照完整性约束定义&#xff0c;完整性检查及违约处理方式。 掌握数据库的用户定义完整性约束定义&#xff0c;完…

如何构建企业专属GPT

大语言模型&#xff08;LLM&#xff09;具有令人印象深刻的自然语言理解和生成能力&#xff0c; 2022年11月底OpenAI发布了ChatGPT&#xff0c;一跃成为人工智能AI领域的现象级应用。但由于LLM的训练数据集主要来源于互联网数据&#xff0c;企业私域信息并未被LLM所训练&#x…