CN118020079A - 用于模拟用于执行任务的环境的方法和装置 - Google Patents
用于模拟用于执行任务的环境的方法和装置 Download PDFInfo
- Publication number
- CN118020079A CN118020079A CN202180102697.1A CN202180102697A CN118020079A CN 118020079 A CN118020079 A CN 118020079A CN 202180102697 A CN202180102697 A CN 202180102697A CN 118020079 A CN118020079 A CN 118020079A
- Authority
- CN
- China
- Prior art keywords
- data
- state
- state space
- environment
- evolution
- 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 57
- 230000009471 action Effects 0.000 claims abstract description 77
- 238000013528 artificial neural network Methods 0.000 claims abstract description 69
- 230000008569 process Effects 0.000 claims abstract description 19
- 238000012549 training Methods 0.000 claims description 22
- 238000012545 processing Methods 0.000 claims description 13
- 230000001131 transforming effect Effects 0.000 claims description 9
- 230000007613 environmental effect Effects 0.000 abstract description 25
- 230000006870 function Effects 0.000 description 19
- 239000003795 chemical substances by application Substances 0.000 description 17
- 230000002787 reinforcement Effects 0.000 description 14
- 238000012546 transfer Methods 0.000 description 7
- 238000001514 detection method Methods 0.000 description 6
- 230000001537 neural effect Effects 0.000 description 6
- 230000006399 behavior Effects 0.000 description 5
- 230000003993 interaction Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 230000004069 differentiation Effects 0.000 description 3
- 238000004590 computer program Methods 0.000 description 2
- 230000003278 mimic effect Effects 0.000 description 2
- SLXKOJJOQWFEFD-UHFFFAOYSA-N 6-aminohexanoic acid Chemical compound NCCCCCC(O)=O SLXKOJJOQWFEFD-UHFFFAOYSA-N 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 239000003638 chemical reducing agent Substances 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000015654 memory Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003062 neural network model Methods 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/20—Design optimisation, verification or simulation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/20—Design optimisation, verification or simulation
- G06F30/27—Design optimisation, verification or simulation using machine learning, e.g. artificial intelligence, neural networks, support vector machines [SVM] or training a model
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/004—Artificial life, i.e. computing arrangements simulating life
- G06N3/006—Artificial life, i.e. computing arrangements simulating life based on simulated virtual individual or collective life forms, e.g. social simulations or particle swarm optimisation [PSO]
-
- 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/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
- G06N3/0455—Auto-encoder networks; Encoder-decoder networks
-
- 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
- G06N3/092—Reinforcement learning
-
- 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
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/10—Geometric CAD
- G06F30/15—Vehicle, aircraft or watercraft design
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Evolutionary Computation (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Artificial Intelligence (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- Computing Systems (AREA)
- Computational Linguistics (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Life Sciences & Earth Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computer Hardware Design (AREA)
- Geometry (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Optimization (AREA)
- Mathematical Analysis (AREA)
- Computational Mathematics (AREA)
- Algebra (AREA)
- Probability & Statistics with Applications (AREA)
- Medical Informatics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Feedback Control In General (AREA)
Abstract
本公开内容提供了一种用于模拟在其中执行任务的环境的模拟器。该模拟器包括:编码器,其被配置为将第一状态空间中的状态数据变换为第二状态空间中的状态数据,其中,状态数据对应于用于执行任务的环境的条件;常微分方程(ODE)神经网络(NN),其被配置为处理第二状态空间中的状态数据和动作数据以获得第二状态空间中的演进状态数据,其中,动作数据对应于在环境的条件下针对任务执行的动作;以及解码器,其被配置为将第二状态空间中的演进状态数据变换为第一状态空间中的演进状态数据。
Description
技术领域
概括而言,本公开内容的各方面涉及人工智能(AI),并且更具体地,本公开内容的各方面涉及模拟在其中执行任务的环境。
背景技术
强化学习(Reinforcement Learning,RL)已用于许多现实世界应用中,诸如智能自动驾驶辅助、智能机器人运动、自动地控制机械装置、自动地控制计算机游戏等。
作为一种RL,无模型强化学习(MFRL)可以用于完成复杂任务。然而,MFRL方法通常是数据低效的,因为这些MFRL方法通常需要大量与环境的交互以便训练用于在环境中执行任务的代理,这使得代理的训练过程由于收集训练数据的困难而受到挑战。
MFRL的问题可以通过基于模型的强化学习(MBRL)来解决。MBRL方法采用世界模型来表征环境并进行规划以生成模拟数据。通常,MBRL可以通过使用来自世界模型的模拟数据来减轻MFRL对大量真实数据的要求,其中获取大量真实数据可能是昂贵的。
然而,MBRL通常在训练世界模型时遭受高样本复杂性,尤其对于复杂的环境。并且学习世界模型的高样本复杂性限制了MBRL的样本效率。
发明内容
为了提高MBRL的样本效率,本公开内容提出了一种新颖的环境模拟器,其可以用于MBRL中以具有提高的样本效率。
根据一个实施例,提供了一种用于模拟在其中执行任务的环境的模拟器。所述模拟器包括:编码器,其被配置为将第一状态空间中的状态数据变换为第二状态空间中的状态数据,其中,所述状态数据对应于用于执行所述任务的所述环境的条件;常微分方程(ODE)神经网络(NN),其被配置为处理所述第二状态空间中的所述状态数据和动作数据以获得所述第二状态空间中的演进状态数据,其中,所述动作数据对应于在所述环境的所述条件下针对所述任务执行的动作;解码器,其被配置为将所述第二状态空间中的演进状态数据变换为所述第一状态空间中的演进状态数据。
根据一个实施例,提供了一种用于模拟在其中执行任务的环境的方法。所述方法包括:通过使用编码器来将第一状态空间中的状态数据变换为第二状态空间中的状态数据,其中,所述状态数据对应于用于执行所述任务的所述环境的条件;通过常微分方程(ODE)神经网络(NN)来处理所述第二状态空间中的所述状态数据和动作数据以获得所述第二状态空间中的演进状态数据,其中,所述动作数据对应于在所述环境的所述条件下针对所述任务执行的动作;以及通过解码器来将所述第二状态空间中的演进状态数据变换为所述第一状态空间中的演进状态数据。
根据一个实施例,提供了一种用于训练用于模拟在其中执行任务的环境的模拟器的方法。所述方法包括:从演示数据获得第一状态空间中的状态数据、所述第一状态空间中的演进状态数据以及动作数据,其中,所述状态数据对应于所述环境的条件,所述动作数据对应于在所述环境的所述条件下针对所述任务执行的动作,并且所述演进状态数据对应于由所述动作导致的所述环境的演进条件;通过使用编码器来将所述第一状态空间中的状态数据变换为第二状态空间中的状态数据;通过使用解码器来将所述第二状态空间中的状态数据变换为所述第一状态空间中的重构状态数据;基于所述第一状态空间中的状态数据和所述第一状态空间中的所述重构状态数据来确定第一损失;通过常微分方程(ODE)神经网络(NN)来处理所述第二状态空间中的状态数据和所述动作数据,以获得所述第二状态空间中的预测的演进状态数据;通过所述解码器来将所述第二状态空间中的所述预测的演进状态数据变换为所述第一状态空间中的预测的演进状态数据;基于所述第一状态空间中的预测的演进状态数据和所述第一状态空间中的所述演进状态数据来确定第二损失;以及基于所述第一损失和所述第二损失来优化包括所述编码器、所述ODE NN和所述解码器的所述模拟器。
根据一个实施例,提供了一种用于训练用于在环境中执行任务的神经网络(NN)模型的方法。所述方法包括:使用根据本公开内容的任何实施例的模拟器来获得模拟演示数据,其中,所述模拟演示数据包括状态和动作的轨迹;基于所述模拟演示数据来优化所述NN模型。
根据一个实施例,提供了一种用于训练用于自主地驾驶车辆或自主地控制机械装置的神经网络(NN)模型的方法。所述方法包括:使用根据本公开内容的任何实施例的模拟器来获得模拟演示数据,其中,所述模拟演示数据包括状态和动作的轨迹并且表示用于驾驶所述车辆或控制所述机械装置的演示者的行为;以及基于所述模拟演示数据来优化所述NN模型。
根据一个实施例,提供了一种计算机系统,其包括一个或多个处理器和存储计算机可执行指令的一个或多个存储设备,所述计算机可执行指令在被执行时使得所述一个或多个处理器执行如上所述的方法的操作以及执行根据本公开内容的各方面的方法的操作。
根据一个实施例,提供了一个或多个存储计算机可执行指令的计算机可读存储介质,所述计算机可执行指令在被执行时使得一个或多个处理器执行如上所述的方法的操作以及执行根据本公开内容的各方面的方法的操作。
根据一个实施例,提供了一种包括计算机可执行指令的计算机程序产品,所述计算机可执行指令在被执行时使得一个或多个处理器执行如上所述的方法的操作以及执行根据本公开内容的各方面的方法的操作。
通过使用环境模拟器,对于基本上是动态系统的环境,可以采用ODE NN来求解常微分方程,常微分方程用于公式化哈密顿力学中的物理环境的动力学。因此,包括ODE NN的环境模拟器快速收敛,因为ODE NN可以以遵循描述动态系统的物理方程的方式来学习环境的动态系统。这带来在学习环境模拟器和学习用于在环境中执行任务的代理时的更高的样本效率。在下文的描述中解释了其他优点和增强。
附图说明
将结合附图描述所公开的方面,提供附图以示出并且不限制所公开的方面。
图1示出了根据一个实施例的示例性装置。
图2示出了根据一个实施例的用于基于强化学习来训练代理的示例性框架。
图3示出了根据一个实施例的环境模拟器的示例性结构。
图4示出了根据一个实施例的用于模拟在其中执行任务的环境的示例性过程。
图5示出了根据一个实施例的用于模拟在其中执行任务的环境的示例性环境模拟器。
图6示出了根据一个实施例的用于训练用于模拟在其中执行任务的环境的模拟器的示例性过程。
图7示出了根据一个实施例的用于训练用于在环境中执行任务的神经网络(NN)模型的示例性过程。
图8示出了根据一个实施例的示例性计算系统。
具体实施方式
现在将参考若干示例实现来讨论本公开内容。将理解,讨论这些实现仅是为了使本领域技术人员能够更好地理解并因此实现本公开内容的实施例,而不是暗示对本公开内容的范围的任何限制。
将参考附图详细地描述各个实施例。在可能的情况下,贯穿附图将使用相同的附图标记来指代相同或相似的部分。对特定示例和实施例的引用是为了说明的目的,而不旨在限制本公开内容的范围。
图1是示出根据本公开内容的各方面的示例性装置的框图。
图1中所示的装置100可以是诸如自动驾驶车辆之类的车辆、诸如船坞上的起重机器人臂之类的机械装置、诸如机器人之类的自控制机器,或者可以是车辆、机械装置、机器人等的一部分。
以自主车辆为图1中的装置的示例,车辆100可以被配备有用于感测车辆行驶的条件的各种传感器110。术语条件也可以被称为情况、状态、上下文等。在图1所示的示例中,各种传感器110可以包括相机系统、LiDAR(激光探测与测距)系统、雷达系统、声纳、超声波传感器、接近度传感器、红外传感器、车轮速度传感器、雨水传感器等。应当理解,车辆100的一组传感器110可以包括其他类型的传感器,并且可以不包括所有示例性传感器,示例性传感器的任何组合都可能配备在装置100上。
装置100可以包括处理系统120。处理系统120可以以各种方式实现,例如,处理系统120可以包括一个或多个处理器和/或控制器以及一个或多个存储器,处理器和/或控制器可以执行软件以执行各种操作或功能,诸如根据本公开内容的各个方面的操作或功能。
处理系统120可以从传感器110接收传感器数据,并且通过分析传感器数据来执行各种操作。在图1的示例中,处理系统120可以包括条件检测模块1210、动作确定模块1220。应当理解,模块1210-1220可以以各种方式实现,例如,可以被实现为可由处理器和/或控制器执行的软件模块或功能。
条件检测模块1210可以被配置为确定与汽车的操作有关的条件。
与汽车的操作有关的条件可以包括天气、汽车的绝对速度、相对于前方汽车的相对速度、距前方汽车的距离、距附近汽车的距离、相对于附近汽车的方位角、是否存在障碍物、到障碍物的距离等。应当理解,条件可以包括其他类型的数据,诸如来自导航系统的导航数据,并且可以不包括所有示例性数据。并且一些条件数据可以由传感器模块110直接获得并被提供给处理模块120。
动作确定模块1220根据来自条件检测模块1210的条件数据或状态数据来确定要由汽车执行的动作。动作确定模块1220可以利用经训练的NN模型来实现,经训练的NN模型可以模仿人类驾驶员的驾驶汽车的行为,并且还可以被称为代理。例如,动作确定模块1220可以获得状态数据(诸如当前时间步长的上述示例性条件数据),并且基于所获得的状态数据来推断要针对当前时间步长执行的动作。
以机械装置(诸如起重机器人臂)作为图1中的装置的示例,机器人臂100具有与上面关于车辆100所述的类似的结构。机器人臂100可以被配备有用于感测机器人臂正在工作的条件的各种传感器110。各种传感器110可以包括用于检测天气条件(诸如风速、雨条件、雪条件等)的天气传感器、用于测量对象的重量的重量传感器、相机系统、LiDAR系统、雷达系统、声纳、超声传感器、接近度传感器、红外传感器等。应当理解,机器人臂100的一组传感器110可以包括其他类型的传感器,并且可以不包括所有示例性传感器,示例性传感器的任何组合都可能被配备在装置100上。
条件检测模块1210可以被配置为确定与机器人臂100的操作相关的条件。
与机器人臂100的操作有关的条件可以包括风速、天气(诸如雨、雪、冰等)、对象的重量、对象的源位置和对象的目标位置等。应当理解,条件可以包括其他类型的数据,并且可以不包括所有示例性数据。并且一些条件数据可以由传感器模块110直接获得并被提供给处理模块120。
动作确定模块1220根据来自条件检测模块1210的条件数据或状态数据来确定要由机器人臂执行的动作。动作确定模块1220可以利用经训练的NN模型来实现,经训练的NN模型可以模仿人类操作者的用于操作机器人臂的行为。例如,动作确定模块1220可以获得状态数据(诸如针对当前时间步长的上述示例性条件数据),并且基于所获得的状态数据来推断要针对当前时间步长执行的动作。
图2是示出根据本公开内容的各方面的用于基于强化学习来训练代理的示例性框架的框图。
强化学习框架旨在让代理210从与环境220的交互来学习执行任务以实现预期目标。学习者和决策者被称为代理,诸如代理210,并且环境220与代理交互。在交互期间,代理210基于环境的当前条件来决定要执行的动作,并且环境220对由代理执行的动作作出反应,从而使代理处于新的环境中。环境220还生成奖励,并且代理210尝试在一段时间内最大化这些奖励。
如图2所示,在时间t处,代理210观察环境信息st∈S,其中S表示环境的所有可能状态的集合。在该环境中,代理210决定动作at∈A(st),其中A(st)表示可以在状态st中执行的所有动作的集合。动作at的决策可以是基于马尔可夫决策过程(MDP)的。在下一时间t+1处,由于动作at,代理210获得奖励rt+1,并且同时代理处于新状态st+1。代理210与环境之间的交互基于新状态st+1继续进行,并且代理210学习或被训练以在一段时间内最大化奖励。
在一个实施例中,环境220是真实世界环境,即,环境220不是建模的。在这种情况下,强化学习被称为无模型强化学习(MFRL)。
在另一实施例中,环境220可以被实现为神经网络模型,其可以被称为环境模拟器。环境模拟器模仿环境的行为。例如,给定状态和动作,环境模拟器可以预测下一状态和下一奖励。涉及环境模拟器的强化学习被称为MBRL。应当理解,MBRL通常是基于由环境模拟器推导的数据和从现实世界收集的数据来执行的。
在一个实施例中,获得训练数据以训练代理210。训练数据也可以被称为演示数据、专家数据等,其表示用于执行诸如驾驶汽车、操作机器人臂(如图1所示)之类的任务的演示者或专家的行为。演示数据可以是以轨迹的形式,其包括沿着轨迹的一系列时间步长的一系列数据实例。例如,轨迹τ=(s0:T,a0:T),其中s0:T表示(s0,…,sT),其表示针对示T+1个时间步长的多个状态实例,a0:T表示(a0,…,aT),其表示针对T+1个时间步长的多个动作实例。训练数据集可以表示为其中/>是演示数据集,τE是表示专家或演示者的演示数据的轨迹。
可以在多个维度上定义状态sn,例如,维度可以表示上述示例类型的条件数据,诸如天气、重量、速度、距离、导航信息等。可以在多个维度上定义动作an,例如,维度可以表示专业驾驶员或操作者将采取的动作,诸如转向、制动、停车等。应当理解,由状态和动作组成的轨迹的数据在本领域中是已知的,并且本公开内容不限于此。为了获得演示数据,人类驾驶员或操作者可以在真实世界中驾驶汽车或操作机器人臂(如图1所示)以收集演示数据,并且人类驾驶员或操作者也可以操纵仿真器中的虚拟汽车或机器人臂以收集演示数据。如果环境模拟器可用,则可以由环境模拟器获得演示数据。应当理解,由状态和动作组成的轨迹的演示数据的收集在本领域中是已知的,并且本公开内容不限于此。
在一个实施例中,代理210基于马尔可夫决策过程(MDP)来采取动作,MDP是用于强化学习的著名模型。对于状态s∈S和动作a∈A,MDP由(S,A,T,R,γ)来公式化。集合表示由如括号中所示的MDP的参数定义的空间上的所有概率度量,并且转换函数被定义为奖励函数被定义为/>其中/>代表实数集合,并且折扣因子γ被定义为γ∈[0,1)。强化学习的目标是找到策略π,代理210可以使用该策略π来选择使累积奖励最大化的动作。
对于MBRL,旨在通过将规划与已知或经学习的模型的辅助结合来学习策略π,并且MBRL的必要部分是学习表征环境的转换函数。转换函数可以被称为环境模拟器或环境模型。转换函数被定义在给定状态上,并且可以被一般化以表示从状态分布的转换。通过递归地调用广义转换函数,例如,可以定义如方程(1)中所示的n步广义转换函数,以基于当前状态s和动作a来推导下一状态s′。
其中代表转换函数。
图3是示出根据本公开内容的各方面的环境模拟器的示例性结构的框图。
环境模拟器300可以是图2所示的在MBRL中使用的环境模型220的实现。环境模拟器300包括编码器310、第一解码器320、可以被实现为常微分方程(ODE)神经网络(NN)的状态更新模型330、以及第二解码器340。
当环境220基本上是动态系统时,可以使用分析力学方法来预测动态系统或环境220的演进。具体地,在哈密顿力学中,一个或多个广义坐标和广义动量对(qk,pk)可以用于完全描述动态系统,其中k∈{1,…,K},其中K是动态系统的广义坐标的维度。qk和pk的对可以表示为正则状态或哈密顿正则状态,并且它们是可以描述动态系统的状态的参数,例如,它们是可以描述动态系统的状态的最小独立参数。哈密顿函数可以定义为其是具有2K个变量(qk,pk)(其中k∈{1,…,K})和时间变量t的函数。那么,动态系统的演进满足哈密顿正则方程:
如果获得方程(2)中所示的哈密顿正则方程,则可以基于方程(2)来推导环境的动态系统的连续演进。然而,对于真实的动态系统,通常难以得到这些方程(2)。在图3所示的实施例中,可以采用常微分方程(ODE)神经网络(NN)来对这些一阶微分方程(2)进行建模。假设代理210通过物理方式而不是超自然方式影响环境220是合理的。因此,方程(2)中的广义力Q(t)对应于强化学习中的动作a的影响,因为广义力可以描述所有物理扰动。应当理解,可以在图3的实施例中采用ODE NN的任何实现(例如,Ricky TQ Chen等人的“神经常微分方程”,神经信息处理系统的进步,2018年,第6571-6583页)(例如,Ricky T.Q.Chen,Brandon Amos和Maximilian Nickel,“学习用于常微分方程的神经事件函数”,学习表示的国际会议(2021年))。
如果观察到的状态s由正则状态(q和p)组成,则方程(2)可以成立,因为哈密顿正则方程描述了正则状态的演进。然而,观察到的状态s通常不由正则状态组成。为了利用描述环境的动态系统的哈密顿正则方程,引入自动编码器。假设状态s∈S包含正则状态的完整信息,则可以使用函数将状态s变换为正则状态q和p。函数f可以实现为编码器310。然后,预测的正则状态q和p通过ODE NN演进。ODE NN可以被实现为状态更新模型330。状态s∈S可以被称为第一状态空间或观察到的状态空间中的状态,状态q和p可以被称为第二状态空间或正则状态空间中的状态。
可以通过使用函数将演进正则状态q'和p'变换回第一状态空间。函数可以被实现为解码器340。编码器和解码器(f,g)构成自动编码器。自动编码器可以在现有技术中实现(例如,Andrew Ng等人的“稀疏自编码器”,CS294A讲课笔记72.2011(2011年),第1-19页)(例如,Diederik P Kingma和Max Welling,“自动编码变分贝叶斯”,arXivpreprint arXiv:1312.6114(2013年))。
此外,可以基于正则状态q和p以及动作a来确定奖励。假设其中m表示动作的维度,则可以使用另一函数/>来获得预测奖励r。函数g′可以被实现为解码器320。
在将ODE NN 330和包括编码器310和解码器340的自动编码器进行组合之后,可以获得环境模型300的完整结构。环境模型300的结构可以用方程(3)来公式化。
snext=g(ODE(h,u,a,t0,t0+τ)),r=g′(u,a) (3)
由方程(3)公式化的环境模型的输出是预测状态snext和预测奖励r。这里,(q,p)的级联表示为u,并且因此u=f(s)。
方程(3)中的ODE(h,u,a,t0,t0+τ)指在时间t0+τ处的神经常微分方程的解的值,并且在方程(4)中描述了神经常微分方程。
其中h是用于求解常微分方程的神经网络。合适的ODE NN(或称为神经ODE)可以用于实现神经网络h,其中可以使用积分器来将输入u(t0)变换为输出u(t)。具体地,通过使用方程(4)中所示的ODE NN来获得一阶微分并且通过将一阶微分/>积分来获得输出u(t)。这里,u(t0)对应于图3中的q、p,并且u(t)对应于图3中的q'、p'。
方程(3)中所示的环境模型300的总损失函数在方程(5)中示出,方程(5)是状态损失和奖励损失的凸组合(μ∈(0,1),并且*意指真值)。
在环境模型300的训练过程期间,可以基于方程(5)中所示的损失来优化环境模型300。例如,可以通过基于梯度向后传播损失/>来优化环境模型300。
通过引入哈密顿正则方程,环境模型300可以描述广义动态系统,并且正则状态的形式可以是广义的,诸如以坐标q和动量p对的形式。此外,由于正则状态是简洁的但完全描述系统,并且当状态空间S中存在很多冗余时,自动编码器可以用作降维器以提取和细化状态s。
环境模型300的优点来自训练的效率。环境模型300处理环境的动态系统,这允许使用哈密顿量的知识。例如,可以用很少的物理知识来确定参数2K,其是动态系统的正则状态空间的维度的数量。例如,对于如图1所示的船坞上的起重机器人臂,代理在其中执行控制机器人臂的任务的环境的动态系统通常可以由多对坐标q和动量p来描述,然后可以在没有过多专业知识的情况下,基于中等的物理知识来确定动态系统的正则状态空间的维数2K。对于另一示例,对于如图1所示的自主车辆,代理在其中执行自主驾驶或自主驾驶辅助的任务的环境的动态系统通常可以由多对坐标q和动量p来描述,然后可以在没有过多专业知识的情况下,基于中等的物理知识来确定动态系统的正则状态空间的维数2K。
通过使用环境模型300,环境是动态系统的先验知识或感应偏差实际上是以哈密顿力学的可微分方程引入的。合适的先验知识使得训练更有效,这使得可能快速学习模型以增强用于强化学习的样本效率。
以下伪代码示出了通过在学习过程中引入环境模型300来用于MBRL的示例性方法。
应当理解,尽管在示例性方法1至3中描述了许多具体细节,但是可以在不需要示例性方法1至3中的一个或多个特定步骤的同时实现根据本公开内容的各个方面的实施例。
应当理解,根据本公开内容的环境模型或环境模拟器可以与用于执行各种任务的各种代理模型中的任何一个组合。例如,用于执行自主驾驶的各种代理模型可以与根据本公开内容的环境模拟器组合。例如,用于执行自主机器人臂操作的各种代理模型可以与根据本公开内容的环境模拟器组合。
图4示出了根据本公开内容的各方面的用于模拟在其中执行任务的环境的示例性过程。
在步骤410处,通过使用编码器来将第一状态空间中的状态数据变换为第二状态空间中的状态数据。状态数据对应于执行任务的环境的条件。
在步骤420处,通过常微分方程(ODE)神经网络(NN)来处理第二状态空间中的状态数据和动作数据,以获得第二状态空间中的演进状态数据。动作数据对应于在环境的条件下针对任务执行的动作。
在步骤430处,通过解码器来将第二状态空间中的演进状态数据变换为第一状态空间中的演进状态数据。可以将第一状态空间中的状态数据、动作数据、第一状态空间中的演进状态数据作为用于在环境中执行任务的模拟演示数据。
根据实施例,基于对通过ODE NN获得的第二状态空间中的演进状态数据的一阶微分的预测来获得第二状态空间中的演进状态数据。例如,通过对通过ODE NN获得的第二状态空间中的演进状态数据的一阶微分的预测进行积分来获得第二状态空间中的演进状态数据。
根据一个实施例,该过程还可以包括步骤440,在步骤440处,通过额外解码器来处理第二状态空间中的状态数据和动作数据以获得奖励数据。可以将第一状态空间中的状态数据、动作数据、第一状态空间中的演进状态数据和奖励数据作为用于在环境中执行任务的模拟演示数据。
根据一个实施例,第一状态空间或第一状态空间中的状态具有第一数量的维度,并且第二状态空间或第二状态空间中的状态具有第二数量的维度。第一数量大于第二数量。
根据一个实施例,第二状态空间的维度的第二数量对应于用于描述环境的动态系统的参数的数量。根据一个实施例,用于描述环境的动态系统的参数的数量包括坐标的数量和对应动量的数量。该坐标和对应动量构成多对坐标和动量。
根据一个实施例,任务是自主地控制车辆或自主地控制诸如机器人臂之类的机械装置。
图5示出了根据本公开内容的各方面的用于模拟在其中执行任务的环境的示例性环境模拟器。
环境模拟器500包括编码器510、常微分方程(ODE)神经网络(NN)520和解码器530。编码器510被配置为将第一状态空间中的状态数据变换为第二状态空间中的状态数据。状态数据对应于用于执行任务的环境的条件。ODE NN 520被配置为处理第二状态空间中的状态数据和动作数据以获得第二状态空间中的演进状态数据。动作数据对应于在环境的条件下针对任务执行的动作。解码器530被配置为将第二状态空间中的演进状态数据变换为第一状态空间中的演进状态数据。可以将第一状态空间中的状态数据、动作数据、第一状态空间中的演进状态数据作为用于在环境中执行任务的模拟演示数据。
根据一个实施例,基于对通过ODE NN获得的第二状态空间中的演进状态数据的一阶微分的预测来获得第二状态空间中的演进状态数据。例如,通过对通过ODE NN获得的第二状态空间中的演进状态数据的一阶微分的预测进行积分来获得第二状态空间中的演进状态数据。
根据一个实施例,模拟器500还可以包括额外解码器540,其被配置为处理第二状态空间中的状态数据和动作数据以获得奖励数据。可以将第一状态空间中的状态数据、动作数据、第一状态空间中的演进状态数据和奖励数据作为用于在环境中执行任务的模拟演示数据。
根据一个实施例,第一状态空间具有第一数量的维度,并且第二状态空间具有第二数量的维度。第一数量大于第二数量。根据一个实施例,第二状态空间的维度的第二数量对应于用于描述环境的动态系统的参数的数量。根据一个实施例,用于描述环境的动态系统的参数的数量包括坐标的数量和对应动量的数量。
图6示出了根据本公开内容的各方面的用于训练用于模拟在其中执行任务的环境的模拟器的示例性过程。
在步骤610处,从演示数据或训练数据获得第一状态空间中的状态数据、第一状态空间中的演进状态数据和动作数据。状态数据对应于环境的条件,并且动作数据对应于在环境的条件下针对任务执行的动作,并且演进状态数据对应于由动作导致的环境的演进条件。
在步骤620处,通过使用编码器来将第一状态空间中的状态数据变换为第二状态空间中的状态数据。
在步骤630处,通过使用解码器来将第二状态空间中的状态数据变换为第一状态空间中的重构状态数据。
在步骤640处,基于第一状态空间中的状态数据和第一状态空间中的重构状态数据来确定第一损失。
在步骤650处,通过常微分方程(ODE)神经网络(NN)来处理第二状态空间中的状态数据和动作数据,以获得第二状态空间中的预测的演进状态数据。
在步骤660处,通过解码器来将第二状态空间中的预测的演进状态数据变换为第一状态空间中的预测的演进状态数据。
在步骤670处,基于第一状态空间中的预测的演进状态数据和第一状态空间中的演进状态数据来确定第二损耗。
在步骤680处,基于第一损失和第二损失来优化包括编码器、ODE NN和解码器的模拟器。
根据一个实施例,该过程还可以包括额外步骤。例如,可以从演示数据获得奖励数据。可以通过额外解码器来处理第二状态空间中的状态数据和动作数据以获得预测的奖励数据。并且可以基于预测的奖励数据和奖励数据来确定第三损失。在该实施例中,在步骤680处,可以基于第一损失、第二损失和第三损失来优化包括编码器、ODE NN、解码器和额外解码器的模拟器。
图7示出了根据本公开内容的各方面的用于训练用于在环境中执行任务的神经网络(NN)模型的示例性过程。
在步骤710处,可以通过使用环境模拟器来获得模拟演示数据。模拟演示数据包括状态和动作的轨迹。环境模拟器可以是在本公开内容中描述的任何环境模拟器或环境模型,例如参考图3和图5描述的那些环境模拟器或环境模型。
在步骤720处,可以基于模拟演示数据来优化NN模型。NN模型可以是用于自主地控制车辆的NN模型或用于自主地控制机械装置的NN模型。
图8示出了根据一个实施例的示例性计算系统。计算系统800可以包括至少一个处理器810。计算系统800还可以包括至少一个存储设备820。存储设备820可以存储计算机可执行指令,所述计算机可执行指令在被执行时使得处理器810执行根据如结合图1-7描述的本公开内容的实施例的任何操作。
本公开内容的实施例可以体现在诸如非暂时性计算机可读介质之类的计算机可读介质中。非暂时性计算机可读介质可以包括指令,所述指令在被执行时使得一或多个处理器执行根据如结合图1-7所描述的本公开内容的实施例的任何操作。
本公开内容的实施例可以体现在包括计算机可执行指令的计算机程序产品中,所述计算机可执行指令在被执行时使得一个或多个处理器执行根据如结合图1-7描述的本公开内容的实施例的任何操作。
应当明白,上述方法中的所有操作仅是示例性操作,并且本公开内容不限于这些方法中的任何操作或这些操作的顺序,并且应当涵盖在相同或类似构思下的所有其它等效物。
还应当明白,上述装置中的所有模块可以用各种方法来实现。这些模块可以被实现为硬件、软件或其组合。此外,这些模块中的任何模块可以在功能上进一步划分为子模块或组合在一起。
提供先前描述是为了使得本领域任何技术人员能够实践本文描述的各个方面。对这些方面的各种修改对于本领域技术人员来说将是显而易见的,并且本文定义的通用原理可以应用于其它方面。因此,权利要求不旨在限于本文示出的方面。贯穿本公开内容所描述的各个方面的元素的所有结构和功能等效物通过引用的方式被明确地并入本文中,并且旨在被权利要求所涵盖,这些结构和功能等效物对于本领域普通技术人员是已知的或以后将是已知的。
Claims (20)
1.一种用于模拟在其中执行任务的环境的模拟器,包括:
编码器,其被配置为将第一状态空间中的状态数据变换为第二状态空间中的状态数据,其中,所述状态数据对应于用于执行所述任务的所述环境的条件;
常微分方程(ODE)神经网络(NN),其被配置为处理所述第二状态空间中的状态数据和动作数据以获得所述第二状态空间中的演进状态数据,其中,所述动作数据对应于在所述环境的所述条件下针对所述任务执行的动作;以及
解码器,其被配置为将所述第二状态空间中的演进状态数据变换为所述第一状态空间中的演进状态数据。
2.根据权利要求1所述的模拟器,其中,所述第二状态空间中的演进状态数据是基于对通过所述ODE NN获得的所述第二状态空间中的演进状态数据的一阶微分的预测来获得的。
3.根据权利要求1所述的模拟器,还包括:额外解码器,其被配置为处理所述第二状态空间中的状态数据和所述动作数据以获得奖励数据。
4.根据权利要求1所述的模拟器,其中,所述第一状态空间具有第一数量的维度,并且所述第二状态空间具有第二数量的维度,并且其中,所述第一数量大于所述第二数量。
5.根据权利要求4所述的模拟器,其中,所述第二状态空间的维度的所述第二数量对应于用于描述所述环境的动态系统的参数的数量。
6.根据权利要求5所述的模拟器,其中,用于描述所述环境的所述动态系统的所述参数的数量包括坐标的数量和对应动量的数量。
7.根据权利要求1所述的模拟器,其中,所述任务是自主地控制车辆或自主地控制机械装置。
8.一种用于模拟在其中执行任务的环境的方法,包括:
通过使用编码器来将第一状态空间中的状态数据变换为第二状态空间中的状态数据,其中,所述状态数据对应于用于执行所述任务的所述环境的条件;
通过常微分方程(ODE)神经网络(NN)来处理所述第二状态空间中的状态数据和动作数据以获得所述第二状态空间中的演进状态数据,其中,所述动作数据对应于在所述环境的所述条件下针对所述任务执行的动作;以及
通过解码器来将所述第二状态空间中的演进状态数据变换为所述第一状态空间中的演进状态数据。
9.根据权利要求8所述的方法,其中,所述第二状态空间中的演进状态数据是基于对通过所述ODE NN获得的所述第二状态空间中的演进状态数据的一阶微分的预测来获得的。
10.根据权利要求8所述的方法,还包括:通过额外解码器来处理所述第二状态空间中的状态数据和所述动作数据以获得奖励数据。
11.根据权利要求8所述的方法,其中,所述第一状态空间具有第一数量的维度,并且所述第二状态空间具有第二数量的维度,并且其中,所述第一数量大于所述第二数量。
12.根据权利要求11所述的方法,其中,所述第二状态空间的维度的所述第二数量对应于用于描述所述环境的动态系统的参数的数量。
13.根据权利要求12所述的方法,其中,用于描述所述环境的所述动态系统的所述参数的数量包括坐标的数量和对应动量的数量。
14.根据权利要求8所述的方法,其中,所述任务是自主地控制车辆或自主地控制机械装置。
15.一种用于训练用于模拟在其中执行任务的环境的模拟器的方法,包括:
从演示数据获得第一状态空间中的状态数据、所述第一状态空间中的演进状态数据以及动作数据,其中,所述状态数据对应于所述环境的条件,所述动作数据对应于在所述环境的所述条件下针对所述任务执行的动作,并且所述演进状态数据对应于由所述动作导致的所述环境的演进条件;
通过使用编码器来将所述第一状态空间中的状态数据变换为第二状态空间中的状态数据;
通过使用解码器来将所述第二状态空间中的状态数据变换为所述第一状态空间中的重构状态数据;
基于所述第一状态空间中的状态数据和所述第一状态空间中的重构状态数据来确定第一损失;
通过常微分方程(ODE)神经网络(NN)来处理所述第二状态空间中的状态数据和所述动作数据,以获得所述第二状态空间中的预测的演进状态数据;
通过所述解码器来将所述第二状态空间中的预测的演进状态数据变换为所述第一状态空间中的预测的演进状态数据;
基于所述第一状态空间中的预测的演进状态数据和所述第一状态空间中的演进状态数据来确定第二损失;以及
基于所述第一损失和所述第二损失来优化包括所述编码器、所述ODE NN和所述解码器的所述模拟器。
16.根据权利要求15所述的方法,还包括:
从所述演示数据中获得奖励数据;
通过额外解码器来处理所述第二状态空间中的状态数据和所述动作数据,以获得预测的奖励数据;
基于所述预测的奖励数据和所述奖励数据来确定第三损失;
其中,所述优化所述模拟器包括:基于所述第一损失、所述第二损失和所述第三损失来优化包括所述编码器、所述ODE NN、所述解码器和所述额外解码器的所述模拟器。
17.一种用于训练用于在环境中执行任务的神经网络(NN)模型的方法,包括:
通过使用根据权利要求1-7中的一项所述的模拟器来获得模拟演示数据,其中,所述模拟演示数据包括状态和动作的轨迹;以及
基于所述模拟演示数据来优化所述NN模型。
18.一种用于训练用于自主地驾驶车辆或自主地控制机械装置的神经网络(NN)模型的方法,包括:
通过使用根据权利要求1-7中的一项所述的模拟器来获得模拟演示数据,其中,所述模拟演示数据包括状态和动作的轨迹并且表示用于驾驶所述车辆或控制所述机械装置的演示者的行为;以及
基于所述模拟演示数据来优化所述NN模型。
19.一种计算机系统,包括:
一个或多个处理器;以及
一个或多个存储计算机可执行指令的存储设备,所述计算机可执行指令在被执行时使得所述一个或多个处理器执行根据权利要求8-18中的一项所述的方法的操作。
20.一种或多种存储计算机可执行指令的计算机可读存储介质,所述计算机可执行指令在被执行时使得一个或多个处理器执行根据权利要求8-18中的一项所述的方法的操作。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2021/121269 WO2023050048A1 (en) | 2021-09-28 | 2021-09-28 | Method and apparatus for simulating environment for performing task |
Publications (1)
Publication Number | Publication Date |
---|---|
CN118020079A true CN118020079A (zh) | 2024-05-10 |
Family
ID=85780969
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202180102697.1A Pending CN118020079A (zh) | 2021-09-28 | 2021-09-28 | 用于模拟用于执行任务的环境的方法和装置 |
Country Status (3)
Country | Link |
---|---|
CN (1) | CN118020079A (zh) |
DE (1) | DE112021007739T5 (zh) |
WO (1) | WO2023050048A1 (zh) |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110637308A (zh) * | 2017-05-10 | 2019-12-31 | 瑞典爱立信有限公司 | 用于虚拟化环境中的自学习代理的预训练系统 |
CN110851911B (zh) * | 2018-07-28 | 2021-07-27 | 华中科技大学 | 终端状态计算模型训练方法、控制序列搜索方法及装置 |
CN110850877A (zh) * | 2019-11-19 | 2020-02-28 | 北方工业大学 | 基于虚拟环境和深度双q网络的自动驾驶小车训练方法 |
CN112445136B (zh) * | 2020-12-16 | 2022-02-22 | 北京科技大学 | 一种基于连续时间神经网络的浓密机预测控制方法及系统 |
-
2021
- 2021-09-28 CN CN202180102697.1A patent/CN118020079A/zh active Pending
- 2021-09-28 DE DE112021007739.2T patent/DE112021007739T5/de active Pending
- 2021-09-28 WO PCT/CN2021/121269 patent/WO2023050048A1/en active Application Filing
Also Published As
Publication number | Publication date |
---|---|
WO2023050048A1 (en) | 2023-04-06 |
DE112021007739T5 (de) | 2024-04-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11331800B2 (en) | Adaptive predictor apparatus and methods | |
US11224971B2 (en) | Predictive robotic controller apparatus and methods | |
CN110651279B (zh) | 利用学徒来训练动作选择神经网络 | |
CN112119409B (zh) | 具有关系存储器的神经网络 | |
US9384443B2 (en) | Robotic training apparatus and methods | |
Hussein et al. | Deep imitation learning for 3D navigation tasks | |
EP3788549B1 (en) | Stacked convolutional long short-term memory for model-free reinforcement learning | |
Choudhury et al. | On the utility of model learning in hri | |
US11992944B2 (en) | Data-efficient hierarchical reinforcement learning | |
EP4150426A2 (en) | Tools for performance testing and/or training autonomous vehicle planners | |
CN116848532A (zh) | 具有短期记忆单元的注意力神经网络 | |
US20220410380A1 (en) | Learning robotic skills with imitation and reinforcement at scale | |
Mirchevska et al. | Amortized Q-learning with model-based action proposals for autonomous driving on highways | |
Hilleli et al. | Toward deep reinforcement learning without a simulator: An autonomous steering example | |
Lee et al. | Early failure detection of deep end-to-end control policy by reinforcement learning | |
WO2021008798A1 (en) | Training of a convolutional neural network | |
US20230214649A1 (en) | Training an action selection system using relative entropy q-learning | |
CN118043824A (zh) | 检索增强强化学习 | |
CN118020079A (zh) | 用于模拟用于执行任务的环境的方法和装置 | |
Demir et al. | Motion planning and control with randomized payloads on real robot using deep reinforcement learning | |
Sivashangaran | Application of deep reinforcement learning for intelligent autonomous navigation of car-like mobile robot | |
Hilleli et al. | Deep learning of robotic tasks without a simulator using strong and weak human supervision | |
Nayak | Exploring the Potential of Q-Learning Offers a Promising Pathway towards Achieving Artificially Intelligent Driving Capabilities | |
Vertens et al. | Improving Deep Dynamics Models for Autonomous Vehicles with Multimodal Latent Mapping of Surfaces | |
CN116324817A (zh) | 用于加速数据驱动强化学习的离线原语发现 |
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 |