CN117114078B - 提升连续控制机器人训练效率的方法、设备及存储介质 - Google Patents
提升连续控制机器人训练效率的方法、设备及存储介质 Download PDFInfo
- Publication number
- CN117114078B CN117114078B CN202311374772.7A CN202311374772A CN117114078B CN 117114078 B CN117114078 B CN 117114078B CN 202311374772 A CN202311374772 A CN 202311374772A CN 117114078 B CN117114078 B CN 117114078B
- Authority
- CN
- China
- Prior art keywords
- state
- data
- robot
- layer
- action
- 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 124
- 238000012549 training Methods 0.000 title claims abstract description 108
- 238000003860 storage Methods 0.000 title claims abstract description 13
- 230000006870 function Effects 0.000 claims abstract description 142
- 230000008447 perception Effects 0.000 claims abstract description 75
- 238000012512 characterization method Methods 0.000 claims abstract description 56
- 230000002787 reinforcement Effects 0.000 claims abstract description 43
- 239000013598 vector Substances 0.000 claims abstract description 38
- 238000005457 optimization Methods 0.000 claims abstract description 29
- 238000004891 communication Methods 0.000 claims abstract description 12
- 238000013507 mapping Methods 0.000 claims abstract description 11
- 230000009466 transformation Effects 0.000 claims abstract description 11
- 230000009471 action Effects 0.000 claims description 84
- 238000013528 artificial neural network Methods 0.000 claims description 26
- 230000007774 longterm Effects 0.000 claims description 23
- 238000009826 distribution Methods 0.000 claims description 19
- 238000005070 sampling Methods 0.000 claims description 15
- 230000007704 transition Effects 0.000 claims description 13
- 230000008569 process Effects 0.000 claims description 12
- 239000011159 matrix material Substances 0.000 claims description 11
- 238000013480 data collection Methods 0.000 claims description 8
- 230000003993 interaction Effects 0.000 claims description 7
- 230000006399 behavior Effects 0.000 claims description 5
- 239000000203 mixture Substances 0.000 claims description 5
- 238000011156 evaluation Methods 0.000 claims description 4
- 230000002093 peripheral effect Effects 0.000 claims description 4
- 230000009467 reduction Effects 0.000 claims description 4
- 230000004913 activation Effects 0.000 claims description 3
- 238000004590 computer program Methods 0.000 claims description 3
- 238000011524 similarity measure Methods 0.000 claims description 2
- 238000013459 approach Methods 0.000 claims 1
- 238000000605 extraction Methods 0.000 abstract description 4
- 238000010586 diagram Methods 0.000 description 25
- 238000004088 simulation Methods 0.000 description 12
- 238000012360 testing method Methods 0.000 description 10
- 230000000694 effects Effects 0.000 description 5
- 230000000737 periodic effect Effects 0.000 description 5
- 238000012546 transfer Methods 0.000 description 5
- 230000001186 cumulative effect Effects 0.000 description 4
- 230000002349 favourable effect Effects 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 238000002474 experimental method Methods 0.000 description 2
- 239000000047 product Substances 0.000 description 2
- 101100395869 Escherichia coli sta3 gene Proteins 0.000 description 1
- 101100172228 Mus musculus Emd gene Proteins 0.000 description 1
- 101100096893 Mus musculus Sult2a1 gene Proteins 0.000 description 1
- 101100096895 Mus musculus Sult2a2 gene Proteins 0.000 description 1
- 238000002679 ablation Methods 0.000 description 1
- WYTGDNHDOZPMIW-RCBQFDQVSA-N alstonine Natural products C1=CC2=C3C=CC=CC3=NC2=C2N1C[C@H]1[C@H](C)OC=C(C(=O)OC)[C@H]1C2 WYTGDNHDOZPMIW-RCBQFDQVSA-N 0.000 description 1
- -1 carrier Substances 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 239000003153 chemical reaction reagent Substances 0.000 description 1
- 238000004140 cleaning Methods 0.000 description 1
- 238000012733 comparative method Methods 0.000 description 1
- 239000000306 component Substances 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 239000012467 final product Substances 0.000 description 1
- 238000009472 formulation Methods 0.000 description 1
- 239000012535 impurity Substances 0.000 description 1
- 239000004615 ingredient Substances 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 230000009191 jumping Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 101150075348 sta gene Proteins 0.000 description 1
- 239000007858 starting material Substances 0.000 description 1
- 238000005728 strengthening Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000009182 swimming Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Classifications
-
- 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
- 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/213—Feature extraction, e.g. by transforming the feature space; Summarisation; Mappings, e.g. subspace methods
- G06F18/2131—Feature extraction, e.g. by transforming the feature space; Summarisation; Mappings, e.g. subspace methods based on a transform domain processing, e.g. wavelet transform
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- Molecular Biology (AREA)
- Computational Linguistics (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Mathematical Physics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Manipulator (AREA)
- Feedback Control In General (AREA)
Abstract
本发明公开了一种提升连续控制机器人训练效率的方法、设备及存储介质,方法包括:步骤1,经与机器人通信连接的传感器获取状态数据;步骤2,用多层密集连接的特征编码器对状态数据编码得百维向量作为状态表征数据;步骤3,用多层感知的傅里叶函数预测器将状态表征数据映射为傅里叶函数,以傅里叶函数逼近真实状态序列的频域变换方式优化更新特征编码器和傅里叶函数预测器;步骤4,将优化更新后的特征编码器输出的状态表征数据作为多层感知决策模型的输入,再用传统强化学习中的训练方法更新优化多层感知决策模型。步骤5,重复步骤1至步骤4直至训练结束。该方法能增强机器人从序列数据中的信息提取能力,进而提升机器人训练效率。
Description
技术领域
本发明涉及连续控制机器人领域,尤其涉及一种提升连续控制机器人训练效率的方法、设备及存储介质。
背景技术
深度强化学习(Deep Reinforcement Learning)算法在机器人控制、游戏智能、组合优化等领域取得了巨大的成功。在仿真机器人控制为代表的任务中,通常需要处理连续的状态和动作空间,因此该类问题通常被抽象为机器人强化学习中的连续控制问题。连续控制问题中的传统深度强化学习算法主要分为基于Q值学习的软执行者-评论家算法(softactor-critic,SAC算法)和基于策略优化的近端策略优化算法(proximal policyoptimization,PPO算法)。两种算法都通过经验回放的方式解决强化学习算法的样本复用问题。与此同时,SAC算法和PPO算法分别通过参数软更新和截断代理目标的方式,有效增强了强化学习算法的收敛速度和稳定性,并应用于以MuJoCo仿真环境为代表的一系列仿真机器人控制任务中,在多个仿真任务上取得了优异的表现。
然而,当前的强化学习算法仍存在样本效率低下的问题,即机器人需要大量与环境交互的数据才能训得性能优异的策略。一方面,在现实世界中收集大量的交互数据通常十分困难。例如在无人机训练中,获取无人机模拟空战数据的渠道有限,每次数据采集都需要付出高昂的成本;在自动驾驶训练时,车辆与实际交通环境的交互难以控制,数据采集过程的安全性难以保证。这些高昂的成本和安全性问题限制了强化学习算法在现实世界问题中的应用。另一方面,真实场景中的输入数据通常种类多样且冗余信息较多,机器人难以从多样冗余的数据中高效探索出对任务有用的信息,从而导致了样本效率的低下。
为了提升样本效率,研究者们将目光投向于表征学习,希望训得的表征能从环境的原始状态中编码出充足且有价值的特征,从而提升机器人对状态空间的探索效率。为了达到该目的,一些研究者设计了预测未来奖励和状态信号的监督任务来辅助表征编码与未来决策相关的特征。考虑到强化学习是针对序列决策任务的方法,认为长期的序列信号相对于单步信号包含更多有利于长期决策的未来信息。启发于这一观点,一些研究者提出通过预测未来多步的奖励序列信号来辅助表征学习,以提取与决策任务相关的长期特征,从而提升算法的泛化性能。但相对于稀疏的奖励信号,状态序列包含更丰富的信息。这是因为未来的状态序列很大程度上决定了机器人未来采取的动作序列,并进一步决定了相应的奖励序列。因此,未来的状态序列不仅包含环境固有的概率转移函数的信息,也能辅助表征捕获反映当前策略的走向趋势。
然而,通过预测长期未来的状态序列来帮助表征从序列数据中提取有用信息是非常困难的。现有的两类方法中,一类通过学习单步概率转移模型来逐步地产生单个时刻的未来状态,以间接预测多步的状态序列。但是,这类方法对所训得的概率转移模型的精度要求很高,因为每步的预测误差会随预测序列长度的增加而积累。另一类方法通过直接预测未来多步的状态序列来辅助表征学习,但这类方法需要存储多步的真实状态序列作为监督任务的标签,所耗存储量大。因此,如何有效从环境的状态序列中捕获有利于长期决策的未来特征,进而提升样本效率来提升连续控制机器人的训练效率是需要解决的问题。
有鉴于此,特提出本发明。
发明内容
本发明的目的是提供了一种提升连续控制机器人训练效率的方法、设备及存储介质,能增强机器人从序列数据中的信息提取能力,提升机器人的训练效率,进而解决现有技术中存在的上述技术问题。
本发明的目的是通过以下技术方案实现的:
本发明实施方式提供一种提升连续控制机器人训练效率的方法,在待训练的机器人上部署多层密集连接的特征编码器和多层感知的傅里叶函数预测器,包括:
步骤1,通过与机器人通信连接的传感器获取用于后续控制所述机器人的状态数据;所述机器人指连续控制机器人;
步骤2,利用强化学习通用的经验回放池存储所述机器人与机器人所处任务环境交互过程中收集的状态数据、决策动作数据和奖励数据,并从经验回访池中随机采集用于训练的批数据;
步骤3,用所述多层密集连接的特征编码器将所述步骤2随机采集的批数据中的状态数据编码为百维的状态表征数据,以及将状态数据和决策动作数据编码为百维的状态-动作表征数据;
步骤4,用所述多层感知的傅里叶函数预测器将所述步骤3得到的状态-动作表征数据映射为所预测状态序列的傅里叶函数,并通过使该傅里叶函数逼近真实状态序列频域变换的方式,优化更新所述多层密集连接的特征编码器和所述多层感知的傅里叶函数预测器,使所述多层密集连接的特征编码器能编码出包含未来长期序列信号的结构性特征的状态表征数据和状态-动作表征数据;
步骤5,将所述步骤4中优化更新后的所述多层密集连接的特征编码器输出的状态-动作表征数据和状态表征数据分别作为所述机器人的多层感知价值模型和多层感知决策模型的输入,用传统强化学习算法中的训练方式优化更新所述机器人的多层感知价值模型和多层感知决策模型;
步骤6,重复步骤1至步骤5直至达到预设的训练结束数据量,则结束训练得到训练好的机器人。
本发明实施方式还提供一种控制设备,包括:
至少一个存储器,用于存储一个或多个程序;
至少一个处理器,能执行所述存储器所存储的一个或多个程序,在一个或多个程序被处理器执行时,使得所述处理器能实现本发明所述的方法。
本发明实施方式进一步提供一种可读存储介质,存储有计算机程序,当计算机程序被处理器执行时能实现本发明所述的方法。
与现有技术相比,本发明所提供的提升连续控制机器人训练效率的方法、设备及存储介质,其有益效果包括:
通过与机器人通信连接的传感器获取用于后续控制机器人的状态数据,使用训练好的多层密集连接的特征编码器将传感器获得的状态数据进行编码,得到一个从状态数据中抽象出未来长期序列信号的结构性特征的百维向量作为状态表征数据,使用训练好的多层感知决策模型将得到的状态表征数据映射为一个最优动作,使机器人能执行该最优动作来对该机器人进行最优控制;由于是通过预测状态序列的频域变换,帮助表征编码未来长期序列信号中的结构性特征,特征自身显式包含序列数据中的规律性信息及状态序列中固有的反映策略性能的趋势性信息,有效增强了表征从状态序列中抽象出有利于机器人长期决策用特征的能力,进而提升了机器人连续控制的样本效率。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他附图。
图1为本发明实施例提供的提升连续控制机器人训练效率的方法的流程图。
图2为本发明实施例提供的提升连续控制机器人训练效率的方法的多层密集连接特征编码器、多层感知价值模型、多层感知决策模型、多层感知的傅里叶函数预测器和投影器的构成示意图。
图3为本发明实施例提供的提升机器人连续控制稳定性的方法的仿真机器人控制环境示意图;其中,图3中的(a)为控制三维蚂蚁机器人向前奔跑示意图,图3中的(b)为控制二维半豹机器人向前奔跑示意图,图3中的(c)为控制三维人形机器人向前奔跑示意图,图3中的(d)为控制二维人形机器人向前奔跑示意图,图3中的(e)为控制二维人形机器人向前跳跃示意图,图3中的(f)为控制二维蛇形机器人向前游动示意图。
图4为本发明实施例提供的提升连续控制机器人训练效率的方法在图3提供的控制仿真机器人上与现有控制方法的训练效果对比曲线图;其中,图4中的(a)为二维半豹机器人向前奔跑控制任务的训练曲线对比图;图4中的(b)为二维人形机器人向前跳跃控制任务的训练曲线对比图;图4中的(c)为二维人形机器人向前奔跑控制任务的训训练曲线对比图;图4中的(d)为三维蚂蚁机器人向前奔跑控制任务的训练曲线对比图;图4中的(e)为二维蛇形机器人向前游动控制任务的训练曲线对比图;图4中的(f)为三维人形机器人向前奔跑控制任务的训练曲线对比图。
图5为本发明实施例提供的提升连续控制机器人训练效率的方法与不使用投影器模块、不使用目标网络模块、改变预测损失、改变特征编码器网络结构时的训练曲线对比示意图,该示意图为本方法应用在SAC算法上在HalfCheetah任务中的训练曲线图。
图6为本发明实施例提供的提升连续控制机器人训练效率的方法与其他使用不同预测目标来提升样本效率的方法的训练曲线对比示意图;其中,本发明方法的用于对比的预测目标有预测无穷步状态序列傅里叶函数、预测单步状态序列、预测2步未来状态序列、预测3步未来状态序列、预测5步未来状态序列、预测单步奖励序列、预测无穷步奖励序列的傅里叶变换,该示意图为使用不同预测目标来提升样本效率的方法应用在SAC算法上在HalfCheetah任务中的训练曲线图。
图7为本发明实施例提供的提升连续控制机器人训练效率的方法训练好的傅里叶函数预测器通过逆傅里叶变换所恢复出的200步状态序列示意图,其中,实线为真实的状态序列示意图,5条带标记虚线为恢复出的状态序列示意图,越下方的虚线表示利用越久远的历史信息所恢复出的状态序列,该示意图为使用由本发明方法训练好的多层感知决策模型与Walker2d任务环境交互得到的状态序列,以Walker2d任务状态序列的四个维度为例。
具体实施方式
下面结合本发明的具体内容,对本发明实施例中的技术方案进行清楚、完整地描述;显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例,这并不构成对本发明的限制。基于本发明的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明的保护范围。
首先对本文中可能使用的术语进行如下说明:
术语“和/或”是表示两者任一或两者同时均可实现,例如,X和/或Y表示既包括“X”或“Y”的情况也包括“X和Y”的三种情况。
术语“包括”、“包含”、“含有”、“具有”或其它类似语义的描述,应被解释为非排它性的包括。例如:包括某技术特征要素(如原料、组分、成分、载体、剂型、材料、尺寸、零件、部件、机构、装置、步骤、工序、方法、反应条件、加工条件、参数、算法、信号、数据、产品或制品等),应被解释为不仅包括明确列出的某技术特征要素,还可以包括未明确列出的本领域公知的其它技术特征要素。
术语“由……组成”表示排除任何未明确列出的技术特征要素。若将该术语用于权利要求中,则该术语将使权利要求成为封闭式,使其不包含除明确列出的技术特征要素以外的技术特征要素,但与其相关的常规杂质除外。如果该术语只是出现在权利要求的某子句中,那么其仅限定在该子句中明确列出的要素,其他子句中所记载的要素并不被排除在整体权利要求之外。
除另有明确的规定或限定外,术语“安装”、“相连”、“连接”、“固定”等术语应做广义理解,例如:可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本文中的具体含义。
术语“中心”、“纵向”、“横向”、“长度”、“宽度”、“厚度”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”“内”、“外”、“顺时针”、“逆时针”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述和简化描述,而不是明示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本文的限制。
下面对本发明所提供的提升连续控制机器人训练效率的方法、设备及存储介质进行详细描述。本发明实施例中未作详细描述的内容属于本领域专业技术人员公知的现有技术。本发明实施例中未注明具体条件者,按照本领域常规条件或制造商建议的条件进行。本发明实施例中所用试剂或仪器未注明生产厂商者,均为可以通过市售购买获得的常规产品。
如图1所示,本发明实施例提供一种提升连续控制机器人训练效率的方法,能从传感器提供的序列数据中抽象出结构性特征,所述结构性特征与序列数据中的规律性模式和机器人决策任务的性能表现相关,先在待训练的机器人上部署多层密集连接的特征编码器和多层感知的傅里叶函数预测器,包括:
步骤1,通过与机器人通信连接的传感器获取用于后续控制所述机器人的状态数据;所述机器人指连续控制机器人;
步骤2,利用强化学习通用的经验回放池存储所述机器人与机器人所处任务环境交互过程中收集的状态数据、决策动作数据和奖励数据,并从经验回访池中随机采集用于训练的批数据;
步骤3,用所述多层密集连接的特征编码器将所述步骤2随机采集的批数据中的状态数据编码为百维的状态表征数据,以及将状态数据和决策动作数据编码为百维的状态-动作表征数据;
步骤4,用所述多层感知的傅里叶函数预测器将所述步骤3得到的状态-动作表征数据映射为所预测状态序列的傅里叶函数,并通过使该傅里叶函数逼近真实状态序列频域变换的方式,优化更新所述多层密集连接的特征编码器和所述多层感知的傅里叶函数预测器,使所述多层密集连接的特征编码器能编码出包含未来长期序列信号的结构性特征的状态表征数据和状态-动作表征数据;
步骤5,将所述步骤4中优化更新后的所述多层密集连接的特征编码器输出的状态-动作表征数据和状态表征数据分别作为所述机器人的多层感知价值模型和多层感知决策模型的输入,用传统强化学习算法中的训练方式优化更新所述机器人的多层感知价值模型和多层感知决策模型;
步骤6,重复步骤1至步骤5直至达到预设的训练结束数据量,则结束训练得到训练好的机器人。
优选的,上述方法中,所述多层密集连接的特征编码器由依次连接的状态特征编码器和状态-动作对特征编码器/>组成;其中,
所述状态特征编码器由多层稠密连接的全连接神经网络组成,能以状态数据s作为输入,输出所述状态数据s的状态表征数据/>;
所述状态-动作对特征编码器由多层稠密连接的全连接神经网络组成,能以决策动作数据a和所述状态特征编码器/>输出的状态表征数据/>作为输入,输出状态-动作表征数据/>;
所述多层感知的傅里叶函数预测器由依次连接的双层神经网络组成,第一层神经网络为通用的全连接神经网络,包括线性层、激活函数层和批标准化层,第二层神经网络为双头全连接神经网络,包括两个线性层,分别输出傅里叶函数的实部和虚部。
优选的,上述方法中,按以下方式通过经验回放池收集和采集训练用的状态数据、决策动作数据和奖励数据,并对所述多层密集连接的特征编码器、所述多层感知的傅里叶函数预测器、所述机器人的多层感知价值模型和多层感知决策模型进行训练,得到训练好的多层密集连接的特征编码器、多层感知的傅里叶函数预测器、多层感知价值模型和多层感知决策模型,训练过程包括以下步骤:
步骤21,先收集训练启动用的不少于10000个由所述传感器获得的状态数据、决策动作数据和奖励数据,并按数据收集的时间先后顺序存放在强化学习通用的经验回放池中;
步骤22,通过与机器人通信连接的内部传感器和周边的外部传感器,获取与所述机器人所处状态与运动速度相关的状态数据;
步骤23,通过所述多层密集连接的特征编码器对所述步骤22中从传感器获得的状态数据进行编码得到相应的状态表征数据,再以所述机器人的多层感知决策模型将所述状态表征数据映射为控制所述机器人行为的决策动作数据,然后按所述机器人的控制任务使用该机器人对应的通用奖励函数计算所述状态数据和决策动作数据对应的奖励数据;
步骤24,将所述步骤22收集的传感器状态数据和步骤23收集的决策动作数据和奖励数据按数据收集的时间先后顺序存放在经验回放池中;
步骤25,从所述经验回放池存储的数据中取出256个状态数据、256个决策动作数据和256个奖励数据,对于每个状态数据,将对应的下一时刻状态数据输入到多层感知决策模型中,得到256个下一时刻的决策动作,将这256个状态数据、256个决策动作数据、256个奖励数据、256个下一时刻状态数据和256个下一时刻决策动作数据作为一个批数据;
步骤26,以所述多层密集连接的特征编码器对批数据中的状态数据和决策动作数据编码的状态-动作表征数据作为所述多层感知的傅里叶函数预测器的输入,所述多层感知的傅里叶函数预测器输出一个L维×状态数据维度的第一向量,该第一向量作为所预测状态序列的傅里叶函数在一个周期内的L个离散采样值;
步骤27,以所述多层密集连接的特征编码器对批数据中的下一时刻状态数据和下一时刻决策动作编码的状态-动作表征数据作为所述多层感知的傅里叶函数预测器的输入,所述多层感知的傅里叶函数预测器输出一个L维×状态数据维度的第二向量,利用该第二向量和下一时刻状态数据通过离散时间傅里叶变换公式的递归形式计算得到一个估计值更优的状态序列的目标傅里叶函数在一个周期内的L个离散采样值;
步骤28,将步骤26和步骤27中得到的所述第一向量和由第二向量计算得出的L个离散采样值都除去高频和低频成分后再分别作为投影器的输入进行降维,得到两个降维后的投影器输出值,然后计算这两个输出值的距离值作为预测损失,利用该预测损失对所述多层感知的傅里叶函数预测器、投影器和所述多层密集连接的特征编码器进行优化更新,使得优化更新后的所述多层密集连接的特征编码器能编码出机器人控制任务所需要的未来长期序列信号的结构性特征的状态表征数据和状态-动作表征数据,同时使优化更新后的所述多层感知的傅里叶函数预测器能输出更逼近真实状态序列的频域变换;
步骤29,用步骤28优化更新后的所述多层密集连接的特征编码器将步骤25的批数据中的状态数据编码为包含状态序列结构性特征的状态表征数据和状态-动作表征数据,再用传统强化学习算法中的策略评估和策略提升以所述包含状态序列结构性特征的状态-动作表征数据和状态表征数据分别作为所述机器人的多层感知价值模型和多层感知决策模型的输入,训练更新所述机器人的多层感知价值模型和多层感知决策模型;
步骤210,重复所述步骤22至步骤29的操作,直到经验回放池中的数据量超出预设的训练结束数据量后结束训练,结束训练后即得到训练好的多层密集连接的特征编码器、多层感知的傅里叶函数预测器、所述机器人的多层感知价值模型和多层感知决策模型。
上述提升连续控制机器人训练效率的方法中所提及的多层密集连接特征编码器、多层感知价值模型、多层感知决策模型、多层感知的傅里叶函数预测器和投影器的在训练过程中的网络构成如图2所示。
优选的,上述方法的步骤26和步骤27中,所述多层感知的傅里叶函数预测器输出的是状态序列的离散时间傅里叶变换,其公式为:
;
上述公式中各参数含义为:为以t时刻机器人的状态st及t时刻机器人的动作at为条件的第t+n+1时刻时状态的期望;/>为由/>组成的以t时刻机器人的状态st及t时刻机器人的动作at为起始状态和动作在当前策略和当前环境的转移概率函数下的无限步未来状态序列;/>为离散时间傅里叶变换;/>为一个L维×状态数据维度的向量,其中,π表示圆周率;L为所预测的状态序列傅里叶函数的离散点个数,预设为128;k为傅里叶函数的离散点序号,取值为0,1,……,L-1的整数;n为状态序列中的状态数据编号,取值为0到正无穷的整数;j为复数单位/>;所述傅里叶函数预测器的采用双头结构的全连接网络结构输出层,能匹配傅里叶函数复数值中的实部和虚部。
优选的,上述方法的步骤27中,按以下公式利用该第二向量和下一时刻状态数据通过离散时间傅里叶变换公式的递归形式计算得到一个估计值更优的状态序列的目标傅里叶函数,公式为:
;
其中,
;
上述公式中各参数含义为:st为t时刻机器人的状态;D为状态空间的维度;L为所预测的状态序列傅里叶函数的离散点个数,预设为128;at为t时刻机器人的动作;为以t时刻机器人的状态st及t时刻机器人的动作at为起始的t+1时刻状态期望;/>为以L个t+1时刻状态期望/>为相同行向量的L×D矩阵;/>表示矩阵的转置;/>表示L×D维的实数域;/>为与L相关的常数矩阵;π表示圆周率;π0表示策略概率分布/>;p表示状态转移概率/>;E为对策略概率分布及状态转移概率/>求数学期望;/>为由所述傅里叶函数预测器输出的状态序列的离散时间傅里叶变换;/>为强化学习中的折扣因子。
优选的,上述方法的步骤28中,所述多层感知的傅里叶函数预测器以多层密集连接的特征编码器/>,/>输出的状态-动作表征数据/>作为输入,输出得到以t时刻状态和t时刻动作为起始条件的所预测状态序列的傅里叶函数的实部和虚部/>,再使用离散时间傅里叶变换公式的递归形式计算目标傅里叶函数的实部与虚部,分别计算所预测状态序列的傅里叶函数和目标傅里叶函数之间的实部距离值和虚部距离值,并将实部距离值和虚部距离值相加,得到该多层感知的傅里叶函数预测器的损失函数为:
;
上述公式中各参数含义为:为由所述传感器获得的当前状态数据经过特征编码器后的状态表征数据;/>为由所述传感器获得的下一时刻状态数据经过特征编码器后的状态表征数据;/>和/>分别为所述常数矩阵/>的实部和虚部;/>为以L个t+1时刻状态期望/>为相同行向量的L×D矩阵;/> 0为策略概率分布;d为一种相似度度量,预设为余弦相似度;/>、/>分别为状态序列的预测傅里叶函数的实部和虚部、/>的简写形式;/>表示状态特征编码器/>和状态-动作对特征编码器/>的参数集合;/>表示多层感知的傅里叶函数预测器的参数。
优选的,上述方法中的步骤29中,所述传统强化学习算法采用软执行者-评论家算法或近端策略优化算法;
所述步骤210中,预设的训练结束数据量为1000000个。
优选的,上述方法中的连续控制机器人为智能机器人、智能工业控制系统中的任一种;智能机器人可以是三维蚂蚁机器人、二维半豹机器人、三维人形机器人、二维人形机器人、二维蛇形机器人中的任一种。
所述步骤1中,与机器人通信连接的传感器包括:机器人内部设置的内部传感器和机器人周边设置的外部传感器。
本发明实施例还提供一种控制设备,包括:
至少一个存储器,用于存储一个或多个程序;
至少一个处理器,能执行所述存储器所存储的一个或多个程序,在一个或多个程序被处理器执行时,使得所述处理器能实现上述的方法。
本发明进一步提供一种可读存储介质,存储有计算机程序,当计算机程序被处理器执行时能实现上述的方法。
综上可见,本发明实施例的提升连续控制机器人训练效率的方法,通过预测状态序列的频域变换来帮助表征编码未来长期序列信号中的结构性特征,特征自身显式包含序列数据中的规律性信息及状态序列中固有的反映策略性能的趋势性信息,有效增强了表征从状态序列中抽象出有利于机器人长期决策的特征的能力,提升了训练机器人利用样本的效率,进而提升连续控制机器人的训练效率。
为了更加清晰地展现出本发明所提供的技术方案及所产生的技术效果,下面以具体实施例对本发明实施例所提供的基于视觉的机器人的控制方法进行详细描述。
实施例1
如图1所示,本发明实施例提供一种提升连续控制机器人训练效率的方法,可从传感器提供的序列数据中抽象出结构性特征,所述结构性特征与序列数据中的规律性模式和机器人决策任务的性能表现相关;预先在待训练的机器人上部署多层密集连接的特征编码器和多层感知的傅里叶函数预测器,包括:
步骤1,通过与机器人通信连接的传感器获取用于后续控制机器人的状态数据;
步骤2,利用强化学习通用的经验回放池存储所述机器人与机器人所处任务环境交互过程中收集的状态数据、决策动作数据和奖励数据,并从经验回访池中随机采集用于训练的批数据;
步骤3,用所述多层密集连接的特征编码器将所述步骤2随机采集的批数据中的状态数据编码为百维的状态表征数据,以及将状态数据和决策动作数据编码为百维的状态-动作表征数据;
步骤4,用所述多层感知的傅里叶函数预测器将所述步骤3得到的状态-动作表征数据映射为所预测状态序列的傅里叶函数,并通过使该傅里叶函数逼近真实状态序列频域变换的方式,优化更新所述多层密集连接的特征编码器和所述多层感知的傅里叶函数预测器,使所述多层密集连接的特征编码器能编码出包含未来长期序列信号的结构性特征的状态表征数据和状态-动作表征数据;这种是对机器人决策有帮助的状态-动作表征数据,能加快机器人训练效率;
步骤5,将所述步骤4中优化更新后的所述多层密集连接的特征编码器输出的状态-动作表征数据和状态表征数据分别作为所述机器人的多层感知价值模型和多层感知决策模型的输入,用传统强化学习算法中的训练方式优化更新所述机器人的多层感知价值模型和多层感知决策模型;
步骤6,重复步骤1至步骤5直至达到预设的训练结束数据量,则结束训练得到训练好的机器人。
上述方法中,预先部署在机器人上的多层密集连接的特征编码器,/>由依次连接的状态特征编码器/>和状态-动作对特征编码器/>组成;其中,
所述状态特征编码器和所述状态-动作对特征编码器/>均由多层稠密连接的全连接神经网络组成;
所述状态特征编码器能以状态数据s作为输入,输出所述状态数据s的状态表征数据/>;
所述状态-动作对特征编码器能以决策动作数据a和所述状态特征编码器/>输出的状态表征/>作为输入,输出状态-动作表征数据/>。
上述方法中,预先部署在机器人上的多层感知的傅里叶函数预测器由双层神经网络组成,第一层神经网络为通用的全连接神经网络,包括线性层、激活函数层和批标准化层,第二层神经网络为双头全连接神经网络,包括两个线性层,分别输出傅里叶函数的实部和虚部。
部署在机器人上的多层密集连接的特征编码器和多层感知的傅里叶函数预测器,均能与机器人之前机器人的多层感知价值模型和多层感知决策模型通信连接。
上述方法的步骤1中,与机器人通信连接的传感器包括:机器人内部设置的内部传感器和机器人周边设置的外部传感器。
上述方法中,按以下方式通过经验回放池收集和采集训练用的状态数据、决策动作数据和奖励数据,并对所述多层密集连接的特征编码器、所述多层感知的傅里叶函数预测器、所述机器人的多层感知价值模型和多层感知决策模型进行训练,得到训练好的多层密集连接的特征编码器、多层感知的傅里叶函数预测器、多层感知价值模型和多层感知决策模型,具体的训练过程包括:
步骤21,先收集训练启动用的不少于10000个由所述传感器获得的状态数据、决策动作数据和奖励数据,并按数据收集的时间先后顺序存放在强化学习通用的经验回放池中:
步骤22,通过与机器人通信连接的内部传感器和周边的外部传感器,获取与所述机器人所处状态与运动速度相关的状态数据;
步骤23,通过所述多层密集连接的特征编码器对所述步骤22中从传感器获得的状态数据进行编码得到相应的状态表征数据,再以所述机器人的多层感知决策模型将所述状态表征数据映射为控制所述机器人行为的决策动作数据,然后按所述机器人的控制任务使用该机器人对应的通用奖励函数计算所述状态数据和决策动作数据对应的奖励数据;
步骤24,将所述步骤22收集的传感器状态数据和步骤23收集的决策动作数据和奖励数据按数据收集的时间先后顺序存放在经验回放池中;
步骤25,从所述经验回放池存储的数据中取出256个状态数据、256个决策动作数据和256个奖励数据,对于每个状态数据,将对应的下一时刻状态数据输入到多层感知决策模型中,得到256个下一时刻的决策动作,将这256个状态数据、256个决策动作数据、256个奖励数据、256个下一时刻状态数据和256个下一时刻决策动作数据作为一个批数据;
步骤26,以所述多层密集连接的特征编码器对批数据中的状态数据和决策动作数据编码的状态-动作表征数据作为所述多层感知的傅里叶函数预测器的输入,所述多层感知的傅里叶函数预测器输出一个L维×状态数据维度的第一向量,该第一向量作为所预测状态序列的傅里叶函数在一个周期内的L个离散采样值;
步骤27,以所述多层密集连接的特征编码器对批数据中的下一时刻状态数据和下一时刻决策动作编码的状态-动作表征数据作为所述多层感知的傅里叶函数预测器的输入,所述多层感知的傅里叶函数预测器输出一个L维×状态数据维度的第二向量,利用该第二向量和下一时刻状态数据通过离散时间傅里叶变换公式的递归形式计算得到一个估计值更优的状态序列的目标傅里叶函数在一个周期内的L个离散采样值;
步骤28,将步骤26和步骤27中得到的所述第一向量和由第二向量计算得出的L个离散采样值都除去高频和低频成分,然后再将除去高频和低频成分后的第一向量和由第二向量计算得出的L个离散采样值分别作为投影器的输入进行降维,得到两个降维后的投影器输出值,然后计算这两个输出值的距离值作为预测损失,利用该预测损失对所述多层感知的傅里叶函数预测器、投影器和所述多层密集连接的特征编码器进行优化更新,使得优化更新后的所述多层密集连接的特征编码器能编码出机器人控制任务所需要的未来长期序列信号的结构性特征的状态表征数据和状态-动作表征数据,同时使优化更新后的所述多层感知的傅里叶函数预测器能输出更逼近真实状态序列的频域变换;
步骤29,用步骤28优化更新后的所述多层密集连接的特征编码器将步骤25的批数据中的状态数据编码为包含状态序列结构性特征的状态表征数据和状态-动作表征数据,再用传统强化学习算法中的策略评估和策略提升以所述包含状态序列结构性特征的状态-动作表征数据和状态表征数据分别作为所述机器人的多层感知价值模型和多层感知决策模型的输入,训练更新所述机器人的多层感知价值模型和多层感知决策模型;
步骤210,重复所述步骤22至步骤29的操作,直到经验回放池中的数据量超出预设的训练结束数据量后结束训练,结束训练后即得到训练好的多层密集连接的特征编码器、多层感知的傅里叶函数预测器、所述机器人的多层感知价值模型和多层感知决策模型。
上述步骤21中,按以下方式收集训练启动用的不少于10000个由所述传感器获得的状态数据、决策动作数据和奖励数据,并按数据收集的时间先后顺序存放在强化学习通用的经验回放池中,包括:
步骤211,通过与机器人通信连接的内部传感器和周边的外部传感器,获取与所述机器人所处状态与运动速度相关的状态数据;
步骤212,通过所述多层密集连接的特征编码器对所述步骤211中从传感器获得的状态数据进行编码得到相应的状态表征数据,再以所述机器人的多层感知决策模型将所述状态表征数据映射为控制所述机器人行为的决策动作数据,然后按所述机器人的控制任务使用该机器人对应的通用奖励函数计算所述状态数据和决策动作数据对应的奖励数据;
步骤213,将所述步骤211收集的传感器状态数据和步骤212收集的决策动作数据和奖励数据按数据收集的时间先后顺序存放在经验回放池中。
上述步骤26和步骤27中,所预测状态序列的傅里叶函数的离散点个数L预设为128。
上述步骤27中,用于计算目标傅里叶函数的离散时间傅里叶变换的递归公式可写为如下的算子形式:
;
其中,st为t时刻机器人的状态;D为状态空间的维度;L为所预测的状态序列傅里叶函数的离散点个数,预设为128;为以L个/>为相同行向量的L×D矩阵/>,/>为以t时刻机器人的状态st及t时刻机器人的动作at为起始的t+1时刻状态期望;为与L相关的常数矩阵,在上文中已给出表达式;π0表示策略概率分布/>;p表示状态转移概率;E为对策略概率分布/>及状态转移概率/>求数学期望;/>为由所述多层感知的傅里叶函数预测器输出的状态序列的离散时间傅里叶变换;/>为一算子。
如下可进一步证明出该算子为压缩算子,使基于所述递归公式的更新过程有收敛保证:/>
;
其中,为状态空间;/>为动作空间;s为当前时刻状态数据;a为当前时刻动作数据;/>为下一时刻状态数据;/>为下一时刻动作数据;F1、F2分别为任意两个从/>映射到/>的函数,C表示复数域;/>为由所述傅里叶函数预测器输出的状态序列的离散时间傅里叶变换;D为状态空间的维度;L为所预测状态序列的傅里叶函数的离散点个数,预设为128;π0表示策略概率分布/>;p表示状态转移概率/>;E为对策略概率分布/>及状态转移概率/>求数学期望;/>为强化学习中的折扣因子;k为傅里叶函数的离散点序号,取值为0,1,……,L-1的整数;/>是D维实数域空间上的范数;是傅里叶函数空间上的范数。
上述步骤28中,所述状态序列结构性特征与序列数据中的结构性依赖有关,一类结构性依赖涉及奖励序列和状态序列之间的依赖关系。在强化学习任务中,未来的状态序列很大程度上决定了机器人未来采取的动作序列,并进一步决定了相应的奖励序列。因此,未来的状态序列不仅包含环境固有的概率转移函数的信息,也能辅助表征捕获反映当前策略的走向趋势。以下定理在有限状态空间及奖励函数只与状态有关的条件下成立,进一步论证了这一结构性依赖的存在:
;
上述公式中的si表示第i步时间的状态,和/>表示任意两个策略,/>和分别表示策略/>和策略/>下的平均累积回报;/>表示奖励的最大模;/>表示一个马尔科夫过程; />表示强化学习中的折扣因子,P表示在指定策略和转移概率函数条件下状态序列的概率分布;/>表示策略/>下的平均累积回报,定义如下:
;
其中,t表示步数,取值为0到正无穷的整数;st表示第t步时间的状态,at表示第t步时间的动作,表示第t+1步时间的状态;τ表示一个马尔科夫过程产生的状态-动作序列,即/>,π0表示策略概率分布/>;E为对在策略概率分布/>下产生的状态-动作序列τ求数学期望;/>为强化学习中的折扣因子,R为机器人所处任务环境对应的通用奖励函数。可以知道上述公式中的策略/>可以是策略/>或策略/>。
上述定理表明由策略性能差异可以被这两个策略所产生的状态序列分布差异所控制,即两个策略的性能差异越大,其对应的两个状态序列的分布差异也越大。这意味着好策略和坏策略会产生出两个差异较大的状态序列,这进一步说明状态序列所包含的长期结构性信息能潜在影响搜索性能优异的策略的效率。
另一方面,在一定条件下,状态序列的频域分布差异也能为对应的策略性能差异提供上界,具体如以下定理所示:
;
上述公式中,和/>表示任意两个策略,/>和/>分别表示策略/>和策略下的平均累积回报;D为状态空间的维度,/>表示强化学习中的折扣因子,/>表示所述机器人所处任务环境对应的通用奖励函数R的k次导,k!表示k的阶乘,/> 1、/> 2分别表示由策略和策略/>所产生的状态序列的k次方序列的傅里叶函数;/>表示傅里叶函数的第i个分量。这一定理表明状态序列的频域分布仍包含与当前策略性能相关的特征。
上述步骤28中,第二类状态序列中的结构性依赖涉及到状态信号之间的时间依赖性,即一段较长时期内状态序列所表现出的规律性模式。对于不可约的有限状态空间,当状态转移函数模长为1的特征值个数大于1时,状态序列在该转移函数下可证明是具有周期性的。在许多的真实场景任务中,机器人也会表现出周期性行为,因为其环境的状态转移函数本身就是具有周期性的。例如,工业机器人、特定场景下的汽车驾驶以及区域清扫机器人;以装配机器人为例,该机器人的训练目标是将零件组装在一起以创造最终产品,当策略训练达到稳定时,它就会执行一个周期性的动作序列,使其能够有效地将零件组装在一起;在MuJoCo任务中,策略训练达到稳定时,机器人也会表现出周期性的运动,从图7中的状态序列示意图可看出部分MuJoCo任务的机器人状态表现出明显的周期性。
上述步骤29中,所述传统强化学习算法在测试中采用软执行者-评论家算法,即SAC算法)、近端策略优化算法,即PPO算法中的任一种。
上述步骤210中,预设的训练结束数据量为1000000个。
对应于本发明实施例的训练方法的伪代码如下:
。
本发明提出的针对状态序列频域分布的预测任务,能辅助表征编码序列信号中的结构性特征,由于直接预测的状态序列的频域分布,这些特征显式包含了序列数据中的规律性信息及状态序列中固有的反映策略性能的趋势性信息,有效增强了表征从状态序列中抽象出有利于机器人长期决策的特征的能力,进而提升了机器人连续控制的效率。
本发明相较于现有的连续控制机器人的训练方法,至少具有如下几个优点:
(1)借助状态序列的频域分布来学习表征,能显式捕获序列数据中的规律性信息及状态序列中固有的反映策略性能的趋势性信息;
(2)借助状态序列中的结构性信息,能帮助表征编码长期序列信号中的潜在关键特征,从而减少对训练高预测精度模型的依赖,从而提高训练的稳定性;
(3)通过离散时间傅里叶变换的递归公式来更新预测器模型,只需存储下一时刻状态,避免存储高维的未来状态序列作为预测任务的标签,存储量低,代码实现简单,且与现有的连续控制强化学习算法广泛兼容;
(4)在机器人控制中,有效增强了强化学习算法机器人的信息提取能力,提升了机器人连续控制的效率。
实施例2
为了验证本发明方法的有效性,将上述提出的基于状态序列频域预测的表征学习算法优化后的强化学习算法应用在机器人控制领域对其样本效率进行测试。由于直接使用真实环境的机器人任务存在成本高昂、效率低下的问题,本实施例选择更简便、测试更高效的在仿真环境中进行机器人控制任务的测试。以下是本实施例使用的是在机器人控制领域被广泛使用于算法训练和性能测试的仿真环境:MuJoCo仿真环境。
参见图3,具体是在6个不同的仿真机器人控制环境下实现并测试了本发明的方法,在这些任务环境中,可观测的状态为仿真机器人各个部位(如腿部、关节等)的不同物理量(如位置、角度、速度等),可控制的动作为特定部位(如腿部、头部)使用的力的大小。具体地,6个仿真机器人控制环境分别为:
(1)Ant-v2(参见图3中的(a)):控制三维蚂蚁机器人向前奔跑,其中状态空间为111 维,动作空间为8 维。
(2)HalfCheetah-v2(参见图3中的(b)):控制二维半豹机器人向前奔跑,其中状态空间为 17 维,动作空间为 6 维。
(3)Humanoid-v2(参见图3中的(c)):控制三维人形机器人向前奔跑,其中状态空间为 376 维,动作空间为 17 维。
(4)Walker2d-v2(参见图3中的(d)):控制二维人形机器人向前奔跑,其中状态空间为 17 维,动作空间为 6 维。
(5)Hopper-v2(参见图3中的(e)):控制二维人形机器人向前跳跃,其中状态空间为 11 维,动作空间为 3 维。
(6)Swimmer-v2(参见图3中的(f)):控制二维蛇形机器人向前游动,其中状态空间为 8 维,动作空间为 2 维。
在本实施例的测试中,使用本发明方法优化两种传统的深度强化学习算法,即基于 Q值学习的软执行者-评论家算法(soft actor-critic,SAC算法)和基于策略优化的近端策略优化算法(proximal policy optimization, PPO算法),以提升原强化学习算法的样本效率。对于每种环境,都将本发明的控制优化方法与优化前的原强化学习算法以及之前最先进的表征优化方法进行比较:
(1)SAC:基于 Q值学习的软执行者-评论家算法,一种传统RL算法;
(2)PPO:基于策略优化的近端策略优化算法,一种传统RL算法;
(3)SAC-OFE:利用预测单步未来状态的辅助任务进行表征学习,以优化SAC算法;PPO-OFE:利用预测单步未来状态的辅助任务进行表征学习,以优化PPO算法;
(4)SAC-SPF:利用预测无穷步状态序列的频域函数的辅助任务进行表征学习(即本发明所述算法),以优化SAC算法;
(5)PPO-SPF:利用预测无穷步状态序列的频域函数的辅助任务进行表征学习(即本发明所述方法),以优化PPO算法;
图4中的(a)、图4中的(b)、图4中的(c)、图4中的(d)、图4中的(e)、图4中的(f)显示了本发明方法在六种MuJoCo方法与其他对比方法的学习曲线。结果显示,本发明优化后的方法,即SAC-SPF和PPO-SPF,相比于对应的传统强化学习算法,即SAC和PPO及通过预测单步未来状态的辅助任务优化后的对应算法,即SAC-OFE和PPO-OFE表现出更快的收敛速度和更高的收敛性能,这说明本发明方法提升了机器人连续控制的效率。
本发明方法提出了一种新的预测任务辅助表征学习以提升强化学习算法的样本效率,即预测无穷步状态序列的频域分布。
为了测试本发明方法中不同神经网络模块对提升训练效率的贡献和影响,本发明通过移除特定模块或对特定模块进行针对性的修改来进行消融实验。具体地,对以下6种情况进行对比:
(1)notarg:目标编码器、目标预测器及目标投影器分别与编码器、预测器及投影器共享参数;
(2)noproj:不使用投影器和目标投影器;
(3)nofreqloss:所述步骤28中,计算预测损失时不除去高频和低频成分,直接用第一向量和由第二向量计算得出的L个离散采样值通过预测器后的降维值的距离作为预测损失;
(4)SPF:本发明方法;
(5)mlp:将多层密集连接的特征编码器中的多层稠密连接的全连接神经网络皆换为一般的全连接神经网络;
(6)mlp_cat:将多层密集连接的特征编码器中的多层稠密连接的全连接神经网络皆换为一般的全连接神经网络,并将状态特征编码器的输出与状态数据合并作为状态表征数据,将状态-动作对特征编码器/>的输出与状态数据和动作数据合并作为状态-动作表征数据;
图5显示了以上本发明方法与以上(1)(2)(3)(5)(6)变体方法的训练曲线对比示意图,该示意图为本发明方法应用在SAC算法上在HalfCheetah任务中的训练曲线图。结果显示,在样本效率方面,多层密集连接的特征编码器中的神经网络结构与目标网络模块对训练效率的影响较大。
为了测试此预测任务的有效性,以下对比测试了五种不同的预测任务对于强化学习算法样本效率的影响,他们分别是:
(1)Sta1:预测单步的未来状态(即OFE方法);
(2)StaN:预测N步的未来状态,对比实验中我们设置N=2,3,5,分别对应Sta2,Sta3,Sta5方法;
(3)SPF:预测无穷步状态序列的频域函数(即本发明方法);
(4)Rew1:预测单步的未来奖励;
(5)RewFT:预测无穷步奖励序列的频域函数;
图6显示了本发明方法与其他四种使用不同预测目标来提升样本效率的方法的训练曲线对比图,该示意图为使用不同预测目标来提升样本效率的方法应用在SAC算法上在HalfCheetah任务中的训练曲线图。结果显示,在样本效率方面,SPF优于其他预测任务,这表明无穷步状态序列的频域分布包含更多有价值的与长期决策相关的信息,能够更好地提升强化学习的样本效率。
图7显示了为本发明方法训练好的预测器通过逆傅里叶变换所恢复出的200步状态序列和真实的200步状态序列的对比示意图,其中,实线为真实的状态序列示意图,5条带标记虚线为恢复出的状态序列示意图,越下方的虚线表示利用越久远的历史信息所恢复出的状态序列,图7为使用由本方法训练好的多层感知决策模型与Walker2d任务环境交互得到的状态序列。结果显示,即使用更久远的状态作为输入,恢复出的状态序列也和真实的状态序列非常相似,这说明通过本发明方法学习出的表征能有效编码状态序列数据中包含的长期结构性信息。
实施例3
准备阶段:
选定待实验的控制任务,将其拆分为机器人与环境两部分。其中机器人接受环境反馈的状态选择动作;环境接受动作决定新的状态。然后,抽象出机器人可执行的动作,并设定好机器人接受的奖励。最大化奖励的累积值即我们的目标。
训练阶段:
使用深度学习方法实现本发明实施例1给出的伪代码,将其部署于机器人中,用于机器人控制,机器人遵循伪代码中的相应流程与训练环境进行交互,并将交互信息用于策略的训练,重复进行一段时间的训练。
验证阶段:
将训练环境得到的学习策略部署于测试环境机器人。注意,在测试过程中使用的环境相较于训练过程中使用的环境设置一致,但选取不同的随机种子以增加环境模型的随机性。让机器人与环境交互,计算一定次数决策中,获取的奖励总和,作为评价效果的指标。该奖励总和越大,说明训练效果越好,所控制机器人在实际任务中的表现越好。
本领域普通技术人员可以理解:实现上述实施例方法中的全部或部分流程是可以通过程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明披露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求书的保护范围为准。本文背景技术部分公开的信息仅仅旨在加深对本发明的总体背景技术的理解,而不应当被视为承认或以任何形式暗示该信息构成已为本领域技术人员所公知的现有技术。
Claims (10)
1.一种提升连续控制机器人训练效率的方法,其特征在于,在待训练的机器人上部署多层密集连接的特征编码器和多层感知的傅里叶函数预测器,包括:
步骤1,通过与机器人通信连接的传感器获取用于后续控制所述机器人的状态数据;所述机器人指连续控制机器人;
步骤2,利用强化学习通用的经验回放池存储所述机器人与机器人所处任务环境交互过程中收集的状态数据、决策动作数据和奖励数据,并从经验回访池中随机采集用于训练的批数据;
步骤3,用所述多层密集连接的特征编码器将所述步骤2随机采集的批数据中的状态数据编码为百维的状态表征数据,以及将状态数据和决策动作数据编码为百维的状态-动作表征数据;
步骤4,用所述多层感知的傅里叶函数预测器将所述步骤3得到的状态-动作表征数据映射为所预测状态序列的傅里叶函数,并通过使该傅里叶函数逼近真实状态序列频域变换的方式,优化更新所述多层密集连接的特征编码器和所述多层感知的傅里叶函数预测器,使所述多层密集连接的特征编码器能编码出包含未来长期序列信号的结构性特征的状态表征数据和状态-动作表征数据,具体为:
步骤41,以所述多层密集连接的特征编码器对批数据中的状态数据和决策动作数据编码的状态-动作表征数据作为所述多层感知的傅里叶函数预测器的输入,所述多层感知的傅里叶函数预测器输出一个L维×状态数据维度的第一向量,该第一向量作为所预测状态序列的傅里叶函数在一个周期内的L个离散采样值;
步骤42,以所述多层密集连接的特征编码器对批数据中的下一时刻状态数据和下一时刻决策动作编码的状态-动作表征数据作为所述多层感知的傅里叶函数预测器的输入,所述多层感知的傅里叶函数预测器输出一个L维×状态数据维度的第二向量,利用该第二向量和下一时刻状态数据通过离散时间傅里叶变换公式的递归形式计算得到一个估计值更优的状态序列的目标傅里叶函数在一个周期内的L个离散采样值;
步骤43,将步骤41和步骤42中得到的所述第一向量和由第二向量计算得到的L个离散采样值都除去高频和低频成分后再分别作为投影器的输入进行降维,得到两个降维后的投影器输出值,然后计算这两个输出值的距离值作为预测损失,利用该预测损失对所述多层感知的傅里叶函数预测器、投影器和所述多层密集连接的特征编码器进行优化更新,使得优化更新后的所述多层密集连接的特征编码器能编码出机器人控制任务所需要的未来长期序列信号的结构性特征的状态表征数据和状态-动作表征数据,同时使优化更新后的所述多层感知的傅里叶函数预测器能输出更逼近真实状态序列的频域变换;
步骤5,将所述步骤4中优化更新后的所述多层密集连接的特征编码器输出的状态-动作表征数据和状态表征数据分别作为所述机器人的多层感知价值模型和多层感知决策模型的输入,用传统强化学习算法中的训练方式优化更新所述机器人的多层感知价值模型和多层感知决策模型;
步骤6,重复步骤1至步骤5直至达到预设的训练结束数据量,则结束训练得到训练好的机器人。
2.根据权利要求1所述的提升连续控制机器人训练效率的方法,其特征在于,所述多层密集连接的特征编码器由依次连接的状态特征编码器和状态-动作对特征编码器/>组成;其中,
所述状态特征编码器由多层稠密连接的全连接神经网络组成,能以状态数据s作为输入,输出所述状态数据s的状态表征数据/>;
所述状态-动作对特征编码器由多层稠密连接的全连接神经网络组成,能以决策动作数据a和所述状态特征编码器/>输出的状态表征数据/>作为输入,输出状态-动作表征数据/>;
所述多层感知的傅里叶函数预测器由依次连接的双层神经网络组成,第一层神经网络为通用的全连接神经网络,包括线性层、激活函数层和批标准化层,第二层神经网络为双头全连接神经网络,包括两个线性层,分别输出傅里叶函数的实部和虚部。
3.根据权利要求1或2所述的提升连续控制机器人训练效率的方法,其特征在于,所述方法中,按以下方式通过经验回放池收集和采集训练用的状态数据、决策动作数据和奖励数据,并对所述多层密集连接的特征编码器、所述多层感知的傅里叶函数预测器、所述机器人的多层感知价值模型和多层感知决策模型进行训练,得到训练好的多层密集连接的特征编码器、多层感知的傅里叶函数预测器、多层感知价值模型和多层感知决策模型,训练过程包括以下步骤:
步骤21,先收集训练启动用的不少于10000个由所述传感器获得的状态数据、决策动作数据和奖励数据,并按数据收集的时间先后顺序存放在强化学习通用的经验回放池中:
步骤22,通过与机器人通信连接的内部传感器和周边的外部传感器,获取与所述机器人所处状态与运动速度相关的状态数据;
步骤23,通过所述多层密集连接的特征编码器对所述步骤22中从传感器获得的状态数据进行编码得到相应的状态表征数据,再以所述机器人的多层感知决策模型将所述状态表征数据映射为控制所述机器人行为的决策动作数据,然后按所述机器人的控制任务使用该机器人对应的通用奖励函数计算所述状态数据和决策动作数据对应的奖励数据;
步骤24,将所述步骤22收集的传感器状态数据和步骤23收集的决策动作数据和奖励数据按数据收集的时间先后顺序存放在经验回放池中;
步骤25,从所述经验回放池存储的数据中取出256个状态数据、256个决策动作数据和256个奖励数据,对于每个状态数据,将对应的下一时刻状态数据输入到多层感知决策模型中,得到256个下一时刻的决策动作,将这256个状态数据、256个决策动作数据、256个奖励数据、256个下一时刻状态数据和256个下一时刻决策动作数据作为一个批数据;
步骤26,以所述多层密集连接的特征编码器对批数据中的状态数据和决策动作数据编码的状态-动作表征数据作为所述多层感知的傅里叶函数预测器的输入,所述多层感知的傅里叶函数预测器输出一个L维×状态数据维度的第一向量,该第一向量作为所预测状态序列的傅里叶函数在一个周期内的L个离散采样值;
步骤27,以所述多层密集连接的特征编码器对批数据中的下一时刻状态数据和下一时刻决策动作编码的状态-动作表征数据作为所述多层感知的傅里叶函数预测器的输入,所述多层感知的傅里叶函数预测器输出一个L维×状态数据维度的第二向量,利用该第二向量和下一时刻状态数据通过离散时间傅里叶变换公式的递归形式计算得到一个估计值更优的状态序列的目标傅里叶函数在一个周期内的L个离散采样值;
步骤28,将步骤26和步骤27中得到的所述第一向量和由第二向量计算得到的L个离散采样值都除去高频和低频成分后再分别作为投影器的输入进行降维,得到两个降维后的投影器输出值,然后计算这两个输出值的距离值作为预测损失,利用该预测损失对所述多层感知的傅里叶函数预测器、投影器和所述多层密集连接的特征编码器进行优化更新,使得优化更新后的所述多层密集连接的特征编码器能编码出机器人控制任务所需要的未来长期序列信号的结构性特征的状态表征数据和状态-动作表征数据,同时使优化更新后的所述多层感知的傅里叶函数预测器能输出更逼近真实状态序列的频域变换;
步骤29,用步骤28优化更新后的所述多层密集连接的特征编码器将步骤25的批数据中的状态数据编码为包含状态序列结构性特征的状态表征数据和状态-动作表征数据,再用传统强化学习算法中的策略评估和策略提升以所述包含状态序列结构性特征的状态-动作表征数据和状态表征数据分别作为所述机器人的多层感知价值模型和多层感知决策模型的输入,训练更新所述机器人的多层感知价值模型和多层感知决策模型;
步骤210,重复所述步骤22至步骤29的操作,直到经验回放池中的数据量超出预设的训练结束数据量后结束训练,结束训练后即得到训练好的多层密集连接的特征编码器、多层感知的傅里叶函数预测器、所述机器人的多层感知价值模型和多层感知决策模型。
4.根据权利要求3所述的提升连续控制机器人训练效率的方法,其特征在于,所述步骤26和步骤27中,所述多层感知的傅里叶函数预测器输出的是状态序列的离散时间傅里叶变换,其公式为:
;
上述公式中各参数含义为:为以t时刻机器人的状态st及t时刻机器人的动作at为条件的第t+n+1时刻时状态的期望;/>为由/>组成的以t时刻机器人的状态st及t时刻机器人的动作at为起始状态和动作在当前策略和当前环境的转移概率函数下的无限步未来状态序列;/>为离散时间傅里叶变换;/>为一个L维×状态数据维度的向量,其中,π表示圆周率;L为所预测状态序列的傅里叶函数的离散点个数,预设为128;k为傅里叶函数的离散点序号,取值为0,1,……,L-1的整数;n为状态序列中的状态数据编号,取值为0到正无穷的整数;j为复数单位/>。
5.根据权利要求3所述的提升连续控制机器人训练效率的方法,其特征在于,所述步骤27中,按以下公式利用该第二向量和下一时刻状态数据通过离散时间傅里叶变换公式的递归形式计算得到一个估计值更优的状态序列的目标傅里叶函数,公式为:
;
其中,
;
上述公式中各参数含义为:st为t时刻机器人的状态;D为状态空间的维度;L为所预测的状态序列傅里叶函数的离散点个数,预设为128;at为t时刻机器人的动作;为以t时刻机器人的状态st及t时刻机器人的动作at为起始的t+1时刻状态期望;/>为以L个t+1时刻状态期望/>为相同行向量的L×D矩阵;/>表示矩阵/>的转置;/>表示L×D维的实数域;/>为与L相关的常数矩阵;π表示圆周率;π0表示策略概率分布/>;p表示状态转移概率/>;E为对策略概率分布/>及状态转移概率/>求数学期望;/>为由所述傅里叶函数预测器输出的状态序列的离散时间傅里叶变换;/>为强化学习中的折扣因子。
6.根据权利要求5所述的提升连续控制机器人训练效率的方法,其特征在于,所述步骤28中,所述多层感知的傅里叶函数预测器以多层密集连接的特征编码器/>,/>输出的状态-动作表征数据/>作为输入,输出得到以t时刻状态和t时刻动作为起始条件的所预测状态序列的傅里叶函数的实部/>和虚部,再使用离散时间傅里叶变换公式的递归形式计算目标傅里叶函数的实部与虚部,分别计算所预测状态序列的傅里叶函数和目标傅里叶函数之间的实部距离值和虚部距离值,并将实部距离值和虚部距离值相加,得到该多层感知的傅里叶函数预测器的损失函数为:
;
上述公式中各参数含义为:为由所述传感器获得的当前状态数据经过特征编码器后的状态表征数据;/>为由所述传感器获得的下一时刻状态数据经过特征编码器后的状态表征数据;/>和/>分别为所述常数矩阵/>的实部和虚部;/>为以L个t+1时刻状态期望为相同行向量的L×D矩阵;/> 0为策略概率分布;d为一种相似度度量,预设为余弦相似度;/>、/>分别为状态序列的预测傅里叶函数的实部和虚部、/>的简写形式;/>表示状态特征编码器/>和状态-动作对特征编码器/>的参数集合;/>表示多层感知的傅里叶函数预测器的参数。
7.根据权利要求3所述的连续控制机器人训练效率的方法,其特征在于,所述步骤29中,所述传统强化学习算法采用软执行者-评论家算法或近端策略优化算法;
所述步骤210中,预设的训练结束数据量为1000000个。
8.根据权利要求1或2所述的提升连续控制机器人训练效率的方法,其特征在于,所述连续控制机器人为智能机器人、智能工业控制系统中的任一种;
所述步骤1中,与机器人通信连接的传感器包括:机器人内部设置的内部传感器和机器人周边设置的外部传感器。
9.一种控制设备,其特征在于,包括:
至少一个存储器,用于存储一个或多个程序;
至少一个处理器,能执行所述存储器所存储的一个或多个程序,在一个或多个程序被处理器执行时,使得所述处理器能实现权利要求1-8任一项所述的方法。
10.一种可读存储介质,其特征在于,存储有计算机程序,当计算机程序被处理器执行时能实现权利要求1-8任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311374772.7A CN117114078B (zh) | 2023-10-23 | 2023-10-23 | 提升连续控制机器人训练效率的方法、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311374772.7A CN117114078B (zh) | 2023-10-23 | 2023-10-23 | 提升连续控制机器人训练效率的方法、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117114078A CN117114078A (zh) | 2023-11-24 |
CN117114078B true CN117114078B (zh) | 2024-02-23 |
Family
ID=88795111
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311374772.7A Active CN117114078B (zh) | 2023-10-23 | 2023-10-23 | 提升连续控制机器人训练效率的方法、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117114078B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10645100B1 (en) * | 2016-11-21 | 2020-05-05 | Alert Logic, Inc. | Systems and methods for attacker temporal behavior fingerprinting and grouping with spectrum interpretation and deep learning |
CN114186496A (zh) * | 2021-12-15 | 2022-03-15 | 中国科学技术大学 | 提升智能体连续控制稳定性的方法 |
WO2022076061A1 (en) * | 2020-10-05 | 2022-04-14 | Microsoft Technology Licensing, Llc | Interactive agent |
CN114841872A (zh) * | 2022-04-12 | 2022-08-02 | 浙江大学 | 一种基于多智能体深度强化学习的数字半色调处理方法 |
CN115831261A (zh) * | 2022-11-14 | 2023-03-21 | 浙江大学杭州国际科创中心 | 基于多任务预训练逆强化学习的三维空间分子生成方法和装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102472134B1 (ko) * | 2018-03-29 | 2022-11-29 | 삼성전자주식회사 | 심층학습을 기반으로 한 설비 진단 시스템 및 방법 |
-
2023
- 2023-10-23 CN CN202311374772.7A patent/CN117114078B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10645100B1 (en) * | 2016-11-21 | 2020-05-05 | Alert Logic, Inc. | Systems and methods for attacker temporal behavior fingerprinting and grouping with spectrum interpretation and deep learning |
WO2022076061A1 (en) * | 2020-10-05 | 2022-04-14 | Microsoft Technology Licensing, Llc | Interactive agent |
CN114186496A (zh) * | 2021-12-15 | 2022-03-15 | 中国科学技术大学 | 提升智能体连续控制稳定性的方法 |
CN114841872A (zh) * | 2022-04-12 | 2022-08-02 | 浙江大学 | 一种基于多智能体深度强化学习的数字半色调处理方法 |
CN115831261A (zh) * | 2022-11-14 | 2023-03-21 | 浙江大学杭州国际科创中心 | 基于多任务预训练逆强化学习的三维空间分子生成方法和装置 |
Non-Patent Citations (2)
Title |
---|
Learning Task-relevant Representations for Generalization via Characteristic Functions of Reward Sequence Distributions;Rui Yang等;arXiv:2205.10218v3 [cs.CV];1-12 * |
面向智能避障场景的深度强化学习研究;刘庆杰;林友勇;李少利;;智能物联技术(第02期);22-26 * |
Also Published As
Publication number | Publication date |
---|---|
CN117114078A (zh) | 2023-11-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105095862B (zh) | 一种基于深度卷积条件随机场的人体动作识别方法 | |
Tan | FALCON: A fusion architecture for learning, cognition, and navigation | |
CN110956148B (zh) | 无人车的自主避障方法及装置、电子设备、可读存储介质 | |
CN110968866B (zh) | 一种面向深度强化学习模型对抗攻击的防御方法 | |
Uchibe | Model-free deep inverse reinforcement learning by logistic regression | |
EP3767541A1 (en) | A machine learnable system with conditional normalizing flow | |
CN112491818B (zh) | 基于多智能体深度强化学习的电网输电线路防御方法 | |
CN113176776A (zh) | 基于深度强化学习的无人艇天气自适应避障方法 | |
CN111461325B (zh) | 一种用于稀疏奖励环境问题的多目标分层强化学习算法 | |
CN113276852B (zh) | 一种基于最大熵强化学习框架的无人驾驶车道保持方法 | |
Andersen et al. | Towards safe reinforcement-learning in industrial grid-warehousing | |
CN114116944A (zh) | 一种基于时间注意力卷积网络的轨迹预测方法及装置 | |
CN115409158A (zh) | 基于分层深度强化学习模型的机器人行为决策方法及设备 | |
CN113239629B (zh) | 一种轨迹空间行列式点过程的强化学习探索和利用的方法 | |
CN117114078B (zh) | 提升连续控制机器人训练效率的方法、设备及存储介质 | |
Gisslén et al. | Sequential constant size compressors for reinforcement learning | |
Hwang et al. | Promptable behaviors: Personalizing multi-objective rewards from human preferences | |
CN112884148A (zh) | 嵌入多步规则的混合强化学习训练方法、设备及存储介质 | |
Shi et al. | Motion planning for unmanned vehicle based on hybrid deep learning | |
CN115009291B (zh) | 基于网络演化重放缓冲区的自动驾驶辅助决策方法及系统 | |
Koutnik | Inductive modelling of temporal sequences by means of self-organization | |
CN114004282A (zh) | 一种电力系统深度强化学习紧急控制策略提取方法 | |
CN113240118B (zh) | 优势估计方法、装置、电子设备和存储介质 | |
Wang et al. | Learning latent object-centric representations for visual-based robot manipulation | |
EP4102405A1 (en) | Demonstration-conditioned reinforcement learning for few-shot 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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |