CN111950735B - 一种基于双向模型的强化学习方法 - Google Patents
一种基于双向模型的强化学习方法 Download PDFInfo
- Publication number
- CN111950735B CN111950735B CN202010622636.5A CN202010622636A CN111950735B CN 111950735 B CN111950735 B CN 111950735B CN 202010622636 A CN202010622636 A CN 202010622636A CN 111950735 B CN111950735 B CN 111950735B
- Authority
- CN
- China
- Prior art keywords
- model
- state
- reinforcement learning
- strategy
- reverse
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 33
- 230000002457 bidirectional effect Effects 0.000 title claims abstract description 13
- 230000002787 reinforcement Effects 0.000 claims abstract description 34
- 238000005070 sampling Methods 0.000 claims abstract description 11
- 230000009471 action Effects 0.000 claims description 25
- 238000012549 training Methods 0.000 claims description 9
- 238000007476 Maximum Likelihood Methods 0.000 claims description 6
- 230000006870 function Effects 0.000 claims description 6
- 230000007246 mechanism Effects 0.000 claims description 4
- 230000001186 cumulative effect Effects 0.000 claims description 3
- 238000005457 optimization Methods 0.000 abstract description 8
- 238000004088 simulation Methods 0.000 abstract description 5
- 238000013480 data collection Methods 0.000 abstract description 3
- 238000002474 experimental method Methods 0.000 abstract description 3
- 230000000750 progressive effect Effects 0.000 abstract description 2
- 230000009286 beneficial effect Effects 0.000 abstract 1
- 238000013528 artificial neural network Methods 0.000 description 6
- 238000009825 accumulation Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 230000005021 gait Effects 0.000 description 2
- 230000010354 integration Effects 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000012512 characterization method Methods 0.000 description 1
- 150000001875 compounds Chemical class 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 238000003062 neural network model Methods 0.000 description 1
- 101150090427 slbo gene Proteins 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Evolutionary Computation (AREA)
- Data Mining & Analysis (AREA)
- Medical Informatics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Physics & Mathematics (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Artificial Intelligence (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Feedback Control In General (AREA)
Abstract
一种基于双向模型的强化学习方法,用于机器人控制,其特征在于,包括:正向模型、反向模型、正向策略、反向策略,从某真实的状态开始,双向地生成轨迹,在三个阶段不断进行迭代:数据搜集阶段、模型学习阶段、策略优化阶段,直到算法收敛。本发明的有益效果是:双向模型相比于传统正向模型,在生成相同长度的虚拟轨迹的情况下的模型累积误差更小,且在进一步的仿真控制实验中,本发明的方法相比于之前的基于模型方法,无论采样效率还是渐进性能都更加优秀。
Description
技术领域
本发明涉及强化学习方法领域,特别是基于模型强化学习中关于模型累计误差的研究。
背景技术
强化学习按照是否对环境进行建模可以分为无模型(model-free)的强化学习和基于模型(model-based)的强化学习。其中,无模型的强化学习通过在真实环境中采样获得的数据直接训练一个策略函数或者值函数,而基于模型的强化学习先通过和环境交互获得的真实数据学习一个模型来拟合状态变化函数,再使用模型来生成仿真的轨迹,以优化策略或控制器。尽管无模型的强化学习在许多任务上取得了非常不错的成果,但这些成果的取得往往需要大量与环境交互的数据,这在真实世界中往往是难以实现的。而基于模型的强化学习则可以使用模型生成的仿真数据来代替或补充真实数据,采样效率较高,因此被认为有望解决无模型的强化学习难以适应现实环境的问题。但因为学习得到的模型与真实环境相比存在误差,特别地,单步误差随着模型生成轨迹长度的增加逐渐累积,进一步加重了模型误差带来的影响,通常被称为模型累积误差。模型累积误差的存在使得基于模型的强化学习算法性能往往落后于无模型的算法。
(一)分析近期关于基于模型强化学习的专利技术:
申请号为CN201610363756.1的中国发明专利申请《基于模型相关强化学习的仿真机器人步态控制方法》将基于模型强化学习的方法应用于仿人机器人行走的步态控制。但该方法仍限制于使用单一的正向模型,容易受到模型累计误差的影响,对正向模型预测的准确性有较高要求。
(二)分析近期关于基于模型方法模型累积误差的研究:
许多之前的工作都致力于克服模型累积误差的问题。Mishra等在机器学习国际会议(International Conference on Machine Learning)2017年第34届上发表的论文《使用时间分段模型进行预测和控制》(Prediction and Control with Temporal SegmentModels)中提出分段预测模型,将轨迹划分为预设好长度的片段作为模型的输入和输出再进行训练和预测控制。另一方面,Asadi等在论文《用多步模型对抗复合误差问题》(Combating the Compounding-Error Problem with a Multistep Model)中提出多步预测模型直接预测执行一系列动作之后的状态,而不是逐步地预测状态。进一步地,Kaiser等在国际学习表征会议(International Conference on Learning Representations)上发表的论文《雅达利游戏基于模型强化学习》(Model Based Reinforcement Learning forAtari)中提出使用模型的输出作为输入来训练模型,希望模型能在自身输出域内预测更加准确。除此之外,Janner等在神经信息处理系统会议(Conference and Workshop onNeural Information Processing Systems)2019年第32届上发表的论文《何时信任模型:基于模型的策略优化》(When to Trust Your Model:Model-Based Policy Optimization)中尝试通过使用较短的生成轨迹长度以避免更大的模型累积误差。
但总的来看,这些研究都仅局限于正向模型,且为了避免太大的模型累积误差带来的影响,需要在生成轨迹长度以及适用性等方面做出一定的妥协。
发明内容
鉴于现有的基于模型方法在克服模型累积误差方面的存在的局限性,本发明提出了一种基于双向模型的强化学习方法,能够在相同累积误差的情况下生成更长的虚拟轨迹,从而提升算法的性能。
本发明的基于双向模型的强化学习方法,包括:传统的正向模型、反向模型。传统的正向模型p(s’|s,a),在给定当前状态s和动作a的情况下,预测下一个状态s’。与正向模型相反,反向模型在给定下一个状态s’和当前动作a的情况下推测当前状态s,这里用q(s|s’,a)表示。
有了正向模型和反向模型,我们就可以从某真实的状态开始,双向地生成轨迹。直觉上,在这种情况下,模型误差将在正反两个方向上分别进行累积,从而在生成相同长度轨迹时减少模型累积误差。
强化学习方法还包括:正向策略π(a|s)、反向策略。当使用正向模型生成的轨迹时,动作的选取是由当前智能体的正向策略π(a|s)来完成的,而当使用反向模型生成的轨迹时,额外定义了一个反向策略在给定前一个状态s’时选取前一个动作a。
如附图1所示,本发明的强化学习方法在三个阶段不断进行迭代:数据搜集阶段、模型学习阶段、策略优化阶段,直到算法收敛:
阶段1、在数据搜集阶段中,智能体在真实环境中执行由模型预测控制得到的动作a,得到真实数据,并将其添加到真实数据集合中。
阶段2、之后在模型训练阶段,使用真实数据集合中的数据,通过极大似然估计训练正向模型和反向模型。
阶段3、在策略优化阶段,先通过引入的状态采样机制选择起始状态,再使用正向模型和反向模型双向地生成虚拟轨迹,并将仿真的数据添加到虚拟数据集合中,之后再使用虚拟数据集合中的数据优化当前的正向策略。
阶段1中,我们使用模型预测控制来优化与真实环境交互时的动作选取。具体地,在每次与环境交互时,N个长度为H的动作序列将从当前正向策略π中采样得出。之后,每一个候选的动作序列都将在正向模型中执行,并计算相应的累积奖励。最后,累积奖励最大的动作序列将被选取并在真实环境中执行。
阶段2中,反向策略使用在真实环境中获得的数据进行训练,可以通过极大似然估计(MLE)或者生成对抗网络(GAN)的方法拟合真实数据的分布。
阶段3中,如何选取模型生成轨迹的起始状态是基于模型强化学习的另一个问题。为此,我们提出了一种新颖的状态采样机制:选取价值高的真实状态作为模型仿真的起始状态。为了更好的稳定性和泛化性,我们提出根据价值函数V(s)的玻尔兹曼分布来决定某一个状态选择作为起始状态的概率。具体地,令p(s)表示某一状态s被选为起始状态的概率,则:p(s)∝eβV(s)。这样做的好处在于,智能体既能通过反向的虚拟轨迹学会如何到达高价值的状态,又能通过正向的虚拟轨迹学会到达高价值状态后如何选取动作。
本发明具有如下技术效果:
1、本发明提出双向模型可以非常灵活地应用于不同的模型的使用场景,即可以与很多现有的使用正向模型的强化学习方法相结合。
2、本发明提出的方法框架有很强的自由度和扩展性,例如,模型预测控制的实现有很多种选择,比如Random Shooting、Cross Entropy Method;且使用虚拟数据进行策划优化的方法也可以选用各种先进的无模型算法,比如DDPG、SAC、TD3。
3、实践证明,双向模型相比于传统正向模型,在生成相同长度的虚拟轨迹的情况下的模型累积误差更小。且在进一步的仿真控制实验中,我们的方法相比于之前的基于模型方法,无论采样效率还是渐进性能都更加优秀。
附图说明
图1是本发明的基于双向模型的强化学习方法的总体流程示意图。
具体实施方式
以下参考说明书附图介绍本申请的优选实施例,使其技术内容更加清楚和便于理解。本申请可以通过许多不同形式的实施例来得以体现,本申请的保护范围并非仅限于文中提到的实施例。
以下将对本发明的构思、具体结构及产生的技术效果作进一步的说明,以充分地了解本发明的目的、特征和效果,但本发明的保护不仅限于此。
本实施例主要用于解决OpenAI的开源库Gym中的Mojoco机器人控制问题。具体地,定义状态是机器人各部位的位置和速度,动作是施加在各部位上的力,目标是保证机器人不摔倒的前提下使得机器人前进的距离尽可能地长,同时使得用于控制的力尽可能地小。选用目前最先进的基于模型强化学习算法MBPO作为基准算法,具体地,在本实施例中具体化了如下细节:
1、对于正向模型和反向模型,我们均使用概率神经网络的集成对其进行建模(ensemble of probabilistic neural network)。具体地,我们同时训练B个概率神经网络。每一个概率神经网络输出预测状态的高斯分布,并通过极大似然估计(MLE)训练模型。各个概率神经网络具有相同的网络结构、超参数以及损失函数,只是参数的初始化以及训练模型时喂给数据的顺序不同。当使用模型生成一定长度的轨迹时,在每一步随机选择集成中的某一个概率神经网络模型进行预测。
2、对于反向策略同样使用神经网络表示,为了使得反向策略拟合到当前正向策略采样得到的动作,在训练反向策略时仅使用最近的真实数据,并通过极大似然估计(MLE)进行训练,以最大化真实动作的概率。
3、选择Soft Actor-Critic(SAC)作为策略优化的算法,因为SAC算法能更好地鼓励探索,并在实际训练过程中表现得较为稳定。
4、在模型预测控制中计算累计奖励时,加上了对于虚拟轨迹最后一个状态的价值估计,以使得动作的选取不再局限于一定步数内的优化,而可以有更长远的规划。
添加了以上细节之后,本发明的强化学习方法可以归结为以下的步骤:
步骤1、初始化正向模型、反向模型、正向策略、反向策略的参数,将真实数据集合和虚拟数据集合置为空。
步骤2、对于每一个回合(episode)的每一个时刻t:
步骤21、使用模型预测控制选择在正向模型中获得最大累计奖励的动作序列的首个动作at。
步骤22、在真实状态中执行at,得到奖励rt,到达新的状态st+1,将(st,at,rt,st+1)四元组添加到真实数据集合中。
步骤23、根据状态采样机制计算真实数据集合中每个状态被选为模型生成轨迹起始状态的概率,并根据概率采样得到起始状态。
步骤24、从上一步得到的起始状态开始,分别使用反向模型和正向模型生成的长度为k1和k2的轨迹,并添加到虚拟数据集合中。
步骤25、从虚拟数据集合中随机采样一个batch的数据,使用SAC优化正向策略π,重复N1次。
步骤26、从真实数据集合最新的数据中随机采样一个batch的数据,使用极大似然估计训练反向策略重复N2次。
上述实施例在Mojoco机器人连续控制问题上的表现要优于基准算法MBPO以及其他先进的基于模型和无模型算法,包括PETS,SLBO,SAC。具体表现为在采样相同数量的真实数据时的表现更好,且在真实数据充足,即算法收敛之后的表现也更优秀。
以上详细描述了本申请的较佳具体实施例。应当理解,本领域的普通技术无需创造性劳动就可以根据本申请的构思作出诸多修改和变化。因此,凡本技术领域中技术人员依本申请的构思在现有技术的基础上通过逻辑分析、推理或者有限的实验可以得到的技术方案,皆应在由权利要求书所确定的保护范围内。
Claims (7)
1.一种基于双向模型的强化学习方法,用于机器人控制,其特征在于,包括以下步骤:
步骤1、初始化正向模型、反向模型、正向策略、反向策略的参数,将真实数据集合和虚拟数据集合置为空;
步骤2、选择将要执行的动作at;
步骤3、机器人在真实环境中执行所述at,获得奖励rt,从当前状态st到达下一个状态s(t+1),并将四元组数据st,at,rt,s(t+1)添加到真实数据集合中;所述状态为机器人各部位的位置和速度,动作为施加在各部位上的力;
步骤4、使用所述真实数据集合中的数据训练正向模型以及反向模型;
步骤5、使用状态采样机制从所述真实数据集合中选择起始状态;
步骤6、从所述起始状态开始,使用所述正向模型和所述反向模型分别生成一定长度的虚拟轨迹,将虚拟轨迹添加到虚拟数据集合中;
步骤7、从所述虚拟数据集合中选取数据,优化所述正向策略;所述正向策略,在使用所述正向模型生成轨迹时,根据当前状态选取当前动作;所述反向策略,在使用所述反向模型生成轨迹时,根据当前状态选取前一个动作;
所述正向模型,在给定当前状态和当前动作的情况下,预测下一个状态;所述反向模型,在给定下一个状态和当前动作的情况下推测当前状态。
2.如权利要求1所述的基于双向模型的强化学习方法,其特征在于,从某真实的状态开始,双向地生成轨迹。
3.如权利要求1所述的基于双向模型的强化学习方法,其特征在于,所述步骤2中,所述at为所述正向模型中获得最大累计奖励的动作序列的首个动作。
4.如权利要求3所述的基于双向模型的强化学习方法,其特征在于,所述步骤2中,计算累计奖励时,加上了对于虚拟轨迹最后一个状态的价值估计。
5.如权利要求1所述的基于双向模型的强化学习方法,其特征在于,所述步骤4中,通过极大似然估计拟合真实数据的分布。
6.如权利要求1所述的基于双向模型的强化学习方法,其特征在于,步骤5中,依据价值函数V(s)的玻尔兹曼分布,选取价值高的真实状态作为所述起始状态,某一状态s被选为所述起始状态的概率为p(s)∝eβV(s)。
7.如权利要求1所述的基于双向模型的强化学习方法,其特征在于,步骤7中,使用SAC算法优化所述正向策略。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010622636.5A CN111950735B (zh) | 2020-06-30 | 2020-06-30 | 一种基于双向模型的强化学习方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010622636.5A CN111950735B (zh) | 2020-06-30 | 2020-06-30 | 一种基于双向模型的强化学习方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111950735A CN111950735A (zh) | 2020-11-17 |
CN111950735B true CN111950735B (zh) | 2023-11-17 |
Family
ID=73337882
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010622636.5A Active CN111950735B (zh) | 2020-06-30 | 2020-06-30 | 一种基于双向模型的强化学习方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111950735B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112612951B (zh) * | 2020-12-17 | 2022-07-01 | 上海交通大学 | 一种面向收益提升的无偏学习排序方法 |
CN113509726B (zh) * | 2021-04-16 | 2023-12-05 | 超参数科技(深圳)有限公司 | 交互模型训练方法、装置、计算机设备和存储介质 |
CN113239634B (zh) * | 2021-06-11 | 2022-11-04 | 上海交通大学 | 一种基于鲁棒模仿学习的模拟器建模方法 |
CN114114911B (zh) * | 2021-11-12 | 2024-04-30 | 上海交通大学 | 一种基于模型强化学习的自动超参数调节方法 |
CN116079730B (zh) * | 2023-02-06 | 2024-06-25 | 北京大学 | 一种提升机器人手臂操作精度的控制方法及系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107509005A (zh) * | 2017-09-21 | 2017-12-22 | 武汉大学 | 一种半色调设备光谱分色算法优化校正方法及系统 |
CN109733415A (zh) * | 2019-01-08 | 2019-05-10 | 同济大学 | 一种基于深度强化学习的拟人化自动驾驶跟驰模型 |
CN110222901A (zh) * | 2019-06-13 | 2019-09-10 | 河海大学常州校区 | 一种基于深度学习的Bi-LSTM的电负荷预测方法 |
CN111260072A (zh) * | 2020-01-08 | 2020-06-09 | 上海交通大学 | 一种基于生成对抗网络的强化学习探索方法 |
-
2020
- 2020-06-30 CN CN202010622636.5A patent/CN111950735B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107509005A (zh) * | 2017-09-21 | 2017-12-22 | 武汉大学 | 一种半色调设备光谱分色算法优化校正方法及系统 |
CN109733415A (zh) * | 2019-01-08 | 2019-05-10 | 同济大学 | 一种基于深度强化学习的拟人化自动驾驶跟驰模型 |
CN110222901A (zh) * | 2019-06-13 | 2019-09-10 | 河海大学常州校区 | 一种基于深度学习的Bi-LSTM的电负荷预测方法 |
CN111260072A (zh) * | 2020-01-08 | 2020-06-09 | 上海交通大学 | 一种基于生成对抗网络的强化学习探索方法 |
Non-Patent Citations (2)
Title |
---|
Combating the compounding-error problem with a multi-step model;Asadi K等;《arXiv》;全文 * |
LED智能光源混光呈色模型构建方法研究;刘强;万晓霞;李俊锋;梁金星;李必辉;王琪;;光谱学与光谱分析(第10期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN111950735A (zh) | 2020-11-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111950735B (zh) | 一种基于双向模型的强化学习方法 | |
Clavera et al. | Model-based reinforcement learning via meta-policy optimization | |
Amarjyoti | Deep reinforcement learning for robotic manipulation-the state of the art | |
US11562251B2 (en) | Learning world graphs to accelerate hierarchical reinforcement learning | |
CN111766782B (zh) | 基于深度强化学习中Actor-Critic框架的策略选择方法 | |
Ma et al. | Discriminative particle filter reinforcement learning for complex partial observations | |
CN107844460B (zh) | 一种基于p-maxq的多水下机器人的围捕方法 | |
Xiao et al. | Learning multi-robot decentralized macro-action-based policies via a centralized q-net | |
JP7493554B2 (ja) | Few-shot模倣のためのデモンストレーション条件付き強化学習 | |
Arai et al. | Experience-based reinforcement learning to acquire effective behavior in a multi-agent domain | |
CN112183762A (zh) | 一种基于混合行为空间的强化学习方法 | |
Guo et al. | Directed exploration for reinforcement learning | |
Fu et al. | Automatic Successive Reinforcement Learning with Multiple Auxiliary Rewards. | |
CN112297012B (zh) | 一种基于自适应模型的机器人强化学习方法 | |
CN114219066A (zh) | 基于瓦瑟斯坦距离的无监督强化学习方法及装置 | |
Li et al. | Learning adversarial policy in multiple scenes environment via multi-agent reinforcement learning | |
Zhang et al. | Clique-based cooperative multiagent reinforcement learning using factor graphs | |
Morales | Deep Reinforcement Learning | |
CN116360435A (zh) | 基于情节记忆的多智能体协同策略的训练方法和系统 | |
Mealing et al. | Opponent modelling by sequence prediction and lookahead in two-player games | |
KR20230174408A (ko) | 미래 사고 메커니즘을 이용한 개체의 행동 결정 장치 및 방법 | |
CN115453880A (zh) | 基于对抗神经网络的用于状态预测的生成模型的训练方法 | |
CN114995818A (zh) | 一种Simulink模型到C语言的优化参数自动配置方法 | |
Lin et al. | Adaptive variance for changing sparse-reward environments | |
WO2021140698A1 (ja) | 情報処理装置、方法及びプログラム |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |