论文地址:

https://people.cs.umass.edu/~barto/courses/cs687/Sutton-Precup-Singh-AIJ99.pdf

例子:

这是一个寻路问题,该问题使用强化学习算法解决,准确的来说是使用“表格表示的强化学习算法中的规划算法”来进行解决的;之所以没有说是使用规划算法来说是因为这里使用了学习型算法,即强化学习算法,虽然只是使用表格记录的方式,但是依旧使用了强化学习算法的形式进行;该问题的解决中对每个方格的状态值表示为V(s),整体使用策略迭代或值迭代的强化学习的规划算法来解决。

在这个问题中,agent有四个方向可以选择走,但是每次走只有2/3的概率会正确执行,1/3的概率会随机走其他三个方向中的一个;需要注意的是,agent的每一步行走的reward都是零,也就是说这个问题建模后形成的强化学习模型是一个稀疏模型。

options算法的核心内容:

options算法在计算过程中的各个位置在表格中的状态值的变化过程示意图:(该问题就是计算所有房间的位置到到达初始位置的状态值V(state)的值大小)

其中下图方块中涂黑的面积大小表示对应的状态值V(s)的值的大小,最大时为1,完全空白为0。

下图中上一行中options的动作为单步,下一行中的options的动作为multi-steps。

multi-steps的options动作指的就是在一次状态值更新时是对划分后问题的一整个option动作覆盖的空间进行计算,下图中则是对整个房间(room)进行更新计算。

可以看到,上面的每个room有两个通道(两个空白格),这两个空白格(通道)可以分别作为一个option的target,除了target之外的其他空格都为可行区域(可以作为option的起始点),也就是所对原始任务进行划分后的每个room任务都是可以有两个option的,每个option的终点分布对应room边缘的target hallway。

给出一个room的其中一个option的状态值的示意图(该option的target为右侧边缘的空格,另一个option的target为下侧边缘的空格):

options算法的学习规则:(参数更新的具体方式)

给出一个状态的option示意图:

假设下图中红色状态为s,绿色状态为 \(s^,\)。

红色状态在下图中的option的Q值记作Q(s, o),绿色状态的Q值记作Q(\(s^,\), \(o^,\))。

红色状态关于绿色状态的一次采样后的Q值更新具体为:

使用options方法来进行动态规划计算的一些不足:

其中,最为注意的就是在使用options进行动态规划的话并不一定能保证加快计算(加快收敛);一般情况下动态规划时初始所有状态的状态V值为0,但是如果使用乐观的初始化方式(optimistic)那么就是在初始化时将所有的状态V值都初始化为一个较大的数值,比如为100,那么使用options这种multi-steps分层的方法反而会减慢值迭代的动态规划算法的收敛速度。

PS:

个人感觉,这个分层强化学习算法中的经典options算法其实和分层 \(A^*\) 算法很像,其基本思想是一致的,如果有读者不是很难理解这个options算法可以先去读“分层 \(A^*\) 算法”。

本文的options算法本质上是“表格型强化学习算法”。

分层强化学习算法options其本质就是对问题进行分层划分。

本文算法的解决方法是使用表格记录每个位置的状态值V(s)。

由于options发表的较早,20多年前发表的,因此这篇文章大篇幅谈的是动态规划算法,即如何使用options方法来提升动态规划算法的性能,然后才谈了options算法在learning算法上的一些应用。

经典强化学习算法:分层强化学习算法—options算法2(理解篇)的更多相关文章

  1. 【转载】 “强化学习之父”萨顿:预测学习马上要火,AI将帮我们理解人类意识

    原文地址: https://yq.aliyun.com/articles/400366 本文来自AI新媒体量子位(QbitAI)     ------------------------------- ...

  2. 机器学习&深度学习基础(tensorflow版本实现的算法概述0)

    tensorflow集成和实现了各种机器学习基础的算法,可以直接调用. 代码集:https://github.com/ageron/handson-ml 监督学习 1)决策树(Decision Tre ...

  3. 强化学习之 免模型学习(model-free based learning)

    强化学习之 免模型学习(model-free based learning) ------ 蒙特卡罗强化学习 与 时序查分学习 ------ 部分节选自周志华老师的教材<机器学习> 由于现 ...

  4. 深度强化学习day01初探强化学习

    深度强化学习 基本概念 强化学习 强化学习(Reinforcement Learning)是机器学习的一个重要的分支,主要用来解决连续决策的问题.强化学习可以在复杂的.不确定的环境中学习如何实现我们设 ...

  5. 数论算法 剩余系相关 学习笔记 (基础回顾,(ex)CRT,(ex)lucas,(ex)BSGS,原根与指标入门,高次剩余,Miller_Rabin+Pollard_Rho)

    注:转载本文须标明出处. 原文链接https://www.cnblogs.com/zhouzhendong/p/Number-theory.html 数论算法 剩余系相关 学习笔记 (基础回顾,(ex ...

  6. DDos攻击,使用深度学习中 栈式自编码的算法

    转自:http://www.airghc.top/2016/11/10/Dection-DDos/ 最近研究了一篇论文,关于检测DDos攻击,使用了深度学习中 栈式自编码的算法,现在简要介绍一下内容论 ...

  7. [强化学习]Part1:强化学习初印象

    引入 智能 人工智能 强化学习初印象 强化学习的相关资料 经典书籍推荐:<Reinforcement Learning:An Introduction(强化学习导论)>(强化学习教父Ric ...

  8. 数据结构与算法C++描述学习笔记1、辗转相除——欧几里得算法

    前面学了一个星期的C++,以前阅读C++代码有些困难,现在好一些了.做了一些NOI的题目,这也是一个长期的目标中的一环.做到动态规划的相关题目时发现很多问题思考不通透,所以开始系统学习.学习的第一本是 ...

  9. 平滑处理Smooth之图像预处理算法-OpenCV应用学习笔记三

    大清早的我们就来做一个简单有趣的图像处理算法实现,作为对图像处理算法学习的开端吧.之所以有趣就在于笔者把算法处理的各个方式的处理效果拿出来做了对比,给你看到原图和各种处理后的图像你是否能够知道那幅图对 ...

  10. Coursera台大机器学习基础课程学习笔记1 -- 机器学习定义及PLA算法

    最近在跟台大的这个课程,觉得不错,想把学习笔记发出来跟大家分享下,有错误希望大家指正. 一机器学习是什么? 感觉和 Tom M. Mitchell的定义几乎一致, A computer program ...

随机推荐

  1. 一款运行于windows上的linux命令神器-Cmder(已经爱不释手)

    一.前言 很多工程师都习惯了使用linux下一些命令,再去用Windows的 cmd 简直难以忍受. 要在windows上运行linux命令,目前比较流行的方式由: GunWin32.Cygwin.W ...

  2. centos7.5离线安装zabbix4.0

    一.配置环境 1.1 Linux环境说明 zabbix 安装要求 https://www.zabbix.com/documentation/4.0/zh/manual/installation/req ...

  3. C#项目—模拟考试

    C#模拟考试软件 开发了一个<模拟考试>的小软件,此小软件练习的目的主要是为了体会编程思想,深度理解高内聚.低耦合,掌握编程思维逻辑的大招,告别垃圾代码,重点体会编程之美,练习时长30分钟 ...

  4. el-popover - 问题

    背景:elemet - ui和vue , el-table中使用了 el-popover , el-popover 中使用了form, 每编辑一行数据,点击编辑按钮,出现el-popover弹窗,页面 ...

  5. SpringMVC的视图

    目录 ThymeleafView 转发视图 重定向视图 视图控制器view-controller SpringMVC中的视图是View接口,视图的作用渲染数据,将模型Model中的数据展示给用户Spr ...

  6. 【YashanDB知识库】数据变化率超过阈值统计信息失效

    [问题分类]性能优化 [关键字]统计信息 [问题描述] SQL --创建表结构 drop table t1; create table t1 (id int,name varchar2(200)); ...

  7. 【YashanDB知识库】表收集统计信息默认阈值引起SQL执行效率差

    [问题分类]性能优化 [关键字]统计信息,阈值,执行计划 [问题描述]表新增87w数据自动收集统计信息任务没有启动导致SQL执行计划变差 [问题原因分析] CUS_REGISTER_READ 数据总量 ...

  8. 大一下的acm生活

    在一个名气不大的211学校刷题的日常. 感觉这些算法题好难啊! 最近有好多实验室要招新,不知道该怎么办,自己只想就业,并不想升学,好烦! 真枯燥,好无聊. 现在要学习相关的网页设计和网站建设,例如配色 ...

  9. 暑假集训CSP提高模拟 ∫[0,6] (x^2)/6 dx

    \[\text{暑假集训CSP提高模拟}\int^{6}_{0}\frac{x^{2}}{6}dx \] 关于这个东西怎么求的良心教程 含义:求出 \(f(x)=\frac{x^{2}}{6}\) 在 ...

  10. 更新iManager离线镜像包方法

    例如将iserver_gisapplication_mapping_10_1_0.tar镜像更新到iManager仓库中 步骤一.将镜像导入本地镜像仓库 docker load -i iserver_ ...