CN114536319A - 用于借助于强化学习来训练控制策略的设备和方法 - Google Patents
用于借助于强化学习来训练控制策略的设备和方法 Download PDFInfo
- Publication number
- CN114536319A CN114536319A CN202111333359.7A CN202111333359A CN114536319A CN 114536319 A CN114536319 A CN 114536319A CN 202111333359 A CN202111333359 A CN 202111333359A CN 114536319 A CN114536319 A CN 114536319A
- Authority
- CN
- China
- Prior art keywords
- states
- state
- action
- sequence
- answer set
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 52
- 238000011217 control strategy Methods 0.000 title claims abstract description 38
- 238000012549 training Methods 0.000 title claims abstract description 35
- 230000002787 reinforcement Effects 0.000 title claims abstract description 34
- 230000009471 action Effects 0.000 claims abstract description 78
- 230000000875 corresponding effect Effects 0.000 claims description 15
- 230000001276 controlling effect Effects 0.000 claims description 6
- 238000004590 computer program Methods 0.000 claims description 3
- 238000003860 storage Methods 0.000 claims description 2
- 239000003795 chemical substances by application Substances 0.000 description 48
- 230000006870 function Effects 0.000 description 15
- 230000006399 behavior Effects 0.000 description 7
- 230000003993 interaction Effects 0.000 description 6
- 238000005457 optimization Methods 0.000 description 6
- 230000008569 process Effects 0.000 description 5
- 239000012636 effector Substances 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 230000003111 delayed effect Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000003121 nonmonotonic effect Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 235000008733 Citrus aurantifolia Nutrition 0.000 description 1
- 240000006909 Tilia x europaea Species 0.000 description 1
- 235000011941 Tilia x europaea Nutrition 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000006073 displacement reaction Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 239000004571 lime Substances 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000010422 painting Methods 0.000 description 1
- 230000010399 physical interaction Effects 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 230000002035 prolonged effect Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 238000001931 thermography Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 238000002604 ultrasonography Methods 0.000 description 1
- 238000003466 welding Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B15/00—Systems controlled by a computer
- G05B15/02—Systems controlled by a computer electric
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J13/00—Controls for manipulators
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1628—Programme controls characterised by the control loop
- B25J9/163—Programme controls characterised by the control loop learning, adaptive, model based, rule based expert control
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1656—Programme controls characterised by programming, planning systems for manipulators
- B25J9/1664—Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/217—Validation; Performance evaluation; Active pattern learning techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/24765—Rule-based classification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/04—Inference or reasoning models
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N7/00—Computing arrangements based on specific mathematical models
- G06N7/01—Probabilistic graphical models, e.g. probabilistic networks
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/33—Director till display
- G05B2219/33056—Reinforcement learning, agent acts, receives reward, emotion, action selective
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Software Systems (AREA)
- Life Sciences & Earth Sciences (AREA)
- Computing Systems (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Mathematical Physics (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Mechanical Engineering (AREA)
- Robotics (AREA)
- Computational Linguistics (AREA)
- Biomedical Technology (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Biophysics (AREA)
- Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Automation & Control Theory (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Optimization (AREA)
- Algebra (AREA)
- Probability & Statistics with Applications (AREA)
- Feedback Control In General (AREA)
- Manipulator (AREA)
Abstract
描述了借助于强化学习来训练控制策略的方法,其具有:执行多次强化学习训练遍历,在每次遍历中,针对代理的状态序列的每个状态从控制遍历的初始状态开始选择所要执行的行动,针对至少有些状态,通过指定计划范围来选择行动,该计划范围指定了状态数目;通过将回答集编程求解器应用于回答集编程程序,确定具有指定的状态数目的从相应状态出发可到达的状态的多个序列,该回答集编程程序对行动与通过这些行动所到达的后续状态之间的关系进行建模;选择在这些序列中提供最大回报的序列,其中由所确定的序列提供的回报是在到达该序列的状态时所获得的奖励的总和;并选择可用来从相应状态出发到达所选序列的第一状态的行动,作为针对相应状态的行动。
Description
技术领域
总的来说,各种实施例涉及一种用于借助于强化学习来训练控制策略的设备和方法。
背景技术
用于像机器人那样的机器的控制设备可以通过所谓的增强学习、英文Reinforcement Learning(RL)来被训练,用于实施特定任务、例如在生产过程中实施特定任务。对任务的实施通常包括选择针对状态序列的每个状态的行动,也就是说可以被视为顺序决策问题。根据通过所选择的行动来到达的状态、尤其是最终状态,这些行动都得到一定回报(英文return),该回报例如根据该行动是否允许到达对其来说给予奖励(例如对于实现该任务的目标来说)的最终状态而得出。
强化学习使代理(例如机器人)能够从经验中学习,其方式是该代理将它的行为调整为使得它随时间所获得的回报最大化。存在简单的基于试错的RL方法,其中该代理不需要关于控制场景的知识,而且如果给其足够的时间,则确保收敛到最优控制策略(英文policy)。然而,在实践中,收敛到最优控制策略可能非常缓慢。在难以找到奖励的控制场景中情况尤其如此。
值得期望的是高效的方法,这些方法能够通过使用关于控制场景的先验知识、例如通过形成模型、例如关于环境的行为的模型来加快学习过程。
发明内容
按照各种实施方式,提供了一种用于借助于强化学习来训练控制策略的方法,该方法具有:执行多次强化学习训练遍历,其中在每次强化学习训练遍历中,针对代理的状态序列的每个状态从控制遍历的初始状态开始选择所要执行的行动,其中针对这些状态中的至少有些状态,通过指定计划范围(Planungshorizont)来选择相应的行动,该计划范围指定了状态数目;通过将回答集编程求解器应用于回答集编程程序,确定具有指定的状态数目的从相应的状态出发可到达的状态的多个序列,该回答集编程程序对行动与通过这些行动所到达的后续状态之间的关系进行建模;从所确定的序列中,选择在这些所确定的序列中提供最大回报的序列,其中由所确定的序列提供的回报是在到达该序列的状态时所获得的奖励的总和;并且选择可用来从相应的状态出发到达所选择的序列的第一状态的行动,作为针对该相应的状态的行动。
按照另一实施例,提供了一种控制设备,该控制设备被设立为实施上述方法或按照上述方法所训练的控制策略来控制机器人装置。
与没有计划组件的RL方法相比,上述方法和控制设备能够实现:即使计划范围仅相对小(例如仅指定了指定数目少的状态,例如2到10个之间的状态),也显著提高训练的速度。由此,RL方法可以尤其在实践中使用,例如在其中机器人装置在运行时必须学习(例如在与不断变化的条件、诸如地形的实时适配的情况下)的场景中使用。由于计划范围的限制,不需要计划组件(由回答集编程求解器实现)找到最终状态(也就是说训练遍历结束的状态),这对于有些控制场景来说也难以实现或者无法实现。相反,重复(在训练遍历期间多次)使用具有比较小的计划范围(例如至少对于该训练遍历的初始状态来说不足以到达最终状态的计划范围)的计划组件,直至最终到达最终状态为止。
该方法可以与任何离策略(Off-Policy)-RL方法一起使用,其中保留离策略-RL方法的如收敛和最优控制策略那样的特性,但是通过使用先验知识(该先验知识通过回答集编程程序并且借此作为模型被引入)并且进行计划来使学习加快。(基于模型的)计划组件引导探索,但是该代理从真实的(例如通过传感器数据所确定的)经验中学习。由此,保留关于环境的细节的信息,这些信息未被模型(该模型以回答集编程程序的形式存在)反映出来。这允许使用简化或者过度乐观(überoptimistisch)的模型。
在下文说明了各种实施例。
实施例1是上述用于借助于强化学习来训练控制策略的方法。
实施例2是根据实施例1所述的方法,其中针对在强化学习训练遍历中所到达的状态,检查该状态在所述多次强化学习训练遍历中是否是第一次到达的,而且如果该状态在所述多次强化学习训练遍历中是第一次到达的,则通过确定所述多个序列、选择在所确定的序列中提供最大回报的序列并且选择可用来从该状态出发到达所选择的序列的第一状态的行动来确定该行动。
借此确保了:针对每个状态都使用包含在回答集编程程序中的先验知识。
实施例3是根据实施例2所述的方法,其中针对在所述多次强化学习训练遍历中已经到达的状态,按照到目前为止经训练的控制策略或者随机选择该行动。
如果有状态已经到达了,则相对应地已经一次性地将先验知识加入到对该状态的行动的选择中。通过免于将计划组件用于已经访问过的状态,确保了不会由于使用该计划组件而使训练时长不必要地延长。
实施例4是根据实施例1至3中任一项所述的方法,其中针对这些状态中的至少有些状态,通过指定第一计划范围来选择相应的行动,该第一计划范围指定了第一数目的状态;
通过将回答集编程求解器应用于回答集编程程序,确定具有所述第一数目的状态的从该状态出发可到达的状态的多个序列,该回答集编程程序对行动与通过这些行动所到达的后续状态之间的关系进行建模;而且
如果筹措到指定的供支配的计算预算用来确定针对相应的状态的行动,则从具有该第一数目的状态的所确定的序列中选择在这些所确定的序列中提供最大回报的序列,并且选择可用来从该相应的状态出发到达所选择的序列的第一状态的行动,作为针对该相应的状态的行动;而且
如果尚未筹措到指定的供支配的计算预算用来确定针对该相应的状态的行动,则指定第二计划范围,该第二计划范围指定了第二数目的状态,其中状态的第二数目大于状态的第一数目;通过将回答集编程求解器应用于回答集编程程序,确定具有该第二数目的状态的从该状态出发可到达的状态的多个序列,该回答集编程程序对行动与通过这些行动所到达的后续状态之间的关系进行建模;从具有该第二数目的状态的所确定的序列中选择在这些所确定的序列中提供最大回报的序列;并且选择可用来从该相应的状态出发到达所选择的序列的第一状态的行动,作为针对该相应的状态的行动。
以这种方式,可以调节为了进行计划所投入的计算花费。尤其是,该RL方法可以通过适当地指定计算预算来与给定的时间限制(例如在运行期间学习的情况下)适配。该计算预算例如是时间预算或者算术运算的预算。
实施例5是根据实施例1至4中任一项所述的方法,其中回答集编程求解器支持多重求解,而且其中借助于该回答集编程求解器通过多重求解来为在强化学习训练遍历中连续的状态确定所述多个序列。
使用多重求解减少了对于该计划组件来说所需的计算和时间花费。
实施例6是一种控制方法,该控制方法具有:基于根据实施例1至5中任一项所训练的控制策略来控制机器人装置。
实施例7是一种控制设备,该控制设备被设立为实施根据实施例1至6中任一项所述的方法。
实施例8是一种计算机程序,其具有程序指令,当这些程序指令由一个或多个处理器来实施时,这些程序指令使所述一个或多个处理器执行根据实施例1至6中任一项所述的方法。
实施例9是一种计算机可读存储介质,在其上存储有程序指令,当这些程序指令由一个或多个处理器来实施时,这些程序指令使所述一个或多个处理器执行根据实施例1至6中任一项所述的方法。
附图说明
本发明的实施例在附图中被示出并且在下文更详细地予以阐述。在附图中,相同的附图标记在多个视图中各处通常都涉及相同的部分。这些附图不一定比例正确,其中重点反而通常在于呈现本发明的原理。
图1示出了机器人装置。
图2阐明了进行学习的代理与其控制环境之间的交互,其中该代理使用按照本发明的实施方式的计划组件。
图3示出了阐明用于借助于强化学习来训练控制策略的方法的流程图。
具体实施方式
各种实施方式、尤其是下文描述的实施例可以借助于一个或多个电路来被实现。在一个实施方式中,“电路”可以被理解成任何类型的逻辑实现实体,该逻辑实现实体可以是硬件、软件、固件或它们的组合。因而,在一个实施方式中,“电路”可以是硬接线逻辑电路或可编程逻辑电路,诸如可编程处理器、例如微处理器。“电路”也可以是由处理器实现或实施的软件、例如任何类型的计算机程序。根据一个替选的实施方式,相应的功能的任何其它类型的实现方案都可以被理解成“电路”,这些相应的功能在下文更详细地予以描述。
图1示出了机器人装置100。
机器人装置100具有机器人101,例如用于操作或安装工件或者一个或多个其它对象114的工业机器人臂。机器人101具有操纵器102、103、104和基座(例如托座)105,该基座承载这些操纵器102、103、104。术语“操纵器”涉及机器人101的可移动部分,对这些可移动部分的操纵能够实现与环境的物理交互,例如用于执行任务。为了控制该机器人,机器人装置100包含(机器人)控制设备106,该(机器人)控制设备被配置为使得该(机器人)控制设备根据控制程序来实现与环境(英文environment)的交互。操纵器102、103、104的最后一个链节104(离托座105最远)也被称为末端执行器104,并且可包含一个或多个工具,如焊炬、抓具、喷漆装置等等。
其它操纵器102、103(更靠近基座105)可形成定位装置,使得在其端部具有末端执行器104的机器人101与末端执行器104一起被提供。机器人101是机械臂,该机械臂可以完成与人类手臂类似的功能(可能利用在其端部处的工具)。
机器人101可包含链节元件107、108、109,这些链节元件使操纵器102、103、104彼此连接并且与托座105连接。链节元件107、108、109可具有一个或多个链节,所述一个或多个链节中的每个链节都可以实现所属的操纵器相对于彼此的旋转运动(也就是说转动运动)和/或平移运动(也就是说位移)。操纵器102、103、104的运动可以借助于执行器来被引起,这些执行器由控制设备106来控制。
术语“执行器”可以被理解成如下组件,该组件被设立为使得该组件响应于操控来影响机制或过程。该执行器可以将由控制设备106输出的命令(所谓的激活)转化成机械运动。该执行器、例如机电转换器可以被配置为使得该执行器响应于该操控将电能转换成机械能。
机器人101可具有传感器113(例如一个或多个摄像机、位置传感器等等),这些传感器被设立为:确定机器人和一个或多个被操纵的对象114(也就是说环境,英文environment)的状态,如该状态从对执行器的操控和机器人的所产生的运动中得出的那样。
在当前示例中,控制设备106具有存储器111和一个或多个处理器110,该存储器存储程序代码和数据,处理器110基于这些程序代码和数据来控制机器人101。根据各种实施方式,控制设备106根据由控制装置实现的控制策略112来控制机器人101。
生成控制策略的途径是强化学习,英文Reinforcement Learning(RL)。强化学习的特点在于试错搜索和延迟奖励。不同于需要标记(英文labels)来进行训练的神经网络的监督学习,RL使用试错机制,以便学习状态到行动的分配,使得被称为回报(英文return)的强化信号被最大化。通过试错,在RL的情况下试图找到(最终)引起更高奖励的行动,其方式是对这些行动进行试验。然而,找到良好的控制策略可能需要很多时间。
按照各种实施方式,通过提供计划组件来使强化学习加快,该计划组件包含受控系统(例如机器人和该机器人影响的或者影响该机器人的环境)的模型,以便向代理推荐有希望的行动。
在此,能看到主要挑战在于:对于计划所需的附加的计算资源必须与由于将该代理引导到奖励更高的状态所得到的优势仔细权衡。
按照不同实施方式,借助于回答集编程(ASP,英文answer set programming)来实现该计划组件(以及尤其是该模型)。回答集编程是一种声明性问题求解方案,该声明性问题求解方案将用于描述给定问题的候选解的搜索空间的高级建模语言与用于高效计算这种解的高效求解器相结合。
回答集编程拥有简单的、但是有效力的建模语言,用于以紧凑的方式来描述受控系统。该建模语言包含允许对奖励进行优化的优化函数。接着,可以借助于相应的优化语句来表达对在给定的计划范围内赢得最大奖励的计划(也就是说状态的序列或相对应的行动)的搜索。
可以使用回答集编程求解器(英文ASP solver)作为求解器,以便在给定的计划范围内搜索最优计划。当这些问题难以解决并且包含很多限制时,回答集编程求解器特别合适。此外,控制策略还可以被设计为使得可以使用多重求解(英文multi-shot solving),以便只要有可能就重新使用计算并且这样来提高计算速度。
为了描述借助于回答集编程对计划组件的实现,在下文介绍所使用的强化学习(RL,英文reinforcement learning)的术语。
在强化学习中,在代理与环境(例如机器人的与机器人的行动进行交互并且影响机器人在特定行动的情况下来到怎样的状态的环境)之间的交互被形式化成马尔可夫决策过程(MDP,英文Markov decision process)。MDP具有状态的有限集合。对于每个状态来说,是代理在该状态下可以采取的行动的有限集合。如果代理在时间处于状态并且实施行动,则该代理在下一时间点来到状态,并且获得来自数值奖励的有限集合中的奖励(例如机器人在它将对象移动到了所希望的位置时获得奖励)。代理-环境交互的在状态开始的轨迹具有如下形式:
该交互的动态通过函数
控制策略(例如控制方针)说明了在特定状态下选择怎样的行动。该代理的目标在于:基于经验来改善该代理的控制策略,使得该代理在任何给定的状态下都使它的预期的贴现回报(英文discounted return)
可以通过学习价值估计函数来改善控制策略。该价值估计函数是状态或状态-行动对到预期回报的映射。该价值估计函数(或者也只称“价值函数”)按照代理与环境的交互来被更新。在强化学习方面的核心问题在于在对(未研究过的)行动的探索与使用(利用)已经被学习到的东西之间的权衡。当代理遵循更具探索性的控制策略以便改善其当前的目标控制策略(该目标控制策略最终应该成为最优)时,方法被称为离策略方法。控制策略也被称为行为控制策略。
离策略方法的示例是Q学习(Q-Learning)。在该Q学习的情况下,该代理学习价值估计函数,该价值估计函数将状态-行动对映射到预期的贴现回报上。目标控制策略是一种与相关的贪婪控制策略。如果代理处于状态,则该代理按照行为控制策略来选择行动。在该代理观察到(例如根据传感器数据确定了)为此所获得的奖励和通过该奖励所到达的状态之后,该代理按如下地更新它的Q函数:
Q-learning的缺点在于:Q值总是只针对一个状态-行动对被更新。如果在某个时间点获得高奖励,则也许可能持续多次迭代(也就是说尤其是按照上述公式对Q估计函数的多次更新),直至Q估计函数的相对应的更新在初始状态变得明显为止。为了避免这一点,按照各种实施方式,使更新延迟,直至观察到高奖励为止,并且接着以所观察到的奖励的相反顺序来应用Q函数更新,以便将高估计(也就是说Q估计函数的针对某些状态的高的值)高效地传播回初始状态。
回答集编程是一种扎根于知识表示、非单调推理、逻辑编程和演绎数据库的声明式问题求解方案。回答集编程求解器使用SAT(可满足性(Satisfiability))求解器和SMT(可满足性模块化理论(Satisfiability Modular Theories))求解器的思路,然而实现非单调语义,该非单调语义能够根据新信息来得出结论。按照各种实施方式,为了实现计划组件,首先在使用回答集编程求解器的输入语言的情况下对问题求解的特性(例如行动和由此到达的状态)进行建模。接着,使用回答集编程求解器,以便计算模型的回答集,这些回答集进而对应于初始问题的解。回答集编程的工作能力一方面基于富有表现力的、但是简单的建模语言而另一方面基于性能卓越的回答集编程求解器。
回答集编程本质上是一种命题形式主义,而且对于大多数回答集编程求解器来说,在输入语言中的变量在称为基础(Grounding)的预处理步骤中用常量符号来被替换。除了变量之外,常用的回答集编程求解器的输入语言的特征是完整性约束、用于表达信息缺乏的标准否定、用于表达不确定性的选择规则和选言推理、聚合、算术、被解释和未被解释的函数符号、弱条件和优化说明。
回答集编程程序是一组规则,其中规则具有如下形式:
p,....,q :- r,...,s, not t,..., not u。
规则的头部是在蕴涵符号:-之前的所有原子,而身体是在该符号:-之后的所有原子。
该规则的直观含义是:如果所有原子r,....,s都可以被推导出并且不存在对原子t,...,u中的任何一个原子的证据,则p,...,q中的至少一个必须为真。解释是原子的集合。解释是程序的回答集,如果该回答集满足特定的固定点条件,则该固定点条件确保了该程序的所有规则都以最小且一致的方式被满足。程序可以没有回答集,可以有一个回答集或者可以有超过一个回答集。
身体为空的规则称为事实。在事实的情况下,蕴涵符号通常被省略。事实被用于表达无条件为真的知识。头部为空的规则是条件:
:- r,...., s, not t,..., not u
条件表示:其身体无法被任何回答集满足。条件被用于阻断不想要的解候选。
如下规则是选择规则:
{ p,...,q } :- r,....,s, not t,..., not u
该选择规则表示:如果规则的主要部分被满足,则p,...,q的子集也必须为真。
为了阐明,作为示例而假设机器人可以在任何时间点推门。推门的结果是:门在下一个时间步长打开。相对应的程序例如是:
{ 推(T) } :- 时间步长(T), 关闭(T)。
打开(T+1) :- 时间步长(T), 推(T)。
关闭(T+1) :- 时间步长(T), 关闭(T), 未打开(T+1)。
打开(T+1) :- 时间步长(T), 打开(T), 未关闭(T+1)。
第一条规则表示如下选择:要么只要门关闭就推门,要么什么也不做。第二条规则表示推门的效果,即门随后打开。最后两条规则是框架公理,所述框架公理表示:如果不存在相反的证据,则门的状态保持不变。
作为示例场景,考虑存在唯一的时间步长并且门初始关闭,也就是说
时间步长(1)。
关闭(1)。
程序的回答集是
{ 时间步长(1) 关闭(1) 推(1) 打开(2) }
和
{ 时间步长(1) 关闭(1) 关闭(2) }
这些回答集中的每个回答集都对应于可能的世界,在该可能的世界中,代理要么推开门要么什么也不做。
图2阐明了进行学习的代理201与控制环境202之间的交互,其中该代理使用具有回答集编程求解器203和环境模型204的基于回答集编程的计划组件208来选择行动。
环境模型204是回答集编程程序,该回答集编程程序对环境(代理与该环境进行交互)进行建模。该环境模型尤其是对该代理在实施某些行动时来到哪些状态进行建模。参数说明了计划范围、也就是说行动的最大数目。对于给定的状态来说,程序的回答集(具有作为事实)对应于代理的按照模型204从具有最多个行动和所属的奖励的出发的轨迹。按照一个实施方式,说明了一种用于使回报最大化的优化标准,而且回答集编程求解器203只输出满足该优化标准的一个或多个回答集,即例如在计划范围内具有最高回报的轨迹。
MDP包含概率分布,而模型204确定性地(但是乐观地)或者非确定性地对奖励和状态转换进行建模。在回答集编程中,借助于正整数或负整数对奖励进行建模。
按照一个实施方式,不考虑贴现,因为有限的计划范围确保了回报无法趋于无穷。然而,应该注意的是:尽管如此,当评估代理的工作能力时,仍可以使用贴现。
在下文,说明了与其中机器人可以打开门的上述示例匹配的环境模型204的示例。
时间步长(1..h)。
{ 推(T) } :- 时间步长(T), 关闭(T)。
打开(T+1) :- 时间步长(T), 推(T)。
关闭(T+1) :- 时间步长(T), 关闭(T), 未打开(T+1)。
打开(T+1) :- 时间步长(T), 打开(T), 未关闭(T+1)。
奖励(T,-1) :- 推 (T-1)。
奖励(T,10) :- 打开(T)。
#最大化 { R,T : 奖励(T,R) }。
第一行限定了计划范围,其中是常数,该常数例如由代理在回答集编程求解器203启动之前设置。在最后三行中对奖励进行建模:每个推行动都通过为-1的负奖励来被惩罚。然而,代理在门打开的每个状态下都得到为10的奖励。直观上清楚的是:代理会尽快推开门,以使回报最大化。
{ 时间步长(1) 时间步长(2) 时间步长(3) 关闭(1) 打开(2) 打开(3) 打开(4)推 (1) 奖励(2,-1) 奖励(2,10) 奖励(3,10) 奖励(4,10) }。
这对应于其中代理在第一状态下推门并且然后不再实施行动的轨迹。
现在,代理201的行为控制策略例如如下。假设代理观察到状态(也就是说观察到它处于状态)。如果该代理第一次(在学习时)看到该状态,则该代理借助于回答集编程求解器来计算集合,并且该代理从集合中选择第一个行动(也就是说时间步长为1的行动),作为针对该状态的行动。如果该代理已经访问过该状态一次或者回答集编程求解器没有输出在针对该状态的可用行动的集合中的行动,则该代理从中以概率ε来选择随机行动并且以概率(1 - ε)来遵循该代理的目标控制策略(如同该目标控制策略在当前训练水平被训练一样)。除了模型、所使用的回答集编程求解器203和诸如计算时间限制那样的回答集编程求解器参数之外,计划范围和随机探索率ε都是学习参数。
如果代理201在205实施行动,则该代理在此从环境202获得奖励206并且观察到所到达的后续状态207。从初始状态开始,该代理重复该循环,直至相应的RL训练遍历(英文Rollout)结束为止,例如原因在于到达了最终状态或者原因在于达到了行动的最大数目。RL训练通常包含多个这种遍历,直至达到收敛标准为止(例如当Q估计函数的针对一定次数的更新的变化低于阈值时)。
按照上述策略,在学习过程开始时,通常得到类似的回答集编程求解器调用的长序列。如果代理观察到未知状态的序列
则该代理执行回答集编程求解器调用的如下序列:
这意味着:回答集编程求解器203依次对彼此密切相关的问题进行求解。因此,为了减少计划花费,按照一个实施方式,使用多重求解(英文multi-shot solving),一些回答集编程求解器支持这一点,以便保持回答集编程求解器状态,而回答集编程求解器以不断变化的程序来工作。回答集编程求解器调用的上述序列可以被视为具有滑动的计划范围的增量计划问题,其中轨迹的开始是固定的:
替代借助于单独的回答集编程求解器调用,代理201可以从第一回答集编程求解器调用出发通过增量更新来实现该计算序列。借此,可以减少由于计划组件208而形成的计算花费。
概括来说,按照不同实施方式,提供了一种如图3中所阐明的方法。
图3示出了流程图300,该流程图阐明了用于借助于强化学习来训练控制策略的方法。
执行多次强化学习训练遍历301,其中在304中,在每次强化学习训练遍历301中,针对代理的状态序列的每个状态302、303从控制遍历的初始状态302开始选择所要执行的行动。
针对状态302、303中的至少有些状态,通过如下方式来选择相应的行动:
在305中,指定计划范围,该计划范围指定了状态数目;
在306中,通过将回答集编程求解器应用于回答集编程程序,确定具有指定的状态数目的从相应的状态出发可到达的状态的多个序列,该回答集编程程序对行动与通过这些行动所到达的后续状态之间的关系进行建模;
在307中,从所确定的序列中,选择在这些所确定的序列中提供最大回报的序列,其中由所确定的序列提供的回报是在到达该序列的状态时所获得的奖励的总和;
在308中,选择可用来从相应的状态302、303出发到达所选择的序列的第一状态的行动,作为针对该相应的状态302、303的行动。
控制策略例如对应于在上述示例中称为控制策略的内容。
换言之,按照各种实施方式,规定了特殊的行为控制策略,当应该决定所要实施的行动时,该特殊的行为控制策略提供对回答集编程求解器的使用。该方法可以与任何离策略方法一起使用,以便使代理能够使用先验知识,同时保持(原始)离策略方法的鲁棒性。各种实施例的前提条件仅在于:状态可以被表示成对象之间的关系,使得这些状态可以被用作针对计划组件的输入;而且环境的声明性模型事先以所使用的回答集编程求解器的输入语言来被详细规定。
各种实施例所基于的思路可在于:限定行为控制策略,该行为控制策略使代理能够在高奖励稀少的环境中找到高奖励。按照各种实施例,控制策略是随机探索、使用(利用)已经被学习到的条件与在使用(例如高级)环境模型的情况下进行计划的混合。
所学习的控制策略例如是用于机器人装置的控制策略。“机器人装置”可以被理解成任何(具有其运动被控制的机械部分的)物理系统,如计算机控制的机器、车辆、家用电器、电动工具、制造机器、私人助理或门禁系统。
各种实施方式可以接收和使用各种传感器的传感器信号,如视频、雷达、激光雷达(LiDAR)、超声、运动、声音、热成像等等,以便例如获得关于系统状态(机器人和一个或多个对象)以及控制场景的传感器数据。传感器数据可以被处理。这可以包含对传感器数据的分类或者对传感器数据的语义分割的执行,例如以便识别(在其中获得了这些传感器数据的环境中的)对象的存在。实施例可以被用于训练机器学习系统并且自主控制机器人,以便在不同场景下实现不同的操纵任务。尤其是,实施例能应用于控制和监视操纵任务、例如在流水线中的操纵任务的实施。这些实施例例如可以无缝地集成到用于控制过程的传统的GUI中。
按照一个实施方式,该方法是计算机实现的。
尽管本发明主要是在参考特定实施方式的情况下被展示和描述的,但是本领域技术人员应该理解:可以在不脱离本发明的如通过随后的权利要求书限定的精神和保护范围的情况下关于其设计方案和细节进行大量更改。因而,本发明的保护范围通过随附的权利要求书来被确定,而且意图涵盖落入权利要求书的字面含义或等效范围的全部更改。
Claims (9)
1.一种用于借助于强化学习来训练控制策略的方法,所述方法具有:
执行多次强化学习训练遍历,其中在每次强化学习训练遍历中,针对代理的状态序列的每个状态从控制遍历的初始状态开始选择所要执行的行动,其中针对所述状态中的至少有些状态,通过指定计划范围来选择相应的行动,所述计划范围指定了状态数目;
通过将回答集编程求解器应用于回答集编程程序,确定具有指定的状态数目的从相应的状态出发可到达的状态的多个序列,所述回答集编程程序对行动与通过所述行动所到达的后续状态之间的关系进行建模;
从所确定的序列中,选择在所述所确定的序列中提供最大回报的序列,其中由所确定的序列提供的回报是在到达所述序列的状态时所获得的奖励的总和;而且
选择能用来从相应的状态出发到达所选择的序列的第一状态的行动,作为针对所述相应的状态的行动。
2.根据权利要求1所述的方法,其中针对在强化学习训练遍历中所到达的状态,检查所述状态在所述多次强化学习训练遍历中是否是第一次到达的,而且如果所述状态在所述多次强化学习训练遍历中是第一次到达的,则通过确定所述多个序列、选择在所述所确定的序列中提供最大回报的序列并且选择能用来从所述状态出发到达所选择的序列的第一状态的行动来确定所述行动。
3.根据权利要求2所述的方法,其中针对在所述多次强化学习训练遍历中已经到达的状态,按照到目前为止经训练的控制策略或者随机选择所述行动。
4.根据权利要求1至3中任一项所述的方法,其中针对所述状态中的至少有些状态,通过指定第一计划范围来选择相应的行动,所述第一计划范围指定了第一数目的状态;
通过将回答集编程求解器应用于回答集编程程序,确定具有所述第一数目的状态的从所述状态出发可到达的状态的多个序列,所述回答集编程程序对行动与通过所述行动所到达的后续状态之间的关系进行建模;
而且如果筹措到指定的供支配的计算预算用来确定针对相应的状态的行动,则从具有所述第一数目的状态的所确定的序列中选择在所述所确定的序列中提供最大回报的序列,并且选择能用来从所述相应的状态出发到达所选择的序列的第一状态的行动,作为针对所述相应的状态的行动;
而且如果尚未筹措到指定的供支配的计算预算用来确定针对所述相应的状态的行动,则
指定第二计划范围,所述第二计划范围指定了第二数目的状态,其中状态的第二数目大于状态的第一数目,
通过将所述回答集编程求解器应用于回答集编程程序,确定具有所述第二数目的状态的从所述状态出发可到达的状态的多个序列,所述回答集编程程序对行动与通过所述行动所到达的后续状态之间的关系进行建模,
从具有所述第二数目的状态的所确定的序列中选择在所述所确定的序列中提供最大回报的序列,并且
选择能用来从所述相应的状态出发到达所选择的序列的第一状态的行动,作为针对所述相应的状态的行动。
5.根据权利要求1至4中任一项所述的方法,其中所述回答集编程求解器支持多重求解,而且其中借助于所述回答集编程求解器通过多重求解来为在强化学习训练遍历中连续的状态确定所述多个序列。
6.一种控制方法,所述控制方法具有:基于根据权利要求1至5中任一项所训练的控制策略来控制机器人装置。
7.一种控制设备,所述控制设备被设立为实施根据权利要求1至6中任一项所述的方法。
8.一种计算机程序,其具有程序指令,当所述程序指令由一个或多个处理器来实施时,所述程序指令使所述一个或多个处理器执行根据权利要求1至6中任一项所述的方法。
9.一种计算机可读存储介质,在其上存储有程序指令,当所述程序指令由一个或多个处理器来实施时,所述程序指令使所述一个或多个处理器执行根据权利要求1至6中任一项所述的方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102020214177.0 | 2020-11-11 | ||
DE102020214177.0A DE102020214177A1 (de) | 2020-11-11 | 2020-11-11 | Vorrichtung und Verfahren zum Trainieren einer Steuerungsstrategie mittels bestärkendem Lernen |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114536319A true CN114536319A (zh) | 2022-05-27 |
Family
ID=81255983
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111333359.7A Pending CN114536319A (zh) | 2020-11-11 | 2021-11-11 | 用于借助于强化学习来训练控制策略的设备和方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20220146997A1 (zh) |
JP (1) | JP2022077522A (zh) |
CN (1) | CN114536319A (zh) |
DE (1) | DE102020214177A1 (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102022208089A1 (de) | 2022-08-03 | 2024-02-08 | Robert Bosch Gesellschaft mit beschränkter Haftung | Vorrichtung und Verfahren zum Steuern eines Roboters |
CN115657477A (zh) * | 2022-10-13 | 2023-01-31 | 北京理工大学 | 一种基于离线强化学习的动态环境机器人自适应控制方法 |
-
2020
- 2020-11-11 DE DE102020214177.0A patent/DE102020214177A1/de active Pending
-
2021
- 2021-11-04 US US17/453,610 patent/US20220146997A1/en active Pending
- 2021-11-10 JP JP2021183515A patent/JP2022077522A/ja active Pending
- 2021-11-11 CN CN202111333359.7A patent/CN114536319A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
DE102020214177A1 (de) | 2022-05-12 |
US20220146997A1 (en) | 2022-05-12 |
JP2022077522A (ja) | 2022-05-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Pertsch et al. | Accelerating reinforcement learning with learned skill priors | |
Nguyen-Tuong et al. | Model learning for robot control: a survey | |
JP7367233B2 (ja) | 軌道中心モデルに基づく強化学習のロバスト最適化を行うためのシステムおよび方法 | |
Wang et al. | A survey of learning‐based robot motion planning | |
Boney et al. | Regularizing model-based planning with energy-based models | |
CN114536319A (zh) | 用于借助于强化学习来训练控制策略的设备和方法 | |
US11759947B2 (en) | Method for controlling a robot device and robot device controller | |
Widmann et al. | Human motion prediction in human-robot handovers based on dynamic movement primitives | |
CN110716575A (zh) | 基于深度双q网络强化学习的uuv实时避碰规划方法 | |
Sacks et al. | Learning sampling distributions for model predictive control | |
Sacks et al. | Learning to optimize in model predictive control | |
US20220066401A1 (en) | Machine control system | |
Parekh et al. | Learning latent representations to co-adapt to humans | |
Nakawala et al. | Approaches for action sequence representation in robotics: a review | |
Ollington et al. | Incorporating expert advice into reinforcement learning using constructive neural networks | |
Stan et al. | Reinforcement learning for assembly robots: A review | |
Dhonthi et al. | Optimizing demonstrated robot manipulation skills for temporal logic constraints | |
Nawaz et al. | Learning Safe and Stable Motion Plans with Neural Ordinary Differential Equations | |
Sintov et al. | Motion planning with competency-aware transition models for underactuated adaptive hands | |
Çallar et al. | Hybrid learning of time-series inverse dynamics models for locally isotropic robot motion | |
EP3739418A1 (en) | Method of controlling a vehicle and apparatus for controlling a vehicle | |
Le et al. | Model-based Q-learning for humanoid robots | |
Orthey et al. | Optimizing motion primitives to make symbolic models more predictive | |
US20240046126A1 (en) | Method for controlling a technical system | |
Grimes et al. | Learning nonparametric policies by imitation |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |