强化学习 简单算例policy是什么意思

> 博客详情
—— 原文发布于本人的微信公众号“大数据与人工智能Lab”(BigdataAILab),欢迎关注。
机器学习算法可以分为3种:有监督学习(Supervised Learning)、无监督学习(Unsupervised Learning)和强化学习(Reinforcement Learning),如下图所示:
有监督学习、无监督学习、强化学习具有不同的特点:
有监督学习是有一个label(标记)的,这个label告诉算法什么样的输入对应着什么样的输出,常见的算法是分类、回归等;
无监督学习则是没有label(标记),常见的算法是聚类;
强化学习强调如何基于环境而行动,以取得最大化的预期利益。
强化学习(Reinforcement Learning)灵感来源于心理学中的行为主义理论,即有机体如何在环境给予的奖励或惩罚的刺激下,逐步形成对刺激的预期,产生能获得最大利益的习惯性行为。
这个方法具有普适性,因此在其他许多领域都有研究,例如博弈论、控制论、运筹学、信息论、模拟优化方法、多主体系统学习、群体智能、统计学以及遗传算法。
强化学习采用的是边获得样例边学习的方式,在获得样例之后更新自己的模型,利用当前的模型来指导下一步的行动,下一步的行动获得reward之后再更新模型,不断迭代重复直到模型收敛。在这个过程中,非常重要的一点在于“在已有当前模型的情况下,如果选择下一步的行动才对完善当前的模型最有利”,这就涉及到了RL中的两个非常重要的概念:探索(exploration)和开发(exploitation),exploration是指选择之前未执行过的actions,从而探索更多的可能性;exploitation是指选择已执行过的actions,从而对已知的actions的模型进行完善。
强化学习最重要的3个特点是:
(1)基本是以一种闭环的形式;
(2)不会直接指示选择哪种行动(actions);
(3)一系列的actions和奖励信号(reward signals)都会影响之后较长的时间。
强化学习决策实现过程需要设定一个agent(图中的大脑部分),Agent能够接收当前环境的一个observation(观察),Agent还能接收当它执行某个action后的reward,而环境environment则是agent交互的对象,它是一个行为不可控制的对象,agent一开始不知道环境会对不同action做出什么样的反应,而环境会通过observation告诉agent当前的环境状态,同时环境能够根据可能的最终结果反馈给agent一个reward,它表明了agent做出的决策有多好或者有多不好,整个强化学习优化的目标就是最大化累积reward。
在强化学习中,有四个非常重要的概念:
(1)规则(policy)
Policy定义了agents在特定的时间特定的环境下的行为方式,可以视为是从环境状态到行为的映射,常用π来表示。policy可以分为两类:
确定性的policy(Deterministic policy):&a=π(s)&
随机性的policy(Stochastic policy):&π(a|s)=P[At=a|St=t]
其中,t是时间点,t=0,1,2,3,……
St∈S,S是环境状态的集合St代表时刻t的状态,s代表其中某个特定的状态;
At∈A(St),A(St)是在状态St下的actions的集合,At代表时刻t的行为,a代表其中某个特定的行为。
(2)奖励信号(a reward signal)
Reward就是一个标量值,是每个time step中环境根据agent的行为返回给agent的信号,reward定义了在该情景下执行该行为的好坏,agent可以根据reward来调整自己的policy。常用R来表示。
(3)值函数(value function)
Reward定义的是立即的收益,而valuefunction定义的是长期的收益,它可以看作是累计的reward,常用v来表示。
(4)环境模型(a model of the environment),预测environment下一步会做出什么样的改变,从而预测agent接收到的状态或者reward是什么。
总之,强化学习作为一个序列决策(Sequential Decision Making)问题,它需要连续选择一些行为,从这些行为完成后得到最大的收益作为最好的结果。它在没有任何label告诉算法应该怎么做的情况下,通过先尝试做出一些行为——然后得到一个结果,通过判断这个结果是对还是错来对之前的行为进行反馈。
欢迎关注本人的微信公众号“大数据与人工智能Lab”(BigdataAILab),获取更多资讯
”在线下联结了各位 OSCer,推广开源项目和理念,很荣幸有你的参与~
领取条件:参与过开源中国“源创会”的 OSCer 可以领取
支付宝支付
微信扫码支付
打赏金额: ¥
已支付成功
打赏金额: ¥什么是强化学习_百度知道
什么是强化学习
我有更好的答案
一个RL的基本模型已经建立强化学习(RL)是一个序列决策问题。例如!action:你的行为state:你观察到的妹子的状态reward:妹子的反应,每一步采取什么行为才能(最优)撩妹:撩妹的过程就是一个优化问题!这可以看作一个RL问题:开心or不开心所以。你肯定迫不及待的想知道怎么去求解了,你就会考虑。你的每一时刻的行为会对你最终撩妹是否成功,以多大的收益成功都会有影响。那么
采纳率:62%
为您推荐:
其他类似问题
您可能关注的内容
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。智能系统的一个主要特征是能够适应未知环境,其中学习能力是智能系统的关键技术之一。在机器学习范畴,根据反馈的不同,学习技术可以分为监督学习(Supervised
learning)、非监督学习(Unsupervised learning)和强化学习(Reinforcement
learning)三大类。其中强化学习是一种以环境反馈作为输入的、特殊的、适应环境的机器学习方法。所谓强化学习是指从环境状态到行为映射的学习,以使系统行为从环境中获得的累积奖赏值最大。该方法不同与监督学习技术那样通过正例、反例来告知采取何种行为,而是通过试错(trial-and-error)的方法来发现最优行为策略[KLM96][SB98]。
强化学习通常包括两个方面的含义:一方面是将强化学习作为一类问题;另一方面是指解决这类问题的一种技术。如果将强化学习作为一类问题,目前的学习技术大致可分成两类:其一是搜索智能系统的行为空间,以发现系统最优的行为。典型的技术如遗传算法等搜索技术;另一类是采用统计技术和动态规划方法来估计在某一环境状态下的行为的效用函数值,从而通过行为效用函数来确定最优行为。我们特指这种学习技术为强化学习技术。不作特殊说明,在本章中强化学习被理解为是一种学习技术。
强化学习技术是从控制理论、统计学、心理学等相关学科发展而来,最早可以追溯到巴普洛夫的条件反射实验。但直到上世纪八十年代末、九十年代初强化学习技术才在人工智能、机器学习和自动控制等领域中得到广泛研究和应用,并被认为是设计智能系统的核心技术之一。特别是随着强化学习的数学基础研究取得突破性进展后,对强化学习的研究和应用日益开展起来,成为目前机器学习领域的研究热点之一。
本章综述了强化学习技术这一领域的研究情况,特别是从第3节至第6节讨论了当前强化学习研究中的热点问题。第2节简要介绍典型强化学习算法及其数学基础,第3节介绍部分感知环境下的强化学习算法,第4节介绍强化学习中连续状态的函数估计,第5节介绍分层强化学习技术,第6节介绍多agent强化学习研究,最后在第7节进行了总结和展望。
强化学习基础
一个智能系统面临的环境往往是动态、复杂的开放环境。因此首先需要设计者对环境加以细分。通常情况,我们可以从以下五个角度对环境(或问题)进行分析[Ger99]。
所谓插曲式(episodic)是指智能系统在每个场景中学习的知识对下一个场景中的学习是有用的。如一个棋类程序对同一个对手时,在每一棋局中学习的策略对下一棋局都是有帮助的。相反非插曲式(non-episodic)环境是指智能系统在不同场景中学习的知识是无关的。角度4是指智能系统所处的环境中,如果状态的迁移是确定的,则可以唯一确定下一状态。否则在不确定性环境中,下一状态是依赖于某种概率分布。进一步,如果状态迁移的概率模型是稳定、不变的,则称之为静态环境;否则为动态环境。显然,最复杂的一类环境(或问题)是连续状态、部分可感知、非插曲式、不确定的动态环境。
在强化学习技术中首先对随机的、离散状态、离散时间这一类问题进行数学建模。在实际应用中,最常采用的是马尔可夫模型。表2中给出最常用的几种马氏模型。
马氏决策过程,强化学习可以简化为图1的结构。图1中,强化学习系统接受环境状态的输入s,根据内部的推理机制,系统输出相应的行为动作a。环境在系统动作作用a下,变迁到新的状态s&。系统接受环境新状态的输入,同时得到环境对于系统的瞬时奖惩反馈r。对于强化学习系统来讲,其目标是学习一个行为策略π:S→A,使系统选择的动作能够获得环境奖赏的累计值最大。换言之,系统要最大化(1)式,其中γ为折扣因子。在学习过程中,强化学习技术的基本原理是:如果系统某个动作导致环境正的奖赏,那么系统以后产生这个动作的趋势便会加强。反之系统产生这个动作的趋势便减弱。这和生理学中的条件反射原理是接近的。
如果假定环境是马尔可夫型的,则顺序型强化学习问题可以通过马氏决策过程(Markov Decision
Process,MDP)建模。下面首先给出马氏决策过程的形式化定义[KLM96]。
马氏决策过程由四元组定义。包含一个环境状态集S,系统行为集合A,奖赏函数R:S&A→ℛ和状态转移函数P:S&A→PD(S)。记R(s,a,s&)为系统在状态s采用a动作使环境状态转移到s&获得的瞬时奖赏值;记P(s,a,s&)为系统在状态s采用a动作使环境状态转移到s&的概率。
马氏决策过程的本质是:当前状态向下一状态转移的概率和奖赏值只取决于当前状态和选择的动作,而与历史状态和历史动作无关。因此在已知状态转移概率函数P和奖赏函数R的环境模型知识下,可以采用动态规划技术求解最优策略。而强化学习着重研究在P函数和R函数未知的情况下,系统如何学习最优行为策略。
为解决这个问题,图2中给出强化学习四个关键要素之间的关系,四要素关系自底向上呈金字塔结构。系统所面临的环境由环境模型定义,但由于模型中P函数和R函数未知,系统只能够依赖于每次试错所获得的瞬时奖赏来选择策略。但由于在选择行为策略过程中,要考虑到环境模型的不确定性和目标的长远性,因此在策略和瞬时奖赏之间构造值函数(即状态的效用函数),用于策略的选择。
首先通过(2)式构造一个返回函数Rt,用于反映系统在某个策略π指导下的一次学习循环中,从st状态往后所获得的所有奖赏的累计折扣和。由于环境是不确定的,系统在某个策略π指导下的每一次学习循环中所得到的Rt有可能是不同的。因此在s状态下的值函数要考虑不同学习循环中所有返回函数的数学期望。因此在π策略下,系统在s状态下的值函数由(3)式定义,其反映了如果系统遵循π策略,所能获得的期望的累计奖赏折扣和。
根据Bellman最优策略公式,在最优策略π*下,系统在s状态下的值函数由(4)式定义。
在动态规划技术中,在已知状态转移概率函数P和奖赏函数R的环境模型知识前提下,从任意设定的策略π0出发,可以采用策略迭代的方法(式5和式6)逼近最优的V*和π*,如图2中的虚线所示。式5和式6中的k为迭代步数。
但由于强化学习中,P函数和R函数未知,系统无法直接通过(5)式、(6)式进行值函数计算。因而实际中常采用逼近的方法进行值函数的估计,其中最主要的方法之一是Monte
Carlo采样,如(7)式。其中Rt是指当系统采用某种策略π,从st状态出发获得的真实的累计折扣奖赏值。保持π策略不变,在每次学习循环中重复地使用(7)式,下式将逼近(3)式。
结合Monte Carlo方法和动态规划技术,式(8)给出强化学习中时间差分学习(TD,Temporal
difference)的值函数迭代公式。
图3比较了动态规划技术、Monte
Carlo方法和强化学习方法计算状态值函数的异同。图3(a)中,动态规划方法考察环境的概率模型,从而用(6)式Bootstrapping方法计算所有可能分支所获得奖惩返回值的加权和;图3(b)中,Monte
Carlo方法采样一次学习循环所获得的奖惩返回值。然后通过多次学习,用实际获得的奖惩返回值去逼近真实的状态值函数。逼近公式即前述的(7)式;图3(c)中,TD方法和Monte
Carlo方法类似,仍然采样一次学习循环中获得的瞬时奖惩反馈,但同时类似与动态规划方法采用Bootstrapping方法估计状态的值函数。然后通过多次迭代学习,采用(8)式去逼近真实的状态值函数。图3中蓝线表示每种方法计算值函数时所需要的信息。
表1给出强化学习技术中经典的TD(0)学习算法。表1学习算法事实上包含了两个步骤,其一是从当前学习循环的值函数确定新的行为策略;其二是在新的行为策略指导下,通过所获得的瞬时奖惩值对该策略进行评估。学习循环过程如图4所示,直到值函数和策略收敛。
再回到(7)式和(8)式上,Monte
Carlo方法采用一次学习循环所获得的整个返回函数去逼近实际的值函数,而强化学习方法使用下一状态的值函数(即Bootstrapping方法)和当前获得的瞬时奖赏来估计当前状态值函数。显然,强化学习方法将需要更多次学习循环才能逼近实际的值函数。因此,给我们带来的思考是——能否在(8)式值函数更新中,不仅仅依赖当前状态的瞬时奖赏值,也可以利用下一状态的瞬时奖赏值,一直到终结状态?如果可以,那么如何修改(8)式呢?同时如何修改学习算法呢?
为回答这个问题,构造一个新的λ-返回函数Rt&,如式(9),其中假定系统在此次学习循环中第T步后进入终结状态。λ-返回函数Rt&的物理意义如图5所示。那么值函数迭代即遵循式(10)。但由于强化学习算法中值函数的更新是在每一学习步(即每次获得经验后)进行的,因此为使学习算法能在一次学习循环中值函数满足(10)式,表2设计新的TD(λ)算法。在表2中通过构造e(s)函数,即可以保证在一次学习循环中值函数以(10)式更新。
在表1和表2的策略迭代过程中,我们可以将值函数的估计和策略评估两步骤合二为一。在算法中构造状态-动作对值函数,即Q函数。Q函数定义如下式。理论证明,当学习率α满足一定条件
[2],Q学习算法必然收敛于最优状态-动作对值函数[TJ94]。Q学习算法是目前最普遍使用的强化学习算法之一。
部分感知马氏决策过程中的强化学习
在实际的问题中,系统往往无法完全感知环境状态信息。即使环境属于马尔可夫型,但由于感知的不全面,对于状态之间的差异也无法区别。因此部分感知问题属于非马尔可夫型环境[Lov91]。在部分感知问题中,如果不对强化学习算法进行任何处理就加以应用的话,学习算法将无法收敛。
在部分感知模型中,不仅考虑动作的不确定性,同时也考虑状态的不确定性。这种环境描述更接近现实世界,因此应用面比马氏决策模型更广。解决部分感知问题的基本思路是将部分感知环境转换为马氏决策模型描述,即假设存在部分可观测(或不可观测)的隐状态集S满足马尔可夫属性。
下面首先给出POMDP(Partially Observable Markov Decision
Process)模型的定义[KLC98]。
POMDP由六元组定义。其中定义了环境潜在的马尔可夫决策模型上,Ω是观察的集合,即系统可以感知的世界状态集合
[3],观察函数О:S&A→PD(Ω)。系统在采取动作a转移到状态s&时,观察函数О确定其在可能观察上的概率分布。记为О(s&, a,
图6& POMDP问题结构
解决POMDP问题目前最主要的研究方法是预测模型法,如图6。在预测模型方法中,将状态迁移的历史知识应用于预测模型或构建系统的内部状态,同时引入对内部状态的置信度,将POMDP问题转化为统计上的MDP求解[KLC98]。状态的置信度又称为信度状态(Belief
state)。信度状态b定义为在隐状态集S上的概率分布,记b(s)为对状态s的置信度。在信度状态b,系统执行动作a,得到新的观察o,此时根据Bayes原理,新信度状态b&计算如下:
上式意义在于:给定一个隐状态集合S上的概率分布b(s),系统执行a动作,系统转移到状态s&的概率由分子求和项部分计算。但在新观察o的约束下,分子乘上观察函数以确定在s&状态的置信度。分母事实上是归一化项。显然,当信度状态是可计算时,POMDP问题最优策略学习转变为“信度状态MDP”(Belief
MDP)最优策略的学习。信度状态MDP模型定义如下:
Belief MDP
B是系统所有信度状态的集合,A是动作集合,记状态转移函数为τ(b,a,b&),奖赏函数为ρ(b,a)。显然,
根据Belief MDP定义,结合Q学习,L. P.
Kaelbling等人给出求解POMDP精确解算法[KLC98],其学习过程如图7所示。但由于信度状态MDP模型是一个连续状态的模型,随着环境复杂程度增加(|S|>15,|O|>15),预测模型的大小呈爆炸性的增大,算法实际上不可行。因此如何结合下节的函数估计方法有效地减少计算量、加快学习算法的收敛速度是有待解决的研究课题之一。
对POMDP问题的学习,目前是强化学习中一个非常重要的研究方向。除了精确求解POMDP问题最优策略的强化学习算法之外,研究人员还提出了一些逼近算法。这些算法基本上可以分为两大类,一类是逼近最优值函数,另一类是直接逼近最优策略[Sam02]。主要算法和基本思想列于表4中。目前来看,采用一些启发式方法(包括第5节的分层方法)解决POMDP问题,仍是研究的重点之一。
强化学习中的函数估计
对于大规模MDP或连续空间MDP问题中,强化学习不可能遍历所有状态。因此要求强化学习的值函数具有一定泛化能力。强化学习中的映射关系包括:S→A、S→R、S&A→R、S&A→S等等。强化学习中的函数估计本质就是用参数化的函数逼近这些映射。
用算子Г来表示本章第2节中的(8)式。假设初始的值函数记为V0,则学习过程产生的值函数逼近序列为:
在经典的强化学习算法中,值函数采用查找表(lookup-table)方式保存。而在函数估计中,采用参数化的拟合函数替代查找表。此时,强化学习基本结构如图8所示。记函数估计中为目标函数,V&为估计函数,则M
: V→V&为函数估计算子。假设值函数初值为V0,则学习过程中产生的值函数序列为:
图8& 有函数估计的强化学习结构
因此,类似与Q学习算法,使用函数估计的强化学习算法迭代公式做以下修改。
在函数估计强化学习中,同时并行两个迭代过程:一是值函数迭代过程Г,另一是值函数逼近过程M。因此M过程逼近的正确性和速度都将对强化学习产生根本的影响。目前函数估计的方法通常采用有导师监督学习方法:如状态聚类[SJJ95][Moo94]、函数插值[Dav97]和人工神经网络[Sut96]等方法。
状态聚类将整个状态空间分成若干区域,在同一区域的状态认为其值函数相等。于是一个连续或较大规模的MDP问题被离散化为规模较小的MDP问题。状态聚类最简单的方法是区格法,它将状态空间的每一维等分为若干区间,而将整个状态空间划分为若干相同大小的区间,对二维来说就是区格划分。更复杂的划分方法是变步长划分和三角划分,采用状态聚类方法的函数估计强化学习已经被证明是收敛的。需要指明的是:尽管状态聚类强化学习是收敛的,但其并不一定收敛到原问题的最优解上。要使收敛的值函数达到一定的精度,状态聚类的步长不能太大。因此对于大规模MDP问题,它仍然面临着维数灾难的困难。
线性插值和多线性插值是状态聚类的改进,它并不将一个区间(或区格)的值函数设为一个值,而是对顶点进行线性插值,从而可以取得更好的性能。Davies等研究在一个二维的问题上,使用11*11=121的区格上的双线性插值便可以取得301*301=90601的区格法相当的性能[Dav97]。线性插值和多线性插值也已被证明是收敛的,但其仍然面临“维数灾难”的困难。而非线性插值则不能保证收敛性[Gor95]。
目前函数估计强化学习研究的热点是采用神经网络等方法进行函数估计。但尽管这些新方法可以大幅度提高强化学习的学习速度,但并不能够保证收敛性。因此研究既能保证收敛性,又能提高收敛速度的新型函数估计方法,仍然是目前函数估计强化学习研究的重点之一。构造一个V的估计函数,其中是估计函数的参数。表5给出对估计函数进行梯度下降法逼近的强化学习算法框架,其中是对估计函数中的参数求导。
分层强化学习
经典马氏决策过程模型只考虑了决策的顺序性而忽略决策的时间性。基于马氏决策过程的强化学习都假设动作在单个时间步完成,因而无法处理需要在多个时间步完成的动作。为解决此问题,引入半马氏决策过程(SMDP,Semi-MDP)模型。在SMDP模型中,每个行为动作的时间间隔作为变量(整数或实数),并进一步可以细分为连续时间-离散事件SMDP和离散时间SMDP两种模型。在后者中,行为决策只在单位时间片的正整数倍做出,较前者模型简单。但基于离散时间SMDP的强化学习方法不难推广到连续时间的情况,因此以下的讨论都基于离散时间SMDP。
SMDP 记τ是系统在状态s执行动作a后的随机等待时间,P(s&, τ | s,
a)是τ时间步后执行动作a从状态s转移到状态s&的状态转移函数,R(s,
a)=E{rt+γrt+1+…+γτrt+τ}为对应的奖赏值[BM03]。
基于SMDP的值函数Bellman最优公式、状态-动作对值函数Bellman最优公式以及Q学习迭代公式分别如以下三式,其中k为迭代次数。
为解决大规模强化学习中的维数灾难问题,可以通过抽象来简化问题的描述。最主要抽象的方法是建立宏动作(Macro),每个宏动作包含一个动作系列,可被系统或其他宏直接调用,从而形成了分层强化学习的控制机制。此时,分层强化学习不必在每个时间步都做出决策,因此可以进一步用前面的半马氏决策过程进行建模。目前分层强化学习中三种典型的方法有Option[SPS99]、HAM[PR97]和MAXQ[Die00]。由于篇幅关系,下面我们主要讨论Option算法的基本原理。需要特别指出的是,MAXQ以及其发展HEXQ目前正逐步成为分层强化学习的研究热点。
Option(抉择)是对MDP中元动作的扩展,它在原来元动作的概念中加入了动作执行过程这一指标。下面首先给出Option的定义。
Option 每个option由一个三元组表示。其中,表示单个option的内部策略,
表示终结状态判断条件,为激活option时的初始状态[SPS99]。
一个option被激活当且仅当当前状态属于初始状态集I,option在执行时动作的选择依赖于内部策略π,最终当系统判断option当前状态为某一终结状态时,整个option执行结束。举例来说,如果option的当前状态为s,根据内部策略π(s,
a)选择某一动作,当确定下一动作a后动作作用于环境使环境状态转移为s&,然后根据β(s&)所给出的概率决定option是终结还是继续执行。若当前option执行结束,系统可以选择另一个option开始执行。
我们通常假设系统在任何状态都可以选择某一option开始执行,因此可以认为每个元动作也是一个option。于是option集合中包含两种类型的option:一种是在单时间步完成;另一种则需要执行若干时间步才能完成。
经典马氏决策模型中的值函数概念可以被很自然的运用到option上。我们定义Qμ(s,
o)为当前状态s下,系统依据策略μ,选择执行option o所得的值函数如下:
这里oμ表示系统在option
o内部策略执行τ步使得o终结后,再由策略μ决定下一状态。ε(oμ,s,t)表示系统在t时刻的执行过程。
通过以上分析,我们很容易看出Option算法与SMDP的关系。这里SMDP可以理解为在有穷状态MDP中加入一组确定的options,这时系统的动作只在options集合内选择,并且只有在系统执行完整个option后环境才返还给奖赏值[SPS99]。这样我们就可以运用SMDP的学习算法来解决在给定的option集合上寻找最优策略的问题。
我们利用单步Q学习算法来对值函数进行学习,值函数的每次更新都发生在option执行结束之后。假设option
o在状态s开始执行,且在状态s&终结,函数Q(s, o)的迭代算法如式21。这里的option
o在执行了τ步后在状态s&处终结,r为option o的在整个执行过程中的累计折扣奖赏值。与传统Q学习相同的收敛条件下,Q(s,
o)总是收敛于最优状态-动作对值函数。
在分层强化学习环境下,运用Option算法已经被证明不仅可以大大加速当前任务的学习速度,而且已学得的知识还可以应用在今后碰到的其它类似的学习任务之中[Ber99][Iba89][Pre00]。目前,构造option最简单的方法就是随机或是启发式的产生若干options,然后由系统对该组options测试来进行筛选。虽然这样得到的options有可能大大提高系统的决策效率,但是筛选的过程往往也对系统的性能负面影响。这就要求我们尝试让系统能利用通过学习已经得到的策略,自主的在整个状态空间中找到一组合适的子目标,进而构造相应的一组options。目前自主寻找子目标,通常由子目标的“瓶颈”特性入手,通过记录学习过程中访问频率最高的若干状态作为子目标[Dig98]。当获得问题的子目标后,我们假设状态空间的每个子空间都各自对应于一个option,于是构造options的过程可以按如下方式进行:把该子空间的子目标作为相应option的终结状态,把子空间内除子目标以外的所有的状态的集合作为起始状态集I,option的内部策略π可以在起始状态集和终结条件确定后利用强化学习算法得到。文献[苏高05]给出了强化学习自主寻找子目标并根据子目标构造options的算法框架。
多agent强化学习
多agent强化学习是强化学习研究中非常重要的研究方向之一。在多agent系统中,环境在多个agent的联合动作下进行状态的迁移。对于单个agent来讲,由于其只能确定自身agent的行为动作,因此体现出一种行为动作上的“部分感知”,从而产生出另一种形式的非标准马尔可夫环境。多agent强化学习机制被广泛应用到各个领域,例如游戏、邮件路由选择、电梯群控系统以及机器人设计等等。
Weiss将多agent学习分成三类:乘积(multiplication)形式、分割(division)形式和交互(interaction)形式[WD98]。这种分类方法要么将多
agent系统作为一个可计算的学习agent;要么是每个agent都有独立的强化学习机制,通过与其他agent适当交互加快学习过程。每个agent拥有独立的学习机制,并不与其他agent交互的强化学习算法称之为CIRL(Concurrent
RL)。CIRL算法只能够应用在合作多Agent系统,并只在某些环境中优于单agent强化学习。而每个agent拥有独立的学习机制,并与其他agent交互的强化学习算法称之为交互强化学习(Interactive
RL)。不同与单agent强化学习只考虑时间信用分配问题(Temporal credit assignment
problem),交互式强化学习面临的主要问题是结构信用分配问题(Structural credit assignment
problem),即整个系统获得的奖赏如何分配到每个agent的行为上,典型算法包括ACE和AGE等[Ger99]。
但Weiss关于多agent强化学习的讨论并不能覆盖当前多agent强化学习大部分研究内容。事实上,在多agent强化学习中存在两种角度的研究方法。一是从机器学习角度着手;另一种是从多agent系统角度分析。在表6中,我们给出三种主要的多agent强化学习技术,然后再进行具体分析。
对于第一种类型的多agent强化学习,我们称之为合作多agent强化学习(Cooperative multiagent
reinforcement
learning)。这种多agent强化学习更多地是强调如何利用分布式强化学习来提高强化学习的学习速度。早在九十年代初,Tan等就指出合作多agent强化学习中相互交互(交换信息)是最有效的方法之一[Tan93]。Tan给出三种主要的实现方法:1)交换每个agent感知的状态信息;2)交换agent学习的经验片段(即经验);3)交换学习过程中的策略或参数等。Luis
Nunes等在2004年又给出第四种方法:4)交换建议[LE03]。所有这些方法相比与单agent强化学习,都能够有效提高学习速度。我们认为合作多agent强化学习的基本思想在于“在agent进行动作选择前,相互交互,产生更新后的值函数,而动作的选择基于新的值函数。”但是,Luis
Nunes等研究人员明确指出合作多agent强化学习的主要问题在于“When, why, how to exchange
information ?”,“A thorough analysis of the conditions in which this
technique is advantageous is still necessary.”
为了回答这个问题,并理论分析多agent强化学习中的交互作用,研究者借助于对策论(博弈论,game
theory)数学工具对多agent强化学习进行进一步分析。在对策模型中,每个agent获得的瞬时奖惩不仅仅取决于自身的动作,同时还依赖于其他agent的动作。因此可以将多agent强化学习系统中每个离散状态s形式化为一个对策g。那么强化学习的马尔可夫决策模型扩展为多agent系统的马尔可夫对策模型。我们称这种形式的多agent强化学习为基于对策多agent强化学习(Game-based
multiagent reinforcement
learning)或基于平衡解多agent强化学习(Equilibrium-based multiagent
reinforcement learning)。
下面首先给出马尔可夫对策模型的形式定义。
马尔可夫对策在n个agent的系统中,定义离散的状态集S(即对策集合G),agent动作集Ai的集合A,联合奖赏函数Ri:S&A1&…&An→ℛ和状态转移函数P:S&A1&…&An→PD(S)。每个agent目标都是最大化期望折扣奖赏和。
多agent对策模型基本上可以分为零和对策和广义和对策两种。前者中,强调在系统的任何状态下,多个agent从环境中获得的奖赏总和为0;而在广义和对策中,则没有此要求。下图以两agent为例,图9(a)给出“剪刀-石头-布”游戏的零和对策模型,图9(b)给出“囚犯两难”的广义和对策模型。
由于agent A的奖赏值取决于agent
B的动作,因此传统单agent强化学习算法在零和对策的强化学习中不适用。解决这一问题最简单的方法是采用极小极大Q算法:在每个状态s,对于agent
A其最优策略为agent B选择最坏动作情况下,agent
A选择奖赏最大的动作[Lit94]。因此定义零和对策多agent强化学习的值函数为:
显然如果将马尔可夫对策中每个状态都形式化为如图9(a)的零和对策模型,那么极小极大Q算法可以发现最优的策略。但对于图9(b)的非零和对策模型,如果采用极小极大算法求解,其最优解为(对抗,对抗),奖赏为(-9,-9);而显然囚犯两难问题的最优解为(合作,合作),奖赏为(-1,-1)。因此在非零和马尔可夫对策模型中,用极小极大Q算法得不到最优解。其原因在于非零和对策模型更能反应多agent系统中个体理性(individual
rationality)与集体理性(group rationality)冲突的本质。
Hu等借助于对策理论中的Nash均衡解概念,设计Nash-Q学习算法求解非零和马尔可夫对策中的最优策略[HW98]。基于Hu的方法,Littman等同时考虑零和和非零和两种对策模型,提出Friend-and-Foe-Q学习算法[Lit01];而Greenwald等引进相关均衡解,设计CE-Q算法来综合Nash-Q学习算法和Friend-and-Foe-Q学习算法[GHS03]。在所有基于平衡解的多agent强化学习算法中,算法必须满足两个性质——“理性”和“收敛性”。前者说明当其他agent采用固定策略时,基于平衡解的强化学习算法应能够收敛到“最优反应策略”(Best-response
policy);而后者强调当所有agent都采用基于平衡解的强化学习算法时,算法必然收敛到稳定策略,而不能出现振荡现象。同样我们认为:所有基于平衡解多agent强化学习的基本思想在于“在agent进行动作选择时,选择动作不再仅仅依赖自身的值函数,而必须同时考虑其他agent的值函数,选择的动作是在当前所有agent值函数下的某种平衡解”。
不同于基于平衡解的多agent强化学习算法,最佳响应多agent强化学习(Best-response multiagent
reinforcement
learning)着重研究无论其他agent采用何种策略,算法如何获得最优策略。算法设计的两个主要准则是收敛准则和不遗憾准则。收敛准则与基于平衡解的多agent强化学习算法是一致的。而不遗憾准则是指:当对手策略稳定的情况下,采用最佳响应学习算法策略的agent所获得的奖赏要大于等于采用任意纯策略所获得的奖赏。
最佳响应多agent强化学习的基本思路是对对手策略进行建模或者是对自身策略进行优化。目前有三种主要的方法:PHC(Policy
Climbing)算法根据自身的策略历史进行策略的更新,以最大化获得的奖赏[CK01];第二种方法是根据对对手策略的观察,来优化自身策略[CB98];而第三种方法通过梯度上升法来调整每个agent的策略,以增大其期望奖赏值。典型的算法有IGA及其变种GIGA、WoLF和GIGA-WoLF等[Bow04]。我们认为:最佳响应多agent强化学习的基本思想在于“在agent进行动作选择时,选择动作不仅仅依赖自身的值函数,而必须同时考虑自身历史的策略和其他agent策略的估计”。
在目前多agent强化学习研究中,三种类型的多agent强化学习是独立发展的。目前研究中,一方面将继续发展满足各自不同应用需求的算法(如加速收敛、或理性、或不遗憾性等);另一方面,也将研究不同类型多agent强化学习算法之间的关系,希望能够形成一种统一的框架。
本章综述了强化学习技术基本原理和目前主要研究方向。尽管在过去的二十年中,强化学习技术研究取得了突破性进展,但目前仍然存在许多有待解决的问题。我们认为,在今后的若干年中,除了本章所讨论的研究方向外,以下方面也将成为强化学习研究的重要研究内容。
强化学习与其他学习技术相结合的研究。众所周知,强化学习的一个主要缺点是收敛慢。其根本原因在于学习过程仅仅从经验获得的奖赏中进行策略的改进,而忽略了大量其他有用的领域信息。因此,如何结合其他机器学习技术,如神经网络、符号学习等技术,来帮助系统加快学习速度是强化学习研究和应用的重要方向。目前,结合技术研究的主要难点在于:如何从理论上证明和保证学习算法的收敛性。
非马氏决策过程中的新型强化学习算法研究。经典的马氏决策模型是相当简单的,除了本章讨论的部分感知、连续状态、半马氏决策过程等模型外,在实际应用中还存在大量更加复杂的模型。例如,在图象的马尔可夫随机场模型中,状态的迁移是由历史多个相邻状态决定。因此,在更复杂马氏决策模型中发展有效的强化学习算法也将是未来重要的研究方向之一。
强化学习应用研究。目前,强化学习的应用主要可以分为四类:制造过程控制、各种任务调度、机器人设计和游戏。另外,强化学习在学习分类器(Learning
Classifier System)中的应用也逐渐成为研究的热点。从当前看来,强化学习的应用逐步向一些新的机器学习任务上拓展,如Web
Log Mining、Web
Crawling、Classification等等。因此,如何在新应用上快速、有效地部署和应用强化学习技术也是放在研究人员面前的挑战之一。
但是我们相信,在研究者的努力和实际应用的需求的带动下,强化学习技术必将取得更大的发展、发挥更大的作用。
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。

我要回帖

更多关于 强化学习 简单算例 的文章

 

随机推荐