精华内容
下载资源
问答
  • 增强学习

    2013-04-11 15:10:26
    增强学习要解决的是这样的问题:一个能够感知环境的自治agent,怎样通过学习选择能达到其目标的最优动作。 考虑一个机器人(agent)通过传感器观察周围环境状态(state)并作出一组动作(action)改变这些状态。...

    增强学习要解决的是这样的问题:一个能够感知环境的自治agent,怎样通过学习选择能达到其目标的最优动作。

    考虑一个机器人(agent)通过传感器观察周围环境状态(state)并作出一组动作(action)改变这些状态。学习的任务是获得一个控制策略(policy),以选择能达到目的的行为。

    假定agent的目标可被定义一个回报(reward)函数,它对agent从不同的state中选取不同的action赋予一个数字值,即立即支付(immediate payoff)。于是policy是能够从任何初始state选择恰当的action,使agent随时间累积获得的reward达到最大。

    一个agent需要通过学习和action来改变state,其中使用了的一个累积reward函数来定义任意action序列的质量。

    待学习的目标函数是控制策略π:S->A,它给定当前状态S集合中的s时,从集合A中输出一个合适的动作a。

    增强学习问题与其他的函数逼近问题几个不同:

    。延迟回报(delayed reward) agent的任务是学习一个目标函数π,它把当前状态s映射到最优动作a=π(s),而在增强学习中不能提供训练样例偶序<s, π(s)>,只提供一个序列立即回报值<s, r(s)>。

    。探索(exploration) 在增强学习中,agent通过其选择的动作序列影响训练样例的分布。

    。部分可观察状态(partially observable states) 实际情况下,agent所获得的当前状态信息是不完整的。

    。终身学习(life-long learning) 不像分离的函数逼近任务,机器人学习问题经常要求此机器人在相同的环境下使用相同的传感器学习多个相关任务。这使得有可能使用先验知识在学习新任务中减少样本复杂度。



    展开全文
  • 增强学习系列之(一):增强学习介绍

    万次阅读 多人点赞 2017-01-27 09:38:36
    增强学习介绍

    1. 什么是增强学习

    增强学习是机器学习的一种。我们都知道,机器学习主要分监督学习、非监督学习、半监督学习、增强学习

    从这个分类中我们就能看到,增强学习和我们平常主要接触的监督和非监督学习不太一样。监督和非监督学习的应用我们都很熟悉了,那增强学习可以应用在怎样的场景呢?

    我们可以用增强学习让计算机自己去学着做事情,比如说让计算机学着去玩Flappy Bird,或者让计算机去计算数据,我们需要做的,我们不需要设置具体的策略,比如先飞到上面,再飞到下面,我们只是需要给算法定一个“小目标”!比如当计算机玩的好的时候,我们就给它一定的奖励,它玩的不好的时候,就给它一定的惩罚,在这个算法框架下,它就可以越来越好,超过人类玩家的水平。在这个系列的最后,就带着大家,实现一个这样的系统

    1. 前言

    1. 两个理论

    我们先说两个看起来和增强学习不是很相关的例子(其实是相关的),一个是动态规划算法,一个是PageRank算法

    动态规划算法我们大家其实都很熟悉了(动态规划算法其实是一个很大很大的坑)我们需要逐步的去找有最优子结构的状态,然后找到这些状态之间的求解的先后顺序,在状态之间构造一个有向无环图,来一步步地求解最后的问题

    比如说最简单的,求费波纳齐数列,我们求解F(n)的时候,就需要有F(n-1)和F(n-2)两个状态

    F(n) = F(n-1) + F(n-2)

    对于这样一个问题,我们可以按照一定的步骤,一步一步求解,如果一个状态算过了,那就不需要算第二次

    算法的感觉就是这样的

    这里写图片描述
    但有的时候我们其实是不清楚这个关系的,或者说问题根本就是有环的,那么这个时候我们该怎么办呢,最经典的例子就是Page-Rank算法,就是由Larry Page发明的,Google最先使用的网页排序算法
    想要详细了解PageRank的同学可以点这个链接http://blog.jobbole.com/71431/,我在这里简单介绍一下

    这个算法想要解决的问题是这样的:搜索引擎需要对网页进行排名,那当然是越重要的网页排名越靠前。比如说当前有一个网页P,那么如何衡量P重不重要呢,我们就假设,有越多的其他网页指向这个P,那么P就越重要。但是,这些网页的重要性本身又是不一样的,如果一个门户网站指向P1,和一些普通的页面指向P2,那显然应该是P1更重要,所以计算P的重要性的时候,需要首先知道其他网站的重要性,而其他网站又有可以由P链接过去,所以这就成了一个先有蛋还是先有鸡的问题。对于这样一个问题,PageRank的解决办法就是两个字是:迭代。首先将网页的权重都初始为一样,然后计算一圈,这个时候很多网页的权重都和一开始计算不一样了,这个时候带着这个计算出来的权重再迭代一个次,可以证明,最后的结果是收敛的。这种算法的感觉是这样的
    这里写图片描述

    为什么介绍PageRank算法呢,因为增强学习和PageRank算法非常的像。比如一个机器人,它对环境是完全陌生的,它所有的行为的权重都是一样的。这个时候它需要对环境进行探索,它有的行为可以达到我们对它设置的奖励,有的行为可以到达我们对它设置的惩罚,那么它就可以修改它行为的权重,在迭代很多很多次之后,求出一个比较优的结果

    2. 一个例子

    比如我们现在来看一个机器人的例子,这个例子来自于[3]

    我们把机器人放在一个完全陌生的房间里面,这个房间的布局如图所示,我们希望机器人能够自己学会走到目标的那个房间。

    这里写图片描述

    如果是传统的方法,我们就希望通过搜索,或者是记忆化的搜索(就是动态规划)在给出全局的布局后,我们就可以做路径规划了

    但是如果这个房间的布局是未知的呢,这个时候我们就需要用增强学习的方法来尝试了

    首先我们设定一下目标房间的权重值,我们给它一个奖励,意思就是当机器人走到这个房间之后,就可以获得这个奖励值,这个时候我们就可以写出状态之间切换的权重,以及权重矩阵
    这里写图片描述

    这里写图片描述

    那么机器人走到这个房间之后,就知道了,它需要走到相邻的房间,才能走到最后的目标房间,所以相邻的房间也被赋予了权重。
    这里写图片描述
    那么通过迭代,初始点也就有了权重。这个时候机器人就很省心了,只要向当前节点周围分值最高的点走过去就可以了

    2. 总体介绍

    所以说,从上面那个例子可以看到,增强学习的特征,就是从现有的状态出发,不断的优化自己的策略

    我们先来介绍一些增强学习当中经常用到的术语

    agent,是指训练当中的个体,就是我们训练的算法和参数的集合

    environment,是指agent所处的环境

    episode,是指一个完整的训练的阶段。从一次训练开始,到这次训练成功或者失败结束,是一个episode

    step,是指一个episode当中的操作,每采取一次操作,就是一个step

    state,是指agent在每个时刻所面临的状态

    action,是指采取的那个操作究竟是什么

    value,是指在这个时刻,我所能采取的各个动作,所具有的价值

    用一个图来表示就是这样的

    首先我们有最基本的agent和environment
    这里写图片描述
    agent和environment产生最基本的交互,agent观测environment的状态,然后做出一个action,environment接受action又产生了新的状态。

    这里需要注意的是,agent只能获得它能观测到的数据,也就是说agent不能由上帝视角
    这里写图片描述

    3 文绉绉的数学表示

    在这个系统中,我们有一个状态集合S,行为集合A,策略pi,有了策略pi,我们就可以根据当前的状态,来选择下一刻的行为

    a=π(s)

    对于状态集合当中的每一个状态s,我们都有相应的回报值R(s)与之对应;对于状态序列中的每下一个状态,我们都设置一个衰减系数gamma

    对于每一个策略pi,我们设置一个相应的权值函数

    Vπ(s0)=E[R(s0)+γR(s1)+γ2R(s2)+|s0=S,π]

    这个表达式应该满足Bellman-Ford Equation,可以写成

    Vπ(s0)=E[R(s0)+γVπ(s1)]

    4. 通俗的大白话

    通俗的讲就是说,我需要判断一下当前的这个状态的价值是多少,从而让我可以选择最大化价值的那个状态来进行操作。当前状态的价值,就是之后的状态的价值的叠加,只不过越往后,噪声越大,就需要让他们的权重减小。而后面的所有状态的价值和,又可以写成下一个状态的价值。当前状态的reward我们是可以直接获得的,所以我们只需要计算下一个状态的权值函数就可以了,而这一点,我们通过神经网络来进行计算

    2. 增强学习都有哪些策略

    假设现在有这样一个场景。在一个游戏中我在某一个状态下有四种选择,可以向前后左右四个方向走。我需要知道往哪个方向走收益最大

    1. 蒙特卡洛方法

    简单而言,蒙特卡洛方法就是对这个策略所有可能的结果求平均。我们向前走了以后,再做一个action,根据这个式子,直到episode结束,求出收益的和,就是向前走这个动作的一个采样。我们再不断地在这个状态采样,然后来求平均。等到采样变得非常非常多的时候,我们的统计值就接近期望值了。所以蒙特卡洛方法是一个非常暴力,非常直观的方法。

    2. 动态规划方法

    这个其实就类似于我们在开篇的那个例子里面提到的。我们要确定向前走的这个动作的收益,那么就需要将它所有的子问题先全都计算完,然后取最大值,就是它的收益了。这个方法的好处就是效率高,遍历一遍就可以了;而缺点也很明显,需要子结构问题是一个有向无环图。要求

    3. Temporal Difference(时间差分)

    时间差分,简称TD,是对蒙特卡洛方法的一种简化,也是在实际中应用最多的一种算法

    同样是要计算向前走的这个行为的价值的期望值,那么它就等于向前走了到达的那个状态的reward,加上它再转移到后继状态的期望值。有人会说这不就递归下去就是遍历了吗?不是,我们就观测前面一个状态,剩下的价值我们不去真的计算了,而是用神经网络来估算。这样我们不需要计算就可以得到它的价值了。这就是TD算法里面最简单的TD(0)算法

    3. 用神经网络来对状态进行估算

    对神经网络的简单介绍,可以戳这里

    我们可以不了解神经网络具体是怎样工作的,我们只需要把它当成一个黑盒,输入是一个状态,输出是这个状态的价值。

    有的同学可以比较疑惑,本来就没有训练数据,怎么进行训练呢

    整个系统在运作过程中,通过现有的策略,产生了一些数据,获得的这些数据,在计算Reward值的时候会有所修正。然后我们用修正的值和状态,作为神经网络进行输入,再进行训练。最后的结果显示,这样做是可以收敛的,这就是这个算法最牛的地方!!

    所以在加入了神经网络之后,各个部分之间的关系就变成了这样

    神经网络的运用包括训练和预测两部分嘛,训练的时候输入是state,和这个state相应的value
    预测的时候输入是state,输出是这个state预估的value
    这里写图片描述
    这个算法更加神奇的地方,是很快就能收敛。如果把raw image当作输入的话,收敛速度会变慢一些,但是最后还是会收敛的

    4. 整个的算法流程

    所以,我们来用TD(0)作为状态的计算,神经网络作为状态价的估算的这套算法,就叫做Q-Learning算法,如果我们采用epsilon-greedy算法,主要流程是这样的
    这里写图片描述
    这里先给出算法,具体的会在下一篇文章里面介绍。而且下一篇文章会带着大家一步步去实现一个增强学习的小例子

    5. 参考资料

    [1]http://blog.jobbole.com/71431/

    [2]http://blog.csdn.net/songrotek/article/details/51382759

    [3]http://www.cnblogs.com/Leo_wl/p/5852010.html

    [4]Mnih V, Kavukcuoglu K, Silver D, et al. Playing atari with deep reinforcement learning[J]. arXiv preprint arXiv:1312.5602, 2013.

    展开全文
  • 增强学习总结

    2018-06-10 00:17:58
    增强学习总结增强学习概念:增强学习关注的是智能体如何在环境中采取一系列行为,从而获得最大的累积回报。通过增强学习,一个智能体应该知道在什么状态下应该采取什么行为。强化学习,就是根据奖励,判断在相应的...

    增强学习总结

    增强学习概念:

    增强学习关注的是智能体如何在环境中采取一系列行为,从而获得最大的累积回报

    通过增强学习,一个智能体应该知道在什么状态下应该采取什么行为

    强化学习,就是根据奖励,判断在相应的状态下,应该做的动作——从状态到动作的映射就是学习策略

    增强学习是机器学习中一个非常活跃且有趣的领域,相比其他学习方法,增强学习更接近生物学习的本质,因此有望获得更高的智能,这一点在棋类游戏中已经得到体现。

     

    特点:

    1.  增强学习是试错学习(Trail-and-error),由于没有直接的指导信息,智能体要以不断与环境进行交互,通过试错的方式来获得最佳策略。

    2.  延迟回报增强学习的指导信息很少,而且往往是在事后(最后一个状态)才给出的,这就导致了一个问题,就是获得正回报或者负回报以后,如何将回报分配给前面的状态。

    马尔可夫决策过程:

    马尔可夫决策过程(Markov DecisionProcess, MDP)也具有马尔可夫性,与上面不同的是MDP考虑了动作,即系统下个状态不仅和当前的状态有关,也和当前采取的动作有关。

    1、策略:状态到动作的映射

    2、状态集

    3、动作集

    4、状态转移概率:在当前状态X下,执行了动作A后,状态会转移到Y的概率

    5、奖励(延后)

     

    问题一:

    对于延后的奖励,如何将其分片到前面的状态,即如何根据后面的奖励,判断当前步骤的贡献?

    推广起来就是,如何评价一个策略的好坏?

     

    问题二

    知道怎么评价策略后,如何改进当前策略至最优策略

     

    分类:

    一、有模型的强化学习(现实使用的情况基本不存在,应该就是为了推导用)

    因为模型已知,所有情况都是可以计算出

    首先,定义了奖励,解决了对于奖励延后的问题

    当前的步骤的奖励:等于后面T步骤的奖励的和的组合

    所以,对于T步的一个过程,其实由一个一步的过程和一个T-1 步的过程组合而成——这就是一个递推公式

    根据递推公式,一个T步的过程,就可以从一个一步的过程逐渐递推得到

    有了T步过程的奖励的计算方法后,因为强化学习主要是学习策略

    最优的策略,可以理解为,在当前状态执行了这个动作之后,后面的T步的奖励最大

    所以找到能使奖励最大的动作就是最优的动作,从而得到最优的策略

    ————这中间涉及到一些推到,用到了动态规划的算法+递推求极大

    —这就是有模型机器学习的动态规划算法

    动态规划的优点在于它有很好的数学上的解释,但是动态要求一个完全已知的环境模型,这在现实中是很难做到的。另外,当状态数量较大的时候,动态规划法的效率也将是一个问题。 

     

    二、无模型的强化学习

    同样利用有模型的思路,不同在于

    1)没有模型

    2)要从初始状态开始

     

    解决办法:蒙特卡罗学习

    方法概述:

    1)首先,在状态未知的情况下,我们从初始状态出发,使用某种策略,进行采样,执行该策略T步,并获得轨迹

    2)然后,对轨迹中出现的每个状态—动作,记录其后的奖赏之和,作为该状态—动作的一次累积奖赏的采样值

    3)多次采样得到多条轨迹

    4)将每个状态—动作对的累积奖赏采样值进行平均,及得到状态—动作值函数的估计

    然后根据轨迹,不断的优化最优的策略

    ——即认为,当前出现的状态—动作对,是策略集中的一种,这个策略导致的后面的得分,是当前策略的评价

    得分越高,评价越好。然后不断迭代,根据新一轮的轨迹,重新计算策略的得分,优化策略

     

    需要处理的问题:

    如何选择轨迹,用e贪心

     

     

    改进:时间差分学习

    对门特卡罗的改进,蒙特卡罗每完成一条轨迹才迭代一次,效率低

    时间差分,综合了蒙特卡罗的思想和动态规划的原理,每执行一步,就迭代一次,更新策略

    效率更高

     

    总结:

    增强学习的关键,就是从环境状态到动作的映射的学习,就是策略的学习,就是要学习当前这种情况应该采用什么动作处理。

    增强学习的主要学习方式是试错

    增强学习具有延迟回报的特点,所以如何将回报分配给前面的动作,这是一个必须要解决的

     

    求最优策略的两点前提:

    1、如何评估一个策略的值函数

    2、如何改进至最优策略

     

    遇到的问题

    1)原本的递推公式是这一步和下一步的关系,怎么变成的迭代的关系

    注意递推公式的下标,k表示的是执行k步,不是次数

    所以地推公式的意思是,执行k步的奖赏,都可以通过执行当前步和执行k-1步计算出来

    所以地推公式,就是执行k步,就分解成执行一步和执行k-1步

    (k不是迭代的次数,而是执行的步骤距离即时激励的步数)


    展开全文
  • 增强学习1

    2018-03-10 20:30:44
    增强学习介绍 增强学习是机器学习的一个分支.增强学习通过与环境的交互并观察交互结果进行学习.增强学习的过程:1,观察初始状态2,决策行为3,实施行为4,观察反馈5,记录状态+行为的反馈通过执行行为和观察结果,决策...

    增强学习介绍

      增强学习是机器学习的一个分支.增强学习通过与环境的交互并观察交互结果进行学习.

    增强学习的过程:

    1,观察初始状态

    2,决策行为

    3,实施行为

    4,观察反馈

    5,记录状态+行为的反馈

    通过执行行为和观察结果,决策学习到状态的最优行为.如果状态足够多,就可以生成最优决策.

      增强学习是一种无监督学习.

    展开全文
  • 深度增强学习

    2019-03-30 09:35:42
    增强学习的应用:自动驾驶 8个方向+速度:模型推断出方向和速度,决策交给AI 自动驾驶的两个流派:Rule based,End to End Deep learning。 发展趋势:两个流派融合,找到折中点。 硬件支持:低功耗,激光...
  • 本文是无人驾驶技术系列的第六篇,着重介绍增强学习在无人驾驶中的应用。增强学习的目的是通过和环境交互,学习如何在相应观测中采取最优行为。相比传统的机器学习,它有以下优势:首先,由于不需要标注的过程,可以...
  • 增强学习简介

    2018-05-27 20:05:33
    也被翻译为增强学习。二、概念1.不同于机器学习的其它两个分支:它不是无监督学习,因为有回报(Reward)信号反馈是延时的,而不是即时的数据是与时间有关的序列智能体的动作与后续的数据有关2.强化学习基于一种回报...
  • tensorflow 增强学习

    千次阅读 2018-02-03 16:14:08
    增强学习(Reinforcement Learning) 增强学习的应用领域很广,它假定有一个智能体(agent)在系统中,智能体做出特定的决策,对于表现不好的行为给予惩罚,奖励表现好的行为 Setup code # 不显示python使用...
  • 学习笔记-增强学习

    2017-01-13 20:49:24
    增强学习增强学习的一个简单定义就是学习基于奖励或惩罚的最佳动作。 在增强学习中有三个概念:状态、动作和回报。“状态”是描述当前情况的。对一个正在学习行走的机器人来说,状态是它的两条腿的位置。对一个围棋...
  • 反向增强学习基础

    2018-05-10 17:10:59
    增强学习已经成为人工智能发展的一个重要方向,Alpha Zero的算法也再一次向世人展示了增强学习的强大之处。而它的孪生兄弟——反向增强学习,也同样具有很强的理论与应用价值。本讲座主要介绍增强学习与反向增强学习...
  • 编者注:想要深入学习增强学习,请查看Marcos Campos在2017年9月17 - 20日于旧金山举行的O’Reilly人工智能会议上所做的“增强学习介绍”辅导课。你可以在Justin Francis的GitHub上找到这个博文里展示的代码。 ...
  • 增强学习例子
  • 深度增强学习综述

    千次阅读 2018-10-15 14:01:39
    本文是对《深度增强学习综述》一文的解读。文章从增强学习谈起,谈到对深度学习的引入,层层递进、简明扼要地从技术层面阐释了深度增强学习的原理和效用。 当今世界,科技发展日新月异。即便是业界中人,往往也搞不...
  • 增强学习与无人驾驶

    2017-06-20 16:38:37
    引言:增强学习在无人驾驶中有很高的前景。无人驾驶中需要执行一系列正确的行为才能成功的驾驶。而增强学习能够学会自动修正偏移,是其可以比较容易地学习到一系列的行为。 本文选自《第一本无人驾驶技术书》。 ...
  • HRL 层级增强学习

    2019-06-29 11:09:10
    1. 层级增强学习 Hierarchical Reinforcement Learning 层次强化学习(HRL)是一种计算方法,旨在通过学习在不同的时间抽象层次上操作来解决这些问题。 为了真正理解在学习算法中需要一个层次结构,以及为了在...
  • 强化学习是一种机器学习方法,它使Agent能够在交互式环境中年通过试验并根据自己的行动和经验反馈的错误来...增强学习的特点是:从现有的状态出发,不断的优化自己的策略。 使用神经网络对状态进行估算:整个系统在...
  • /1强化学习/增强学习 Reinforcement Learning 参考 cs231n 14节课 深度增强学习 强化学习是一种无监督学习,即输入数据x没有label,需要找出隐藏的数据结构。Markov Decision Process(MDP,马尔可夫决策过程)是...
  • 1.2 增强学习 再接下来是什么?是增强学习,或者说是深度增强学习。我们希望将史前时代和当代的最核心的技术,以及最先进的思想结合起来,探索一个复杂的动态系统,用大数据的方法探索一个动态的过程,而不仅仅是...
  • 好久木有写博客了,生疏了不少,第一段删了改改了删,新更博文第一句只想说:hi,老朋友!好久不见~文中的图片来自莫烦python视频。视频内容真心很赞,一天就可以看完,... 让我们一起来聊一下增强学习吧~hhhh增强...
  • 参考: http://blog.csdn.net/zz_1215/article/details/44138823 http://www.cnblogs.com/jerrylead/archive/2011/05/13/2045309.html ... 在系统学习机器学习之增强学习(一)--模型基础中,我们...
  • 1.3 监督学习,非监督学习,半监督学习和增强学习 如果从机器学习算法本身进行分类,可分为监督学习,非监督学习,半监督学习和增强学习这四个大类。 (1).监督学习: 所谓监督学习,就是给机器的训练数据集拥有...
  • 增强学习(三)MDP的动态规划解法增强学习(三)MDP的增强学习(三)MDP的动态规划解法动态规划解法
  • 增强学习、增量学习基础知识

    千次阅读 2018-03-21 09:22:18
    一:增强学习(Q-learning)要解决的问题:一个能感知环境的自治agent,怎样通过学习选择能达到其目标的最优操作。agent的任务就是从这个非直接的,有延迟的回报中学习,以便后续的动作产生最大的积累效应,agent...
  • 分成四类监督学习,非监督学习,半监督学习和增强学习监督学习:给机器的训练数据拥有“标记”或者“答案”监督学习:银行已经积累了一定的客户信息和他们的信用卡的 医院已经积累了一定的病人信息和他们最终确诊...
  • 链接 : 增强学习译文 强烈推荐Tom Mitchell的《机器学习》最后一章,里面介绍了Q学习和更多的内容。最后,里面提到了Bellman等式,在《算法导论》中有Bellman-Ford的动态规划算法,可以用来求解带负权重的图的...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 34,509
精华内容 13,803
关键字:

增强学习