16.1 给出了强化学习的一个简单图示.强化学习任务通常用马尔可夫决 策过程 (Markov Decision Process,简称 MDP)来描述:机器处于环境 中,状 态空间为 ,其中每个状态 EX 是机器感知到的环境的描述,如在种瓜任务 上这就是当前瓜苗长势的描述;机器能采取的动作构成了动作空间 如种瓜 过程中有浇水、施不同的肥、使用不同的农药等多种可供选择的动作;若某个 动作 αεA 作用在当前状态 上,则潜在的转移函数 将使得环境从当前状态 按某种概率转移到另 个状态,如瓜苗状态为缺水,若选择动作浇水,则瓜苗长 势会发生变化,瓜苗有一定的概率恢复健康?也有一定的概率无法恢复;在转移 到另一个状态的同时,环境会根据潜在的"桨黄" (rew d) 函数 反馈给机器 一个奖赏,如保持瓜苗健康对应奖赏 +1 ,瓜茵凋零对应奖赏一10 ,最终种出了 好瓜对应奖赏 +100. 综合起来,强化学习任务对应了四元组 = (X,A,P,R), 其中 P:XxAxX 指定了状态转移概率 R:XxAxX 指定了奖 赏;在有的应用中,奖赏函数可能仅与状态转移有关,即 R:XxX -+R

需注意"机器"与"环境"的界限,例如在种西瓜任务中,环境是因瓜生 长的自然世界;在~棋对弈中,环境是棋盘与对于;在机器人控制中,环境是机 器人的躯体与物理世界.总之,在环境中状态的转移、奖赏的返回是不受机器 控制的,机器只能通过选择要执行的动作来影响环境,也只能通过观察转移后 的状态和返回的奖赏来感知环境

策略的优劣取决于长期执行这一策略后得到的累积奖赏,例如某个策略使 得瓜苗枯死,它的累积奖赏会很小,另一个策略种出了好瓜,它的累积奖赏会很大.在强化学习任务中,学习的目的就是要找到能使长期累积奖赏最大化的策 略.长期累积奖赏有多种计算方式?常用的有 "T 步累积奖赏" lE叫[~2汇二乙L1Tηtl l "γ 折扣累积奖赏" lE叫[2乙;二芮zγf什仇rt忡叫十 示对所有随机变量求期望.

读者也许己经感觉到强化学习与监督学习的差别若将这里的"状态"对 应为监督学习中的"示例"、 "动作"对应为"标记",则可看出,强化学习 中的"策略"实际上就相当于监督学习中的"分类器" (当动作是离散的)或 "国归器" (当动作是连续的 模型的形式并无差别.但不同的是,在强化学 习中并没有监督学习中的有标记样本(即"示例·标记"对) ,换言之,没有人直 接告诉机器在什么状态下应该做什么动作,只有等到最终结果揭晓,才能通过 "反思"之前的动作是否正确来进行学习.因此,强化学习在某种意义上可看 作具有"延迟标记信息"的监督学习问题.

与一般监督学习不同,强化学习任务的最终奖赏是在多步动作之后才能观 察到,这里我们不妨先考虑比较简单的情形:最大化单步奖赏,即仅考虑一步 操作.需注意的是,即使在这样的简化情形下,强化学习仍与监督学习有显著不 同,因为机器需通过尝试来发现各个动作产生的结果,而没有训练数据告诉机 器应当做哪个动作.

事实上,"探索" (即估计摇臂的优劣〉和"利用" (即选择当前最优摇 臂)这两者是矛盾的,因为尝试次数(即总投币数)有限,加强了一方则会自 然削弱另一方,这就是强化学习所面临的"探索-利用窘境" (ExplorationExploitation dilemma). 显然,欲累积奖赏最大,则必须在探索与利用之间达成 较好的折中.

若直接根据式(16.1) 计算平均奖赏,则需记录 个奖赏值.显然,更高效的 做法是对均值进行增量式计算,即每尝试一次就立即更新 Q(k). 不妨用下标来 表示尝试的次数,初始时 Qo(k) = O. 对于任意的 ,若第 n-1 次尝试厉的 平均奖赏为 Qn-l(的,则在经过第 次尝试获得奖赏。 后,平均奖赏应更新为

这样,无论摇臂被尝试多少次都仅需记录两个值:己尝试次数 n-1 11 丘平均 奖赏 Qn-1(k). E-贪心算法描述如图 16 .4所示.

softmax 算法基于当前已知的摇臂平均奖赏来对探索和利用进行折中.若 各摇臂的平均奖赏相当,则选取各摇臂的概率也相当;若某些摇臂的平均奖赏 明显高于其他摇臂,则它们被选取的概率也明显更高.

考虑多步强化学习任务 暂且先假定 务对应的马尔可夫决策过程四元组 E = R) 均为 己知 这样的情形称为 "模型 己知 行了建模?能在机器内部模拟出与环境相同或近似的状况.在 己知模型的环境 中学习称为"有模型学习" (model-based learn 剖) 此时,对于任意状态尘,矿 和动 ,在 状态下执行动作 转移到矿状态的概率 PJ 是己生口的 ?该转 移所带来的奖赏 R~ x' 也是已知的,为便于讨论?不妨假设状态空间 动作 空间 均为有限.

从一个初始策略(通常是随机策略)出发,先进行策略评估,然后改进策略,评估 改进的策略,再进一步改进策略,……不断迭代进行策略评估和改进,直到策略 收敛、不再改变为止.这样的做法称为"策略迭代" (policy iteration).在现实的强化学习任务中,环境的转移概率、奖赏函数往往很难得知,甚至很难知道环境中」共有多少状态.若学习算法不依赖于环境建模,则称为争 "免模型学习" (model-free learning) ,这比有模型学习要两难得多.

在免模型情形下,策略选代算法首先遇到的问题是策略无法评估,这是由 于模型未知而导致无法做全概率展开.此时?只能通过在环境中执行选择的动 作?来观察转移的状态和得到的奖赏.受 摇臂赌博机的启发,一种直接的策 略评估替代方法是多次"采样",然后求取平均累积奖赏来作为期望累积奖赏 的近似,这称为蒙特卡罗强化学习.由于采样必须为有限次数?因此该)j 法史适 合于使用 步累积奖赏的强化学习任务.可以看出?欲较好地获得值的数的估计,就需要多条不同的来样轨迹.然 而,我们的策略有可能是确定性的 即对于某个状态只会输出一个动作?若使用 这样的策略进行采样?则只能得到多条相同的轨迹.这与 摇臂赌博机的"仅 利用"法面临相同的问题 时此可借鉴探索与利用折中的办法,例如使用←贪 心法?以 的概率从所有胡作中均匀随机选取一个,以 1-E 的概率选取当前最 优动作.我们将确定性的策略付称为 "1尿桌始策略 法的策略记为

蒙特卡罗强化学习算法通过考虑采样轨迹?克服了模型未知给策略估计造 成的困难.此类算法需在完成一个采样轨迹后再更新策略的值估计?而前而介 绍的基于动态规划的策略迭代和值迭代算法在每执行→步策略后就进行值函 数更新.两者相比?蒙特卡罗强化学习算法的效率低得多?这里的主要问题是 蒙特卡罗强化学习算法没有充分利用强化学习任务的 MDP 结构.时序主分 (Temporal Difference ,简称 TD) 学斗则结合了动态规划与蒙特卡罗方法的思 想,能做到更高效的免模型学习.

前面我们一直假定强化学习任务是在有限状态空间上进行,每个状态可 用一个编号来指代;值面数则是关于有限状态的"表格值函数" (tabular value functio时,即值函数能表示为一个数组,输入 对应的函数值就是数组元素 值,且更成一个状态上的值不会影响其他状态上的值.然而,现实强化学习任务

需注意的是,在时序差分学习中需要状态"动作值函数以便获取策略.这里 一种简单的做法是令 作用于表示状态和动作的联合向量上,例如给状态向量 增加一维用于存放动作编号,即将式(16.32) 中的 替换为 (x; α); 另一种做法是 用。/1 对动作选择进行编码得到向量 α= (0; . . . ; 1; . . . ; 0) ,其中 "1" 表示该动 作被选择,再将状态向量与其合并得到 (x; α) ,用于替换式(16.32) 中的 x. 这样 就使得线性近似的对象为状态-动作值函数.

在强化学习的经典任务设置中,机器所能获得的反馈信息仅有多步决策后 的累积奖赏,但在现实任务中,往往能得到人类专家的决策过程范例,例如在种 瓜任务上能得到农业专家的种植过程范例.从这样的范例中学习,称为"模仿 学习" (imitation "learning).

强化学习任务中多步决策的搜索空间巨大,基于累积奖赏来学习很多步之 前的合适决策非常困难'而直接模仿仿,人类专家的"状态-动作对 白闯民显显著缓解这 一困难'我们称其为"直接模仿学习 假定我们获得了一批人类专家的决策轨迹数据{卡T1 ,7:鸟,. .…川.叮,7;阳 m} 每条轨迹 包含状态和动作序列

在很多任务中,设计桨棠函数往往相当困难,从人类专家提供的也例数据 中反推出奖赏函数有助于解决该问题?这就是逆强化学习

这就是全部

机器学习中强化学习的一些知识相关推荐

  1. 机器学习中强化学习是什么?人工智能机器学习

    机器学习需要通过建立模型进行自我学习,那么学习方法有哪些呢?本篇来给大家介绍一下机器学习中的强化学习.如果还不了解什么是机器学习的,先浏览下这篇内容: 机器学习是什么?详解机器学习概念_程序媛珂珂的博 ...

  2. 机器学习中集成学习的一些知识

    集成学习 (ensemble learning) 通过构建并结合多个学习器来完成学习任 务,有时也被称为多分类器系统(multi-classifier system) .基于委员会的学 (commit ...

  3. 强化学习1--基础知识(个人笔记)

    目录 Deep Reinforcement Learning, 深度强化学习的理论知识 什么是强化学习 为什么使用强化学习 强化学习的基本要素 On-policy和Off-policy Online和 ...

  4. 李宏毅机器学习系列-强化学习之Q-Learning

    李宏毅机器学习系列-强化学习之Q-Learning 评判家(Critic) 怎么衡量$V^\pi(s)$ 蒙特卡洛法(MC) 时序差分算法(TD) MC和TD对比 另一种评判$Q^\pi(s,a)$ ...

  5. 李宏毅机器学习系列-强化学习之模仿学习

    李宏毅机器学习系列-强化学习之模仿学习 模仿学习 行为复制(Behavior Cloning) 逆向强化学习(Inverse Reinforcement Learning (IRL)) 第三人称模仿学 ...

  6. 【知识图谱论文】使用强化学习对时间知识图中的路径进行多跳推理

    Article 文献题目:Multi-hop reasoning over paths in temporal knowledge graphs using reinforcement learnin ...

  7. 关于人工智能中强化学习的扫盲

    https://www.toutiao.com/a6666688293163237896/ 前言 对一个认知科学家来说,一个最基本的问题是"如何学习新知识?".回答这样一个问题的i ...

  8. 机器学习中在线学习、批量学习、迁移学习、主动学习的区别

    一.批量学习 在监督学习的批量方法中,多层感知器的突出权值的调整在训练样本集合的所有N个例子都出现后进行,这构成了训练的一个回合.换句话说,批量学习的代价函数是由平均误差能量定义的.多层感知器的突触权 ...

  9. 机器学习之强化学习概览

    https://www.toutiao.com/a6683691974433702408/ 2019-04-25 12:58:24 本文翻译自Vishal Maini在Medium平台上发布的< ...

  10. 【机器学习】强化学习算法的优化

    系列文章目录 第十八章 Python 机器学习入门之强化学习 目录 系列文章目录 前言 一.神经网络框架的改进 二. 算法改进:ε-贪婪策略 前言 我们通过之前的学习知道了所谓的强化学习,关键就是学习 ...

最新文章

  1. SugarCRM ListView查询中加入默认条件
  2. 基于运放AD8606的信号缓冲小板
  3. redis延迟队列 实现_灵感来袭,基于Redis的分布式延迟队列(续)
  4. API Monitor(API监控工具)
  5. 一般源码安装添加的GD库 是不支持 jpeg 格式的图片的
  6. 有效括号 python_python 有效的括号的实现代码示例
  7. Sparta(斯巴达)——信息收集扫描爆破集成
  8. toj 4319 盒子游戏
  9. “JavaSwing” ——简单使用
  10. python email模块详解_Python使用email模块对邮件进行编码和解码的实例教程
  11. 游戏开发之测试篇3(C++)
  12. 省市区三级联动 mysql_javaweb--json--ajax--mysql实现省市区三级联动(附三级联动数据库)...
  13. 密码学和加密数字货币的简介
  14. spacy POS 和 Syntactic Dependency Parsing 的标记
  15. 【SpringBoot-3】Lombok使用详解
  16. find_in_set学习与思考
  17. 修改ARM开发板IP地址
  18. Eclipse如何安装lombok插件
  19. Linux SPI驱动学习——调用SPI读写函数
  20. Coding git@e.coding.net: Permission denied (publickey)

热门文章

  1. 计算机网络笔记(一):网络基本构成
  2. 应用程序无法正常启动 0xc0150002
  3. linux下 DDR,SD卡速度测试
  4. VARCHART XGantt与活动互动教程指南
  5. 【VHDL语言学习笔记(七)】 分频器
  6. linux 之间复制文件,两台Linux服务器之间复制文件
  7. 浙江大学计算机专业选考要求,浙大等招办主任解读2020年选考科目要求!各专业有调整!...
  8. 浙江高考计算机专业要选什么课,浙江省新高考7选3选课指南发布 七选三技巧解读...
  9. Python中的装饰器及@用法详解
  10. viper12a电源电路图_viper12a电源维修技巧