专利名称:面向复杂系统中的maxq任务图结构的自动发现方法
技术领域:
本发明涉及利用计算机解决复杂系统中大规模任务下的分层强化学习的自动分层的方法。
背景技术:
目前尚未发现利用计算机通过结合聚类方法对解决大规模任务下的MAXQ自动分层问题。虽然已有一些方法可以解决分层强化学习的分层问题,诸如瓶颈和路标状态法、 共用子空间法、多维状态法和马氏空间法等,这些方法与本发明有着一定的联系,即都是分层强化学习的自动分层领域的问题。但是具体解决的是完全不同的问题,之前的方法大都是基于Option,或是Q-Iearning等方法,而本人的发明是基于MAXQ方法的分层强化学习。在各种典型的分层强化学习方法中任务分解和问题表达方式有所不同,但其本质可归结为对马尔科夫决策过程(MDP :Markov Decision Process)划分并抽象出子MDP系列以及在不同层次分别进行学习的模式。微观上,子MDP在各自所处的局部状态空间中学习其内部策略,属MDP;宏观上,将每个子MDP视为一个抽象动作在抽象状态空间中学习最优策略,属半马尔可夫决策过程(SMDP :Semi-Markov Decision Process),各子MDP所处的局部状态空间和抽象后的状态空间维数或规模均低于原MDP状态空间。这种抽象概念的引入,自然导致了强化学习系统的分层控制结构,抽象方法和抽象程度不同,层次结构也随之不同。Option框架下,允许执行时态拓展动作,显著改变了 Agent的学习效率,缩短了强化学习系统中常见的摆动期,Option的设计可以利用先验知识,加速了从学习到相关任务的转移,不过在未知环境中利用先验知识设计Option内部策略是非常困难的。HAM通过限定待学习策略类型简化了 MDP,从而提高了强化学习系统的学习效率,由于随机有限状态机的状态转移只需依据部分状态即可确定,所以HAM可以应用到环境部分可观测领域。而 MAXQ不直接将问题简化为单个SMDP,而是建立可以同时学习的分层SMDP,MAXQ采用的是让人更易理解的分层学习框架而不是子任务策略,它既包含时态抽象又包含状态抽象,它的特点是子任务与上下文无关,因此,每个子任务都可以用一个SMDP进行建模并且可以并发学习。在标准强化学习收敛条件下,Option, HAM可收敛到最优策略解,MAXQ收敛到递归最优解。MA)(Q方法用任务图可以清楚地表达任务的分层结构,而且该方法在线学习能力强,但 MAXQ自动分层能力较弱,且经常存在状态空间依然很大的子任务无法继续划分。
发明内容
本发明的目的是提供一种让计算机以类似于人的方式(类似)对分层强化学习的层次结构进行感知,可以达到与人类似的水平。而且本发明利用学习感知到的各种信息建立聚类模型可以达到更高的精度。本发明提出一种新的解决方法——采用基于动作执行效果的聚类方法 DMEA(Clustering Method by the Effect of Action)的面向复杂系统中的MAXQ任务图结构的自动发现方法,该方法通过搜集动作影响的状态变量,分析动作的执行对系统状态的影响,从而抽象出聚类对象,通过执行聚类算法实现MAMH壬务图的自动构造。在对该方法具体步骤进行描述之前,首先给出相关定义(I)MDP由四元组(S,A,R,P)定义,包含一个环境状态集S,系统动作集合A,报酬函数R :S函A — R和状态转移概率P =S转移概率环境状。强化学习的模型图如
图1所示;(2)MAXQ方法将MDP任务分解为子任务集M = {M0, M1,…,Mj以及将策略π分解为策略集合!>。,^,…,η J,其中,Jii是Mi的策略;(3)子任务形成以M0为根节点的分层结构,称为任务图(Task Graph),解决了 M0 也就解决了 M,要解决Mtl所采取的动作或者是执行基本动作或者是执行其它子任务,如此依次调用。本发明的技术方案如下一种面向复杂系统中的MAXQ任务图结构的自动发现方法,强化学习模型是如下假设Agent与环境的交互发生在一系列的离散时刻t = 0,1,2,…;在每个时刻t, Agent通过观察环境得到状态si e S ;Agent按策略π选择探索动作at e A并执行;在下一时刻t+1,Agent收到环境给与的强化信号即报酬值rt+1 e R,并达到新状态st+1 e S ; 根据强化信号rt+1,Agent改进策略π ;强化学习的最终目标是寻找到一个最优策略Z = argm严『㈡,Vs使得Agent获
9
得的状态值即该状态所获得的总报酬^(幻最大或最小,其中Y为报酬折扣因子,所述 νπ(》= Σ:。Α,0< Y ( 1 ;由于环境的状态转移具有随机性,因此,在策略η的作用下,
状态St的值= η + r^sP(S'+l ‘其中P (st+11 st, at)为环境的状态转移概
9
率;本自动发现方法的步骤包括(1)首先采用Q-Iearning探索环境,搜集动作影响的状态变量;(2)调用基于动作执行效果的聚类算法,这种策略是以数据对象作为原子类,然后将这些原子类进行聚合;逐步聚合成越来越大的类,直到满足终止条件;凝聚算法的过程为在初始时,每一个成员都组成一个单独的簇,在以后的迭代过程中,再把那些相互邻近的簇合并成一个簇,直到所有的成员组成一个簇为止。其时间和空间复杂性均为0(n2);通过凝聚式的方法将两簇合并后,无法再将其分离到之前的状态;(3)得出分层任务图。所述聚类算法的编程实现步骤如下输入训练集Xk ⑴={[Sk,ai; Sk,],Att}输出C1初始化模型参数向量Ck ;2i — 03repeat4(Ck, Ch) < -FindO ;5//返回系统中任意两个聚类间的距离D(Ci,Cj)最小的两个聚类
5
6 (Ck, Ch) < -(Ci, Cj);7Ci = Ci U Cj8Delete(Cj);9until存在一个以上的聚类;IOend ;其中
权利要求
1.一种面向复杂系统中的MA)(Q任务图结构的自动发现方法,强化学习模型是如下 假设Agent与环境的交互发生在一系列的离散时刻t = 0,1,2,…;在每个时刻t,Agent通过观察环境得到状态si e S ;Agent按策略π选择探索动作at e A并执行;在下一时刻t+1,Agent收到环境给与的强化信号即报酬值rt+1 e R,并达到新状态st+1 e S ; 根据强化信号rt+1,Agent改进策略π ;强化学习的最终目标是寻找到一个最优策略
2.根据权利要求1所述的面向复杂系统中的MA)(Q任务图结构的自动发现方法,其特征是首先采用Q-Iearning探索环境,搜集动作影响的状态变量,搜集的信息包括状态Si 在执行动作%后状态Si中状态变量的改变;状态Si在执行动作%后指向的下一个状态Si,, 将Si- > Bi- > S/这一执行序列记录下来;将获取的信息表示为)(k(i) = {[Sk, Bi, Sk’ ],Att},其中Att记录了状态&在执行动作 后状态&中状态变量的改变情况,[Sk,a,, Sk']则是记录状态&在执行动作 后指向的下一个状态Sk’这一动作;根据MDP已知有η个动作,ρ个状态,每个动作都可以作用在P个不同的系统状态上,那么将MDP问题映射到聚类模型中,就是已知η个数据对象,也就是聚类对象,每个对象都有P个实数的测量值; 表示第i个对象的观测向量的方法如下X⑴=(X1(I)jX2(I),,&(1)},1<=1<=11,其中父(1)表示第1个对象的观测向量集合,也就是第i个动作%作用在P个不同状态上的观测集合,该集合里的每一个元素表示动作%作用在某个状态上的观测向量;用d(i,j)表示两个数据对象之间的相异性,并满足以下三个条件的不相似尺度 对于所有的i和j,d(i,j),并且当且仅当i = j时d(i,j) = 0 ; 对于所有的i和j,d(i,j) = d(j, i); 对于所有的 i,j 和 k,d(i,j) <= d(i,k)+d(k,j); 那么对象之间的欧式距离Euclidean distance被定义为
全文摘要
一种面向复杂系统中的MAXQ任务图结构的自动发现方法,步骤包括首先采用Q-learning探索环境,搜集动作影响的状态变量;然后调用基于动作执行效果的聚类算法,这种策略是以数据对象作为原子类,然后将这些原子类进行聚合;逐步聚合成越来越大的类,直到满足终止条件;凝聚算法的过程为在初始时,每一个成员都组成一个单独的簇,在以后的迭代过程中,再把那些相互邻近的簇合并成一个簇,直到所有的成员组成一个簇为止。其时间和空间复杂性均为O(n2);通过凝聚式的方法将两簇合并后,无法再将其分离到之前的状态;(3)得出分层任务图。本方法用学习感知到的各种信息建立聚类模型,通过聚类自动构造出MAXQ的任务图,最终实现MAXQ的自动分层。
文档编号G06F15/18GK102521202SQ20111036759
公开日2012年6月27日 申请日期2011年11月18日 优先权日2011年11月18日
发明者李文雅, 王红兵 申请人:东南大学