CN112580795A - 一种神经网络的获取方法以及相关设备 - Google Patents

一种神经网络的获取方法以及相关设备 Download PDF

Info

Publication number
CN112580795A
CN112580795A CN201910935456.XA CN201910935456A CN112580795A CN 112580795 A CN112580795 A CN 112580795A CN 201910935456 A CN201910935456 A CN 201910935456A CN 112580795 A CN112580795 A CN 112580795A
Authority
CN
China
Prior art keywords
neural network
task
skill
driving
reinforcement learning
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
Application number
CN201910935456.XA
Other languages
English (en)
Inventor
庄雨铮
李斯源
王芮
刘武龙
张崇洁
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tsinghua University
Huawei Technologies Co Ltd
Original Assignee
Tsinghua University
Huawei Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Tsinghua University, Huawei Technologies Co Ltd filed Critical Tsinghua University
Priority to CN201910935456.XA priority Critical patent/CN112580795A/zh
Priority to PCT/CN2020/092907 priority patent/WO2021057059A1/zh
Priority to US17/181,810 priority patent/US20210174209A1/en
Publication of CN112580795A publication Critical patent/CN112580795A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2379Updates performed during online database operations; commit processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G08SIGNALLING
    • G08GTRAFFIC CONTROL SYSTEMS
    • G08G1/00Traffic control systems for road vehicles
    • G08G1/01Detecting movement of traffic to be counted or controlled
    • G08G1/0104Measuring and analyzing of parameters relative to traffic conditions
    • G08G1/0108Measuring and analyzing of parameters relative to traffic conditions based on the source of data
    • G08G1/0116Measuring and analyzing of parameters relative to traffic conditions based on the source of data from roadside infrastructure, e.g. beacons
    • GPHYSICS
    • G08SIGNALLING
    • G08GTRAFFIC CONTROL SYSTEMS
    • G08G1/00Traffic control systems for road vehicles
    • G08G1/01Detecting movement of traffic to be counted or controlled
    • G08G1/0104Measuring and analyzing of parameters relative to traffic conditions
    • G08G1/0108Measuring and analyzing of parameters relative to traffic conditions based on the source of data
    • G08G1/012Measuring and analyzing of parameters relative to traffic conditions based on the source of data from other sources than vehicle or roadside beacons, e.g. mobile networks
    • GPHYSICS
    • G08SIGNALLING
    • G08GTRAFFIC CONTROL SYSTEMS
    • G08G1/00Traffic control systems for road vehicles
    • G08G1/01Detecting movement of traffic to be counted or controlled
    • G08G1/0104Measuring and analyzing of parameters relative to traffic conditions
    • G08G1/0125Traffic data processing
    • G08G1/0129Traffic data processing for creating historical data or processing based on historical data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/004Artificial life, i.e. computing arrangements simulating life
    • G06N3/006Artificial 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]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/044Recurrent networks, e.g. Hopfield networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/063Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means

Abstract

本申请实施例公开一种神经网络的获取方法以及相关设备,该方法可用于对人工智能AI领域的神经网络进行强化学习的场景中,服务器在获取到第一任务之后,获取第一神经网络用于完成第一任务的第一成功率,在第一成功率小于预设阈值的情况下,生成第二神经网络以及新技能,基于第一任务对应的仿真环境,利用强化学习算法,对第二神经网络进行训练,直到第二神经网络用于完成第一任务的第二成功率大于或等于预设阈值,存储下来,通过增量式学习新技能来扩充技能库,降低了预训练阶段获得的技能库的依赖性,也即降低了对预训练阶段的训练环境的要求;且实现了技能库中技能的可扩展性,克服了目前的技能学习方法中的局限性。

Description

一种神经网络的获取方法以及相关设备
技术领域
本申请涉及人工智能领域,尤其涉及一种神经网络的获取方法以及相关设备。
背景技术
人工智能(Artificial Intelligence,AI)是通过数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个分支,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式作出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。人工智能领域的研究包括机器人,自然语言处理,计算机视觉,决策与推理,人机交互,推荐与搜索,AI基础理论等。
强化学习(Reinforcement Learning,RL)是人工智能领域一种重要的机器学习方法,在自动驾驶、智能控制机器人及分析预测等领域有许多应用。具体的,通过强化学习要解决的主要问题是,智能设备如何直接与环境进行交互来学习执行特定任务时采用的技能,以实现针对特定任务的长期奖励最大。目前用于技能学习的方法中,利用随机神经网络和信息理论正则化器训练获得一系列的大跨度技能,从而获得一个包含了很多技能的技能库,在确定了特定任务之后,再针对特定任务训练对应的神经网络,神经网络用于从上述技能库中选择合适的技能来执行该特定任务,从而实现针对任务的长期奖励最大。
但目前这种技能学习方法中,是完全依赖包括一系列大跨度技能的技能库来执行特定任务的,则预训练阶段获取的技能库中的技能需要尽量的全面,这就对预训练阶段的训练环境的要求极高,且即使技能库中包含的技能再多,也存在完成不了某些特定任务的可能性,从而导致目前的技能学习方法具有一定的局限性。
发明内容
本申请实施例提供了一种神经网络的获取方法以及相关设备,用于增量式学习技能以扩充技能库,降低了对预训练阶段的训练环境的要求;且实现了技能库中技能的可扩展性,克服了目前的技能学习方法中的局限性。
为解决上述技术问题,本申请实施例提供以下技术方案:
第一方面,本申请实施例提供一种神经网络的获取方法,可应用于对人工智能领域的神经网络进行强化学习的场景中,服务器获取第一任务,具体的,可以为服务器从预先训练好的至少一个神经网络中获取一个成熟的第一神经网络作为第一神经网络,也即第一神经网络为基于第二任务对应的仿真环境进行训练得到的神经网络,第二任务的语义信息与第一任务的语义信息相似,也可以为服务器在确定第一任务之后,初始化一个第一神经网络,其中,第一神经网络用于从技能库中选取用于完成第一任务的技能,技能库中的技能可以表现为神经网络或操作规则,第二任务的语义信息与第一任务的语义信息相似可以为利用神经网络获取第一任务和第二任务的语义信息并进行对比以确定第一任务的语义信息和第二任务的语义信息相似,或者分解第一任务和第二任务得到的约束条件相似,或者第一任务和第二任务的运行环境相似;之后服务器获取第一神经网络用于完成第一任务的第一成功率,在第一成功率小于预设阈值的情况下,获取第二神经网络和新技能,将新技能加入技能库,得到更新后的技能库,其中,第二神经网络用于从更新后的技能库中选取用于完成第一任务的技能,新技能具体可以表现为神经网络;进而服务器基于第一任务对应的仿真环境,利用强化学习算法,对第二神经网络和新技能进行训练,直至第二神经网络用于完成第一任务的第二成功率大于或等于预设阈值,具体的,服务器在初始化第二神经网络和新技能之后,基于第一任务对应的仿真环境,利用强化学习算法,对第二神经网络和新技能进行训练,直至第二神经网络的损失函数和新技能的损失函数均满足收敛条件,之后获取第二神经网络用于完成第一任务的第二成功率,判断第二成功率是否大于或等于预设阈值,若第二成功率大于或等于预设阈值,则存储经过训练的第二神经网络和更新后的技能库;若第二成功率小于预设阈值,则重复执行生成新的新技能和新的第二神经网络,将新的新技能加入到更新后的技能库中,得到新的更新后的技能库,对新的第二神经网络和新的新技能进行训练,直至损失函数均满足收敛条件,判断第二成功率是否大于或等于预设阈值的操作,直至通过第二神经网络执行第二任务的第二成功率大于或等于预设阈值,存储最终的经过训练的第二神经网络和更新后的技能库。
本实现方式中,在获取到第一任务之后,可以获取第一神经网络用于完成第一任务的第一成功率,在第一成功率小于预设阈值的情况下,可以获取第二神经网络以及新技能,将新技能加入到技能库中得到更新后的技能库,进而基于第一任务对应的仿真环境,对第二神经网络进行训练,直到第二神经网络用于完成第一任务的第二成功率大于或等于预设阈值,然后存储下来,由于在学习如何完成任务的过程中可以增量式学习新技能来扩充技能库,所以对预训练阶段获得的技能库的依赖性大大降低,也即降低了对预训练阶段的训练环境的要求;且增量式学习新技能实现了技能库中技能的可扩展性,从而可以获得完成新任务的能力,克服了目前的技能学习方法中的局限性。
在第一方面的一种可能实现方式中,服务器对第二神经网络进行训练,可以包括:服务器利用第二神经网络从更新后的技能库中选取用于完成第一任务的技能,具体的,服务器可以预先为更新后的技能库中的每个技能配置有一个序列号,第二神经网络的输出可以为序列号,从而可以根据第二神经网络输出的序列号查找到对应的第二神经网络选取的技能;之后服务器可以利用第二神经网络选取的技能生成控制指令,进而通过智能设备执行与第二神经网络选取的技能对应的控制指令,在智能设备执行与第二神经网络选取的技能对应的控制指令过程中,每隔预设时长,服务器会执行一次第二神经网络选取的技能的执行状态获取操作,直至第二神经网络选取的技能的执行状态为执行结束,服务器还会获取智能设备执行第一任务的数据,也即服务器执行与第二神经网络选取的技能对应的控制指令过程中产生的数据,所述数据可以包括智能设备的操作路径、操作速度或操作目的地中的任一项或多项信息,在服务器执行完一次第二神经网络选取的技能之后,会根据智能设备执行第一任务的数据,更新第二神经网络的参数。本实现方式中,提供了服务器对第二神经网络进行训练的具体实现方式,提高了本方案的可执行性;此外,服务器通过每隔预设时长获取一次第二神经网络选取的技能的执行状态的方式来确定第二神经网络选取的技能是否执行结束,从而服务器可以及时根据智能设备的操作行为信息来迭代更新新技能策略和新技能的参数,有利于提高训练过程的准确性。
在第一方面的一种可能实现方式中,服务器在将环境状态信息输入第二神经网络,获取第二神经网络选取的技能之后,可以判断通过第二神经网络选取的技能是否为新技能,在第二神经网络选取的技能为新技能的情况下,服务器根据智能设备执行第一任务的数据,更新新技能的参数;在第二神经网络选取的技能不是新技能的情况下,不更新第二神经网络选取的技能的参数。本实现方式中,可以使得更新后的技能库中不同的技能之间的保持较大的区分度,从而降低更新后的技能库的存储冗余;此外,如果对不是新生成的技能的参数也进行更新,则更新后的技能库中的技能的进化方向是失控的,只更新新生成的技能,有利于牵引所述新技能学习第一任务和第二任务之间对技能需求的差距。
在第一方面的一种可能实现方式中,服务器利用强化学习算法,更新第二神经网络的参数,包括:服务器利用第一强化学习算法,更新第二神经网络的参数,具体的,服务器根据智能设备执行第一任务的数据得到智能设备执行一次与第二神经网络选取的技能对应的控制指令的过程中得到的反馈值,根据第一强化学习算法确定第二神经网络的优势函数和损失函数,将反馈值带入到第二神经网络的优势函数中,进而根据第二神经网络的优势函数的函数值得到第二神经网络的损失函数的函数值,从而根据第二神经网络的损失函数的函数值来梯度更新第二神经网络的参数,其中,第一强化学习算法为近端策略优化PPO算法、信任域策略优化TRPO算法或时间差分TD算法。本实现方式中,提供了第二神经网络所采用的强化学习算法的具体实现方式,提高了本方案的可实现性,也使得本领域技术人员具有更多的选择性,从而提高了本方案的实现灵活性。
在第一方面的一种可能实现方式中,服务器利用强化学习算法,更新新技能的参数,包括:服务器利用第二强化学习算法,更新新技能的参数,具体的,在第二神经网络选取的技能为新技能的情况下,服务器根据第二强化学习算法确定新技能的损失函数,根据智能设备执行第一任务的数据得到新技能的损失函数的函数值,进而梯度更新新技能的参数,其中,第二强化学习算法为深度确定性策略梯度DDPG算法、DQN算法、PPO算法或柔性致动评价SAC算法。本实现方式中,提供了新技能所采用的强化学习算法的具体实现方式,提高了本方案的可实现性,也使得本领域技术人员具有更多的选择性,从而提高了本方案的实现灵活性。
在第一方面的一种可能实现方式中,服务器获取第二神经网络之后,方法还包括:服务器利用第一神经网络的参数,初始化第二神经网络的参数,其中,第一神经网络为基于第二任务对应的仿真环境,利用强化学习算法进行训练得到的,第二任务的语义信息与第一任务的语义信息相似,具体的,可以为服务器利用第一神经网络的参数,初始化第二神经网络的部分参数,并初始化第二神经网络中存在但第一神经网络中不存在的参数。本实现方式中,利用已经训练好的第一神经网络的参数,初始化第二神经网络的参数,可以直接继承第一神经网络学习到的能力,缩短了对第二神经网络进行训练的过程,提高了对第二神经网络的训练效率。
在第一方面的一种可能实现方式中,第一神经网络和技能库为基于第二任务对应的仿真环境,利用强化学习算法进行训练得到的神经网络,第二任务的语义信息与第一任务的语义信息相似,方法还包括:服务器在第一成功率大于或等于预设阈值的情况下,将第一神经网络确定为用于完成第一任务的神经网络,存储第一神经网络和技能库,进而可以将第一神经网络和技能库配置于执行第一任务的智能设备上,具体可以通过无线或有线的方式将第一神经网络和技能库发送至执行第一任务的智能设备上。本实现方式中,在第一神经网络为基于第二任务对应的仿真环境进行训练的神经网络的情况下,实现了上层神经网络和下层技能库的复用,节省了神经网络训练过程的时间和训练资源,大大提高了神经网络训练过程的效率。
在第一方面的一种可能实现方式中,服务器获取第一神经网络用于完成第一任务的第一成功率,包括:服务器从第一任务对应的仿真环境中获取环境状态信息,将环境状态信息输入第一神经网络,得到第一神经网络从技能库中选取的技能,其中,环境状态信息包括第一任务对应的仿真环境中智能设备周围的环境信息和智能设备的自身状态信息,具体可以包括智能设备周围的地图信息、智能设备的目的地信息、相邻智能设备的移动信息、当前智能设备的移动信息或其它类型的环境信息等;之后服务器通过第一神经网络选取的技能获取控制指令,并根据控制指令控制智能设备执行第一任务,在服务器确定一个技能执行完毕后,会判断第一任务是否执行完成,若没有完成,则再次通过第一神经网络从技能库中选择下一个技能来执行第一任务,直至通过至少一个技能完成第一任务;服务器重复上述步骤,直至通过第一神经网络完成第一任务的次数达到第一次数,对第一次数中完成第一任务的结果为成功的次数进行统计,得到第二次数,根据第一次数和第二次数,计算第一成功率,具体的,可以为将第二次数所占第一次数的比值确定为第一成功率,其中,完成第一任务的结果包括成功和失败。本实现方式中,由于实验过程中是服务器在模拟器中通过第一神经网络控制智能设备重复执行第一任务,也即通过还原真实场景的方式来获得第一成功率,以提高第一成功率的准确率。
在第一方面的一种可能实现方式中,服务器在获取第一神经网络用于完成第一任务的第一成功率之前,还可以通过第一神经网络选取的技能获取控制指令以控制智能设备执行第一任务,在服务器通过第一神经网络执行第一任务的过程中,可以确定第一神经网络的损失函数是否收敛,其中,第一神经网络为基于第二任务对应的仿真环境进行训练得到的神经网络,第一任务的语义信息与第二任务的语义信息相似;在第一神经网络的损失函数未收敛的情况下,基于第一任务对应的仿真环境,对第一神经网络进行训练,直至达到第一神经网络的损失函数的收敛条件,得到成熟的第一神经网络,进而服务器可以获取通过成熟的第一神经网络执行第一任务的第一成功率。本实现方式中,由于在部分场景中,第一任务和第二任务的相似度很高,也即执行第一任务和执行第二任务所采用到的技能基本相同,则仅需基于第一任务对应的仿真环境,对第一神经网络进行微调,就能实现第一神经网络用于完成第一任务的第一成功率大于或等于预设阈值的条件,也即基于第一任务对应的仿真环境,对第一神经网络进行再次训练,就能实现通过第一神经网络执行第一任务的目的,所以采用预先训练的方式,可以提高第一成功率大于或等于预设阈值的概率,从而降低了生成新的第二神经网络和新的新技能的概率,进而可以避免对第二神经网络以及新技能的训练的操作,从而节省了服务器资源,也提高了神经网络和技能的生成效率。
在第一方面的一种可能实现方式中,服务器获取第一神经网络用于完成第一任务的第一成功率,包括:服务器获取第一任务的语义信息,以及,获取第二任务的语义信息,其中,第二任务的语义信息与第一任务的语义信息相似,第一神经网络为基于第二任务对应的仿真环境,利用强化学习算法进行训练得到的,具体的,服务器可以利用神经网络分别获取第一任务和第二任务的语义信息,并根据第一任务和第二任务的语义信息生成第一任务和第二任务之间的相似度,服务器也可以将第一任务进行分解得到至少一个约束条件,以及将第二任务进行分解得到至少一个约束条件,通过逐个对比第一任务和第二任务的每个约束条件来确定第一任务的语义信息和第二任务语义信息之间的相似度;之后服务器根据相似度生成第一成功率,其中,相似度越高,第一成功率越高。本实现方式中,通过获取第一任务与第二任务之间相似度的方式来确定第一神经网络用于完成第一任务的第一成功率,提供了获取第一成功率的又一种实现方式,扩展了本方案的应用场景;且本方式中不再需要反复通过第一神经网络执行第一任务,提高了获取第一成功率的效率。
在第一方面的一种可能实现方式中,技能库中的技能为驾驶技能;或者,技能库中的技能为搬运技能;或者,技能库中的技能为抓取技能;本实现方式中,提供了技能的多种具体实现方式,扩展了本方案的应用场景,提高了本方案的全面性。
在第一方面的一种可能实现方式中,技能库中的技能为驾驶技能,服务器获取的智能设备执行第一任务的数据包括智能设备的驾驶速度、驾驶路径、驾驶碰撞情况或驾驶目的地中的任一项或多项信息;或者,技能库中的技能为搬运技能,服务器获取的智能设备执行第一任务的数据包括智能设备的搬运路径、行驶速度或碰撞情况中的任一项或多项信息;或者,技能库中的技能为抓取技能,服务器获取的智能设备执行第一任务的数据包括智能设备的抓取路径、抓取速度或抓取目的位置中的任一项或多项信息。本实现方式中,进一步提供了操作行为信息的具体内容,从而进一步提高了本方案的可执行性;且提供了在不同领域中的操作行为信息的具体内容,提高了本方案的实现灵活性。
第二方面,本申请实施例提供了一种神经网络的获取方法,可应用于对人工智能领域的神经网络进行强化学习的场景中,方法可以包括:服务器获取第一神经网络用于完成第一驾驶任务的第一成功率,第一神经网络用于从技能库中选取用于完成第一驾驶任务的驾驶技能,在第一成功率小于预设阈值的情况下,获取第二神经网络和新驾驶技能,并将新驾驶技能添加至技能库中以更新技能库,第二神经网络用于从更新后的技能库中选取用于完成第一驾驶任务的驾驶技能;服务器基于第一驾驶任务对应的仿真环境,利用强化学习算法,对第二神经网络进行训练,直至第二神经网络用于完成第一驾驶任务的第二成功率大于或等于预设阈值,存储经过训练的第二神经网络和更新后的技能库。
在第二方面的一种可能实现方式中,服务器基于第一驾驶任务对应的仿真环境,利用强化学习算法,对第二神经网络进行训练,包括:服务器将环境状态信息输入第二神经网络,获取第二神经网络选取的驾驶技能,环境状态信息包括第一驾驶任务对应的仿真环境中汽车周围的环境信息和汽车的自身状态信息;服务器通过第二神经网络选取的驾驶技能获取控制指令以控制汽车执行第一驾驶任务,并获取汽车执行第一驾驶任务的数据,根据获取的汽车执行第一驾驶任务的数据,利用强化学习算法,更新第二神经网络的参数。
在第二方面的一种可能实现方式中,服务器将环境状态信息输入第二神经网络,获取第二神经网络选取的驾驶技能之后,方法还可以包括:在第二神经网络选取的驾驶技能为新驾驶技能的情况下,服务器根据获取的汽车执行第一驾驶任务的数据,利用强化学习算法,更新新驾驶技能的参数。
在第二方面的一种可能实现方式中,服务器利用强化学习算法,更新第二神经网络的参数,包括:服务器利用第一强化学习算法,更新第二神经网络的参数,其中,第一强化学习算法为近端策略优化PPO算法、信任域策略优化TRPO算法或时间差分TD算法。
在第二方面的一种可能实现方式中,服务器利用强化学习算法,更新新驾驶技能的参数,包括:服务器利用第二强化学习算法,更新新驾驶技能的参数,其中,第二强化学习算法为深度确定性策略梯度DDPG算法、深度Q网络DQN算法、PPO算法或柔性致动评价SAC算法。
在第二方面的一种可能实现方式中,方法还包括:服务器利用第一神经网络的参数,初始化第二神经网络的参数,其中,第一神经网络为基于第二驾驶任务对应的仿真环境,利用强化学习算法进行训练得到的,第二驾驶任务的语义信息与第一驾驶任务的语义信息相似。
在第二方面的一种可能实现方式中,第一神经网络和技能库为基于第二驾驶任务对应的仿真环境,利用强化学习算法进行训练得到的,第二驾驶任务的语义信息与第一驾驶任务的语义信息相似,方法还包括:服务器在第一成功率大于或等于预设阈值的情况下,将第一神经网络确定为用于完成第一驾驶任务的神经网络,存储第一神经网络和技能库。
在第二方面的一种可能实现方式中,服务器获取第一神经网络用于完成第一驾驶任务的第一成功率,包括:服务器将环境状态信息输入第一神经网络,得到第一神经网络选取的驾驶技能,其中,环境状态信息包括第一驾驶任务对应的仿真环境中汽车周围的环境信息和汽车的自身状态信息;通过第一神经网络选取的驾驶技能获取控制指令以控制汽车执行第一驾驶任务,重复上述步骤,直至通过第一神经网络完成第一驾驶任务的次数达到第一次数,对第一次数中完成第一驾驶任务的结果为成功的次数进行统计,得到第二次数,根据第一次数和第二次数,计算第一成功率。
在第二方面的一种可能实现方式中,服务器将环境状态信息输入第一神经网络之前,方法还包括:服务器通过第一神经网络选取的驾驶技能获取控制指令以控制汽车执行第一驾驶任务,以确定在第一驾驶任务对应的仿真环境中,第一神经网络的损失函数是否收敛,其中,第一神经网络为基于第二驾驶任务所对应的仿真环境,利用强化学习算法进行训练得到的,第二驾驶任务的语义信息与第一驾驶任务的语义信息相似;在第一神经网络的损失函数未收敛的情况下,基于第一驾驶任务对应的仿真环境,利用强化学习算法,对第一神经网络进行训练,直至达到第一神经网络的损失函数的收敛条件,得到成熟的第一神经网络;进而服务器获取第一神经网络用于完成第一驾驶任务的第一成功率,可以包括:服务器获取成熟的第一神经网络用于完成第一驾驶任务的成功率作为第一成功率。
在第二方面的一种可能实现方式中,服务器获取第一神经网络用于完成第一驾驶任务的第一成功率,包括:服务器获取第一驾驶任务的语义信息,以及,获取第二驾驶任务的语义信息,其中,第二驾驶任务的语义信息与第一驾驶任务的语义信息相似,第一神经网络为基于第二驾驶任务对应的仿真环境,利用强化学习算法进行训练得到的;根据第一驾驶任务的语义信息与第二驾驶任务的语义信息之间的相似度,得到第一成功率,其中,相似度越高,第一成功率越高。
对于本申请第二方面以及第二方面的各种可能实现方式的具体实现步骤,以及每种可能实现方式所带来的有益效果,均可以参考第一方面中各种可能的实现方式中的描述,此处不再一一赘述。
第三方面,本申请实施例提供了一种神经网络的获取方法,可应用于对人工智能领域的神经网络进行强化学习的场景中,方法可以包括:服务器获取第一神经网络用于完成第一任务的第一成功率,第一神经网络用于从技能库中选取用于完成第一任务的技能,第一神经网络和技能库为基于第二任务对应的仿真环境,利用强化学习算法进行训练得到的,第二任务的语义信息与第一任务的语义信息相似;在第一成功率大于或等于预设阈值的情况下,服务器将第一神经网络确定为用于完成第一任务的神经网络,存储第一神经网络和技能库。
在第三方面的一种可能实现方式中,方法还包括:服务器在第一成功率小于预设阈值的情况下,获取第二神经网络和新技能,并将新技能添加至技能库中以更新技能库,第二神经网络用于从更新后的技能库中选取用于完成第一任务的技能;服务器基于第一任务对应的仿真环境,利用强化学习算法,对第二神经网络进行训练,直至第二神经网络用于完成第一任务的第二成功率大于或等于预设阈值,存储经过训练的第二神经网络和更新后的技能库。
在第三方面的一种可能实现方式中,服务器基于第一任务对应的仿真环境,利用强化学习算法,对第二神经网络进行训练,可以包括:服务器将环境状态信息输入第二神经网络,获取第二神经网络选取的技能,环境状态信息包括第一任务对应的仿真环境中智能设备周围的环境信息和智能设备的自身状态信息;服务器通过第二神经网络选取的技能获取控制指令以控制智能设备执行第一任务,并获取智能设备执行第一任务的数据,根据获取的智能设备执行第一任务的数据,利用强化学习算法,更新第二神经网络的参数。
在第三方面的一种可能实现方式中,服务器将环境状态信息输入第二神经网络,获取第二神经网络选取的技能之后,在第二神经网络选取的技能为新技能的情况下,服务器还可以根据获取的智能设备执行第一任务的数据,利用强化学习算法,更新新技能的参数。
在第三方面的一种可能实现方式中,服务器利用强化学习算法,更新第二神经网络的参数,可以包括:利用第一强化学习算法,更新第二神经网络的参数,其中,第一强化学习算法为近端策略优化PPO算法、信任域策略优化TRPO算法或时间差分TD算法。
在第三方面的一种可能实现方式中,服务器利用强化学习算法,更新新技能的参数,可以包括:利用第二强化学习算法,更新新技能的参数,其中,第二强化学习算法为深度确定性策略梯度DDPG算法、深度Q网络DQN算法、PPO算法或柔性致动评价SAC算法。
在第三方面的一种可能实现方式中,方法还包括:服务器利用第一神经网络的参数,初始化第二神经网络的参数。
在第三方面的一种可能实现方式中,服务器获取第一神经网络用于完成第一任务的第一成功率,可以包括:服务器将环境状态信息输入第一神经网络,得到第一神经网络选取的技能,其中,环境状态信息包括第一任务对应的仿真环境中智能设备周围的环境信息和智能设备的自身状态信息;通过第一神经网络选取的技能获取控制指令以控制智能设备执行第一任务,重复上述步骤,直至通过第一神经网络完成第一任务的次数达到第一次数,对第一次数中完成第一任务的结果为成功的次数进行统计,得到第二次数,根据第一次数和第二次数,计算第一成功率。
在第三方面的一种可能实现方式中,服务器将环境状态信息输入第一神经网络之前,方法还可以包括:服务器通过第一神经网络选取的技能获取控制指令以控制智能设备执行第一任务,以确定在第一任务对应的仿真环境中,第一神经网络的损失函数是否收敛;在第一神经网络的损失函数未收敛的情况下,基于第一任务对应的仿真环境,利用强化学习算法,对第一神经网络进行训练,直至达到第一神经网络的损失函数的收敛条件,得到成熟的第一神经网络;进而服务器获取第一神经网络用于完成第一任务的第一成功率,包括:获取成熟的第一神经网络用于完成第一任务的成功率作为第一成功率。
在第三方面的一种可能实现方式中,服务器获取第一神经网络用于完成第一任务的第一成功率,包括:获取第一任务的语义信息,以及,获取第二任务的语义信息;根据第一任务的语义信息与第二任务的语义信息之间的相似度,得到第一成功率,其中,相似度越高,第一成功率越高。
在第三方面的一种可能实现方式中,技能库中的技能为驾驶技能;或者,技能库中的技能为搬运技能;或者,技能库中的技能为抓取技能。
对于本申请第三方面以及第三方面的各种可能实现方式的具体实现步骤,以及每种可能实现方式所带来的有益效果,均可以参考第一方面中各种可能的实现方式中的描述,此处不再一一赘述。
第四方面,本申请实施例提供了一种神经网络的获取装置,可应用于对人工智能领域的神经网络进行强化学习的场景中,包括:获取单元、训练单元以及存储单元,其中,获取单元,用于获取第一神经网络用于完成第一任务的第一成功率,第一神经网络用于从技能库中选取用于完成第一任务的技能;获取单元,还用于在第一成功率小于预设阈值的情况下,获取第二神经网络和新技能,并将新技能添加至技能库中以更新技能库,第二神经网络用于从更新后的技能库中选取用于完成第一任务的技能;训练单元,用于基于第一任务对应的仿真环境,利用强化学习算法,对第二神经网络进行训练,直至第二神经网络用于完成第一任务的第二成功率大于或等于预设阈值;存储单元,用于存储经过训练的第二神经网络和更新后的技能库。
本申请第四方面中,神经网络的获取装置的组成模块还可以用于执行第一方面的各个可能实现方式中服务器执行的步骤,具体均可以参阅第一方面,此处不再赘述。
第五方面,本申请实施例提供了一种神经网络的获取装置,可应用于对人工智能领域的神经网络进行强化学习的场景中,包括:获取单元、训练单元以及存储单元,其中,获取单元,用于获取第一神经网络用于完成第一驾驶任务的第一成功率,第一神经网络用于从技能库中选取用于完成第一驾驶任务的驾驶技能;获取单元,还用于在第一成功率小于预设阈值的情况下,获取第二神经网络和新驾驶技能,并将新驾驶技能添加至技能库中以更新技能库,第二神经网络用于从更新后的技能库中选取用于完成第一驾驶任务的驾驶技能;训练单元,用于基于第一驾驶任务对应的仿真环境,利用强化学习算法,对第二神经网络进行训练,直至第二神经网络用于完成第一驾驶任务的第二成功率大于或等于预设阈值;存储单元,用于存储经过训练的第二神经网络和更新后的技能库。
本申请第五方面中,神经网络的获取装置的组成模块还可以用于执行第二方面的各个可能实现方式中服务器执行的步骤,具体均可以参阅第二方面,此处不再赘述。
第六方面,本申请实施例提供了一种神经网络的获取装置,可应用于对人工智能领域的神经网络进行强化学习的场景中,包括:获取单元、确定单元以及存储单元,其中,获取单元,用于获取第一神经网络用于完成第一任务的第一成功率,第一神经网络用于从技能库中选取用于完成第一任务的技能,第一神经网络和技能库为基于第二任务对应的仿真环境,利用强化学习算法进行训练得到的,第二任务的语义信息与第一任务的语义信息相似;确定单元,用于在第一成功率大于或等于预设阈值的情况下,服务器将第一神经网络确定为用于完成第一任务的神经网络;存储单元,用于存储第一神经网络和技能库。
本申请第六方面中,神经网络的获取装置的组成模块还可以用于执行第三面的各个可能实现方式中服务器执行的步骤,具体均可以参阅第二方面,此处不再赘述。
第七方面,本申请实施例提供了一种服务器,包括处理器,处理器和存储器耦合,存储器存储有程序指令,当存储器存储的程序指令被处理器执行上述第一方面或第二方面或第三方面所述的神经网络的获取方法。
第八方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,当其在计算机上运行时,使得计算机执行上述第一方面或第二方面或第三方面所述的神经网络的获取方法。
第九方面,本申请实施例提供了一种电路系统,所述电路系统包括处理电路,所述处理电路配置为执行上述第一方面或第二方面或第三方面所述的神经网络的获取方法。
第十方面,本申请实施例提供了一种计算机程序,当其在计算机上运行时,使得计算机执行上述第一方面或第二方面或第三方面所述的神经网络的获取方法。
第十一方面,本申请提供了一种芯片系统,该芯片系统包括处理器,用于支持服务器实现上述方面中所涉及的功能,例如,发送或处理上述方法中所涉及的数据和/或信息。在一种可能的设计中,所述芯片系统还包括存储器,所述存储器,用于保存服务器或通信设备必要的程序指令和数据。该芯片系统,可以由芯片构成,也可以包括芯片和其他分立器件。
附图说明
图1为本申请实施例提供的人工智能主体框架的一种结构示意图;
图2为本申请实施例提供的神经网络获取系统的一种网络结构示意图;
图3为本申请实施例提供的神经网络的获取方法的一种流程示意图;
图4为本申请实施例提供的卷积神经网络的一种结构示意图;
图5为本申请实施例提供的卷积神经网络的另一种结构示意图;
图6为本申请实施例提供的神经网络的获取方法中利用技能执行第一任务的一种示意图;
图7为本申请实施例提供的神经网络的获取方法的另一种流程示意图;
图8为本申请实施例提供的神经网络的获取方法中的驾驶任务的一种示意图;
图9为本申请实施例提供的神经网络的获取方法中的驾驶任务的另一种示意图;
图10为本申请实施例提供的神经网络的获取方法的又一种流程示意图;
图11为本申请实施例提供的神经网络的获取方法中的驾驶任务的又一种示意图;
图12为本申请实施例提供的神经网络的获取方法的再一种流程示意图;
图13为本申请实施例提供的神经网络的获取方法的又一种流程示意图;
图14为本申请实施例提供的神经网络的获取方法的再一种流程示意图;
图15为本申请实施例提供的神经网络的获取方法的又一种流程示意图;
图16为本申请实施例提供的神经网络的获取装置的一种结构示意图;
图17为本申请实施例提供的神经网络的获取装置的另一种结构示意图;
图18为本申请实施例提供的神经网络的获取装置的又一种结构示意图;
图19为本申请实施例提供的神经网络的获取装置的再一种结构示意图;
图20为本申请实施例提供的神经网络的获取装置的又一种结构示意图;
图21为本申请实施例提供的神经网络的获取装置的再一种结构示意图;
图22为本申请实施例提供的服务器的一种结构示意图;
图23为本申请实施例提供的芯片的一种结构示意图。
具体实施方式
本申请实施例提供了一种神经网络的获取方法以及相关设备,用于增量式学习技能以扩充技能库,降低了对预训练阶段的训练环境的要求;且实现了技能库中技能的可扩展性,克服了目前的技能学习方法中的局限性。
下面结合附图,对本申请的实施例进行描述。本领域普通技术人员可知,随着技术的发展和新场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。
本申请的说明书和权利要求书及上述附图中的术语“第一”、第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的术语在适当情况下可以互换,这仅仅是描述本申请的实施例中对相同属性的对象在描述时所采用的区分方式。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,以便包含一系列单元的过程、方法、系统、产品或设备不必限于那些单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它单元。
首先对人工智能系统总体工作流程进行描述,请参见图1,图1示出的为人工智能主体框架的一种结构示意图,下面从“智能信息链”(水平轴)和“IT价值链”(垂直轴)两个维度对上述人工智能主题框架进行阐述。其中,“智能信息链”反映从数据的获取到处理的一列过程。举例来说,可以是智能信息感知、智能信息表示与形成、智能推理、智能决策、智能执行与输出的一般过程。在这个过程中,数据经历了“数据—信息—知识—智慧”的凝练过程。“IT价值链”从人智能的底层基础设施、信息(提供和处理技术实现)到系统的产业生态过程,反映人工智能为信息技术产业带来的价值。
(1)基础设施
基础设施为人工智能系统提供计算能力支持,实现与外部世界的沟通,并通过基础平台实现支撑。通过传感器与外部沟通;计算能力由智能芯片(CPU、NPU、GPU、ASIC、FPGA等硬件加速芯片)提供;基础平台包括分布式计算框架及网络等相关的平台保障和支持,可以包括云存储和计算、互联互通网络等。举例来说,传感器和外部沟通获取数据,这些数据提供给基础平台提供的分布式计算系统中的智能芯片进行计算。
(2)数据
基础设施的上一层的数据用于表示人工智能领域的数据来源。数据涉及到图形、图像、语音、文本,还涉及到传统设备的物联网数据,包括已有系统的业务数据以及力、位移、液位、温度、湿度、智能设备之间的距离等感知数据。
(3)数据处理
数据处理通常包括数据训练,机器学习,强化学习,深度学习,搜索,推理,决策等方式。
其中,机器学习、强化学习和深度学习可以对数据进行符号化和形式化的智能信息建模、抽取、预处理、训练等。
推理是指在计算机或智能系统中,模拟人类的智能推理方式,依据推理控制策略,利用形式化的信息进行机器思维和求解问题的过程,典型的功能是搜索与匹配。
决策是指智能信息经过推理后进行决策的过程,通常提供技能选择、分类、排序、预测等功能。
(4)通用能力
对数据经过上面提到的数据处理后,进一步基于数据处理的结果可以形成一些通用的能力,比如可以是算法或者一个通用系统,例如,驾驶技能的选择,搬运技能的选择,抓取技能的选择,翻译,文本的分析,计算机视觉的处理,语音识别,图像的识别等等。
(5)智能产品及行业应用
智能产品及行业应用指人工智能系统在各领域的产品和应用,是对人工智能整体解决方案的封装,将智能信息决策产品化、实现落地应用,其应用领域主要包括:智能终端、智能制造、智能交通、智能家居、智能医疗、智能安防、自动驾驶、平安城市等。
随着人工智能的发展,很多需要人完成的任务逐渐被智能终端代替,则智能终端上需要配置完成任务所使用的技能,以及,针对任务的神经网络,从而实现通过智能终端完成特定任务的功能。具体的,可以为应用于可移动的智能终端中,作为示例,例如在自动驾驶领域,本来由人完成的驾驶操作可以由智能汽车代替执行,则智能汽车中需要配置有大量的驾驶技能以及针对驾驶技能的神经网络;作为另一示例,例如在货运领域,本来由人完成的搬运操作可以由搬运机器人代替执行,则搬运机器人中需要配置有大量的搬运技能以及针对搬运技能的神经网络。也可以为应用于不具有移动操作的智能终端中,作为示例,例如在配件加工的流水线上,本来由人完成的零配件抓取操作可以由智能机械手臂完成,则智能机械手臂中需要配置有抓取技能以及针对抓取技能的神经网络,其中,不同的抓取技能抓取角度、智能机械手臂的位移等可以不同;作为另一示例,例如在自动炒菜领域,本来由人完成的炒菜操作可以由智能机械手臂完成,则智能机械手臂中需要配置有原材料抓取技能、翻炒技能等炒菜技能以及针对炒菜技能的神经网络等等,此处不对其他应用场景进行穷举。
而配置于上述智能终端、智能汽车以及智能机械手臂等智能产品中的神经网络和各种技能需要通过预先学习获得,结合上述说明,本申请实施例提供了一种神经网络的获取方法,具体的,服务器获取第一任务,获取第一神经网络用于完成第一任务的第一成功率,在第一成功率低于预设阈值的情况下,服务器会获取第二神经网络和新技能,在技能库中加入新技能,得到更新后的技能库;基于所述第一任务对应的仿真环境,利用强化学习算法,对第二神经网络进行训练,直至第二神经网络用于完成所述第一任务的第二成功率大于或等于所述预设阈值,然后将经过训练的第二神经网络和更新后的技能库存储下来,从而可以配置到各种智能产品上。
通过上述描述可知,本申请实施例中同时涉及到服务器和智能终端,以下结合图2对本申请实施例中的神经网络获取系统的网络架构进行介绍,图2为本申请实施例提供的神经网络获取系统的网络架构图,在图2中,神经网络获取系统200包括服务器210、数据获取设备220、智能设备230、数据库240、第一通信设250和第二通信设备260。
服务器210用于获取第一任务,之后利用数据获取设备220获取的环境状态信息,获取第一神经网络用于完成第一任务的第一成功率,其中,述第一神经网络用于从技能库中选取用于完成所述第一任务的技能。
数据获取设备220用于获取环境状态信息,具体的,可以为服务器210上配置有模拟器,数据获取设备220采集模拟器中智能设备230执行第一任务时周围的当前环境状态信息。
服务器210还用于在第一成功率小于预设阈值的情况下,生成第二神经网络,将新技能加入技能库,得到更新后的技能库;基于所述第一任务对应的仿真环境,利用数据获取设备220获取的环境状态信息,对第二神经网络进行训练,直至第二神经网络用于完成第一任务的第二成功率大于或等于预设阈值;之后将经过训练的第二神经网络和更新后的技能库存储至数据库240,以及,将成熟的第二神经网络和更新后的技能库发送给第一通信设备250。其中,数据库240可以配置于服务器210中,也可以为与服务器210互相独立的存储设备,图2中以数据库240和服务器210为互相独立的存储设备为例。
第一通信设备250在接收到第二神经网络和更新后的技能库之后,可以在第一通信设备250上运行成熟的第二神经网络和更新后的技能库;也可以将成熟的第二神经网络和更新后的技能库发送给第二通信设备260,或者将成熟的第二神经网络和更新后的技能库加载到第二通信设备260上,由第二通信设备260运行。
其中,第一通信设备240可以具体表现为智能汽车、搬运机器人、智能机械手臂、棋牌机器人、扫地机器人等等具有直接执行任务的智能设备,也可以具体表现为例如个人计算机、计算机工作站、智能手机、平板电脑等用于存储成熟的第二神经网络和更新后的技能库的通信设备等等,此处不做限定。第二通信设备260可以表示为智能汽车、搬运机器人、智能机械手臂、棋牌机器人、扫地机器人等等具有直接执行任务的智能设备。
第一通信设备250与服务器210以及第一通信设备250与第二通信设备260之间均可以通过无线网络连接。其中,上述的无线网络使用标准通信技术和/或协议。无线网络通常为因特网、但也可以是任何网络,包括但不限于局域网(Local Area Network,LAN)、城域网(Metropolitan Area Network,MAN)、广域网(Wide Area Network,WAN)、移动、专用网络或者虚拟专用网络的任何组合)。在另一些实施例中,还可以使用定制或专用数据通信技术取代或者补充上述数据通信技术。
虽然图2中仅示出了一个服务器210、一个第一通信设备250和一个第二通信设备260,但应当理解,图2中的示例仅用于理解本方案,具体服务器210、第一通信设备250和第二通信设备260的数量均应当结合实际情况灵活确定。
结合上述描述,下面开始对本申请实施例提供的神经网络的获取方法的具体实现流程进行描述,由于本申请实施例提供的神经网络的获取方法既涉及到对神经网络的训练侧,又涉及到神经网络的应用侧,则下面分别对训练侧的具体实现流程和应用侧的具体实现流程进行介绍。
一、训练侧
请参阅图3,图3为本申请实施例中神经网络的获取方法的一个实施例,方法可以包括:
301、服务器获取第一任务。
本申请实施例中,服务器会先获取第一任务。具体的,可以为服务器接收本领域技术人员输入的第一任务,也即第一任务可以为本领域技术人员通过服务器的接收界面输入的;也可以为本领域技术人员预先输入大量的任务,从而服务器可以从预先输入的任务中选取第一任务;还可以为本领域技术人员预先设置任务生成规律,从而服务器可以根据生成规律自行生成第一任务,进一步地,生成规律可以为任务难度越来越难,作为示例,例如初始任务为汽车驶出环岛,环岛进口处的车流量为每5秒一辆,汽车只能在环岛的外道形式,无换道功能;则服务器生成的较初始任务难度加大的第一任务可以为汽车驶出环岛,环岛进口的车流量为每5秒一辆,汽车可以在环岛的任意道中行驶,也即有换道功能;服务器生成的难度进一步加大的第一任务可以为汽车驶出环岛,环岛进口的车流量为每2.5秒一辆,汽车具有换道功能。作为再一示例,例如初始任务为将货物放入仓库,初始任务为将货物放置到最底层货物架上,搬运速度为每两分钟搬运一个;则服务器生成的较初始任务难度较大的第一任务可以为将货物放入仓库,将货物放置到最底层货物架上,搬运速度为每一分钟搬运一个;服务器生成的难度进一步加大的第一任务可以为将货物放入仓库,将货物放置在整个包含四层架子的货物架上,搬运速度为每一分钟搬运一个等等,应当理解,具体此处不限定服务器获取第一任务的形式。
302、服务器获取第一神经网络。
本申请的一些实施例中,服务器在获取到第一任务之后,会获取第一神经网络,其中,第一神经网络用于从技能库中选取用于完成所述第一任务的技能;进一步地,第一神经网络具体可以表现为一个神经网络;技能库中的每个技能可以具体表现为神经网络,也可以具体表现为操作规则,作为示例,例如技能库中的技能具体可以为以每秒10米的速度进行加速、向右转向30度、向右前移3米或其他操作规则等等,具体此处不做限定。当本申请实施例提供的方案应用于自动驾驶领域时,技能库中的技能可以为驾驶技能;当本申请实施例提供的方案应用于货运领域时,技能库中的技能可以为搬运技能;当本申请实施例提供的方案应用于智能机械手臂上时,技能库中的技能可以为抓取技能等等,此处不再对技能的具体表现形式进行穷举,通过前述方式,提供了技能的多种具体实现方式,扩展了本方案的应用场景,提高了本方案的全面性。
具体的,在一种实现方式中,由于服务器是用于以多种不同的任务为第一来对神经网络以及技能库进行训练,也即服务器上可以存储有多种神经网络以及技能库,则第一神经网络可以为基于第二任务对应的仿真环境进行训练得到的神经网络,也即第一神经网络可以为预先训练好的至少一个神经网络中的一个成熟的第一神经网络,对应的,服务器可以将第一神经网络所对应的技能库确定为技能库,更具体的,可以为本领域技术人员从预先训练好的至少一个神经网络中选取第一神经网络,进而服务器获取本领域技术人员选取的第一神经网络;也可以为服务器自主从预先训练好的至少一个神经网络中选取第一神经网络,其中,第一任务的语义信息和第二任务的语义信息相似,具体的,第一任务的语义信息和第二任务的语义信息相似指的可以是利用神经网络获取第一任务和第二任务的语义信息并进行对比以确定第一任务的语义信息和第二任务的语义信息相似;也可以是分解第一任务和第二任务得到的约束条件相似,作为示例,例如分解第一任务得到的约束条件为驶出环岛、车流量为5秒/辆且车辆具有换道功能,分解第二任务得到的约束条件为驶出环岛、车流量为5秒/辆且车辆不具有换道功能,则可以视为第一任务的语义信息与第二任务的语义信息相似;也可以为第一任务和第二任务的运行环境相似,作为示例,例如第一任务的运行环境为车流量为5秒/辆且车辆具有换道功能的环岛,第二任务的运行环境为车流量为5秒/辆且车辆具有换道功能的立交桥,则可以视为第一任务的语义信息与第二任务的语义信息相似等待,当然,还可以通过其他方式来确定第一任务的语义信息与第二任务的语义信息相似,此处举例仅为方便理解本方案,不对所有实现方式进行穷举。
在另一种实现方式中,服务器也可以在确定第一任务以及第一神经网络的神经网络类型后,初始化一个第一神经网络,基于第一任务对应的仿真环境,利用强化学习算法,初始训练一个技能库;在另一种实现方式中,服务器也可以在确定第一任务以及第一神经网络的神经网络类型后,初始化一个第一神经网络,之后由本领域技术人员根据第一任务,对技能库中的至少一个技能进行配置等等,由于在后续步骤中还可以对技能库中的技能进行扩充,则技能库中的技能数量不需要特别多。
更具体的,服务器为将环境状态信息输入到第一神经网络中,以获取第一神经网络从技能库中选取的技能,其中,环境状态信息可以包括第一任务对应的仿真环境中智能设备周围的环境信息和智能设备的自身状态信息,具体可以包括智能设备周围的地图信息、智能设备的目的地信息、相邻智能设备的移动信息、当前智能设备的移动信息或其它类型的环境信息等等,作为示例,例如本申请实施例应用于自动驾驶领域,环境状态信息可以包括与相邻车辆之间的距离、相对车辆相对于驾驶车辆的驾驶方向、相对车辆相对于驾驶车辆的速度、驾驶车辆的速度、驾驶车辆的方向、驾驶车辆与目的地的之间的距离等。
进一步地,环境状态信息可以图片的形式、序列数据的形式或其他数据形式输入到第一神经网络中,第一神经网络的神经网络类型可以根据输入的数据的数据类型确定,例如输入的数据为图片数据的话,则第一神经网络可以选用卷积神经网络(convolutionalneuron nrtwork,CNN),例如输入的数据为序列数据的话,则第一神经网络可以选用循环神经网络(recurrent neural networks,RNN)等,此处不再对其他情况一一列举;第一神经网络的输出可以为与技能对应的序列号,也即服务器可以预先为技能库中的每个技能配置有一个序列号,从而可以根据第一神经网络输出的序列号查找到对应的技能,也即实现从技能库中选取技能。服务器可以通过表格、数组、索引或其他形式存储序列号与单个技能之间的映射关系,如下仅以表格的形式存储单个技能与序列号之间的映射关系为例进行说明,请参阅如下表1。
表1
序列号 技能
68 技能1
69 技能2
70 技能3
71 技能4
如上表1中示出了单个技能与序列号之间的映射关系表中的4行数据,实际情况中一个单个技能与序列号之间的映射关系中可以包括更多或更少的数据;表1的示例中示出的为4个连续的序列号,但在实际产品中为不同的技能配置的可以为不是连续的序列号;且表1中的技能1至技能4均为代称,实际情况中技能1至技能4均可以表现为具体操作规则、神经网络或调用某个技能的接口号等等,应当理解,表1中的示例仅为直观展示单个技能与序列号之间的映射关系,从而更方便理解本方案,不用于限定本方案。
当技能具体表现为神经网络时,技能的输入也可以为环境状态信息,则与第一神经网络类似,技能的神经网络类型也与技能输入的数据类型相关。技能的输出可以与操作规则直接对应,作为示例,例如技能的输出可以为60,代表汽车以每秒60米的速度前进;技能的输出也可以为与操作规则具有映射关系的序列号,也即服务器上会存储有技能输出的序列号与技能所表征的操作规则之间的映射关系,作为示例,例如当技能的输出为2.23的时候,代表汽车需要将方向盘向右转23度;作为另一示例,例如当技能的输出为1.58的时候,代表汽车需要将方向盘向左转58度等等,此处不做穷举。对应的,服务器也可以通过表格、数组、索引或其他形式存储技能输出的序列号与技能所表征的操作规则之间的映射关系,如下仅以表格的形式存储技能输出的序列号与技能所表征的操作规则的映射关系为例,进行说明。
表2
序列号 1.2 1.3 1.4
操作规则 方向盘向左转20度 方向盘向左转30度 方向盘向左转40度
序列号 3.4 3.45 3.5
操作规则 控制车速至40m/s 控制车速至45m/s 控制车速至50m/s
请参阅如上表2,表2中示出了技能输出的序列号与技能所表征的操作规则的映射关系之间的部分数据,应当理解,上述举例仅为方便理解本方案,不用于限定本方案。为进一步理解本方案,此处对卷积神经网络和循环神经网络的概念做进一步地介绍,先是卷积神经网络,请参阅图4,图4为本申请实施例提供的卷积神经网络的一种结构示意图,卷积神经网络(CNN)是一种带有卷积结构的深度神经网络,是一种深度学习(deep learning)架构,深度学习架构是指通过机器学习的算法,在不同的抽象层级上进行多个层次的学习。作为一种深度学习架构,是一种前馈(feed-forward)人工神经网络,该前馈人工神经网络中的各个神经元对输入其中的图像中的重叠区域作出响应。如图4所示,卷积神经网络100可以包括输入层110,卷积层/池化层120,其中池化层为可选的,以及神经网络层130。
卷积层/池化层120:
卷积层:
如图4所示卷积层/池化层120可以包括如示例121-126层,在一种实现中,121层为卷积层,122层为池化层,123层为卷积层,124层为池化层,125为卷积层,126为池化层;在另一种实现方式中,121、122为卷积层,123为池化层,124、125为卷积层,126为池化层。即卷积层的输出可以作为随后的池化层的输入,也可以作为另一个卷积层的输入以继续进行卷积操作。
以卷积层121为例,卷积层121可以包括很多个卷积算子,卷积算子也称为核,其在图像处理中的作用相当于一个从输入图像矩阵中提取特定信息的过滤器,卷积算子本质上可以是一个权重矩阵,这个权重矩阵通常被预先定义,在对图像进行卷积操作的过程中,权重矩阵通常在输入图像上沿着水平方向一个像素接着一个像素(或两个像素接着两个像素等等,像素的个数取决于步长stride的取值)的进行处理,从而完成从图像中提取特定特征的工作。该权重矩阵的大小应该与图像的大小相关,需要注意的是,权重矩阵的纵深维度(depth dimension)和输入图像的纵深维度是相同的,在进行卷积运算的过程中,权重矩阵会延伸到输入图像的整个深度。因此,和一个单一的权重矩阵进行卷积会产生一个单一纵深维度的卷积化输出,但是大多数情况下不使用单一权重矩阵,而是应用维度相同的多个权重矩阵。每个权重矩阵的输出被堆叠起来形成卷积图像的纵深维度。不同的权重矩阵可以用来提取图像中不同的特征,例如一个权重矩阵用来提取图像边缘信息,另一个权重矩阵用来提取图像的特定颜色,又一个权重矩阵用来对图像中不需要的噪点进行模糊化等等,此处不对所有权重矩阵进行穷举,该多个权重矩阵维度相同,经过该多个维度相同的权重矩阵提取后的特征图维度也相同,再将提取到的多个维度相同的特征图合并形成卷积运算的输出。
这些权重矩阵中的权重值在实际应用中需要经过大量的训练得到,通过训练得到的权重值形成的各个权重矩阵可以从输入图像中提取信息,从而帮助卷积神经网络100进行正确的预测。
当卷积神经网络100有多个卷积层的时候,初始的卷积层(例如121)往往提取较多的一般特征,该一般特征也可以称之为低级别的特征;随着卷积神经网络100深度的加深,越往后的卷积层(例如126)提取到的特征越来越复杂,比如高级别的语义之类的特征,语义越高的特征越适用于待解决的问题。
池化层:
由于常常需要减少训练参数的数量,因此卷积层之后常常需要周期性的引入池化层,即如图4中120所示例的121-126各层,可以是一层卷积层后面跟一层池化层,也可以是多层卷积层后面接一层或多层池化层。在图像处理过程中,池化层的唯一目的就是减少图像的空间大小。池化层可以包括平均池化算子和/或最大池化算子,以用于对输入图像进行采样得到较小尺寸的图像。平均池化算子可以在特定范围内对图像中的像素值进行计算产生平均值。最大池化算子可以在特定范围内取该范围内值最大的像素作为最大池化的结果。另外,就像卷积层中用权重矩阵的大小应该与图像大小相关一样,池化层中的运算符也应该与图像的大小相关。通过池化层处理后输出的图像尺寸可以小于输入池化层的图像的尺寸,池化层输出的图像中每个像素点表示输入池化层的图像的对应子区域的平均值或最大值。
神经网络层130:
在经过卷积层/池化层120的处理后,卷积神经网络100还不足以输出所需要的输出信息。因为如前所述,卷积层/池化层120只会提取特征,并减少输入图像带来的参数。然而为了生成最终的输出信息(所需要的类信息或别的相关信息),卷积神经网络100需要利用神经网络层130来生成一个或者一组所需要的类的数量的输出。因此,在神经网络层130中可以包括多层隐含层(如图4所示的131、132至13n)以及输出层140,该多层隐含层中所包含的参数可以根据具体的任务类型的相关训练数据进行预先训练得到,例如该任务类型可以包括图像处理以及图像处理之后的技能选择,其中图像处理部分可以包括图像识别,图像分类,图像超分辨率重建等等,在对图像进行处理之后,可以根据获取到的图像信息进行技能选择;作为示例,例如在本申请应用于自行驾驶领域、神经网络具体表现为卷积神经网络且任务为驶出环岛,也即将环境图像输入到神经网络的卷积神经网络中,则卷积神经网络需要对环境图像中的汽车、环岛出口、所在车道等信息进行识别,进而获得车间距信息、与环岛出口的距离信息、需要执行的变道操作等信息,进而结合前述环境状态信息确定执行驶出环岛任务的驾驶技能;可选地,在采集到的图像像素过低的情况下,还需要进行图像超分辨率重建的操作,以增加图像的准确性等等。作为另一示例,例如本申请应用于抓取零件的机械手臂上,而神经网络具体表现为卷积神经网络且任务为以1分钟20个零件的将合适的零件放置到正确的容器中,则可以向卷积神经网络输入环境图像,卷积神经网络需要对环境图像中的各种类型的零件(规格、材料等特征不同)、不同的零件容器进行识别,进而可以获取到零件以及零件容器的类型信息、零件与零件容器之间的对应关系以及零件与零件容器之间的距离等信息,进而卷积神经网络需要结合前述信息从技能库中选取完成零件抓取任务的抓取技能等等,此处不进行穷举。
在神经网络层130中的多层隐含层之后,也就是整个卷积神经网络100的最后层为输出层140,该输出层140具有类似分类交叉熵的损失函数,具体用于计算预测误差,一旦整个卷积神经网络100的前向传播(如图4由110至140的传播为前向传播)完成,反向传播(如图4由140至110的传播为反向传播)就会开始更新前面提到的各层的权重值以及偏差,以减少卷积神经网络100的损失及卷积神经网络100通过输出层输出的结果和理想结果之间的误差。
需要说明的是,如图4所示的卷积神经网络100仅作为一种卷积神经网络的示例,在具体的应用中,卷积神经网络还可以以其他网络模型的形式存在,例如,如图5所示的多个卷积层/池化层并行,将分别提取的特征均输入给全神经网络层130进行处理。
接下来介绍循环神经网络(RNN),循环神经网络(Recurrent Neural Networks,RNNs)是用来处理序列数据的神经网络;且理论上,RNNs能够对任何长度的序列数据进行处理。在传统的神经网络模型中,是从输入层到隐含层再到输出层,层与层之间是全连接的,每层之间的节点是无连接的。但是这种普通的神经网络对于很多问题却无能无力。例如,你要预测句子的下一个单词是什么,一般需要用到前面的单词,因为一个句子中前后单词并不是独立的。RNNs之所以称为循环神经网路,是因为循环神经网络中一个序列当前的输出与前面的输出也有关。具体的表现形式为网络会对前面的信息进行记忆并应用于当前输出的计算中,即隐藏层之间的节点不再无连接而是有连接的,并且隐藏层的输入不仅包括输入层的输出还包括上一时刻隐藏层的输出。具体的,作为示例,例如在本申请应用于自行驾驶领域、神经网络具体表现为循环神经网络且任务为驶出环岛,也即对获取到的环境图像进行预处理,得到携带环境状态信息的序列数据,从而可以将前述序列数据输入到神经网络的循环神经网络中,进而循环神经网络可以直接利用输入的环境状态信息获得车间距信息、与环岛出口的距离信息、需要执行的变道操作等信息,进而结合前述环境状态信息确定执行任务的技能等等,应当理解,服务器还可以利用其它类型的神经网络来实现神经网络的功能,此处不再对其他类型的神经网络进行一一介绍。
303、服务器通过第一神经网络选取的技能获取控制指令以控制智能设备执行第一任务。
本申请的一些实施例中,服务器在获取到第一任务和第一神经网络之后,可以先通过第一神经网络选取的技能获取控制指令以控制智能设备执行第一任务,以确定在第一任务对应的仿真环境中,第一神经网络的损失函数是否收敛;具体的,服务器会将环境状态信息输入第一神经网络,获取第一神经网络选取的技能,环境状态信息包括第一任务对应的仿真环境中智能设备周围的环境信息和智能设备的自身状态信息;通过第一神经网络选取的技能获取控制指令以控制智能设备执行第一任务。更具体的,服务器可以将获取到的环境状态信息输入到第一神经网络中,得到第一神经网络输出的第一序列号,进而根据第一神经网络输出的第一序列号从技能库中选取与第一序列号匹配的技能,进而控制智能设备通过执行与第一神经网络选取的技能对应的控制指令来执行第一任务;当然,服务器可以通过一个或至少两个技能来完成第一任务,在服务器通过至少两个技能完成第一任务的情况下,服务器确定一个技能执行完毕后,会判断第一任务是否执行完成,若完成,则执行结束;若没有完成,则再次通过第一神经网络从技能库中选择下一个技能,进而在下一个技能执行完毕的情况下,再次判断第一任务是否执行完成,重复前述步骤,直至通过至少两个技能执行完成第一任务。
更具体的,服务器可以预先设定每个技能的执行时长,其中,技能的执行时长可以为T个时间戳,T的取值可以为6、8、10、12、15、18、20等等,具体T的取值可以结合实际应用场景确定,此处不做限定。为更直观的理解本方案,请参阅图6,图6为本申请实施例提供的神经网络的获取方法中利用技能执行第一任务的一种示意图,图6中以通过至少两个技能来执行第一任务为例,其中的πh表示的是第一神经网络的运行过程,πs表示的是至少两个技能的运行过程,St表示的是t时刻的环境状态,St+1表示的是t+1时刻的环境状态,St+T表示的是t+T时刻的环境状态,A1表示的是在t时刻服务器通过第一神经网络选取的技能,A2表示的是在t+T时刻服务器通过第一神经网络选取的技能,由于在t时刻选取的A1已经运行了T个时间戳,则在t+T时刻服务器需要通过第一神经网络再次选取新的技能A2来继续执行第一任务,此外,rt代表的是A1从t时刻执行到t+1时刻之后得到的反馈值,rt+1代表的是A1从t+1时刻执行到t+2时刻之后得到的反馈值,rt+T-1代表的是A1从t+T-1时刻执行到t+T时刻之后得到的反馈值,rt、rt+1和rt+T-1均可以直接来源于环境,也可以根据执行过一个技能之后的反馈值获得,由于后续描述中会对rt、rt+1和rt+T-1的生成方式进行详细描述,此处先不做赘述,应当理解,图6中的举例仅为方便理解每隔T个时间戳重新选取一次技能这个概念,不用于限定本方案。服务器确定一个技能执行完毕的方式可以为,服务器每隔预设时长,执行一次技能的执行状态获取操作,直至技能的执行状态为执行结束,其中,预设时长的长度可以为0.1秒、800赫兹、600赫兹或其他长度等等,具体预设时长的长度可以结合实际的应用场景确定,此处不做限定。
进一步地,服务器侧可以配置有模拟器,模拟器用于提供执行第一任务的环境,也即服务器是从模拟器中采集到的环境状态信息,智能设备也是运行于模拟环境中的虚拟客体,作为示例,例如模拟的为自动驾驶中的驶出收费站的场景,则可以通过模拟器展示多个汽车(智能设备的一种示例)驶出收费站的场景;作为另一示例,例如模拟的为仓储机器人(智能设备的一种示例)进行货物搬运的场景,则可以通过模拟器展示多个仓储机器人在仓库中执行搬运任务的场景等等,此处不再对其他场景进行一一举例。
其中,服务器向第一神经网络中输入的环境状态信息可以具体表现为环境图像信息,也可以表现为序列数据形式的环境状态信息,还可以为其他数据形式的环境状态信息等等,此处不做限定。由于上述在对卷积神经网络和循环神经网络的介绍中已经对将第一任务对应的环境状态信息输入到第一神经网络进行了举例,此处不再赘述。
304、服务器判断第一神经网络的损失函数是否收敛,若损失函数未收敛,则执行步骤305;若损失函数收敛,则执行步骤307。
本申请的一些实施例中,服务器在通过第一神经网络完成第一任务至少一次之后,可以判断第一神经网络的损失函数是否收敛,进而若损失函数未收敛,则可以执行步骤304,若损失函数收敛,则可以直接执行步骤306。其中,第一神经网络的损失函数的收敛条件可以为函数值上升至一个稳定的数值范围,也可以为函数值缩小到一个稳定的数值范围等;第一神经网络的损失函数可以根据对第一神经网络进行训练时所采用的强化学习算法的类型确定,不同的强化学习算法所对应的损失函数不同。具体的,服务器可以通过线条图的形式展示第一神经网络的损失函数的函数值,从而可以直观的感受到第一神经网络的损失函数是否收敛,具体展示方式此处不做限定。更具体的,对第一神经网络进行训练时所采用的强化学习算法的类型可以包括近端策略优化(proximal policy optimization,PPO)算法、信任域策略优化(trust region policy optimization,TRPO)算法、时间差分(temporal-difference learning,TD)算法或其他同策略类的强化学习算法,此处以当第一神经网络采用PPO算法为例,对第一神经网络所采用的损失函数进行举例,损失函数的公式可以具体如下:
Figure BDA0002221463970000191
其中,T代表一个技能执行时长中包括的时间戳数量,πh,θ和θ均代表第一神经网络的参数,πs,t代表t时刻通过第一神经网络选择的技能,st代表t时刻的环境状态信息,πh,old代表上一次训练之前保存的第一神经网络的网络模型,
Figure BDA0002221463970000201
为技能从t时刻执行到t+T时刻之后神经网络的优势函数的函数值,具体可以表示为
Figure BDA0002221463970000202
R代表的是技能从t时刻执行到t+T时刻之后得到的反馈值,γ指的是消减因子(discounted factor),γ的取值区间为0至1,具体可以表现为连续值,在实际实现中γ的取值可以非常接近1,st+T代表t+T时刻的环境状态信息,
Figure BDA0002221463970000203
代表神经网络的状态价值函数,KL散度(kullback–leibler divergence,KL divergence)代表两个概率分布差别的非对称性度量,用于限制两次训练之间的变化,β代表KL散度的超参数,用于控制所述限制的大小。
应当理解,上述对第一神经网络的损失函数的举例仅为证明本方案的可实现性,当第一神经网络采用其他类型的强化学习算法时,会对应的选择其他的损失函数,此处不限定第一神经网络的损失函数的具体表现形式。
需要说明的是,本申请实施例中不限定步骤303和步骤304之间的执行次数关系,可以为在执行步骤303至少两次之后,再执行一次步骤304,也即通过第一神经网络执行第一任务至少两次之后,再判断第一神经网络的损失函数是否收敛;也可以为执行一次步骤303之后,直接执行步骤304。
305、服务器基于第一任务对应的仿真环境,利用强化学习算法,对第一神经网络进行训练。
本申请的一些实施例中,若通过步骤304判断确定第一神经网络的损失函数未收敛,则基于第一任务对应的仿真环境,利用强化学习算法,对第一神经网络进行多次训练,其中,服务器对第一神经网络进行训练的次数应当结合实际情况确定,此处不做限定。具体的,在服务器基于所述第一任务对应的仿真环境,利用强化学习算法,对第一神经网络进行一次训练的过程中,会先通过第一神经网络选取的至少一个技能完成第一任务,在服务器控制智能设备执行第一任务的过程中,会获取智能设备执行第一任务的数据,利用第三强化学习算法,更新第一神经网络的参数。
更具体的,服务器将环境状态信息输入第一神经网络,获取第一神经网络选取的技能,环境状态信息包括第一任务对应的仿真环境中智能设备周围的环境信息和智能设备的自身状态信息,通过第一神经网络选取的执行第一任务的技能,进而获取到控制指令,之后可以在模拟器中控制智能设备执行与控制指令对应的操作,在执行过程中,服务器每隔预设时长,针对第一神经网络选取的技能执行一次执行状态获取操作,直至第一神经网络选取的技能的执行状态为执行结束;服务器获取在智能设备执行控制指令对应的操作过程中产生的数据,所述数据包括智能设备的操作路径、操作速度或操作目的地中的任一项或多项信息;服务器根据所述数据,利用第三强化学习算法,更新第一神经网络的参数。其中,智能设备、预设时长、执行状态的概念在上述描述中均由详细介绍,此处不再赘述。本申请实施例中,服务器通过每隔预设时长获取一次第一神经网络选取的技能的执行状态的方式来确定第一神经网络选取的技能是否执行结束,从而服务器可以及时根据智能设备的操作行为信息来迭代更新新技能策略和新技能的参数,有利于提高训练过程的准确性。
进一步地,服务器根据智能设备执行控制指令对应的操作过程中产生的数据,得到智能设备执行一次与第一神经网络选取的技能对应的操作的过程中得到的反馈值(R),之后服务器根据第三强化学习算法确定第一神经网络的优势函数和损失函数,将反馈值(R)带入到第一神经网络的优势函数中,进而根据第一神经网络的优势函数的函数值得到第一神经网络的损失函数的函数值,从而根据第一神经网络的损失函数的函数值来梯度更新第一神经网络的参数,其中,第三强化学习算法的类型可以包括近端策略优化(PPO)算法、信任域策略优化(TRPO)算法、时间差分(TD)算法或其他同策略类的强化学习算法等等,具体此处不做限定,由于在步骤304中已经对当第三强化学习算法为PPO算法时第一神经网络所采用的优势函数以及损失函数进行了详细介绍,此处不再进行举例介绍。
306、服务器判断第一神经网络的损失函数是否能够收敛,若不能够收敛,则重新进入步骤302;若能够收敛,则得到成熟的第一神经网络。
本申请的一些实施例中,由于在部分实现方式中,第一神经网络是为基于第二任务对应的仿真环境进行训练得到的,则在服务器基于第一任务对应的仿真环境,对第一神经网络进行训练的过程中,会存在第一神经网络的损失函数无法收敛的情况,具体的,例如在第一任务和第二任务的实现方式相差太大的情况下,就可能导致第一神经网络的损失函数无法收敛的情况,作为示例,例如第一任务和第二任务全都应用于自动驾驶领域,第一任务为驶出环岛,第二任务为驶出收费站,则服务器基于驶出环岛对应的仿真环境,利用强化学习算法,对第一神经网络(基于驶出收费站对应的仿真环境进行训练得到的神经网络)进行再次训练,则会存在第一神经网络的损失函数无法收敛的可能性;当然,在其他情况中也存在第一神经网络的损失函数无法收敛的可能性,此处不再对其他情况进行一一列举。
则服务器在对第一神经网络进行训练的过程中,可以判断第一神经网络的损失函数是否能够收敛,若不能够收敛,则可以放弃损失函数不能够收敛的第一神经网络,并重新进入步骤301,从而服务器可以通过步骤301重新选取新的第一神经网络;若能够收敛,则服务器对第一神经网络进行训练,直至达到第一神经网络的损失函数的收敛条件,从而可以得到成熟的第一神经网络;具体的,服务器可以根据第一神经网络的损失函数的函数值走向来判断第一神经网络的损失函数时候能够收敛,若第一神经网络的损失函数的函数值呈现为随机分布状态,则可以视为第一神经网络的损失函数不能够收敛,则可以进入步骤301以重新获取新的第一神经网络;若第一神经网络的损失函数的函数值呈现为稳定的上升趋势或下降趋势,则可以对第一神经网络进行训练,直至达到第一神经网络的损失函数的收敛条件,从而可以得到成熟的第一神经网络。
应当理解,步骤302至步骤306为可选步骤,若第一神经网络为基于第二任务对应的仿真环境训练得到的,则可以在执行完步骤301后直接执行步骤307;若第一神经网络是由服务器以第一任务为目标,初始化得到的神经网络,则也可以为不执行步骤303、步骤304以及步骤306,而是在执行完步骤302之后,直接通过步骤305对第一神经网络进行训练直至达到第一神经网络的损失函数的收敛条件,得到成熟的第一神经网络。在第一神经网络是基于第二任务对应的仿真环境进行训练得到的神经网络的情况下,获取到的第一神经网络不一定适合执行第一任务,由于损失函数尚未收敛的神经网络不具有稳定性,会导致后续执行任务过程的不稳定性,将损失函数不能够收敛的第一神经网络排除掉,也即将不稳定的神经网络排除出去,有利于提高最后获得的神经网络的安全性,也即提高运行有神经网络的智能产品的安全性。
307、服务器获取第一神经网络用于完成第一任务的第一成功率。
本申请实施例中,服务器在获取到第一任务之后,需要获取第一神经网络用于完成第一任务的第一成功率,进一步地,若步骤302至步骤306均执行,则步骤307具体可以包括获取成熟的第一神经网络用于完成第一任务的成功率作为第一成功率。
具体的,在一种实现方式中,服务器可以将环境状态信息输入第一神经网络,得到第一神经网络选取的技能,其中,环境状态信息包括第一任务对应的仿真环境中智能设备周围的环境信息和智能设备的自身状态信息;通过第一神经网络选取的技能获取控制指令以控制智能设备执行第一任务;重复上述步骤,直至通过第一神经网络完成第一任务的次数达到第一次数;对第一次数中完成第一任务的结果为成功的次数进行统计,得到第二次数;根据第一次数和第二次数,计算第一成功率。其中,完成第一任务的结果包括成功和失败,作为示例,例如第一任务是从十字路口中的一个路口驶向另一个路口,则当汽车安全从正确的路口驶出,就视为成功,若汽车在驶过十字路口的过程中出现了汽车碰撞、开出了道路、从错误的路口驶出等等情况,则视为失败;第一次数的取值可以结合模拟器的处理效率、第一任务的复杂程度等因素确定,作为示例,例如第一次数的取值可以为500次、600次或其他取值等等;应理解,此处举例仅为方便理解。
更具体的,服务器每次通过第一神经网络完成第一任务的具体实现方式与步骤303类似,此处不再赘述。服务器可以在得到第二次数之后,计算第二次数所占第一次数的比值,进而可以将第二次数所占第一次数的比值确定为第一成功率;也可以为在第二次数所占第一次数的比值与第一成功率之间具有映射关系,进而根据第二次数所占第一次数的比值以及映射关系,确定第一成功率。其中,本实现方式中,服务器上可以布置有模拟器,由于实验过程中是服务器在模拟器中通过第一神经网络控制智能设备重复执行第一任务,也即通过还原真实场景的方式来获得第一成功率,以提高第一成功率的准确率。
在另一种实现方式中,第一神经网络为基于第二任务对应的仿真环境,利用第三强化学习算法进行训练得到的,第一任务的语义信息与第二任务的语义信息相似,服务器获取第一神经网络用于完成第一任务的第一成功率,包括:服务器获取第一任务的语义信息,以及,获取第二任务的语义信息,根据第一任务的语义信息与第二任务的语义信息之间的相似度,得到第一成功率,其中,相似度越高,第一成功率越高。
更具体的,在一种实现方式中,服务器在获取到第一任务和第二任务之后,可以利用神经网络分别获取第一任务和第二任务的语义信息,根据第一任务和第二任务的语义信息生成第一任务和第二任务之间的相似度。在另一种实现方式中,服务器在获取到第一任务和第二任务之后,还可以将第一任务进行分解得到至少一个约束条件,以及将第二任务进行分解得到至少一个约束条件,通过逐个对比第一任务和第二任务的每个约束条件来确定第一任务的语义信息和第二任务语义信息之间的相似度,作为示例,例如第一任务为汽车驶出环岛,环岛进口的车流量为每5秒一辆,汽车可以在环岛的任意道中行驶,也即有换道功能,第二任务为汽车驶出环岛,环岛进口的车流量为每2.5秒一辆,汽车具有换道功能,将第一任务进行分解后约束条件有驶出环岛、车流量为每5秒一辆以及具有换道功能,将第二任务进行分解后约束条件有驶出环岛、车流量2.5秒一辆以及具有换道功能,进而可以将第一任务和第二任务的每个约束条件进行对比,以确定第一任务的语义信息和第二任务的语义信息之间的相似度等等,当然,也可采用其他方式来确定第一任务的语义信息与第二任务的语义信息之间的相似度,此处不再一一举例。服务器在获取到第一任务的语义信息与第二任务的语义信息之间的相似度之后,可以根据相似度生成第一成功率,其中,相似度越高,第一成功率越高,具体的,服务器可以直接将第一任务与第二任务之间的相似度确定为第一成功率;也可以为相似度与第一成功率之间存在映射关系,从而在获取到相似度之后,可以根据相似度与第一成功率之间的映射关系确定第一成功率等等。本实现方式中,通过获取第一任务的语义信息与第二任务的语义信息之间相似度的方式来确定第一神经网络用于完成第一任务的第一成功率,提供了获取第一成功率的又一种实现方式,扩展了本方案的应用场景;且本方式中不再需要反复通过第一神经网络执行第一任务,提高了获取第一成功率的效率。
308、服务器判断第一成功率是否大于或等于预设阈值,若大于或等于预设阈值,则进入步骤309;若小于预设阈值,则进入步骤311。
本申请实施例中,服务器上设置有预设阈值,在服务器获取到第一成功率之后,可以判断第一成功率是否大于或等于预设阈值,若大于或等于预设阈值,则进入步骤309,若小于预设阈值,则进入步骤312。其中,服务器上的预设阈值的展现方式可以为1-ε,其中ε的取值为接近0但不等于0,作为举例,预设阈值的取值可以为百分之九十九、百分之九十八或其他数值等等,具体此处不做限定。
309、服务器将第一神经网络确定为用于完成第一任务的神经网络。
本申请的一些实施例中,在服务器判断第一成功率大于或等于预设阈值的情况下,证明第一神经网络足以直接用于执行第一任务,从而服务器可以将第一神经网络确定为用于执行第一任务的神经网络,将技能库确定为用于执行第一任务的技能库。
310、服务器存储第一神经网络和技能库。
本申请的一些实施例中,服务器将第一神经网络确定为用于完成第一任务的神经网络,将技能库确定为用于完成第一任务的技能库之后,可以存储第一神经网络和技能库,进而可以将第一神经网络和技能库配置于执行第一任务的智能设备上,其中,智能设备指的是上述图1对应的实施例中描述的智能产品。具体的,可以为服务器通过无线的方式将第一神经网络和技能库发送至智能产品中;也可以为在智能设备尚未出厂前,通过有线的方式与服务器连接,服务器将第一神经网络和技能库配置到智能设备中;还可以为服务器将第一神经网络和技能库存储至可移动存储设备,例如蓝牙、移动硬盘等,从而通过可移动存储设备将第一神经网络和技能库配置到智能设备中等等具体方式此处不做限定。作为示例,例如智能设备为智能汽车,第一任务为自动驾驶过程中的驶出环岛,则服务可以将用于执行驶出环岛任务的第一神经网络和技能发送给智能汽车,此处举例仅为方便理解本方案。
本申请实施例中,服务器在获取到第一任务之后,可以获取第一神经网络用于完成第一任务的第一成功率,在第一成功率大于或等于预设阈值的情况下,可以直接将第一神经网络确定为用于执行第一任务的神经网络,进而可以存储第一神经网络和技能库,以将第一神经网络和技能库配置到执行第一任务的智能设备中,提高了本方案的完整性;在第一神经网络为基于第二任务对应的仿真环境进行训练得到的神经网络的情况下,实现了上层神经网络和下层技能库的复用,节省了神经网络训练过程的时间和训练资源,大大提高了神经网络训练过程的效率。
311、服务器获取第二神经网络和新技能,将新技能加入技能库,得到更新后的技能库。
本申请的一些实施例中,在服务器判断第一成功率小于预设阈值的情况下,证明第一神经网络还不足以直接用于完成第一任务,也即技能库中的技能不能够实现成功完成第一任务,从而服务器可以生成新技能,将新技能加入技能库中,得到更新后的技能库,新技能具体表现为一种神经网络,新技能所对应的神经网络的类型需要根据环境状态信息的数据类型确定,具体可参阅上述对技能库中的技能的神经网络的类型介绍,此处不做赘述。服务器在确定新技能的网络类型之后,生成新技能。作为示例,例如第二任务为汽车驶出环岛,环岛进口处的车流量为每5秒一辆,汽车只能在环岛的外道形式,无换道功能,第一任务为汽车驶出环岛,环岛进口的车流量为每5秒一辆,汽车可以在环岛的任意道中行驶,也即有换道功能,则新技能可以具体为换道技能,此处举例不用于限定本方案。
对应的,由于技能库中的技能数量增加,原有的第一神经网络不足以实现对新的更新后的技能库中的技能的选择操作,服务器需要生成新的第二神经网络,第二神经网络用于从从更新后的技能库中选取用于完成第一任务的技能,第二神经网络的神经网络类型与第一神经网络的网络类型相同,此处不做过多介绍,但由于更新后的技能库中的技能数量多于更新前的技能库中的技能数量,也即第二神经网络的处理对象多于第一神经网络的处理对象,所以第二神经网络的输出层的输出通道比第一神经网络的多,且第二神经网络的参数大概率多于第一神经网络的参数。第二神经网络选取的技能可以具体表现为新技能,也可以为不是新技能。
312、服务器利用第一神经网络的参数,初始化第二神经网络的参数。
本申请的一些实施例中,服务器在生成第二神经网络之后,可以获取第一神经网络的参数,利用第一神经网络的参数,初始化第二神经网络的参数。具体的,由于第二神经网络的参数数量可能会多于第一神经网络的参数数量,所以可以为服务器可以利用第一神经网络的参数,初始化第二神经网络的部分参数,以及初始化第二神经网络中存在但第一神经网络中不存在的参数。进一步地,在第一神经网络为基于第二任务对应的仿真环境进行训练得到的神经网络的情况下,通过上述方式,利用已经训练好的第一神经网络的参数,初始化第二神经网络的参数,可以直接继承第一神经网络学习到的能力,缩短了对第二神经网络进行训练的过程,提高了对第二神经网络的训练效率。
应当理解,步骤312为可选步骤,若不执行步骤312,则在生成第二神经网络之后,可以不利用第一神经网络的参数,初始化第二神经网络的参数,而是直接初始化第二神经网络的所有参数。
313、服务器基于第一任务对应的仿真环境,利用强化学习算法,对第二神经网络进行训练,直至第二神经网络用于完成第一任务的第二成功率大于或等于预设阈值。
本申请的一些实施例中,服务器在初始化第二神经网络和新技能之后,需要基于第一任务对应的仿真环境,利用第一强化学习算法,对第二神经网络进行训练,直至第二神经网络的损失函数满足收敛条件,之后获取通过第二神经网络用于完成第一任务的第二成功率,判断第二成功率是否大于或等于预设阈值,可选地,由于在服务器通过第二神经网络从更新后的技能库中选取用于完成第一任务的技能,可以判断第二神经网络选取的技能是否为新技能,在第二神经网络选取的技能为新技能的情况下,服务器还可以基于第一任务对应的仿真环境,利用第二强化学习算法,对新技能进行迭代训练,则服务器可以在第二神经网络的损失函数和新技能的损失函数均满足收敛条件之后,再获取通过第二神经网络用于完成第一任务的第二成功率,判断第二成功率是否大于或等于预设阈值。服务器利用第二神经网络从更新后的技能库中选取用于完成第一任务的技能的具体实现方式与服务器利用第一神经网络从技能库中选取技能的具体实现方式类似,区别仅在于更新后的技能库中的技能数量多于技能库中的技能数量,因此具体实现方式可以参阅上述描述,此处不再作详细描述。
若第二成功率大于或等于预设阈值,则服务器将训练成熟的第二神经网络确定为用于执行第一任务的神经网络,进而可以进入步骤314;若第二成功率小于预设阈值,则重新进入步骤312,也即再次生成新的新技能和新的第二神经网络,将新的新技能加入到更新后的技能库中,得到再次更新后的技能库,对新的第二神经网络和新的新技能进行初始化以及训练,直至新的第二神经网络的损失函数和新的新技能的损失函数均满足收敛条件,再次获取通过新的第二神经网络执行第二任务的第二成功率,再次判断第二成功率是否大于或等于预设阈值,若大于或等于预设阈值,则进入步骤314;若小于预设阈值,则再次进入步骤312,重复执行前述步骤,直至第二神经网络用于完成第一任务的第二成功率大于或等于预设阈值,才获取到最终的第二神经网络以及与之对应的更新后的技能库。
本申请实施例中,服务器对第二神经网络进行训练的过程可以包括,服务器对第二神经网络进行一次训练。具体的,服务器将环境状态信息输入第二神经网络,获取第二神经网络选取的技能,环境状态信息包括第一任务对应的仿真环境中智能设备周围的环境信息和智能设备的自身状态信息,通过第二神经网络选取的技能获取控制指令以控制智能设备执行第一任务,并获取智能设备执行第一任务的数据,根据获取的智能设备执行第一任务的数据,利用第一强化学习算法,更新第二神经网络的参数。本申请实施例中,提供了服务器对第二神经网络进行训练的具体实现方式,提高了本方案的可执行性。服务器对第二神经网络进行一次训练的具体实现方式与服务器对第一神经网络进行一次训练的具体实现方式类似,区别在于前者的处理对象是第一神经网络,后者的处理对象是第二神经网络,服务器对第二神经网络进行一次训练的具体实现方式可以参考步骤305中的描述,此处不再赘述。
进一步地,在本申请实施例应用于自动驾驶领域,智能设备执行控制指令对应的操作过程中产生的数据可以包括智能设备的驾驶速度、驾驶路径、驾驶碰撞情况、驾驶目的地或其它驾驶行为信息等等;在本申请实施例应用于货运领域,智能设备执行控制指令对应的操作过程中产生的数据可以包括智能设备的搬运路径、行驶速度、碰撞情况或其他搬运行为信息;在本申请实施例应用于智能机械手臂上,智能设备执行控制指令对应的操作过程中产生的数据可以包括智能设备的抓取路径、抓取速度或抓取目的位置中的任一项或多项信息等等。通过上述方式,进一步提供了操作行为信息的具体内容,从而进一步提高了本方案的可执行性;且提供了在不同领域中的操作行为信息的具体内容,提高了本方案的实现灵活性。第一强化学习算法的类型可以包括近端策略优化(PPO)算法、信任域策略优化(TRPO)算法、时间差分(TD)算法或其他同策略类的强化学习算法等等,具体此处不做限定,通过上述方式,提供了第二神经网络所采用的强化学习算法的具体实现方式,提高了本方案的可实现性,也使得本领域技术人员具有更多的选择性,从而提高了本方案的实现灵活性。此外,由于在步骤304中已经对当第一强化学习算法为PPO算法时第一神经网络所采用的优势函数以及损失函数进行了详细介绍,而第二神经网络所采用的优势函数以及损失函数可以与第一神经网络所采用的优势函数以及损失函数也相同,此处均不再进行举例介绍。
服务器在对第二神经网络进行训练的过程中,在服务器通过第二神经网络从更新后的技能库中选取了用于执行第一任务的技能之后,会判断第二神经网络选取的技能是否为新技能,在第二神经网络选取的技能为新技能的情况下,会根据获取的智能设备执行第一任务的数据,利用第二强化学习算法,更新新技能的参数;在第二神经网络选取的技能不是新技能的情况下,服务器不更新第二神经网络选取的技能的参数。通过前述方式,可以使得更新后的技能库中不同的技能之间的保持较大的区分度,从而降低更新后的技能库的存储冗余;此外,如果对不是新生成的技能的参数也进行更新,则更新后的技能库中的技能的进化方向是失控的,只更新新生成的技能,有利于牵引所述新技能学习第一任务和第二任务之间对技能需求的差距。
具体的,服务器在得到智能设备执行一次与第二神经网络选取的技能(也即新技能)对应的控制指令的过程中得到的数据,可以根据对新技能进行训练时采用的第二强化学习算法确定新技能的损失函数,在得到新技能的损失函数的函数值之后,梯度更新新技能的参数,新技能采用的第二强化学习算法的类型可以包括同策略类的强化学习算法或离策略类的强化学习算法,例如深度确定性策略梯度(deep deterministic policygradient,DDPG)算法、深度Q网络(deep q network,DQN)算法、PPO算法或柔性致动评价(soft actor-critic,SAC)算法等等,具体此处不做限定,通过上述方式,提供了新技能所采用的强化学习算法的具体实现方式,提高了本方案的可实现性,也使得本领域技术人员具有更多的选择性,从而提高了本方案的实现灵活性。
此次以第二强化学习算法也采用PPO算法为例,对新技能所采用优势函数和损失函数进行举例,由于当第二强化学习算法也采用PPO算法,新技能所采用的损失函数与第一上述第一神经网络所采用的损失函数也一致,则此处不再对新技能所采用的损失函数进行举例,但新技能损失函数中的
Figure BDA0002221463970000261
与第一神经网络的损失函数中的
Figure BDA0002221463970000262
的计算方式不同,如下将详细介绍一下新技能的损失函数中
Figure BDA0002221463970000263
的计算方式,
Figure BDA0002221463970000264
可以通过如下公式获得:
Figure BDA0002221463970000265
其中,r代表的是新技能从t时刻执行到t+1时刻之后得到的反馈值,r可以直接根据智能设备执行新技能对应的操作时,服务器从t时刻执行到t+1时刻获取的操作行为信息计算获得,也可以根据第二神经网络的从t时刻执行到t+T时刻之后得到的反馈值计算获得,此处以r根据第二神经网络的反馈值计算获得为例,则r的取值可以为第二神经网络选取的技能从t时刻执行到t+T时刻之后神经网络的优势函数的函数值与T的比值,从而在根据智能设备的操作行为信息得到智能设备执行一次与第二神经网络选取的技能对应的操作的过程中得到的反馈值(R)之后,可以得到第二神经网络选取的技能从t时刻执行到t+T时刻之后神经网络的优势函数的函数值,进而得到r,进而得到新技能损失函数中的
Figure BDA0002221463970000271
st+1代表在t+1时刻的环境状态信息,
Figure BDA0002221463970000272
代表新技能的状态价值函数。
应当理解,即使第二强化学习算法还是采用PPO算法,在其他实现方式中,
Figure BDA0002221463970000273
的取值可以直接为r,当第二强化学习算法采用其他算法时,新技能的优势函数和损失函数也可以相应改变,上述对新技能的优势函数的函数值的计算方式的举例仅为证明本方案的可实现性,不用于限定本方案。
进一步地,服务器根据获取的智能设备执行第一任务的数据得到智能设备执行一次与第二神经网络选取的技能对应的操作的过程中得到的反馈值(R)的方式具体可以为,服务器将从t时刻到t+T时刻获取到的智能设备的操作行为信息中每种类型的信息与期望状态进行对比,若满足期望状态,则给出正反馈;若不满足期望状态,则给出负反馈。具体的,智能设备的操作路径满足期望的操作路径时给出正反馈,反之给出负反馈;智能设备的操作速度满足期望的操作速度时给出正反馈,反之给出负反馈;智能设备的操作目的地满足期望的操作目的地时给出正反馈,反之给出负反馈。作为示例,例如本申请实施例应用于自动驾驶领域的情况下,则模拟器中的汽车保持期望的平均速度给正反馈;汽车根据正确的线路行驶给正反馈;汽车发生碰撞给负反馈;汽车开出道路给负反馈;汽车到达正确的目的地给正反馈等等。作为另一示例,例如本申请实施例应用于货运领域的情况下,则模拟器中的搬运机器人保持期望的平均速度给正反馈;搬运机器人根据正确的线路行驶给正反馈;搬运机器人发生碰撞给负反馈;搬运机器人将货物放置到正确的货架上给正反馈等等,此处不对其它应用场景进行一一举例。此外,若r是直接根据智能设备执行所述新技能对应的操作时,服务器从t时刻执行到t+1时刻获取的操作行为信息计算获得的,则r的计算方式与R的计算方式类似,区别在于R是根据从t时刻到t+T时刻获取到的智能设备的操作行为信息计算获得的,而r是根据从t时刻到t+1时刻获取的操作行为信息计算获得的,此处不再对r的获取方式进行介绍。
314、服务器存储经过训练的第二神经网络和更新后的技能库。
本申请的一些实施例中,步骤314与步骤309类似,服务器将第二神经网络确定为用于执行第一任务的神经网络,将更新后的技能库确定为用于执行第一任务的技能库之后,可以存储第二神经网络和更新后的技能库,进而可以将第二神经网络和更新后的技能库配置于执行第一任务的智能设备上,服务器将第二神经网络和更新后的技能库配置于执行第一任务的智能设备上的具体实现方式,可以参考步骤309中的描述,此处不再赘述。
应当理解,步骤302至步骤306均为可选步骤,若不执行步骤302至步骤306,则在执行完步骤301之后,可以直接执行步骤307;若执行步骤302至步骤306,在第一神经网络为基于第二任务对应的仿真环境进行训练的得到的神经网络的情况下,由于在部分场景中,第一任务和第二任务的相似度很高,也即执行第一任务和执行第二任务所采用到的技能基本相同,则仅需基于所述第一任务对应的仿真环境,对第一神经网络进行微调,就能实现第一神经网络用于完成第一任务的第一成功率大于或等于预设阈值的条件,也即基于所述第一任务对应的仿真环境,对第一神经网络进行再次训练,就能实现通过第一神经网络执行第一任务的目的,所以采用预先训练的方式,可以提高第一成功率大于或等于预设阈值的概率,从而降低了生成新的第二神经网络和新的所述新技能的概率,进而可以避免对第二神经网络以及所述新技能的训练的操作,从而节省了服务器资源,也提高了神经网络和技能的生成效率。
本申请实施例中,服务器在获取到第一任务之后,获取第一神经网络用于完成第一任务的第一成功率,在第一成功率小于预设阈值的情况下,生成第二神经网络以及新技能,基于所述第一任务对应的仿真环境,利用强化学习算法,对第二神经网络进行训练,直到第二神经网络用于完成所述第一任务的第二成功率大于或等于所述预设阈值,存储下来,由于在学习如何完成任务的过程中可以增量式学习所述新技能来扩充技能库,所以对预训练阶段获得的技能库的依赖性大大降低,也即降低了对预训练阶段的训练环境的要求;且增量式学习所述新技能实现了技能库中技能的可扩展性,从而可以获得完成新任务的能力克服了目前的技能学习方法中的局限性。
二、应用侧
请参阅图7,图7为本申请实施例中神经网络的处理方法的一个实施例,方法可以包括:
701、智能设备获取当前环境状态信息和第三任务,其中,当前环境状态信息包括智能设备周围的环境信息和智能设备自身的状态信息。
本实施例中,智能设备的信息采集模块可以实时采集智能设备周围的环境信息和智能设备自身的状态信息,智能设备的处理模块可以根据周围的环境信息确定第一任务,可选地,智能设备上还可以配置有与智能设备周围的环境信息对应的地图数据,从而处理模块可以结合采集到的周围的环境信息和地图数据确定第一任务,或者,智能设备上配置有导航类交互式应用,从而处理模块可以结合采集到的环境信息和导航类交互式应用获取到的地图数据来确定第一任务。具体的,智能设备可以每隔预设时长执行一次当前环境状态信息获取操作和第一任务确定操作,预设时长的取值可以参阅上述实施例,此处不再赘述。
更具体的,第三任务指的是智能设备的处理模块生成的任务,不同于第一任务和第二任务的是,第一任务和第二任务是在对神经网络进行训练的阶段时服务器确定的任务,第三任务时在对经过训练的成熟神经网络进行应用时智能设备确定的任务。信息采集模块可以表现为各种类型的传感器,例如距离传感器、速度传感器或其他用于采集环境信息和状态信息的传感器等等;处理模块可以具体表现为智能设备中的主处理器、AI处理器或图像处理器等等,此处不做限定。作为示例,此处以智能设备为车辆,智能设备上配置有车辆所行使的道路的地图为例,根据车辆中的地图数据可以确定车辆的当前任务为从环岛的D口驶出,环岛的车流量为5s/辆,当前环境状态信息可以包括环岛沿路的路标信息、驾驶车辆的驶入位置(例如环岛A口的外侧车道)、车辆所在的车道信息、相邻车辆的驾驶速度、驾驶车辆与相邻车辆之间的距离、驾驶车辆的速度、驾驶车辆的驾驶方向或其他当前环境状态信息中的任一种或多种信息的组合,处理模块可以将第一任务确定为从环岛的A口驶入且从D口驶出,车流量为5s/辆,车辆有换道需求,应当理解,此处举例仅为方便理解本方案,不用于限定本方案。
702、智能设备获取与第三任务对应的第三神经网络。
本实施例中,由于智能设备上可以预先配置有用多个不同的技能库以及与每个技能库对应的神经网络,不同的技能库和神经网络用于执行不同的任务,则智能设备的处理模块在获取到第三任务之后,可以获取与第三任务对应的第三神经网络,其中,第三神经网络用于从技能库中选取技能,第三神经网络选取的技能用于获得控制智能设备执行第三任务的控制指令,第三神经网络和技能库均为经过训练之后配置于智能终端设备上的。作为示例,例如智能设备上配置有5种技能库以及与5种技能库一一对应的5个神经网络,分别用于执行自动泊车、驶出收费站、驶出环岛、驶出立交桥、高速驾驶这5种任务,智能设备的处理模块确定的第三任务为驶出环岛,则智能设备需要获取与驶出环岛对应的神经网络,此处举例不用于限定本方案。
703、智能设备将当前环境状态信息输入到第三神经网络中,以通过第三神经网络从技能库中选取执行第三任务的技能。
本实施例中,智能设备在确定了用于执行第三任务的第三神经网络之后,也即确定了与第三神经网络一一对应的技能库,智能设备将当前环境状态信息输入到第三神经网络中,得到第三神经网络输出的序列号,进而从技能库中选取所述序列号所指示的一个技能,具体第三神经网络输出的序列号与第三神经网络选取的技能之间的映射关系可以参阅上述表1,此处不做赘述。
704、智能设备根据第三神经网络选取的技能对应的控制指令,控制智能设备执行第三任务。
本实施例中,智能设备在获取到第三神经网络选取的技能之后,若第三神经网络选取的技能具体表现为神经网络,则需要将当前环境状态信息输入到第三神经网络选取的技能中,得到第三神经网络选取的技能输出的控制指令,或者,第三神经网络选取的技能输出的为与控制指令对应的序列号,则智能设备上需要预先配置有序列号与操作规则之间的映射关系,在获取到序列号后,从映射关系中找到与序列号对应的操作规则,进而根据操作规则生成对智能设备的控制指令,操作规则的具体呈现方式可以参阅上述实施例,序列号与操作规则之间的映射关系可参阅上述表2,此处均不做赘述。若第三神经网络选取的技能具体表现为操作规则,则智能设备可以直接生成与操作规则对应的控制指令。
在智能设备的处理器获取到控制指令之后,可以控制智能设备主体执行与控制指令对应的操作,以执行第三任务;具体的,可以为在T个时间戳内控制智能设备主体执行与控制指令对应的操作,作为示例,例如控制指令包括控制行驶速度减速至40m/s,则智能设备的处理器可以控制智能设备的发动机带动轮子,在8个时间戳内,将智能设备的行驶速度逐渐减速到智能设备的行驶速度为40m/s,应当理解,此处举例仅为方便理解本方案。
705、智能设备判断第三神经网络选取的技能的执行状态是否为执行结束,若执行结束,则进入步骤706;若未执行结束,则重新进入步骤705。
本实施例中,由于智能设备的执行时长可以每隔预设时长执行一次步骤705,而一个第三神经网络选取的技能的执行时长可以为T个时间戳,则智能设备开始执行与第三神经网络选取的技能对应的操作之后,每隔预设时长就会执行一次第三神经网络选取的技能的执行状态的获取操作,若执行结束,则继续执行步骤706;若未执行结束,则重新进入步骤705,再隔预设时长又执行一次第三神经网络选取的技能的执行状态的获取操作,直至第三神经网络选取的技能的执行状态为执行结束。应当理解,步骤705为可选步骤,若智能设备可以通过其他方式来确定技能是否执行结束,则无需执行步骤705,在执行完成步骤704后,通过其他方式确定第三神经网络选取的技能执行结束后,可以直接执行步骤706。
706、智能设备判断第三任务是否完成,若未完成,则重新进入步骤701;若执行完成,则进入步骤707。
本实施例中,在智能设备确定第三神经网络从技能库中选取的一个技能已经执行结束之后,需要判断第三任务是否执行完成,若执行完成,则确定第三任务执行完成,则一个第三任务的执行过程结束;若第三任务尚未完成,则智能设备重新进入步骤701,重新获取当前环境状态信息,将当前环境状态信息输入第三任务对应的第三神经网络,以利用第三神经网络从技能库中选择一个新的技能,进而通过第三神经网络选取的技能对应的控制指令,再次控制智能设备执行第三任务,直至通过至少两个技能完成第三任务。
具体的,智能设备可以根据信息采集模块采集的当前环境状态信息确定第三任务是否完成。作为示例,例如第三任务为车辆从环岛的C口驶出,则需要根据当前环境状态信息确定车辆的当前位置,判断车辆是否已经驶出C口,若车辆的当前位置指示车辆已经驶出C口,则确定第三任务完成;若车辆的当前位置指示车辆还在环岛内,则确定第三任务尚未完成,此处不对其他场景进行穷举。
707、智能设备确定第三任务执行结束。
本申请实施例中,通过上述方式,提供了将服务器训练好的成熟神经网络和技能库应用于智能设备上时的具体应用方式,提高了本方案的完整性,服务器侧使用增量式学习所述新技能实现了技能库中技能的可扩展性,从而可以获得完成新任务的能力,扩展了智能设备的应用场景。
下面分别例举两个具体的实施例对本申请实施例提供的神经网络的获取方法在训练侧的实现方式作进一步详细说明。在这两个实施例中,均以应用于自动驾驶领域、第一神经网络为基于第二任务对应的仿真环境进行训练得到的神经网络、第一驾驶任务和第二驾驶任务均为驶出环岛、成功率的预设阈值为百分之九十九,但驶出环岛的约束条件不同为例,进行说明。在一个实施例中,第二驾驶任务与第一驾驶任务相似但不同,以第二驾驶任务为汽车驶出环岛,环岛进口处的车流量为每5秒一辆,汽车只能在环岛的外道形式,无换道功能为例,具体请参阅图8,图8中的B1代表环岛中行驶的车辆,B2代表环岛中外车道和内车道的分界线,B3代表环岛的一个入口,不难看出,图8中的车辆都运行于外车道,且图8所示环岛中的车辆密集度不是很高;第一驾驶任务为汽车驶出环岛,环岛进口的车流量为每5秒一辆,汽车可以在环岛的任意道中行驶,也即有换道功能为例,具体请参阅图9,图9中的车流量与图8中类似,但请参阅图9中的B4,B4正在由外车道驶向内车道,也即图9中的汽车具有换道功能。接下来请参阅图10,图10为本申请实施例提供的神经网络的获取方法的一种流程示意图,方法可以包括:
C1、服务器获取第一驾驶任务和第一神经网络。
本实施例中,第一神经网络和与第一神经网络对应的技能库均为服务器基于第二驾驶任务对应的仿真环境进行训练获得的。
C2、服务器通过第一神经网络执行第一驾驶任务。
C3、服务器判断第一神经网络的损失函数是否收敛。
本实施例中,服务器判断第一神经网络的损失函数是否收敛,得到的判断结果为第一神经网络的损失函数未收敛。
C4、服务器基于第一驾驶任务对应的仿真环境,利用第三强化学习算法,对第一神经网络进行训练。
C5、服务器判断第一神经网络的损失函数是否能够收敛。
本实施例中,服务器判断第一神经网络的损失函数是否能够收敛,得到的判断结果为第一神经网络的损失函数能够收敛,则对第一神经网络进行训练,直至得到成熟的第一神经网络。
C6、服务器获取成熟的第一神经网络用于完成第一驾驶任务的成功率作为第一成功率。
C7、服务器判断第一成功率是否大于或等于百分之九十九。
本实施例中,服务器判断第一成功率是否大于或等于百分之九十九,判断结果为第一成功率小于百分之九十九。
C8、服务器生成第二神经网络和新驾驶技能,将新驾驶技能加入技能库,得到更新后的技能库。
C9、服务器利用第一神经网络的参数,初始化第二神经网络的参数。
C10、服务器基于第一驾驶任务对应的仿真环境,利用第一强化学习算法,对第二神经网络进行训练,直至第二神经网络用于完成第一驾驶任务的第二成功率大于或等于预设阈值。
C11、服务器存储经过训练的第二神经网络和更新后的技能库。
本实施例中,服务器获取第一神经网络用于完成第一任务的第一成功率,由于第一成功率小于预设阈值的,服务器生成第二神经网络以及新驾驶技能,将新驾驶技能加入到技能库中得到更新后的技能库,进而对第二神经网络进行训练,直到第二神经网络用于完成第一驾驶任务的第二成功率大于或等于预设阈值,然后存储下来,由于在学习如何完成任务的过程中可以增量式学习新驾驶技能来扩充技能库,所以降低了预训练阶段获得的技能库的依赖性,也即降低了对预训练阶段的训练环境的要求;且增量式学习新驾驶技能实现了技能库中技能的可扩展性,克服了目前的技能学习方法中的局限性。
在另一个实施例中,第二驾驶任务与第一驾驶任务相似但不同,以第二驾驶任务为汽车驶出环岛,环岛进口的车流量为每5秒一辆,汽车可以在环岛的任意道中行驶,也即有换道功能为例,具体请参阅图9;第一驾驶任务为汽车驶出环岛,环岛进口的车流量为每2.5秒一辆,汽车可以在环岛的任意道中行驶,也即有换道功能为例,具体请参阅图11,图11中的B5中既有行驶于外车道的汽车,又有行驶于内车道的汽车,也即具有换道功能,且对比图11和图9,明显图11中的车辆密集度更大。接下来请参阅图12,图12为本申请实施例提供的神经网络的获取方法的一种流程示意图,方法可以包括:
D1、服务器获取第一驾驶任务和第一神经网络。
本实施例中,第一神经网络和与第一神经网络对应的技能库均为服务器基于第二驾驶任务对应的仿真环境进行训练获得的。
D2、服务器通过第一神经网络执行第一驾驶任务。
D3、服务器判断第一神经网络的损失函数是否收敛。
本实施例中,服务器判断第一神经网络的损失函数是否收敛,得到的判断结果为第一神经网络的损失函数未收敛。
D4、服务器基于第一驾驶任务对应的仿真环境,利用第三强化学习算法,对第一神经网络进行训练。
D5、服务器判断第一神经网络的损失函数是否能够收敛。
本实施例中,服务器判断第一神经网络的损失函数是否能够收敛,得到的判断结果为第一神经网络的损失函数能够收敛,则对第一神经网络进行训练,直至得到成熟的第一神经网络。
D6、服务器获取成熟的第一神经网络用于完成第一驾驶任务的成功率作为第一成功率。
D7、服务器判断第一成功率是否大于或等于百分之九十九。
本实施例中,服务器判断第一成功率是否大于或等于百分之九十九,判断结果为第一成功率大于百分之九十九。
D8、服务器将第一神经网络确定为用于完成第一驾驶任务的神经网络。
D9、服务器存储第一神经网络和技能库。
本实施例中,由于第一任务和第二任务的相似度很高,基于第一任务对应的仿真环境,对第一神经网络进行再次训练,就实现了第一成功率大于或等于预设阈值的目的,所以采用预先训练的方式,可以提高第一成功率大于或等于预设阈值的概率,从而降低了生成新的第二神经网络和新的所述新技能的概率,进而可以避免对第二神经网络以及所述新技能的训练的操作,从而节省了服务器资源,也提高了神经网络和技能的生成效率。
应当理解,上述两个实施例仅用于证明本方案的可实现性,不用于限定本方案。
基于上述各个实施例的描述,本申请实施例还提供了一种神经网络的获取方法,以展示当图3至图12提供的神经网络的获取方法应用于自动驾驶领域时的实现方式,请参阅图13,图13为本申请实施例提供的神经网络的获取方法的一种流程示意图,方法可以包括:
1301、服务器获取第一驾驶任务。
1302、服务器获取第一神经网络。
1303、服务器通过第一神经网络选取的驾驶技能获取控制指令以控制智能设备执行第一驾驶任务。
1304、服务器判断第一神经网络的损失函数是否收敛,若损失函数未收敛,则执行步骤1305;若损失函数收敛,则执行步骤1307。
1305、服务器基于第一驾驶任务对应的仿真环境,利用强化学习算法,对第一神经网络进行训练。
1306、服务器判断第一神经网络的损失函数是否能够收敛,若不能够收敛,则重新进入步骤1302;若能够收敛,则得到成熟的第一神经网络。
1307、服务器获取第一神经网络用于完成第一驾驶任务的第一成功率。
1308、服务器判断第一成功率是否大于或等于预设阈值,若大于或等于预设阈值,则进入步骤1309;若小于预设阈值,则进入步骤1311。
1309、服务器将第一神经网络确定为用于完成第一驾驶任务的神经网络。
1310、服务器存储第一神经网络和技能库。
1311、服务器获取第二神经网络和新驾驶技能,将新驾驶技能加入技能库,得到更新后的技能库。
1312、服务器利用第一神经网络的参数,初始化第二神经网络的参数。
1313、服务器基于第一驾驶任务对应的仿真环境,利用强化学习算法,对第二神经网络进行训练,直至第二神经网络用于完成第一驾驶任务的第二成功率大于或等于预设阈值。
1314、服务器存储经过训练的第二神经网络和更新后的技能库。
本申请实施例中,步骤1301至步骤1314与图3对应实施例中的步骤301至步骤314类似,区别在于步骤1301至步骤1314中将技能库中的驾驶技能下位到了驾驶技能,对于步骤1301至步骤1314的具体实现方式可以参阅图3中对步骤301至步骤314的描述,此处不再一一赘述。
本申请实施例中,通过上述方式,由于在学习如何完成驾驶任务的过程中可以增量式学习所述新驾驶技能来扩充驾驶技能库,所以对预训练阶段获得的驾驶技能库的依赖性大大降低,也即降低了对预训练阶段的训练环境的要求;且增量式学习所述新驾驶技能实现了驾驶技能库中驾驶技能的可扩展性,从而可以获得完成新驾驶任务的能力,克服了目前的驾驶技能学习方法中的局限性。
本申请实施例还提供了一种神经网络的获取方法,以展示当图3至图12提供的神经网络的获取方法应用于货运领域时的实现方式,请参阅图14,图14为本申请实施例提供的神经网络的获取方法的一种流程示意图,方法可以包括:
1401、服务器获取第一搬运任务。
1402、服务器获取第一神经网络。
1403、服务器通过第一神经网络选取的搬运技能获取控制指令以控制智能设备执行第一搬运任务。
1404、服务器判断第一神经网络的损失函数是否收敛,若损失函数未收敛,则执行步骤1405;若损失函数收敛,则执行步骤1407。
1405、服务器基于第一搬运任务对应的仿真环境,利用强化学习算法,对第一神经网络进行训练。
1406、服务器判断第一神经网络的损失函数是否能够收敛,若不能够收敛,则重新进入步骤1402;若能够收敛,则得到成熟的第一神经网络。
1407、服务器获取第一神经网络用于完成第一搬运任务的第一成功率。
1408、服务器判断第一成功率是否大于或等于预设阈值,若大于或等于预设阈值,则进入步骤1409;若小于预设阈值,则进入步骤1411。
1409、服务器将第一神经网络确定为用于完成第一搬运任务的神经网络。
1410、服务器存储第一神经网络和技能库。
1411、服务器获取第二神经网络和新搬运技能,将新搬运技能加入技能库,得到更新后的技能库。
1412、服务器利用第一神经网络的参数,初始化第二神经网络的参数。
1413、服务器基于第一搬运任务对应的仿真环境,利用强化学习算法,对第二神经网络进行训练,直至第二神经网络用于完成第一搬运任务的第二成功率大于或等于预设阈值。
1414、服务器存储经过训练的第二神经网络和更新后的技能库。
本申请实施例中,步骤1401至步骤1414与图3对应实施例中的步骤301至步骤314类似,区别在于步骤1401至步骤1414中将神经网络下位到了搬运神经网络,将技能库中的技能下位到了搬运技能,对于步骤1401至步骤1414的具体实现方式可以参阅图3中对步骤301至步骤314的描述,此处不再一一赘述。
本申请实施例中,通过上述方式,由于在学习如何完成搬运任务的过程中可以增量式学习新搬运技能来扩充搬运技能库,所以对预训练阶段获得的搬运技能库的依赖性大大降低,也即降低了对预训练阶段的训练环境的要求;且增量式学习新搬运技能实现了搬运技能库中搬运技能的可扩展性,从而可以获得完成新搬运任务的能力,克服了目前的搬运技能学习方法中的局限性。
本申请实施例还提供了一种神经网络的获取方法,以展示当图3至图12提供的神经网络的获取方法应用于具有抓取功能的智能机械手臂中的实现方式,请参阅图15,图15为本申请实施例提供的神经网络的获取方法的一种流程示意图,方法可以包括:
1501、服务器获取第一抓取任务。
1502、服务器获取第一神经网络。
1503、服务器通过第一神经网络选取的抓取技能获取控制指令以控制智能设备执行第一抓取任务。
1504、服务器判断第一神经网络的损失函数是否收敛,若损失函数未收敛,则执行步骤1505;若损失函数收敛,则执行步骤1507。
1505、服务器基于第一抓取任务对应的仿真环境,利用强化学习算法,对第一神经网络进行训练。
1506、服务器判断第一神经网络的损失函数是否能够收敛,若不能够收敛,则重新进入步骤1502;若能够收敛,则得到成熟的第一神经网络。
1507、服务器获取第一神经网络用于完成第一抓取任务的第一成功率。
1508、服务器判断第一成功率是否大于或等于预设阈值,若大于或等于预设阈值,则进入步骤1509;若小于预设阈值,则进入步骤1511。
1509、服务器将第一神经网络确定为用于完成第一抓取任务的神经网络。
1510、服务器存储第一神经网络和技能库。
1511、服务器获取第二神经网络和新抓取技能,将新抓取技能加入技能库,得到更新后的技能库。
1512、服务器利用第一神经网络的参数,初始化第二神经网络的参数。
1513、服务器基于第一抓取任务对应的仿真环境,利用强化学习算法,对第二神经网络进行训练,直至第二神经网络用于完成第一抓取任务的第二成功率大于或等于预设阈值。
1514、服务器存储经过训练的第二神经网络和更新后的技能库。
本申请实施例中,步骤1501至步骤1514与图3对应实施例中的步骤301至步骤314类似,区别在于步骤1501至步骤1514中将神经网络下位到了抓取神经网络,将技能库中的技能下位到了抓取技能,对于步骤1501至步骤1514的具体实现方式可以参阅图3中对步骤301至步骤314的描述,此处不再一一赘述。
本申请实施例中,通过上述方式,由于在学习如何完成抓取任务的过程中可以增量式学习新抓取技能来扩充抓取技能库,所以对预训练阶段获得的抓取技能库的依赖性大大降低,也即降低了对预训练阶段的训练环境的要求;且增量式学习新抓取技能实现了抓取技能库中抓取技能的可扩展性,从而可以获得完成新抓取任务的能力,克服了目前的抓取技能学习方法中的局限性。
应当理解,图13至图15仅展示图3至图12提供的神经网络的获取方法的三种具体应用场景,但在实际情况中图3至图12提供的神经网络的获取方法还可以应用于更多其他应用场景中,作为示例,例如可以应用于获取棋牌机器人中配置的神经网络;作为另一示例,例如可以应用于获取智能扫地机器人中配置的神经网络或其它场景等等,此处不对其他应用场景进行穷举。
在图1至图15所对应的实施例的基础上,为了更好的实施本申请实施例的上述方案,下面还提供用于实施上述方案的相关设备。具体参阅图16,图16为本申请实施例提供的神经网络的获取装置的一种结构示意图。神经网络的获取装置1600可以包括获取单元1601、训练单元1602和存储单元1603。获取单元1601,用于获取第一神经网络用于完成第一任务的第一成功率,第一神经网络用于从技能库中选取用于完成第一任务的技能;获取单元1601,还用于在第一成功率小于预设阈值的情况下,获取第二神经网络和新技能,并将新技能添加至技能库中以更新技能库,第二神经网络用于从更新后的技能库中选取用于完成第一任务的技能;训练单元1602,用于基于第一任务对应的仿真环境,利用强化学习算法,对第二神经网络进行训练,直至第二神经网络用于完成第一任务的第二成功率大于或等于预设阈值;存储单元1603,用于存储经过训练的第二神经网络和更新后的技能库。
本申请实施例中,获取单元1601可以获取第一神经网络用于完成第一任务的第一成功率,在第一成功率小于预设阈值的情况下,获取单元1601获取第二神经网络以及新技能,将新技能加入到技能库中得到更新后的技能库,进而训练单元1602基于第一任务对应的仿真环境,对第二神经网络进行训练,直到第二神经网络用于完成第一任务的第二成功率大于或等于预设阈值,然后由存储单元1603存储下来,由于在学习如何完成任务的过程中可以增量式学习新技能来扩充技能库,所以对预训练阶段获得的技能库的依赖性大大降低,也即降低了对预训练阶段的训练环境的要求;且增量式学习新技能实现了技能库中技能的可扩展性,从而可以获得完成新任务的能力,克服了目前的技能学习方法中的局限性。
在一种可能的设计中,训练单元1602,具体用于:将环境状态信息输入第二神经网络,获取第二神经网络选取的技能,环境状态信息包括第一任务对应的仿真环境中智能设备周围的环境信息和智能设备的自身状态信息;通过第二神经网络选取的技能获取控制指令以控制智能设备执行第一任务,并获取智能设备执行第一任务的数据;根据获取的智能设备执行第一任务的数据,利用强化学习算法,更新第二神经网络的参数。
本申请实施例中,提供了训练单元1602对第二神经网络进行训练的具体实现方式,提高了本方案的可实现性。
在一种可能的设计中,训练单元1602,还用于在第二神经网络选取的技能为新技能的情况下,根据获取的智能设备执行第一任务的数据,利用强化学习算法,更新新技能的参数。
本申请实施例中,通过上述方式,可以使得更新后的技能库中不同的技能之间的保持较大的区分度,从而降低更新后的技能库的存储冗余;此外,如果对不是新生成的技能的参数也进行更新,则更新后的技能库中的技能的进化方向是失控的,只更新新生成的技能,有利于牵引新技能学习第一任务和第二任务之间对技能需求的差距。
在一种可能的设计中,训练单元1602,具体用于:利用第一强化学习算法更新第二神经网络的参数,其中,第一强化学习算法为近端策略优化PPO算法、信任域策略优化TRPO算法或时间差分TD算法。
本申请实施例中,通过上述方式,提供了第二神经网络所采用的强化学习算法的具体实现方式,提高了本方案的可实现性,也使得本领域技术人员具有更多的选择性,从而提高了本方案的实现灵活性。
在一种可能的设计中,训练单元1602,具体用于:利用第二强化学习算法更新新技能的参数,其中,第二强化学习算法为深度确定性策略梯度DDPG算法、深度Q网络DQN算法、PPO算法或柔性致动评价SAC算法。
本申请实施例中,通过上述方式,提供了第二神经网络和新技能所采用的强化学习算法的具体实现方式,提高了本方案的可实现性,也使得本领域技术人员具有更多的选择性,从而提高了本方案的实现灵活性。
在一种可能的设计中,请参阅图17,图17为本申请实施例提供的神经网络的获取装置的一种结构示意图,神经网络的获取装置1600还包括:初始化单元1604,用于利用第一神经网络的参数,初始化第二神经网络的参数,其中,第一神经网络为基于第二任务对应的仿真环境,利用强化学习算法进行训练得到的,第二任务的语义信息与第一任务的语义信息相似。
本申请实施例中,初始化单元1604利用已经训练好的第一神经网络的参数,初始化第二神经网络的参数,可以直接继承第一神经网络学习到的能力,缩短了对第二神经网络进行训练的过程,提高了对第二神经网络的训练效率。
在一种可能的设计中,请参阅图17,第一神经网络和技能库为基于第二任务对应的仿真环境,利用强化学习算法进行训练得到的,第二任务的语义信息与第一任务的语义信息相似;神经网络的获取装置1600还包括:确定单元1605,用于在第一成功率大于或等于预设阈值的情况下,将第一神经网络确定为用于完成第一任务的神经网络;存储单元1603,还用于存储第一神经网络和技能库。
本申请实施例中,获取单元1601可以获取通过第一神经网络执行第一任务的第一成功率,在第一成功率大于或等于预设阈值的情况下,确定单元1605将第一神经网络确定为用于执行第一任务的神经网络,进而存储单元1603存储第一神经网络和技能库,以将第一神经网络和技能库配置到执行第一任务的智能设备中,提高了本方案的完整性;在第一神经网络为基于第二任务对应的仿真环境进行训练的神经网络的情况下,实现了上层神经网络和下层技能库的复用,节省了神经网络训练过程的时间和训练资源,大大提高了神经网络训练过程的效率。
在一种可能的设计中,获取单元1601,具体用于:将环境状态信息输入第一神经网络,得到第一神经网络选取的技能,其中,环境状态信息包括第一任务对应的仿真环境中智能设备周围的环境信息和智能设备的自身状态信息;通过第一神经网络选取的技能获取控制指令以控制智能设备执行第一任务;重复上述步骤,直至通过第一神经网络完成第一任务的次数达到第一次数;对第一次数中完成第一任务的结果为成功的次数进行统计,得到第二次数;根据第一次数和第二次数,计算第一成功率。
本申请实施例中,由于上述方式中是神经网络的获取装置在模拟器中通过第一神经网络控制智能设备重复执行第一任务,也即通过还原真实场景的方式来获得第一成功率,以提高第一成功率的准确率。
在一种可能的设计中,获取单元1601,还用于通过第一神经网络选取的技能获取控制指令以控制智能设备执行第一任务,以确定在第一任务对应的仿真环境中,第一神经网络的损失函数是否收敛,其中,第一神经网络为基于第二任务所对应的仿真环境,利用强化学习算法进行训练得到的,第二任务的语义信息与第一任务的语义信息相似;
训练单元1602,还用于在第一神经网络的损失函数未收敛的情况下,基于第一任务对应的仿真环境,利用强化学习算法,对第一神经网络进行训练,直至达到第一神经网络的损失函数的收敛条件,得到成熟的第一神经网络;
获取单元1601,具体用于获取成熟的第一神经网络用于完成第一任务的成功率作为第一成功率。
本申请实施例中,采用预先训练的方式,可以提高第一成功率大于或等于预设阈值的概率,从而降低了生成新的第二神经网络和新的新技能的概率,进而可以避免对第二神经网络以及新技能的训练的操作,从而节省了神经网络的获取装置资源,也提高了神经网络和技能的生成效率。
在一种可能的设计中,获取单元1601,具体用于:获取第一任务的语义信息,以及,获取第二任务的语义信息,其中,第二任务的语义信息与第一任务的语义信息相似,第一神经网络为基于第二任务对应的仿真环境,利用强化学习算法进行训练得到的;根据第一任务的语义信息与第二任务的语义信息之间的相似度,得到第一成功率,其中,相似度越高,第一成功率越高。
本申请实施例中,通过获取第一任务与第二任务之间相似度的方式来确定第一神经网络用于完成第一任务的第一成功率,提供了获取第一成功率的又一种实现方式,扩展了本方案的应用场景;且本方式中不再需要反复通过第一神经网络执行第一任务,提高了获取第一成功率的效率。
在一种可能的设计中,技能库中的技能为驾驶技能;或者,技能库中的技能为搬运技能;或者,技能库中的技能为抓取技能。
本申请实施例中,通过上述方式,提供了技能的多种具体实现方式,扩展了本方案的应用场景,提高了本方案的全面性。
在一种可能的设计中,技能库中的技能为驾驶技能,服务器获取的智能设备执行第一任务的数据包括智能设备的驾驶速度、驾驶路径、驾驶碰撞情况或驾驶目的地中的任一项或多项信息;或者,技能库中的技能为搬运技能,服务器获取的智能设备执行第一任务的数据包括智能设备的搬运路径、行驶速度或碰撞情况中的任一项或多项信息;或者,技能库中的技能为抓取技能,服务器获取的智能设备执行第一任务的数据包括智能设备的抓取路径、抓取速度或抓取目的位置中的任一项或多项信息。
本申请实施例中,通过上述方式,进一步提供了操作行为信息的具体内容,从而进一步提高了本方案的可执行性;且提供了在不同领域中的操作行为信息的具体内容,提高了本方案的实现灵活性。
需要说明的是,神经网络的获取装置1600中各模块/单元之间的信息交互、执行过程等内容,与本申请中图3对应的各个方法实施例基于同一构思,具体内容可参见本申请前述所示的方法实施例中的叙述,此处不再赘述。
本申请实施例还提供了另一种神经网络的获取装置,具体参阅图18,图18为本申请实施例提供的神经网络的获取装置的一种结构示意图。神经网络的获取装置1800可以包括获取单元1801、训练单元1802和存储单元1803。获取单元1801,用于获取第一神经网络用于完成第一驾驶任务的第一成功率,第一神经网络用于从技能库中选取用于完成第一驾驶任务的驾驶技能;获取单元1801,还用于在第一成功率小于预设阈值的情况下,获取第二神经网络和新驾驶技能,并将新驾驶技能添加至技能库中以更新技能库,第二神经网络用于从更新后的技能库中选取用于完成第一驾驶任务的驾驶技能;训练单元1802,用于基于第一驾驶任务对应的仿真环境,利用强化学习算法,对第二神经网络进行训练,直至第二神经网络用于完成第一驾驶任务的第二成功率大于或等于预设阈值;存储单元1803,用于存储经过训练的第二神经网络和更新后的技能库。
在一种可能的设计中,训练单元1802,具体用于:将环境状态信息输入第二神经网络,获取第二神经网络选取的驾驶技能,环境状态信息包括第一驾驶任务对应的仿真环境中汽车周围的环境信息和汽车的自身状态信息;通过第二神经网络选取的驾驶技能获取控制指令以控制汽车执行第一驾驶任务,并获取汽车执行第一驾驶任务的数据;根据获取的汽车执行第一驾驶任务的数据,利用强化学习算法,更新第二神经网络的参数。
在一种可能的设计中,训练单元1802,还用于在第二神经网络选取的驾驶技能为新驾驶技能的情况下,根据获取的汽车执行第一驾驶任务的数据,利用强化学习算法,更新新驾驶技能的参数。
在一种可能的设计中,训练单元1802,具体用于:利用第一强化学习算法更新第二神经网络的参数,其中,第一强化学习算法为近端策略优化PPO算法、信任域策略优化TRPO算法或时间差分TD算法。
在一种可能的设计中,训练单元1802,具体用于:利用第二强化学习算法更新新驾驶技能的参数,其中,第二强化学习算法为深度确定性策略梯度DDPG算法、深度Q网络DQN算法、PPO算法或柔性致动评价SAC算法。
在一种可能的设计中,请参阅图19,图19为本申请实施例提供的神经网络的获取装置的一种结构示意图,神经网络的获取装置1800还包括:初始化单元1804,用于利用第一神经网络的参数,初始化第二神经网络的参数,其中,第一神经网络为基于第二驾驶任务对应的仿真环境,利用强化学习算法进行训练得到的,第二驾驶任务的语义信息与第一驾驶任务的语义信息相似。
在一种可能的设计中,请参阅图19,第一神经网络和技能库为基于第二驾驶任务对应的仿真环境,利用强化学习算法进行训练得到的,第二驾驶任务的语义信息与第一驾驶任务的语义信息相似;神经网络的获取装置1800还包括:确定单元1805,用于在第一成功率大于或等于预设阈值的情况下,将第一神经网络确定为用于完成第一驾驶任务的神经网络;存储单元1803,还用于存储第一神经网络和技能库。
在一种可能的设计中,获取单元1801,具体用于:将环境状态信息输入第一神经网络,得到第一神经网络选取的驾驶技能,其中,环境状态信息包括第一驾驶任务对应的仿真环境中汽车周围的环境信息和汽车的自身状态信息;通过第一神经网络选取的驾驶技能获取控制指令以控制汽车执行第一驾驶任务;重复上述步骤,直至通过第一神经网络完成第一驾驶任务的次数达到第一次数;对第一次数中完成第一驾驶任务的结果为成功的次数进行统计,得到第二次数;根据第一次数和第二次数,计算第一成功率。
在一种可能的设计中,获取单元1801,还用于通过第一神经网络选取的驾驶技能获取控制指令以控制汽车执行第一驾驶任务,以确定在第一驾驶任务对应的仿真环境中,第一神经网络的损失函数是否收敛,其中,第一神经网络为基于第二驾驶任务所对应的仿真环境,利用强化学习算法进行训练得到的,第二驾驶任务的语义信息与第一驾驶任务的语义信息相似;
训练单元1802,还用于在第一神经网络的损失函数未收敛的情况下,基于第一驾驶任务对应的仿真环境,利用强化学习算法,对第一神经网络进行训练,直至达到第一神经网络的损失函数的收敛条件,得到成熟的第一神经网络;
获取单元1801,具体用于获取成熟的第一神经网络用于完成第一驾驶任务的成功率作为第一成功率。
在一种可能的设计中,获取单元1801,具体用于:获取第一驾驶任务的语义信息,以及,获取第二驾驶任务的语义信息,其中,第二驾驶任务的语义信息与第一驾驶任务的语义信息相似,第一神经网络为基于第二驾驶任务对应的仿真环境,利用强化学习算法进行训练得到的;根据第一驾驶任务的语义信息与第二驾驶任务的语义信息之间的相似度,得到第一成功率,其中,相似度越高,第一成功率越高。
需要说明的是,神经网络的获取装置1800中各模块/单元之间的信息交互、执行过程等内容,与本申请中图12对应的各个方法实施例基于同一构思,具体内容可参见本申请前述所示的方法实施例中的叙述,此处不再赘述。
本申请实施例还提供了另一种神经网络的获取装置,具体参阅图20,图20为本申请实施例提供的神经网络的获取装置的一种结构示意图。神经网络的获取装置2000可以包括获取单元2001、确定单元2002和存储单元2003。获取单元2001,用于获取第一神经网络用于完成第一任务的第一成功率,第一神经网络用于从技能库中选取用于完成第一任务的技能,第一神经网络和技能库为基于第二任务对应的仿真环境,利用强化学习算法进行训练得到的,第二任务的语义信息与第一任务的语义信息相似;确定单元2002,用于在第一成功率大于或等于预设阈值的情况下,将第一神经网络确定为用于完成第一任务的神经网络;存储单元2003,用于存储第一神经网络和技能库。
在一种可能的设计中,请参阅图21,图21为本申请实施例提供的神经网络的获取装置的一种结构示意图。获取单元2001,还用于在第一成功率小于预设阈值的情况下,获取第二神经网络和新技能,并将新技能添加至技能库中以更新技能库,第二神经网络用于从更新后的技能库中选取用于完成第一任务的技能;神经网络的获取装置2000还包括:训练单元2004,用于基于第一任务对应的仿真环境,利用强化学习算法,对第二神经网络进行训练,直至第二神经网络用于完成第一任务的第二成功率大于或等于预设阈值,存储经过训练的第二神经网络和更新后的技能库。
在一种可能的设计中,请参阅图21,训练单元2004,具体用于:将环境状态信息输入第二神经网络,获取第二神经网络选取的技能,环境状态信息包括第一任务对应的仿真环境中智能设备周围的环境信息和智能设备的自身状态信息;通过第二神经网络选取的技能获取控制指令以控制智能设备执行第一任务,并获取智能设备执行第一任务的数据,根据获取的智能设备执行第一任务的数据,利用强化学习算法,更新第二神经网络的参数。
在一种可能的设计中,请参阅图21,训练单元2004,还用于在第二神经网络选取的技能为新技能的情况下,还可以根据获取的智能设备执行第一任务的数据,利用强化学习算法,更新新技能的参数。
在一种可能的设计中,请参阅图21,训练单元2004,具体用于利用第一强化学习算法,更新第二神经网络的参数,其中,第一强化学习算法为近端策略优化PPO算法、信任域策略优化TRPO算法或时间差分TD算法。
在一种可能的设计中,请参阅图21,训练单元2004,具体用于利用第二强化学习算法,更新新技能的参数,其中,第二强化学习算法为深度确定性策略梯度DDPG算法、深度Q网络DQN算法、PPO算法或柔性致动评价SAC算法。
在第三方面的一种可能实现方式中,请参阅图21,神经网络的获取装置2000还包括:初始化单元2005,用于利用第一神经网络的参数,初始化第二神经网络的参数。
在一种可能的设计中,获取单元2001,具体用于:将环境状态信息输入第一神经网络,得到第一神经网络选取的技能,其中,环境状态信息包括第一任务对应的仿真环境中智能设备周围的环境信息和智能设备的自身状态信息;通过第一神经网络选取的技能获取控制指令以控制智能设备执行第一任务,重复上述步骤,直至通过第一神经网络完成第一任务的次数达到第一次数,对第一次数中完成第一任务的结果为成功的次数进行统计,得到第二次数,根据第一次数和第二次数,计算第一成功率。
在一种可能的设计中,请参阅图21,获取单元2001,还用于通过第一神经网络选取的技能获取控制指令以控制智能设备执行第一任务,以确定在第一任务对应的仿真环境中,第一神经网络的损失函数是否收敛;训练单元2004,还用于在第一神经网络的损失函数未收敛的情况下,基于第一任务对应的仿真环境,利用强化学习算法,对第一神经网络进行训练,直至达到第一神经网络的损失函数的收敛条件,得到成熟的第一神经网络;获取单元2001,具体用于获取成熟的第一神经网络用于完成第一任务的成功率作为第一成功率。
在一种可能的设计中,获取单元2001,具体用于:获取第一任务的语义信息,以及,获取第二任务的语义信息;根据第一任务的语义信息与第二任务的语义信息之间的相似度,得到第一成功率,其中,相似度越高,第一成功率越高。
在一种可能的设计中,技能库中的技能为驾驶技能;或者,技能库中的技能为搬运技能;或者,技能库中的技能为抓取技能。
需要说明的是,神经网络的获取装置2000中各模块/单元之间的信息交互、执行过程等内容,与本申请中图3对应的各个方法实施例基于同一构思,具体内容可参见本申请前述所示的方法实施例中的叙述,此处不再赘述。
本申请实施例还提供了一种服务器,请参阅图22,图22是本申请实施例提供的服务器一种结构示意图,服务器2200上可以部署有图16和图17对应实施例中所描述的神经网络的获取装置1600,用于实现图3至图12对应实施例中服务器的功能,或者,服务器2200上可以部署有图18和图19对应实施例中所描述的神经网络的获取装置1800,用于实现图12对应实施例中服务器的功能,或者,服务器2200上可以部署有图20和图21对应实施例中所描述的神经网络的获取装置2000,用于实现图图3至图12对应实施例中服务器的功能。具体的,服务器2200由一个或多个服务器实现,服务器2200可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(central processing units,CPU)2223(例如,一个或一个以上处理器)和存储器2232,一个或一个以上存储应用程序2242或数据2244的存储介质2230(例如一个或一个以上海量存储设备)。其中,存储器2232和存储介质2230可以是短暂存储或持久存储。存储在存储介质2230的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器2222可以设置为与存储介质2230通信,在服务器2200上执行存储介质2230中的一系列指令操作。但应当理解,图22中示出的服务器仅为服务器的一种示例,服务器2200内部也可以不包括存储器2232和存储介质2230,而是在服务器2200之外配置有外挂式存储器,也即存储器2232和存储介质2230与中央处理器2222可以为相互独立的设备,作为示例,例如车载服务器中就采用的是外挂式存储器。
服务器2200还可以包括一个或一个以上电源2226,一个或一个以上有线或无线网络接口2250,一个或一个以上输入输出接口2258,和/或,一个或一个以上操作系统2241,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。
本申请实施例中,中央处理器2222,用于执行图3对应实施例中的服务器执行的神经网络的获取方法,或者,用于执行图13对应实施例中服务器执行的神经网络的获取方法。需要说明的是,对于中央处理器2222执行神经网络的获取方法的具体实现方式,均可以参考图3以及图13对应的各个方法实施例中的叙述,此处不再一一赘述。
本申请实施例中还提供一种包括计算机程序产品,当其在计算机上运行时,使得计算机执行如前述图3至图12所示实施例描述的方法中服务器所执行的步骤,或者,使得计算机执行如前述图13所示实施例描述的方法中服务器所执行的步骤。
本申请实施例中还提供一种计算机可读存储介质,该计算机可读存储介质中存储有用于进行信号处理的程序,当其在计算机上运行时,使得计算机执行如前述图3至图12所示实施例描述的方法中服务器所执行的步骤,或者,使得计算机执行如前述图13所示实施例描述的方法中服务器所执行的步骤。
本申请实施例提供的执行设备、训练设备、终端设备或通信设备具体可以为芯片,芯片包括:处理单元和通信单元,所述处理单元例如可以是处理器,所述通信单元例如可以是输入/输出接口、管脚或电路等。该处理单元可执行存储单元存储的计算机执行指令,以使服务器内的芯片执行上述图3至图12所示实施例描述的神经网络的获取方法,或者,以使服务器内的芯片执行上述图13所示实施例描述的神经网络的获取方法。可选地,所述存储单元为所述芯片内的存储单元,如寄存器、缓存等,所述存储单元还可以是所述无线接入设备端内的位于所述芯片外部的存储单元,如只读存储器(read-only memory,ROM)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random access memory,RAM)等。
具体的,请参阅图23,图23为本申请实施例提供的芯片的一种结构示意图,所述芯片可以表现为神经网络获取器NPU 230,NPU 230作为协处理器挂载到主CPU(Host CPU)上,由Host CPU分配任务。NPU的核心部分为运算电路230,通过控制器2304控制运算电路2303提取存储器中的矩阵数据并进行乘法运算。
在一些实现中,运算电路2303内部包括多个处理单元(Process Engine,PE)。在一些实现中,运算电路2303是二维脉动阵列。运算电路2303还可以是一维脉动阵列或者能够执行例如乘法和加法这样的数学运算的其它电子线路。在一些实现中,运算电路2303是通用的矩阵处理器。
举例来说,假设有输入矩阵A,权重矩阵B,输出矩阵C。运算电路从权重存储器2302中取矩阵B相应的数据,并缓存在运算电路中每一个PE上。运算电路从输入存储器2301中取矩阵A数据与矩阵B进行矩阵运算,得到的矩阵的部分结果或最终结果,保存在累加器(accumulator)2308中。
统一存储器2306用于存放输入数据以及输出数据。权重数据直接通过存储单元访问控制器(Direct Memory Access Controller,DMAC)2305,DMAC被搬运到权重存储器2302中。输入数据也通过DMAC被搬运到统一存储器2306中。
BIU为Bus Interface Unit即,总线接口单元2310,用于AXI总线与DMAC和取指存储器(Instruction Fetch Buffer,IFB)2309的交互。
总线接口单元2310(Bus Interface Unit,简称BIU),用于取指存储器2309从外部存储器获取指令,还用于存储单元访问控制器2305从外部存储器获取输入矩阵A或者权重矩阵B的原数据。
DMAC主要用于将外部存储器DDR中的输入数据搬运到统一存储器2306或将权重数据搬运到权重存储器2302中或将输入数据数据搬运到输入存储器2301中。
向量计算单元2307包括多个运算处理单元,在需要的情况下,对运算电路的输出做进一步处理,如向量乘,向量加,指数运算,对数运算,大小比较等等。主要用于神经网络中非卷积/全连接层网络计算,如Batch Normalization(批归一化),像素级求和,对特征平面进行上采样等。
在一些实现中,向量计算单元2307能将经处理的输出的向量存储到统一存储器2306。例如,向量计算单元2307可以将线性函数和/或非线性函数应用到运算电路2303的输出,例如对卷积层提取的特征平面进行线性插值,再例如累加值的向量,用以生成激活值。在一些实现中,向量计算单元2307生成归一化的值、像素级求和的值,或二者均有。在一些实现中,处理过的输出的向量能够用作到运算电路2303的激活输入,例如用于在神经网络中的后续层中的使用。
控制器2304连接的取指存储器(instruction fetch buffer)2309,用于存储控制器2304使用的指令;
统一存储器2306,输入存储器2301,权重存储器2302以及取指存储器2309均为On-Chip存储器。外部存储器私有于该NPU硬件架构。
其中,当第一神经网络、技能、新技能或第二神经网络选取的技能具体表现为神经网络时,神经网络中各层的运算可以由运算电路2303或向量计算单元2307执行。
其中,上述任一处提到的处理器,可以是一个通用中央处理器,微处理器,ASIC,或一个或多个用于控制上述第一方面方法的程序执行的集成电路。
另外需说明的是,以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。另外,本申请提供的装置实施例附图中,模块之间的连接关系表示它们之间具有通信连接,具体可以实现为一条或多条通信总线或信号线。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件的方式来实现,当然也可以通过专用硬件包括专用集成电路、专用CLU、专用存储器、专用元器件等来实现。一般情况下,凡由计算机程序完成的功能都可以很容易地用相应的硬件来实现,而且,用来实现同一功能的具体硬件结构也可以是多种多样的,例如模拟电路、数字电路或专用电路等。但是,对本申请而言更多情况下软件程序实现是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在可读取的存储介质中,如计算机的软盘、U盘、移动硬盘、ROM、RAM、磁碟或者光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述的方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。
所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存储的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘(Solid State Disk,SSD))等。

Claims (45)

1.一种神经网络的获取方法,其特征在于,所述方法包括:
获取第一神经网络用于完成第一任务的第一成功率,所述第一神经网络用于从技能库中选取用于完成所述第一任务的技能;
在所述第一成功率小于预设阈值的情况下,获取第二神经网络和新技能,并将所述新技能添加至所述技能库中以更新所述技能库,所述第二神经网络用于从更新后的所述技能库中选取用于完成所述第一任务的技能;
基于所述第一任务对应的仿真环境,利用强化学习算法,对所述第二神经网络进行训练,直至所述第二神经网络用于完成所述第一任务的第二成功率大于或等于所述预设阈值;
存储经过训练的所述第二神经网络和更新后的所述技能库。
2.根据权利要求1所述的方法,其特征在于,所述基于所述第一任务对应的仿真环境,利用强化学习算法,对所述第二神经网络进行训练,包括:
将环境状态信息输入所述第二神经网络,获取所述第二神经网络选取的技能,所述环境状态信息包括所述第一任务对应的仿真环境中智能设备周围的环境信息和所述智能设备的自身状态信息;
通过所述第二神经网络选取的技能获取控制指令以控制所述智能设备执行所述第一任务,并获取所述智能设备执行所述第一任务的数据;
根据获取的所述智能设备执行所述第一任务的数据,利用强化学习算法,更新所述第二神经网络的参数。
3.根据权利要求2所述的方法,其特征在于,所述将环境状态信息输入所述第二神经网络,获取所述第二神经网络选取的技能之后,所述方法还包括:
在所述第二神经网络选取的技能为所述新技能的情况下,根据所述获取的所述智能设备执行所述第一任务的数据,利用强化学习算法,更新所述新技能的参数。
4.根据权利要求2所述的方法,其特征在于,所述利用强化学习算法,更新所述第二神经网络的参数,包括:
利用第一强化学习算法,更新所述第二神经网络的参数,其中,所述第一强化学习算法为近端策略优化PPO算法、信任域策略优化TRPO算法或时间差分TD算法。
5.根据权利要求3所述的方法,其特征在于,所述利用强化学习算法,更新所述新技能的参数,包括:
利用第二强化学习算法,更新所述新技能的参数,其中,所述第二强化学习算法为深度确定性策略梯度DDPG算法、深度Q网络DQN算法、PPO算法或柔性致动评价SAC算法。
6.根据权利要求1至5任一项所述的方法,其特征在于,所述方法还包括:
利用所述第一神经网络的参数,初始化所述第二神经网络的参数,其中,所述第一神经网络为基于第二任务对应的仿真环境,利用强化学习算法进行训练得到的,所述第二任务的语义信息与所述第一任务的语义信息相似。
7.根据权利要求1至5任一项所述的方法,其特征在于,所述第一神经网络和所述技能库为基于第二任务对应的仿真环境,利用强化学习算法进行训练得到的,所述第二任务的语义信息与所述第一任务的语义信息相似,所述方法还包括:
在所述第一成功率大于或等于所述预设阈值的情况下,将所述第一神经网络确定为用于完成所述第一任务的神经网络;
存储所述第一神经网络和所述技能库。
8.根据权利要求1至5任一项所述的方法,其特征在于,所述获取第一神经网络用于完成第一任务的第一成功率,包括:
将环境状态信息输入所述第一神经网络,得到所述第一神经网络选取的技能,其中,所述环境状态信息包括所述第一任务对应的仿真环境中智能设备周围的环境信息和所述智能设备的自身状态信息;
通过所述第一神经网络选取的技能获取控制指令以控制所述智能设备执行所述第一任务;
重复上述步骤,直至通过所述第一神经网络完成所述第一任务的次数达到第一次数;
对所述第一次数中完成所述第一任务的结果为成功的次数进行统计,得到第二次数;
根据所述第一次数和所述第二次数,计算所述第一成功率。
9.根据权利要求8所述的方法,其特征在于,所述将环境状态信息输入所述第一神经网络之前,所述方法还包括:
通过所述第一神经网络选取的技能获取控制指令以控制所述智能设备执行所述第一任务,以确定在所述第一任务对应的仿真环境中,所述第一神经网络的损失函数是否收敛,其中,所述第一神经网络为基于第二任务所对应的仿真环境,利用强化学习算法进行训练得到的,所述第二任务的语义信息与所述第一任务的语义信息相似;
在所述第一神经网络的损失函数未收敛的情况下,基于所述第一任务对应的仿真环境,利用强化学习算法,对所述第一神经网络进行训练,直至达到所述第一神经网络的损失函数的收敛条件,得到成熟的所述第一神经网络;
所述获取第一神经网络用于完成第一任务的第一成功率,包括:
获取成熟的所述第一神经网络用于完成所述第一任务的成功率作为所述第一成功率。
10.根据权利要求1至5任一项所述的方法,其特征在于,所述获取第一神经网络用于完成第一任务的第一成功率,包括:
获取所述第一任务的语义信息,以及,获取第二任务的语义信息,其中,所述第二任务的语义信息与所述第一任务的语义信息相似,所述第一神经网络为基于所述第二任务对应的仿真环境,利用强化学习算法进行训练得到的;
根据所述第一任务的语义信息与所述第二任务的语义信息之间的相似度,得到所述第一成功率,其中,所述相似度越高,所述第一成功率越高。
11.根据权利要求1至5任一项所述的方法,其特征在于,
所述技能库中的技能为驾驶技能;或者,
所述技能库中的技能为搬运技能;或者,
所述技能库中的技能为抓取技能。
12.一种神经网络的获取方法,其特征在于,所述方法包括:
获取第一神经网络用于完成第一驾驶任务的第一成功率,所述第一神经网络用于从技能库中选取用于完成所述第一驾驶任务的驾驶技能;
在所述第一成功率小于预设阈值的情况下,获取第二神经网络和新驾驶技能,并将所述新驾驶技能添加至所述技能库中以更新所述技能库,所述第二神经网络用于从更新后的所述技能库中选取用于完成所述第一驾驶任务的驾驶技能;
基于所述第一驾驶任务对应的仿真环境,利用强化学习算法,对所述第二神经网络进行训练,直至所述第二神经网络用于完成所述第一驾驶任务的第二成功率大于或等于所述预设阈值;
存储经过训练的所述第二神经网络和更新后的所述技能库。
13.根据权利要求12所述的方法,其特征在于,所述基于所述第一驾驶任务对应的仿真环境,利用强化学习算法,对所述第二神经网络进行训练,包括:
将环境状态信息输入所述第二神经网络,获取所述第二神经网络选取的驾驶技能,所述环境状态信息包括所述第一驾驶任务对应的仿真环境中汽车周围的环境信息和所述汽车的自身状态信息;
通过所述第二神经网络选取的驾驶技能获取控制指令以控制所述汽车执行所述第一驾驶任务,并获取所述汽车执行所述第一驾驶任务的数据;
根据获取的所述汽车执行所述第一驾驶任务的数据,利用强化学习算法,更新所述第二神经网络的参数。
14.根据权利要求13所述的方法,其特征在于,所述将环境状态信息输入所述第二神经网络,获取所述第二神经网络选取的驾驶技能之后,所述方法还包括:
在所述第二神经网络选取的驾驶技能为所述新驾驶技能的情况下,根据所述获取的所述汽车执行所述第一驾驶任务的数据,利用强化学习算法,更新所述新驾驶技能的参数。
15.根据权利要求13所述的方法,其特征在于,所述利用强化学习算法,更新所述第二神经网络的参数,包括:
利用第一强化学习算法,更新所述第二神经网络的参数,其中,所述第一强化学习算法为近端策略优化PPO算法、信任域策略优化TRPO算法或时间差分TD算法。
16.根据权利要求14所述的方法,其特征在于,所述利用强化学习算法,更新所述新驾驶技能的参数,包括:
利用第二强化学习算法,更新所述新驾驶技能的参数,其中,所述第二强化学习算法为深度确定性策略梯度DDPG算法、深度Q网络DQN算法、PPO算法或柔性致动评价SAC算法。
17.根据权利要求12至16任一项所述的方法,其特征在于,所述方法还包括:
利用所述第一神经网络的参数,初始化所述第二神经网络的参数,其中,所述第一神经网络为基于第二驾驶任务对应的仿真环境,利用强化学习算法进行训练得到的,所述第二驾驶任务的语义信息与所述第一驾驶任务的语义信息相似。
18.根据权利要求12至16任一项所述的方法,其特征在于,所述第一神经网络和所述技能库为基于第二驾驶任务对应的仿真环境,利用强化学习算法进行训练得到的,所述第二驾驶任务的语义信息与所述第一驾驶任务的语义信息相似,所述方法还包括:
在所述第一成功率大于或等于所述预设阈值的情况下,将所述第一神经网络确定为用于完成所述第一驾驶任务的神经网络;
存储所述第一神经网络和所述技能库。
19.根据权利要求12至16任一项所述的方法,其特征在于,所述获取第一神经网络用于完成第一驾驶任务的第一成功率,包括:
将环境状态信息输入所述第一神经网络,得到所述第一神经网络选取的驾驶技能,其中,所述环境状态信息包括所述第一驾驶任务对应的仿真环境中汽车周围的环境信息和所述汽车的自身状态信息;
通过所述第一神经网络选取的驾驶技能获取控制指令以控制所述汽车执行所述第一驾驶任务;
重复上述步骤,直至通过所述第一神经网络完成所述第一驾驶任务的次数达到第一次数;
对所述第一次数中完成所述第一驾驶任务的结果为成功的次数进行统计,得到第二次数;
根据所述第一次数和所述第二次数,计算所述第一成功率。
20.根据权利要求19所述的方法,其特征在于,所述将环境状态信息输入所述第一神经网络之前,所述方法还包括:
通过所述第一神经网络选取的驾驶技能获取控制指令以控制所述汽车执行所述第一驾驶任务,以确定在所述第一驾驶任务对应的仿真环境中,所述第一神经网络的损失函数是否收敛,其中,所述第一神经网络为基于第二驾驶任务所对应的仿真环境,利用强化学习算法进行训练得到的,所述第二驾驶任务的语义信息与所述第一驾驶任务的语义信息相似;
在所述第一神经网络的损失函数未收敛的情况下,基于所述第一驾驶任务对应的仿真环境,利用强化学习算法,对所述第一神经网络进行训练,直至达到所述第一神经网络的损失函数的收敛条件,得到成熟的所述第一神经网络;
所述获取第一神经网络用于完成第一驾驶任务的第一成功率,包括:
获取成熟的所述第一神经网络用于完成所述第一驾驶任务的成功率作为所述第一成功率。
21.根据权利要求12至16任一项所述的方法,其特征在于,所述获取第一神经网络用于完成第一驾驶任务的第一成功率,包括:
获取所述第一驾驶任务的语义信息,以及,获取第二驾驶任务的语义信息,其中,所述第二驾驶任务的语义信息与所述第一驾驶任务的语义信息相似,所述第一神经网络为基于所述第二驾驶任务对应的仿真环境,利用强化学习算法进行训练得到的;
根据所述第一驾驶任务的语义信息与所述第二驾驶任务的语义信息之间的相似度,得到所述第一成功率,其中,所述相似度越高,所述第一成功率越高。
22.一种神经网络的获取装置,其特征在于,所述装置包括:
获取单元,用于获取第一神经网络用于完成第一任务的第一成功率,所述第一神经网络用于从技能库中选取用于完成所述第一任务的技能;
所述获取单元,还用于在所述第一成功率小于预设阈值的情况下,获取第二神经网络和新技能,并将所述新技能添加至所述技能库中以更新所述技能库,所述第二神经网络用于从更新后的所述技能库中选取用于完成所述第一任务的技能;
训练单元,用于基于所述第一任务对应的仿真环境,利用强化学习算法,对所述第二神经网络进行训练,直至所述第二神经网络用于完成所述第一任务的第二成功率大于或等于所述预设阈值;
存储单元,用于存储经过训练的所述第二神经网络和更新后的所述技能库。
23.根据权利要求22所述的装置,其特征在于,所述训练单元,具体用于:
将环境状态信息输入所述第二神经网络,获取所述第二神经网络选取的技能,所述环境状态信息包括所述第一任务对应的仿真环境中智能设备周围的环境信息和所述智能设备的自身状态信息;
通过所述第二神经网络选取的技能获取控制指令以控制所述智能设备执行所述第一任务,并获取所述智能设备执行所述第一任务的数据;
根据获取的所述智能设备执行所述第一任务的数据,利用强化学习算法,更新所述第二神经网络的参数。
24.根据权利要求23所述的装置,其特征在于,所述训练单元,还用于在所述第二神经网络选取的技能为所述新技能的情况下,根据所述获取的所述智能设备执行所述第一任务的数据,利用强化学习算法,更新所述新技能的参数。
25.根据权利要求23所述的装置,其特征在于,所述训练单元,具体用于利用第一强化学习算法,更新所述第二神经网络的参数,其中,所述第一强化学习算法为近端策略优化PPO算法、信任域策略优化TRPO算法或时间差分TD算法。
26.根据权利要求24所述的装置,其特征在于,所述训练单元,具体用于利用第二强化学习算法,更新所述新技能的参数,其中,所述第二强化学习算法为深度确定性策略梯度DDPG算法、深度Q网络DQN算法、PPO算法或柔性致动评价SAC算法。
27.根据权利要求22至26任一项所述的装置,其特征在于,所述装置还包括:初始化单元,用于利用所述第一神经网络的参数,初始化所述第二神经网络的参数,其中,所述第一神经网络为基于第二任务对应的仿真环境,利用强化学习算法进行训练得到的,所述第二任务的语义信息与所述第一任务的语义信息相似。
28.根据权利要求22至26任一项所述的装置,其特征在于,所述第一神经网络和所述技能库为基于第二任务对应的仿真环境,利用强化学习算法进行训练得到的,所述第二任务的语义信息与所述第一任务的语义信息相似;
所述装置还包括:确定单元,用于在所述第一成功率大于或等于所述预设阈值的情况下,将所述第一神经网络确定为用于完成所述第一任务的神经网络;
所述存储单元,还用于存储所述第一神经网络和所述技能库。
29.根据权利要求22至26任一项所述的装置,其特征在于,
所述获取单元,具体用于:
将环境状态信息输入所述第一神经网络,得到所述第一神经网络选取的技能,其中,所述环境状态信息包括所述第一任务对应的仿真环境中智能设备周围的环境信息和所述智能设备的自身状态信息;
通过所述第一神经网络选取的技能获取控制指令以控制所述智能设备执行所述第一任务;
重复上述步骤,直至通过所述第一神经网络完成所述第一任务的次数达到第一次数;
对所述第一次数中完成所述第一任务的结果为成功的次数进行统计,得到第二次数;
根据所述第一次数和所述第二次数,计算所述第一成功率。
30.根据权利要求29所述的装置,其特征在于,
所述获取单元,还用于通过所述第一神经网络选取的技能获取控制指令以控制所述智能设备执行所述第一任务,以确定在所述第一任务对应的仿真环境中,所述第一神经网络的损失函数是否收敛,其中,所述第一神经网络为基于第二任务所对应的仿真环境,利用强化学习算法进行训练得到的,所述第二任务的语义信息与所述第一任务的语义信息相似;
所述训练单元,还用于在所述第一神经网络的损失函数未收敛的情况下,基于所述第一任务对应的仿真环境,利用强化学习算法,对所述第一神经网络进行训练,直至达到所述第一神经网络的损失函数的收敛条件,得到成熟的所述第一神经网络;
所述获取单元,具体用于获取成熟的所述第一神经网络用于完成所述第一任务的成功率作为所述第一成功率。
31.根据权利要求22至26任一项所述的装置,其特征在于,
所述获取单元,具体用于:
获取所述第一任务的语义信息,以及,获取第二任务的语义信息,其中,所述第二任务的语义信息与所述第一任务的语义信息相似,所述第一神经网络为基于所述第二任务对应的仿真环境,利用强化学习算法进行训练得到的;
根据所述第一任务的语义信息与所述第二任务的语义信息之间的相似度,得到所述第一成功率,其中,所述相似度越高,所述第一成功率越高。
32.根据权利要求22至26任一项所述的装置,其特征在于,
所述技能库中的技能为驾驶技能;或者,
所述技能库中的技能为搬运技能;或者,
所述技能库中的技能为抓取技能。
33.一种神经网络的获取装置,其特征在于,所述装置包括:
获取单元,用于获取第一神经网络用于完成第一驾驶任务的第一成功率,所述第一神经网络用于从技能库中选取用于完成所述第一驾驶任务的驾驶技能;
所述获取单元,还用于在所述第一成功率小于预设阈值的情况下,获取第二神经网络和新驾驶技能,并将所述新驾驶技能添加至所述技能库中以更新所述技能库,所述第二神经网络用于从更新后的所述技能库中选取用于完成所述第一驾驶任务的驾驶技能;
训练单元,用于基于所述第一驾驶任务对应的仿真环境,利用强化学习算法,对所述第二神经网络进行训练,直至所述第二神经网络用于完成所述第一驾驶任务的第二成功率大于或等于所述预设阈值;
存储单元,用于存储经过训练的所述第二神经网络和更新后的所述技能库。
34.根据权利要求33所述的装置,其特征在于,所述训练单元,具体用于:
将环境状态信息输入所述第二神经网络,获取所述第二神经网络选取的驾驶技能,所述环境状态信息包括所述第一驾驶任务对应的仿真环境中智能设备周围的环境信息和所述智能设备的自身状态信息;
通过所述第二神经网络选取的驾驶技能获取控制指令以控制所述智能设备执行所述第一驾驶任务,并获取所述智能设备执行所述第一驾驶任务的数据;
根据获取的所述智能设备执行所述第一驾驶任务的数据,利用强化学习算法,更新所述第二神经网络的参数。
35.根据权利要求34所述的装置,其特征在于,所述训练单元,还用于在所述第二神经网络选取的驾驶技能为所述新驾驶技能的情况下,根据所述获取的所述智能设备执行所述第一驾驶任务的数据,利用强化学习算法,更新所述新驾驶技能的参数。
36.根据权利要求34所述的装置,其特征在于,所述训练单元,具体用于利用第一强化学习算法,更新所述第二神经网络的参数,其中,所述第一强化学习算法为近端策略优化PPO算法、信任域策略优化TRPO算法或时间差分TD算法。
37.根据权利要求35所述的装置,其特征在于,所述训练单元,具体用于利用第二强化学习算法,更新所述新驾驶技能的参数,其中,所述第二强化学习算法为深度确定性策略梯度DDPG算法、深度Q网络DQN算法、PPO算法或柔性致动评价SAC算法。
38.根据权利要求33至37任一项所述的装置,其特征在于,所述装置还包括:初始化单元,用于利用所述第一神经网络的参数,初始化所述第二神经网络的参数,其中,所述第一神经网络为基于第二驾驶任务对应的仿真环境,利用强化学习算法进行训练得到的,所述第二驾驶任务的语义信息与所述第一驾驶任务的语义信息相似。
39.根据权利要求33至37任一项所述的装置,其特征在于,所述第一神经网络和所述技能库为基于第二驾驶任务对应的仿真环境,利用强化学习算法进行训练得到的,所述第二驾驶任务的语义信息与所述第一驾驶任务的语义信息相似;
所述装置还包括:确定单元,用于在所述第一成功率大于或等于所述预设阈值的情况下,将所述第一神经网络确定为用于完成所述第一驾驶任务的神经网络;
所述存储单元,还用于存储所述第一神经网络和所述技能库。
40.根据权利要求33至37任一项所述的装置,其特征在于,
所述获取单元,具体用于:
将环境状态信息输入所述第一神经网络,得到所述第一神经网络选取的驾驶技能,其中,所述环境状态信息包括所述第一驾驶任务对应的仿真环境中智能设备周围的环境信息和所述智能设备的自身状态信息;
通过所述第一神经网络选取的驾驶技能获取控制指令以控制所述智能设备执行所述第一驾驶任务;
重复上述步骤,直至通过所述第一神经网络完成所述第一驾驶任务的次数达到第一次数;
对所述第一次数中完成所述第一驾驶任务的结果为成功的次数进行统计,得到第二次数;
根据所述第一次数和所述第二次数,计算所述第一成功率。
41.根据权利要求40所述的装置,其特征在于,
所述获取单元,还用于通过所述第一神经网络选取的驾驶技能获取控制指令以控制所述智能设备执行所述第一驾驶任务,以确定在所述第一驾驶任务对应的仿真环境中,所述第一神经网络的损失函数是否收敛,其中,所述第一神经网络为基于第二驾驶任务所对应的仿真环境,利用强化学习算法进行训练得到的,所述第二驾驶任务的语义信息与所述第一驾驶任务的语义信息相似;
所述训练单元,还用于在所述第一神经网络的损失函数未收敛的情况下,基于所述第一驾驶任务对应的仿真环境,利用强化学习算法,对所述第一神经网络进行训练,直至达到所述第一神经网络的损失函数的收敛条件,得到成熟的所述第一神经网络;
所述获取单元,具体用于获取成熟的所述第一神经网络用于完成所述第一驾驶任务的成功率作为所述第一成功率。
42.根据权利要求33至37任一项所述的装置,其特征在于,
所述获取单元,具体用于:
获取所述第一驾驶任务的语义信息,以及,获取第二驾驶任务的语义信息,其中,所述第二驾驶任务的语义信息与所述第一驾驶任务的语义信息相似,所述第一神经网络为基于所述第二驾驶任务对应的仿真环境,利用强化学习算法进行训练得到的;
根据所述第一驾驶任务的语义信息与所述第二驾驶任务的语义信息之间的相似度,得到所述第一成功率,其中,所述相似度越高,所述第一成功率越高。
43.一种服务器,其特征在于,包括处理器,所述处理器和存储器耦合,所述存储器存储有程序指令,当所述存储器存储的程序指令被所述处理器执行时实现权利要求1至11中任一项所述的方法,或者,使得计算机执行如权利要求12至21中任一项所述的方法。
44.一种计算机可读存储介质,包括程序,当其在计算机上运行时,使得计算机执行如权利要求1至11中任一项所述的方法,或者,使得计算机执行如权利要求12至21中任一项所述的方法。
45.一种电路系统,其特征在于,所述电路系统包括处理电路,所述处理电路配置为执行如权利要求1至11任意一项所述的方法,或者,使得计算机执行如权利要求12至21中任一项所述的方法。
CN201910935456.XA 2019-09-29 2019-09-29 一种神经网络的获取方法以及相关设备 Pending CN112580795A (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN201910935456.XA CN112580795A (zh) 2019-09-29 2019-09-29 一种神经网络的获取方法以及相关设备
PCT/CN2020/092907 WO2021057059A1 (zh) 2019-09-29 2020-05-28 一种神经网络的获取方法以及相关设备
US17/181,810 US20210174209A1 (en) 2019-09-29 2021-02-22 Neural network obtaining method and related device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910935456.XA CN112580795A (zh) 2019-09-29 2019-09-29 一种神经网络的获取方法以及相关设备

Publications (1)

Publication Number Publication Date
CN112580795A true CN112580795A (zh) 2021-03-30

Family

ID=75111145

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910935456.XA Pending CN112580795A (zh) 2019-09-29 2019-09-29 一种神经网络的获取方法以及相关设备

Country Status (3)

Country Link
US (1) US20210174209A1 (zh)
CN (1) CN112580795A (zh)
WO (1) WO2021057059A1 (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6866762B2 (ja) * 2017-05-18 2021-04-28 いすゞ自動車株式会社 車両用情報処理システム
TWI712011B (zh) * 2019-12-18 2020-12-01 仁寶電腦工業股份有限公司 安全警示語音提示方法
KR20220064056A (ko) * 2020-11-11 2022-05-18 삼성전자주식회사 오디오 신호의 처리에 관한 태스크를 관리하는 전자 장치 및 그 작동 방법
CN113074959B (zh) * 2021-04-06 2022-03-25 北京理工大学 一种自动驾驶系统测试分析方法
CN113264059B (zh) * 2021-05-17 2022-10-11 北京工业大学 支持多驾驶行为的基于深度强化学习的无人车运动决策控制方法
CN114745317B (zh) * 2022-02-09 2023-02-07 北京邮电大学 面向算力网络的计算任务调度方法及相关设备
CN115578870B (zh) * 2022-09-30 2023-06-30 合肥工业大学 一种基于近端策略优化的交通信号控制方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104778448A (zh) * 2015-03-24 2015-07-15 孙建德 一种基于结构自适应卷积神经网络的人脸识别方法
CN106934456A (zh) * 2017-03-16 2017-07-07 山东理工大学 一种深度卷积神经网络模型构建方法
CN109272500A (zh) * 2018-09-27 2019-01-25 西安电子科技大学 基于自适应卷积神经网络的织物分类方法
CN109726676A (zh) * 2018-12-28 2019-05-07 苏州大学 自动驾驶系统的规划方法
CN109829541A (zh) * 2019-01-18 2019-05-31 上海交通大学 基于学习自动机的深度神经网络增量式训练方法及系统
CN109858553A (zh) * 2019-01-31 2019-06-07 深圳市赛梅斯凯科技有限公司 驾驶状态的监测模型更新方法、更新装置及存储介质

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10210451B2 (en) * 2016-07-22 2019-02-19 Alpine Electronics of Silicon Valley, Inc. Neural network applications in resource constrained environments
CN109733415B (zh) * 2019-01-08 2020-08-14 同济大学 一种基于深度强化学习的拟人化自动驾驶跟驰模型

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104778448A (zh) * 2015-03-24 2015-07-15 孙建德 一种基于结构自适应卷积神经网络的人脸识别方法
CN106934456A (zh) * 2017-03-16 2017-07-07 山东理工大学 一种深度卷积神经网络模型构建方法
CN109272500A (zh) * 2018-09-27 2019-01-25 西安电子科技大学 基于自适应卷积神经网络的织物分类方法
CN109726676A (zh) * 2018-12-28 2019-05-07 苏州大学 自动驾驶系统的规划方法
CN109829541A (zh) * 2019-01-18 2019-05-31 上海交通大学 基于学习自动机的深度神经网络增量式训练方法及系统
CN109858553A (zh) * 2019-01-31 2019-06-07 深圳市赛梅斯凯科技有限公司 驾驶状态的监测模型更新方法、更新装置及存储介质

Also Published As

Publication number Publication date
US20210174209A1 (en) 2021-06-10
WO2021057059A1 (zh) 2021-04-01

Similar Documents

Publication Publication Date Title
CN112580795A (zh) 一种神经网络的获取方法以及相关设备
US11048978B2 (en) Meta-learning for multi-task learning for neural networks
WO2021190451A1 (zh) 训练图像处理模型的方法和装置
Zhang et al. Reinforcement learning for robot research: A comprehensive review and open issues
CN112183577A (zh) 一种半监督学习模型的训练方法、图像处理方法及设备
WO2022042713A1 (zh) 一种用于计算设备的深度学习训练方法和装置
WO2022068623A1 (zh) 一种模型训练方法及相关设备
EP4145351A1 (en) Neural network construction method and system
US20130325774A1 (en) Learning stochastic apparatus and methods
US20130325775A1 (en) Dynamically reconfigurable stochastic learning apparatus and methods
CN112651511A (zh) 一种训练模型的方法、数据处理的方法以及装置
CN111368972B (zh) 一种卷积层量化方法及其装置
WO2021218517A1 (zh) 获取神经网络模型的方法、图像处理方法及装置
WO2022007867A1 (zh) 神经网络的构建方法和装置
CN114997412A (zh) 一种推荐方法、训练方法以及装置
CN111368656A (zh) 一种视频内容描述方法和视频内容描述装置
CN112215332A (zh) 神经网络结构的搜索方法、图像处理方法和装置
CN112633463A (zh) 用于建模序列数据中长期依赖性的双重递归神经网络架构
US20230095606A1 (en) Method for training classifier, and data processing method, system, and device
Pietikäinen et al. Challenges of Artificial Intelligence--From Machine Learning and Computer Vision to Emotional Intelligence
CN111931901A (zh) 一种神经网络构建方法以及装置
Zhang et al. A survey of visual navigation: From geometry to embodied AI
CN113407820B (zh) 利用模型进行数据处理的方法及相关系统、存储介质
CN114140841A (zh) 点云数据的处理方法、神经网络的训练方法以及相关设备
Puente-Castro et al. Q-Learning based system for Path Planning with Unmanned Aerial Vehicles swarms in obstacle environments

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