首页> 中国专利> 一种利用虚拟现实技术进行模仿学习数据收集的方法

一种利用虚拟现实技术进行模仿学习数据收集的方法

摘要

本发明公开了一种利用虚拟现实技术进行模仿学习数据收集的方法,属于虚拟现实技术领域,包括以下步骤:步骤一:获取场景图像数据,并仿照真实场景,在三维引擎中搭建虚拟场景;步骤二:在虚拟场景中等比设立至少一个操作虚拟模型对象作为代理。相比于传统使用键盘进行人为演示的方法,模仿学习和虚拟现实技术相结合,为训练具有复杂性为的代理提供了一种切实可行的方案,此外,便于模仿学习数据的收集,提高模型训练效率;能够利用虚拟现实来实现模仿学习数据收集,提高模型训练效率。

著录项

  • 公开/公告号CN114841362A

    专利类型发明专利

  • 公开/公告日2022-08-02

    原文格式PDF

  • 申请/专利权人 山东大学;

    申请/专利号CN202210331565.2

  • 发明设计人 王春鹏;石翔慧;盖新宇;张岩;

    申请日2022-03-30

  • 分类号G06N20/00(2019.01);G06T19/00(2011.01);

  • 代理机构北京沃知思真知识产权代理有限公司 11942;

  • 代理人唐丽萍

  • 地址 264200 山东省威海市文化西路180号山东大学

  • 入库时间 2023-06-19 16:14:25

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2022-08-19

    实质审查的生效 IPC(主分类):G06N20/00 专利申请号:2022103315652 申请日:20220330

    实质审查的生效

  • 2022-08-02

    公开

    发明专利申请公布

说明书

技术领域

本发明涉及虚拟现实技术领域,尤其涉及一种利用虚拟现实技术进行模仿学习数据收集的方法。

背景技术

近年来,随着人工智能相关技术的持续突破和相关算法的不断成熟,AI智能代理已经逐步深入各个领域并表现出较好的应用效果。Unity Machine Learning Agents(ML-Agents)是一款开源的Unity插件,允许用户在游戏环境和模拟环境中训练智能代理,可以使用强化学习、模仿学习、神经进化或其他机器学习方法,通过简单易用的Python API进行控制,对代理进行训练。

强化学习通过与环境进行交互获取最大化的利益,可以训练出远超人类的智能代理,但训练时间往往非常漫长。而模仿学习可以从人类专家的演示或人工创造的代理中提取知识,以复制他们的行为。结合模仿学习,在人类演示的基础上再进行强化学习,能大大减少训练时间,提高效率。

但是对于具有复杂行为的代理,在演示阶段很难、甚至不可能通过键盘进行操作,演示质量差。模型性能的高度依赖于演示质量,这使得用模仿学习训练复杂代理的做法变得不可行,只能通过大量的训练时间来实现预期效果,效率低下。

发明内容

本发明的目的是为了解决现有技术中存在的缺陷,而提出的利用虚拟现实技术进行模仿学习数据收集的方法。

为了实现上述目的,本发明采用了如下技术方案:

一种利用虚拟现实技术进行模仿学习数据收集的方法,包括以下步骤:

步骤一:获取场景图像数据,并仿照真实场景,在三维引擎中搭建虚拟场景;

步骤二:在虚拟场景中等比设立至少一个操作虚拟模型对象作为代理;

步骤三:根据具体要实现的目标,利用Unity插件ML-Agents编写代码,完成对智能代理的状态输入、奖励设置和动作输出;

步骤四:配置强化学习训练参数,进行训练,查看效果;

步骤五:配置模仿学习训练参数,利用虚拟现实追踪器进行人类演示,完成模仿学习的数据收集;

步骤六:在人类演示的基础上进行模仿学习,进行训练,查看效果;

步骤七:分析结果,获得最优方案。

进一步地,用于步骤三中,在Unity3D中搭建虚拟环境。

进一步地,用于步骤三中,虚拟模型对象的矢量动作空间为Continuous类型,一共5个变量动作参数,包括虚拟模型对象在x轴、y轴和z轴方向上的移动以及虚拟模型对象沿自身x轴和z轴方向的旋转。

进一步地,用于步骤三中,利用Unity插件ML-Agents完成对虚拟模型对象的状态输入、奖励设置和动作输出。

进一步地,用于步骤六中,虚拟模型对象在演示的基础上再进行强化学习,根据不断输入的状态输入、奖励信息及动作输出对策略模型进行循环往复训练。

进一步地,用于步骤六中,使采用强化学习模型的虚拟模型对象和使用强化学习+模仿学习模型的虚拟模型对象,进行对比训练,其中,在此过程中通过加入人工演示的方式加快获得策略结果。

进一步地,在步骤五中,数据的收集采用VR手柄,利用VR手柄的旋转和移动参数获得操控参数,完成数据收集。

进一步地,用于步骤五中,进行模仿学习训练演示采用模仿学习算法,其中,模仿学习算法同时使用BC算法和GAIL算法。

综上所述,相比于传统使用键盘进行人为演示的方法,模仿学习和虚拟现实技术相结合,为训练具有复杂性为的代理提供了一种切实可行的方案,具有重要意义;

模仿学习和其他可以控制代理的工具(例如深度摄像头等)结合,可以代替键盘进行操作,便于模仿学习数据的收集,提高模型训练效率;

能够利用虚拟现实来实现模仿学习数据收集,提高模型训练效率。

附图说明

附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。

图1为本发明提出的利用虚拟现实技术进行模仿学习数据收集的方法的逻辑图;

图2为本发明提出的利用虚拟现实技术进行模仿学习数据收集的方法的实施例二的演示示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。

为了更好的理解本发明的技术方案,以下对本发明详细说明。

Unity ML Agents是一个开源的Unity插件,允许用户在游戏环境和模拟环境中训练智能代理,可以使用强化学习(reinforcement learning)、模仿学习(imitationlearning)、神经进化(neuroevolution)或其他机器学习方法,通过简单易用的Python API进行控制,对代理进行训练。支持多种深度强化学习算法(PPO、SAC、MA-POCA、self-play),支持通过两种模仿学习算法(BC和GAIL)从演示中学习;

Proximal Policy Optimization(近端策略优化算法),简称PPO,PPO是一种强化学习的策略梯度方法,允许对与环境的并行代理交互进行采样,并通过随机梯度下降优化代理目标。核心思想是根据当前策略下的行动概率除以上一个策略的行动概率的比例

实施例一

参照图1,一种利用虚拟现实技术进行模仿学习数据收集的方法,

包括以下步骤:

步骤一:获取场景图像数据,并仿照真实场景,在三维引擎中搭建虚拟场景;

步骤二:在虚拟场景中等比设立至少一个操作虚拟模型对象作为代理;

步骤三:根据具体要实现的目标,利用Unity插件ML-Agents编写代码,完成对智能代理的状态输入、奖励设置和动作输出;

步骤四:进行强化学习的训练:配置强化学习训练参数,进行训练,查看效果;

步骤五:进行模仿学习的训练:配置模仿学习训练参数,利用虚拟现实追踪器进行人类演示,完成模仿学习的数据收集;

步骤六:在演示的基础上进行模仿学习的训练,实现模仿学习+强化学习:在人类演示的基础上进行模仿学习,进行训练,查看效果;

步骤七:分析结果,获得最优方案。

分析的方式为对比采用强化学习方式和采用模仿学习+强化学习的方式模型训练的效果。

实施例二

参照图2,在实施例一的基础上,采用了搭建网球场景示例,具体包括以下步骤:

步骤一:获取网球场场景图像数据,并仿照真实场景,在三维引擎中搭建网球场虚拟场景;

步骤二:在虚拟网球场景中等比设立两个操作虚拟模型对象作为代理,并根据代理规则共享策略模型参数;

具体的,多个代理的代理规则相同时采用同一策略模块,反之则采用不同的策略模型。

需要说明的是,策略模型采用Proximal Policy Optimization(近端策略优化算法),其中:

根据当前策略下的行动概率除以上一个策略的行动概率的比例

使用PPO优化的裁剪替代目标损失函数:

步骤三:根据具体要实现的目标,利用Unity插件ML-Agents编写代码,完成对智能代理的状态输入、奖励设置和动作输出;

步骤四:进行强化学习的训练:配置强化学习训练参数,进行训练,查看效果;

步骤五:进行模仿学习的训练:配置模仿学习训练参数,利用虚拟现实追踪器进行人类演示,完成模仿学习的数据收集,其中,采用的为强化学习+模仿学习(BC+GAIL)模式;

其中,进行模仿学习训练时,将代理的Behavior Type修改为Heuristic Only,添加Demonstration Recorder组件进行人类演示。

虚拟模型对象的矢量动作空间为Continuous类型,一共5个变量动作参数,包括虚拟模型对象在x轴、y轴和z轴方向上的移动以及虚拟模型对象沿自身x轴和z轴方向的旋转。

需要说明的是,进行模仿学习训练演示采用模仿学习算法,其中,模仿学习算法同时使用BC算法和GAIL算法,以下进一步阐述和说明:

Behavior Cloning(行为克隆),简称BC;

Generative Adversarial Imitation Learning(生成对抗模仿学习),简称GAIL,两者可以一起使用。

BC:通常用作预训练。它的思想是把智能体的策略网络训练得和人类的演示数据的行为模式越接近越好,即输入相同的状态s,应当有相近的输出a;

优化的目标与监督学习无异,每一个状态s相当于输入的特征,专家输出的动作相当于Label(标签),只需要让模型的输出a接近Label即可。

其中,在使用BC之前,应当确保自己已经录制了演示文件,即演示数据的收集;

需要采集一些示教数据——多个状态动作对,将这些状态动作对作为训练数据去训练策略网络,从而让策略网络去模仿行为。

Generative Adversarial Imitation Learning(生成对抗模仿学习),简称GAIL,可以直接从专家数据中学习策略。GAIL属于Inverse RL(逆强化学习)范畴,强化学习是通过环境给定的Reward和下一个状态s

通过记录的专家演示,应用反向强化学习来增强政策奖励信号,是在给定s

GAIL算法的目的,是寻找到下式中的一个鞍点(π,D):

定义两个近似函数分别来表示π和D为π

GAIL相当于另外的一个内在奖励,是可以和强化学习的外部奖励加在一起进行训练的。专家奖励设得越高,智能体在环境中就越趋向于模仿专家的行为。合理设置其奖励上限,智能体就会在一定程度上模仿专家行为的同时,更多地去探索环境,以寻找更好的策略。

由上述可知,BC和GAIL能够十分显著得增强强化学习的效果。其中BehavioralCloning相当于一个预训练,只在前期使用;而Generative Adversarial ImitationLearning则可以贯穿整个强化学习的始终,相当于又增加了一个内部奖励,和专家演示的策略越接近,这个奖励越大,以便智能体能探索更多的最优解。

在本申请中,使用强化学习+BC+GAIL方法的情况下,得到相同结果的时长大大减少。

步骤六:在演示的基础上进行模仿学习的训练,实现模仿学习+强化学习:在人类演示的基础上进行模仿学习,进行训练,查看效果;

具体的,虚拟代理通过VR手柄输入(即人类演示)基础演示参数,在无人类演示的情况下,则模型缓慢训练。

步骤七:分析结果,获得最优方案。

其中,分析获得最多加分选项的方案则为最优行动方案。

在本申请的具体实施例中,用于步骤三中,在Unity3D中搭建虚拟环境。

在本申请的具体实施例中,用于步骤三中,利用Unity插件ML-Agents完成对虚拟模型对象的状态输入、奖励设置和动作输出。

在本申请的具体实施例中,用于步骤六中,虚拟模型对象在演示的基础上再进行强化学习,根据不断输入的状态输入、奖励信息及动作输出对策略模型进行循环往复训练。

在本申请的具体实施例中,用于步骤六中,使采用强化学习模型的虚拟模型对象和使用强化学习+模仿学习模型的虚拟模型对象,进行对比训练,其中,在此过程中通过加入人工演示的方式加快获得策略结果。

在本申请的具体实施例中,在步骤五中,数据的收集采用VR手柄,利用VR手柄的旋转和移动参数获得操控参数,完成数据收集。

以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,根据本发明的技术方案及其发明构思加以等同替换或改变,都应涵盖在本发明的保护范围之内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号