CN113112016A - 用于强化学习过程的动作输出方法、网络训练方法及装置 - Google Patents
用于强化学习过程的动作输出方法、网络训练方法及装置 Download PDFInfo
- Publication number
- CN113112016A CN113112016A CN202110376318.XA CN202110376318A CN113112016A CN 113112016 A CN113112016 A CN 113112016A CN 202110376318 A CN202110376318 A CN 202110376318A CN 113112016 A CN113112016 A CN 113112016A
- Authority
- CN
- China
- Prior art keywords
- action
- historical
- state
- candidate
- agent
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 230000009471 action Effects 0.000 title claims abstract description 383
- 238000000034 method Methods 0.000 title claims abstract description 146
- 238000012549 training Methods 0.000 title claims abstract description 57
- 230000002787 reinforcement Effects 0.000 title claims abstract description 54
- 230000008569 process Effects 0.000 title claims abstract description 49
- 238000012545 processing Methods 0.000 claims description 33
- 238000003860 storage Methods 0.000 claims description 15
- 238000004590 computer program Methods 0.000 claims description 9
- 230000007704 transition Effects 0.000 claims description 5
- 238000012544 monitoring process Methods 0.000 claims description 4
- 238000009826 distribution Methods 0.000 abstract description 15
- 230000000694 effects Effects 0.000 abstract description 6
- 239000003795 chemical substances by application Substances 0.000 description 97
- 238000004422 calculation algorithm Methods 0.000 description 26
- 230000006870 function Effects 0.000 description 16
- 238000010586 diagram Methods 0.000 description 11
- 238000010408 sweeping Methods 0.000 description 6
- 230000009286 beneficial effect Effects 0.000 description 5
- 230000008859 change Effects 0.000 description 5
- 238000004891 communication Methods 0.000 description 3
- 238000011160 research Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 238000009795 derivation Methods 0.000 description 2
- 230000014509 gene expression Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000010606 normalization Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 238000004904 shortening Methods 0.000 description 2
- 230000003044 adaptive effect Effects 0.000 description 1
- 238000007792 addition Methods 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000000354 decomposition reaction Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000007306 functionalization reaction Methods 0.000 description 1
- 235000003642 hunger Nutrition 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000002688 persistence Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000006798 recombination Effects 0.000 description 1
- 238000005215 recombination Methods 0.000 description 1
- 230000008672 reprogramming Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
Images
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
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Feedback Control In General (AREA)
Abstract
公开了一种用于强化学习过程的动作输出方法、网络训练方法及装置。该用于强化学习过程的动作输出方法,包括:确定当前时间点智能体所处环境的第一状态;基于第一状态和上一时间点智能体输出至环境的第一历史动作,确定当前时间点针对智能体的第一候选动作;从第一候选动作和第一历史动作中,选择一个目标动作;控制智能体在当前时间点输出目标动作。本公开的实施例中,同一个动作可以被二元切换决策重复多次,以达到该动作跨越多个时间点的效果,从而缩短任务时间线,进而使奖励分配问题得到简化,这样有助于保证深度强化学习赋能的智能体在实际应用场景中的落地使用。
Description
技术领域
本公开涉及强化学习技术领域,尤其涉及一种用于强化学习过程的动作输出方法、网络训练方法及装置。
背景技术
目前,强化学习的使用越来越普遍,在使用强化学习方法时,面对一个新的控制任务,机器人等智能体可能需要大量的试错,花费大量的时间,在此过程中冒着硬件损坏的危险,才能通过奖励信号学会任务。需要说明的是,强化学习方法需要解决奖励分配问题(credit assignment problem),通常情况下,任务的时间线越长,奖励分配问题越难解决,这样会影响到深度强化学习赋能的智能体在实际应用场景中的落地使用。
发明内容
为了解决上述技术问题,提出了本公开。本公开的实施例提供了一种用于强化学习过程的动作输出方法、网络训练方法及装置。
根据本公开实施例的一个方面,提供了一种用于强化学习过程的动作输出方法,包括:
确定当前时间点智能体所处环境的第一状态;
基于所述第一状态和上一时间点所述智能体输出至所述环境的第一历史动作,确定当前时间点针对所述智能体的第一候选动作;
从所述第一候选动作和所述第一历史动作中,选择一个目标动作;
控制所述智能体在当前时间点输出所述目标动作。
根据本公开实施例的另一个方面,提供了一种网络训练方法,包括:
获取历史数据,所获取的历史数据中记载有第一时间点智能体所处环境的第二状态和第二时间点所述智能体输出至所述环境的第二历史动作,所述第一时间点为所述第二时间点的下一时间点;
基于所述第二状态和所述第二历史动作,经由第二网络确定所述第一时间点针对所述智能体的第二候选动作;
基于所述第二状态、所述第二历史动作和所述第二候选动作,确定所述第二候选动作的被选中概率;
基于所述第二状态、所述第二历史动作、所述第二候选动作和所述被选中概率,确定所述第二网络的参数梯度;
基于所述参数梯度,对所述第二网络进行训练。
根据本公开实施例的再一个方面,提供了一种用于强化学习过程的动作输出装置,包括:
第一确定模块,用于确定当前时间点智能体所处环境的第一状态;
第二确定模块,用于基于所述第一确定模块确定的所述第一状态和上一时间点所述智能体输出至所述环境的第一历史动作,确定当前时间点针对所述智能体的第一候选动作;
选择模块,用于从所述第二确定模块确定的所述第一候选动作和所述第一历史动作中,选择一个目标动作;
输出模块,用于控制所述智能体在当前时间点输出所述选择模块选择的所述目标动作。
根据本公开实施例的又一个方面,提供了一种网络训练装置,包括:
第二获取模块,用于获取历史数据,所获取的历史数据中记载有第一时间点智能体所处环境的第二状态和第二时间点所述智能体输出至所述环境的第二历史动作,所述第一时间点为所述第二时间点的下一时间点;
第三确定模块,用于基于所述获取模块获取的历史数据中记载的所述第二状态和所述第二历史动作,经由第二网络确定所述第一时间点针对所述智能体的第二候选动作;
第四确定模块,用于基于所述获取模块获取的历史数据中记载的所述第二状态和所述第二历史动作,以及所述第三确定模块确定的所述第二候选动作,确定所述第二候选动作的被选中概率;
第五确定模块,用于基于所述获取模块获取的历史数据中记载的所述第二状态和所述第二历史动作,所述第三确定模块确定的所述第二候选动作,以及所述第四确定模块确定的所述被选中概率,确定所述第二网络的参数梯度;
第二训练模块,用于基于所述第五确定模块确定的所述参数梯度,对所述第二网络进行训练。
根据本公开实施例的又一个方面,提供了一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序用于执行上述用于强化学习过程的动作输出方法,或者用于执行上述网络训练方法。
根据本公开实施例的又一个方面,提供了一种电子设备,包括:
处理器;
用于存储所述处理器可执行指令的存储器;
所述处理器,用于从所述存储器中读取所述可执行指令,并执行所述指令以实现上述用于强化学习过程的动作输出方法,或者用于执行上述网络训练方法。
基于本公开上述实施例提供的一种用于强化学习过程的动作输出方法、网络训练方法、装置、计算机可读存储介质及电子设备,可以基于当前时间点智能体所处环境的第一状态和上一时间点智能体输出至环境的动作,确定当前时间点针对智能体的第一候选动作,并从第一候选动作和第一历史动作中,选择一个目标动作,之后可以控制智能体在当前时间点输出目标动作,这样相当于通过二元切换决策,从第一候选动作和第一历史动作中选择出了一个合适的动作输出至环境,理论上而言,同一个动作可以被二元切换决策重复多次,以达到该动作跨越多个时间点的效果,从而缩短任务时间线,进而使奖励分配问题得到简化,这样有助于保证深度强化学习赋能的智能体在实际应用场景中的落地使用,且有利于改善深度强化学习存在的数据利用效率低下的问题。
下面通过附图和实施例,对本公开的技术方案做进一步的详细描述。
附图说明
通过结合附图对本公开实施例进行更详细的描述,本公开的上述以及其他目的、特征和优势将变得更加明显。附图用来提供对本公开实施例的进一步理解,并且构成说明书的一部分,与本公开实施例一起用于解释本公开,并不构成对本公开的限制。在附图中,相同的参考标号通常代表相同部件或步骤。
图1是本公开一示例性实施例提供的用于强化学习过程的动作输出方法的流程示意图。
图2是本公开的实施例中动作决策过程的示意图。
图3是本公开另一示例性实施例提供的用于强化学习过程的动作输出方法的流程示意图。
图4是本公开再一示例性实施例提供的用于强化学习过程的动作输出方法的流程示意图。
图5是本公开一示例性实施例提供的网络训练方法的流程示意图。
图6是本公开另一示例性实施例提供的网络训练方法的流程示意图。
图7是本公开一示例性实施例提供的用于强化学习过程的动作输出装置的结构示意图。
图8是本公开另一示例性实施例提供的用于强化学习过程的动作输出装置的结构示意图。
图9是本公开一示例性实施例提供的网络训练装置的结构示意图。
图10是本公开另一示例性实施例提供的网络训练装置的结构示意图。
图11是本公开一示例性实施例提供的电子设备的结构图。
具体实施方式
下面,将参考附图详细地描述根据本公开的示例实施例。显然,所描述的实施例仅仅是本公开的一部分实施例,而不是本公开的全部实施例,应理解,本公开不受这里描述的示例实施例的限制。
应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本公开的范围。
本领域技术人员可以理解,本公开实施例中的“第一”、“第二”等术语仅用于区别不同步骤、设备或模块等,既不代表特定技术含义,也不表示必然逻辑顺序。
还应理解,在本公开实施例中,“多个”可以指两个或两个以上,“至少一个”可以指一个、两个或两个以上。
还应理解,对于本公开实施例中提及的任一部件、数据或结构,在没有明确限定或者在前后文给出相反启示的情况下,一般可以理解为一个或多个。
本公开中术语“和/或”,仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本公开中字符“/”,一般表示前后关联对象是一种“或”的关系。
还应理解,本公开对各个实施例的描述着重强调各个实施例之间的不同之处,其相同或相似之处可以相互参考,为了简洁,不再一一赘述。
同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。
以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本公开及其应用或使用的任何限制。
对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
本公开实施例可以应用于终端设备、计算机***、服务器等电子设备,其可与众多其它通用或专用计算***环境或配置一起操作。适于与终端设备、计算机***、服务器等电子设备一起使用的众所周知的终端设备、计算***、环境和/或配置的例子包括但不限于:个人计算机***、服务器计算机***、瘦客户机、厚客户机、手持或膝上设备、基于微处理器的***、机顶盒、可编程消费电子产品、网络个人电脑、小型计算机***、大型计算机***和包括上述任何***的分布式云计算技术环境,等等。
终端设备、计算机***、服务器等电子设备可以在由计算机***执行的计算机***可执行指令(诸如程序模块)的一般语境下描述。通常,程序模块可以包括例程、程序、目标程序、组件、逻辑、数据结构等等,它们执行特定的任务或者实现特定的抽象数据类型。计算机***/服务器可以在分布式云计算环境中实施,分布式云计算环境中,任务是由通过通信网络链接的远程处理设备执行的。在分布式云计算环境中,程序模块可以位于包括存储设备的本地或远程计算***存储介质上。
申请概述
在一些情况下,存在着这样一种需求:让智能体高效自主地通过同一套算法,从不同的经验数据中学会完成不同的控制任务,而在此过程中尽可能避免人为干预和重编程;其中,智能体包括但不限于无人车、机器人等;控制任务包括但不限于自动驾驶控制、机器人运动、机械臂控制等。
针对上述需求,目前比较有前景的一个研究分支是:通过深度强化学习(DeepReinforcement Learning,Deep RL),让智能体从任务奖励信号(Reward Signal)中不断试错和调整自己的行为,从而最终达到完成任务的目标。该研究分支下常见的应用较为广泛的算法有:深度确定性策略梯度(Deep Deterministic Policy Gradient,DDPG)、柔性决策评价算法(Soff Actor-Critic,SAC)、近似策略优化(Proximal Policy Optimization,PPO)。该研究分支的方法特点是:强调数据驱动(data-driven)学习,基本不要求在控制领域的专业知识,在不同控制任务上迁移性好,但是,由于数据驱动造成的数据饥饿(datahungry),在面对一个新的控制任务时,智能体可能需要大量的试错,花费大量的时间,在此过程中冒着硬件损坏的危险,才能通过奖励信号学会任务。
需要说明的是,强化学习方法往往存在着数据利用效率(sample efficiency)低下的问题,以目前比较受欢迎的方法SAC作为例子,基于其学会一个简单的抓取物体操作需要的数据量大概是人需要的几个数量级之多,存在数据利用效率低下的问题的一个重要原因是:强化学习方法需要解决奖励分配问题,当前的某个动作可能在时间线上很远的未来某个时间点才发生关键的作用拿到奖励/惩罚,而这个奖励/惩罚信号需要一步步从后往前传进行审查,在此过程中,智能体需要将这个信号正确归因到某个具体的早期行为上。通常情况下,任务的时间线越长,奖励分配问题越难解决,这样会使深度强化学习赋能的智能体在实际应用场景中落地并不普遍。
为了解决数据利用效率低下的问题,目前深度强化学习的一个子领域是分层控制(hierarchical control)方法,另一个子领域是动作跨度预测方法(action durationprediction)。分层控制方法通过建立一个多层级的控制时间线来抽象化智能体的动作,每个层级时间线被大大缩短,从而简化奖励分配问题,但是分层控制方法中,多层级结构一般针对具体场景任务提出,不太容易自动迁徙到新场景,不同场景之间层级结构设计共享性低,并且,多层级模型通常来说不太稳定,更难训练。动作跨度预测方法每次输出一个动作前同时也输出该动作被执行的次数,该方法属于开环控制(open-loop control)方法,灵活性较低,如果已经预测了一个较长的动作执行跨度,遇到环境中的紧急情况没法立刻停止动作的重复执行。
示例性***
本公开的实施例中,可以把强化学习考虑成马尔科夫决策过程(Markov DecisionProcess,MDP)中的一个决策搜索问题。可以理解的是,MDP包含一组交互对象,即智能体和智能体所处的环境;其中,智能体是MDP中进行机器学习的代理,可以感知环境的状态并进行决策,对环境做出动作并通过环境的反馈调整决策;环境是MDP中智能体外部所有事物的集合,其状态会受智能体动作的影响而改变,且该改变可以完全或者部分地被智能体感知,环境在每次决策后可能会反馈给智能体相应的奖励。
具体实施时,智能体、终端设备、服务器等电子设备可以执行本公开下述实施例中提供的用于强化学习过程的动作输出方法,以缩短任务时间线,进而使奖励分配问题得到简化,保证深度强化学习赋能的智能体在实际应用场景中的落地使用,为了便于理解,下文中均以执行上述动作输出方法的电子设备为智能体的情况为例进行说明。另外,智能体、终端设备、服务器等电子设备还可以执行本公开的下述实施例中提供的网络训练方法,以训练得到准确可靠的第二网络,以便将第二网络应用于上述动作输出方法中。
示例性方法
图1是本公开一示例性实施例提供的用于强化学习过程的动作输出方法的流程示意图。图1所示的方法包括步骤101、步骤102、步骤103和步骤104,下面分别对各步骤进行说明。
步骤101,确定当前时间点智能体所处环境的第一状态。
需要说明的是,本公开的实施例中涉及的时间点也可以称为时间步,那么,步骤101中的当前时间点也可以称为当前时间步,下面的步骤102中的上一时间点也可以称为上一时间步。另外,本公开的实施例中涉及的智能体可以为能够进行深度强化学习的任何设备,包括但不限于无人车、机器人等,机器人具体可以包括扫地机器人等智能机器人。
在步骤101中,可以由智能体对自身所处环境进行感知,以确定当前时间点自身所处环境的状态,该状态即可作为第一状态。可选地,在智能体为无人车的情况下,第一状态可以利用无人车的摄像头图像数据进行表征;在智能体为扫地机器人的情况下,第一状态可以利用扫地机器人的激光雷达数据进行表征。
步骤102,基于第一状态和上一时间点智能体输出至环境的第一历史动作,确定当前时间点针对智能体的第一候选动作。
需要说明的是,在深度强化学习过程中,可以对智能体在各个时间点已输出至环境的动作进行记载,例如在数据回访缓存中进行记载;其中,数据回访缓存可以为智能体内部设置的一个数据缓存区。可选地,在智能体为无人车的情况下,智能体已输出至环境的动作可以包括无人车的电动机力矩变化动作;在智能体为扫地机器人的情况下,智能体已输出至环境的动作可以包括扫地机器人的速度变化动作、扫地机器人的转向动作等。
在步骤102中,依据数据回访缓存中记载的信息,可以非常便捷可靠地确定出上一时间点智能体输出至环境的动作,该动作即可作为第一历史动作;之后,可以基于第一状态和第一历史动作,确定当前时间点针对智能体的第一候选动作。可选地,确定第一候选动作的具体方式可以参照目前的SAC中基于当前时间点的状态和上一时间点输出至环境的动作,确定当前时间点待输出至环境的动作的方式,在此不再赘述。
步骤103,从第一候选动作和第一历史动作中,选择一个目标动作。
在步骤103中,可以比对第一候选动作和第一历史动作的相对好坏,以根据比对结果,从第一候选动作和第一历史动作中,选择出与当前时间点更为适配的那个动作,并将所选择的动作作为目标动作。
步骤104,控制智能体在当前时间点输出目标动作。
在步骤104中,智能体可以对自身进行控制,以在当前时间点输出目标动作至环境,这时,环境的状态会由于受到目标动作的影响而改变,该改变可以被智能体所感知,智能体可以再次执行上述的步骤101。
需要说明的是,本公开的实施例中的步骤101至步骤103可以看做是一动作决策过程,该动作决策过程包括两阶段的决策,即第一阶段的决策和第二阶段的决策。具体地,如图2所示,当前时间点智能体所处环境的第一状态可以用S表示,上一时间点智能体输出至环境的第一历史动作可以用a-表示,在进行第一阶段的决策时,可以基于S和a-,确定当前时间点针对智能体的第一候选动作,第一候选动作可以用表示;在进行第二阶段的决策时,可以通过比对作为第一历史动作的a-和作为第一候选动作的的相对好坏,从a-和中选择一个动作作为目标动作,目标动作可以表示为a。
由于确定作为第一候选动作的的方式可以参照SAC中的相应方式,可以认为在SAC的基础上,本公开的实施例提出并使用了时序抽象的柔性决策算法(TemporallyAbstract Soft Actor-Critc,TASAC),TASAC在SAC决策(其对应上文中第一阶段的决策)之后加了一个第二阶段的决策,该决策可以称为二元切换决策(binary switch policy),二元切换决策可以通过比对SAC产生的动作(例如第一候选动作)和之前时间步输出至环境的动作(例如第一历史动作)的相对好坏,来决定使用哪一个动作作为当前时间步输出至环境的动作(例如目标动作),也即决定是否停止重复之前的动作(例如第一历史动作)。
基于本公开上述实施例提供的一种用于强化学习过程的动作输出方法,可以基于当前时间点智能体所处环境的第一状态和上一时间点智能体输出至环境的动作,确定当前时间点针对智能体的第一候选动作,并从第一候选动作和第一历史动作中,选择一个目标动作,之后可以控制智能体在当前时间点输出目标动作,这样相当于通过二元切换决策,从第一候选动作和第一历史动作中选择出了一个合适的动作输出至环境,理论上而言,同一个动作可以被二元切换决策重复多次,以达到该动作跨越多个时间点的效果,从而缩短任务时间线,进而使奖励分配问题得到简化,这样有助于保证深度强化学习赋能的智能体在实际应用场景中的落地使用,且有利于改善深度强化学习存在的数据利用效率低下的问题。另外,本公开的实施例中的二元切换决策可以应用于多种场景,并不局限于特定场景,且二元切换决策属于闭环控制,其可以根据环境的具体状态(例如第一状态)来决定是否停止重复之前的动作(例如第一历史动作),这样具有较高的灵活性,能够处理环境中的突发事件。
在图1所示实施例的基础上,如图3所示,步骤103,包括:
步骤1031,基于第一状态和第一候选动作,经由第一网络获取第一候选动作对应的未来奖励影响预测值。
这里,第一网络可以为通过训练得到的、能够根据给定的状态和动作,计算并输出未来奖励影响预测值的网络。可选地,在第一网络已训练好的情况下,还可以定时或者不定时地对第一网络进行更新训练。
在步骤1031中,只需将第一状态和第一候选动作提供给第一网络,第一网络即可自行进行运算处理,以得到并输出一未来奖励影响预测值,该未来奖励影响预测值即可作为第一候选动作对应的未来奖励影响预测值。需要说明的是,第一候选动作对应的未来奖励影响预测值可以是指:第一状态下,选择在当前时间点输出第一候选动作至环境时,预期智能体未来能够从环境拿到的所有奖励之和。
步骤1032,基于第一状态和第一历史动作,经由第一网络获取第一历史动作对应的未来奖励影响预测值。
与步骤1031类似,在步骤1032中,只需将第一状态和第一历史动作提供给第一网络,第一网络即可自行进行运算处理,以得到并输出一未来奖励影响预测值,该未来奖励影响预测值即可作为第一历史动作对应的未来奖励影响预测值。需要说明的是,第一历史动作对应的未来奖励影响预测值可以是指:第一状态下,选择在当前时间点输出第一历史动作至环境时,预期智能体未来能够从环境拿到的所有奖励之和。
步骤1033,从第一候选动作和第一历史动作中,选择所对应未来奖励影响预测值较大的动作作为目标动作。
在步骤1033中,可以将第一候选动作与第一历史动作各自对应的未来奖励影响预测值进行大小比较。在比较结果为第一候选动作对应的未来奖励影响预测值大于第一历史动作对应的未来奖励影响预测值的情况,可以认为第一候选动作相比于第一历史动作更优,第一候选动作与当前时间点更为适配,那么,可以选择第一候选动作作为目标动作;否则,可以选择第一历史动作作为目标动作。
可见,本公开的实施例中,经由第一网络,能够非常便捷可靠地确定出第一候选动作和第一历史动作各自对应的未来奖励影响预测值,以便据此比对第一候选动作和第一历史动作的相对好坏,从而便捷可靠地从第一候选动作和第一历史动作中选择出一个合适的动作作为目标动作并输出至环境。
在图3所示实施例的基础上,如图4所示,该方法还包括:
步骤111,获取多组历史数据,所获取的每组历史数据中均记载有环境的状态、智能体输出至环境的动作、环境的下一个状态、环境的状态转移产生的奖励,并且,多组历史数据在时间线上两两相邻,多组历史数据中记载的动作相同。
需要说明的是,在深度强化学习过程中,可以针对任一已过去的时间点,确定环境的状态(其可以表示为st),智能体输出至环境的动作(其可以表示为at),环境的下一个状态(其可以表示为st+1),环境的状态转移至下一个状态所产生的奖励(其可以表示为r(st,at,st+1)),并通过一组历史数据记载所确定的状态、动作、下一个状态、奖励,这样,每组历史数据可以分别与一历史时间点对应,每组历史数据可以表示为(状态,动作,下一个状态,这个状态转移产生的奖励)或者(st,at,st+1,r(st,at,st+1))。可选地,所有历史数据均可以存储于数据回访缓存中。
在步骤111中,可以对数据回访缓存进行抽样,以从数据回访缓存中,获取多组历史数据,多组历史数据可以在时间线上两两相邻且记载的动作(即st)相同。需要说明的是,某两组历史数据在时间线上相邻是指:其中一组历史数据对应的历史时间点是另一组历史数据对应的历史时间点的后一时间点。
可选地,在从数据回访缓存中获取多组历史数据时,除了参考历史数据在时间线上相邻及记载的动作相同的条件(为了便于说明,后续将其称为第一条件),还可以参考其他条件。举例而言,若数据回访缓存中存在在时间线上两两相邻且记载的动作(假设该动作为动作C)相同的10组历史数据,且按照所对应历史时间点由早至晚的顺序,这10组历史数据依次为第1组历史数据、第2组历史数据、……、第10组历史数据,则可以将第1组历史数据中的动作作为历史动作,将第2组历史数据中的状态作为智能体所处环境的状态,采用上文中的两阶段的决策,确定待输出至环境的动作(相当于确定上文中的目标动作的过程);将第2组历史数据中的动作作为历史动作,将第3组历史数据中的状态作为智能体所处环境的状态,采用上文中的两阶段的决策,确定待输出至环境的动作;按照类似的方式,总共可以确定出9个待输出至环境的动作。假设确定出的9个待输出至环境的动作均为动作C,则可以从数据回访缓存中获取这10组历史数据以用于后续的步骤112中的网络训练;假设确定出的9个待输出至环境的动作中仅前Y(Y为不大于8的整数)个为动作C,则可以从数据回访缓存中获取这10组历史数据中的前Y+1组历史数据以用于后续的步骤112中的网络训练。需要说明的是,这个例子中,其他条件用于保证基于两阶段的决策,在同样的状态下确定的待输出的动作与历史数据中记载的动作相同,这样有利于保证步骤112中训练出的第一网络的准确可靠性,为了便于说明,后续将该其他条件称为第二条件。
步骤112,以多组历史数据作为训练数据,利用多步自助法,训练第一网络。
可选地,在利用多步自助法,训练第一网络时,第一网络可以使用如下的目标函数训练:
θ表示第一网络计算未来奖励影响预测值时使用的算法的算法参数,D表示多组历史数据组成的集合,st、at、st+1依次表示位于同一历史数据中的状态、动作、下一个状态,Q表示第一网络计算未来奖励影响预测值时使用的算法,表示θ的历史版本,γ表示折现常数(其代表未来的奖励会随着时间的推迟贬值),t表示多组历史数据对应的最早时间点,T表示多组历史数据对应的最晚时间点,r表示奖励,V由相同状态下的Q对动作求期望得到,πta表示两阶段决策分布(对应上文中两阶段的决策),其中第一阶段用于候选动作的确定(对应上文中第一阶段的决策),第二阶段用于目标动作的选择(对应上文中第二阶段的决策),ST+1表示多组历史数据对应的最晚时间点的下一时间点智能体的状态,aT表示在多组历史数据对应的最晚时间点输出至环境的动作。
假设多组历史数据具体为10组历史数据,这10组历史数据对应的10个历史时间点按照由早至晚的顺序依次历史时间点1、历史时间点2、……、历史时间点10,则多组历史数据对应的最早时间点t具体为历史时间点1,多组历史数据对应的最晚时间点T具体为历史时间点10。
具体实施时,在从数据回访缓存中获取了多组历史数据的情况下,可以将多组历史数据中的每组历史数据中所记载的状态、动作、下一个状态、奖励均代入上面的目标函数,通过令目标函数的取值最小化,能够计算出作为第一网络计算未来奖励影响预测值时使用的算法的算法参数的θ,在θ被计算出来的情况下,可以认为成功训练得到第一网络,这时,只要给定状态和动作,第一网络即可计算并输出未来奖励影响预测值。
本公开的实施例中,由于TASAC在SAC决策之后加了一个第二阶段的决策(即二元切换决策),这样会出现连续的多个时间步重复输出同一个动作的情况,那么,可以基于上文中的第一条件和第二条件,进行多组历史数据的获取,并以多组历史数据作为训练数据,利用多步自助法,训练第一网络,这样相当于在同一个动作对应的多个时间步中的第一个时间步至最后一个时间步之间使用自助法,而无需局限于SAC中仅在相邻两个时间步之间使用自助法,导致自助法需要使用多次的情况,从而能够有效地提升第一网络的训练速度(即提升Q值的学习效率)。
需要说明的是,由于两阶段的决策的存在,本公开的实施例中的TASAC可以看做是一种分层控制方法。由于时序抽象的存在,本公开的实施例中的TASAC可以有以下两个重要特点:一、在某一个动作方向上的持续探索(persistent exploration);二、多时间步时序差值学习(multi-step TD learning)。以上这两个特点能够大大提升数据利用效率,使得TASAC在多个控制任务上相比SAC能够以很少的数据达到理想的学习效果。
图5是本公开一示例性实施例提供的网络训练方法的流程示意图。图5所示的方法包括步骤501、步骤502、步骤503、步骤504和步骤505,下面分别对各步骤进行说明。
步骤501,获取历史数据,所获取的历史数据中记载有第一时间点智能体所处环境的第二状态和第二时间点智能体输出至环境的第二历史动作,第一时间点为第二时间点的下一时间点。
需要说明的是,在深度强化学习过程中,可以针对任一已过去的时间点,确定智能体所处环境的状态和该时间点的下一时间点智能体输出至环境的动作,并通过一组历史数据记载所确定的状态和动作。可选地,所有历史数据均可以存储于数据回访缓存中;其中,数据回访缓存可以为智能体内部设置的一个数据缓存区。
在步骤501中,可以对数据回访缓存进行抽样,例如按照均等概率对数据回访缓存进行抽样,以从数据回访缓存中,获取历史数据,所获取的历史数据中记载的状态即可作为第二状态,所获取的历史数据中记载的动作即可作为第二历史动作。
可选地,从数据回访缓存中获取的历史数据的数量可以为多组,后文中仅以针对其中一组历史数据的相关处理为例进行说明。
步骤502,基于第二状态和第二历史动作,经由第二网络确定第一时间点针对智能体的第二候选动作。
这里,第二网络可以为通过训练得到的,能够根据给定的状态和动作,确定候选动作的网络。可选地,步骤501至步骤505可以周期性地执行,步骤502在当前周期利用的第二网络可以为之前的周期中由步骤505训练得到的第二网络。
在步骤502中,只需将第二状态和第二历史动作提供给第二网络,第二网络即可自行进行运算处理,以确定一候选动作,该候选动作可以作为第一时间点针对智能体的第二候选动作。
步骤503,基于第二状态、第二历史动作和第二候选动作,确定第二候选动作的被选中概率。
这里,第二候选动作的被选中概率可以是指:第二状态下,采用上文中的TASAC时,从第二历史动作和第二候选动作中,选择第二候选动作作为第一时间点输出至环境的动作的概率。可选地,第二候选动作的被选中概率可以表示为
步骤504,基于第二状态、第二历史动作、第二候选动作和被选中概率,确定第二网络的参数梯度。
这里,可以预先定义一用于计算参数梯度的公式,在步骤504中,只需将第二状态、第二历史动作、第二候选动作和被选中概率代入该公式,即可便捷可靠地计算出一参数梯度,该参数梯度可以作为第二网络的参数梯度。可选地,第二网络的参数梯度可以表示为Δφ。
步骤505,基于参数梯度,对第二网络进行训练。
这里,可以基于参数梯度,对第二网络中的各个参数进行调整,以实现第二网络的更新训练。需要说明的是,SAC中也存在基于参数梯度,进行网络训练的过程,步骤505的具体实施过程参照SAC中的相关训练过程即可,在此不再赘述。
基于本公开上述实施例提供的一种网络训练方法,可以在获取记载有第一时间点(其作为第二时间点的下一时间点)智能体所处环境的第二状态和第二时间点智能体输出至环境的第二历史动作的历史数据之后,基于第二状态和第二历史动作,经由第二网络确定第一时间点针对智能体的第二候选动作,接下来可以基于第二状态、第二历史动作和第二候选动作,确定第二候选动作的被选中概率,之后可以基于第二状态、第二历史动作、第二候选动作和被选中概率,确定第二网络的参数梯度,并基于参数梯度,对第二网络进行训练,以实现第二网络的更新训练,经更新训练后的第二网络可以用于本公开上述实施例提供的一种用于强化学习过程的动作输出方法中第一候选动作的确定,以保证确定出的第一候选动作的准确可靠性,从而保证最终选择并输出的目标动作的合理可靠性,进而有利于保证深度强化学习效果。
在图5所示实施例的基础上,如图6所示,步骤503,包括:
步骤5031,基于第二状态和第二候选动作,经由第一网络获取第二候选动作对应的未来奖励影响预测值。
这里,第一网络可以为通过训练得到的、能够根据给定的状态和动作,计算并输出未来奖励影响预测值的网络,第一网络的训练方式参照本公开上述实施例提供的一种用于强化学习过程的动作输出方法中相应部分的说明即可,在此不再赘述。
在步骤5031中,只需将第二状态和第二候选动作提供给第二网络,第二网络即可自行进行运算处理,以得到并输出一未来奖励影响预测值,该未来奖励影响预测值即可作为第二候选动作对应的未来奖励影响预测值。需要说明的是,第二候选动作对应的未来奖励影响预测值可以是指:在第二状态下,选择在第一时间点输出第二候选动作至环境时,预期智能体未来能够从环境拿到的所有奖励之和。
步骤5032,基于第二状态和第二历史动作,经由第一网络获取第二历史动作对应的未来奖励影响预测值。
与步骤5031类似,在步骤5032中,只需将第二状态和第二历史动作提供给第二网络,第二网络即可自行进行运算处理,以得到并输出一未来奖励影响预测值,该未来奖励影响预测值即可作为第二历史动作对应的未来奖励影响预测值。需要说明的是,第二历史动作对应的未来奖励影响预测值可以是指:在第二状态下,选择在第一时间点输出第二历史动作至环境时,预期智能体未来能够从环境拿到的所有奖励之和。
步骤5033,基于第二候选动作和第二历史动作各自对应的未来奖励影响预测值,确定第二候选动作的被选中概率。
在一种具体实施方式中,步骤5033,包括:
计算第二候选动作对应的未来奖励影响预测值与指定常数的第一比值;
计算第二历史动作对应的未来奖励影响预测值与指定常数的第二比值;
基于预设常数与第一比值,确定第一处理结果;
基于预设常数与第二比值,确定第二处理结果;
基于第一处理结果和第二处理结果,确定第一处理结果的归一化分数;
基于归一化分数,确定第二候选动作的被选中概率。
这里,第二候选动作对应的未来奖励影响预测值可以表示为Q(1),第二历史动作对应的未来奖励影响预测值可以表示为为Q(0),指定常数可以表示为α,预设常数可以表示为e。
这种实施方式中,可以先将Q(1)与α相除,以得到作为第一比值的z1,并将Q(0)与α相除,以得到作为第二比值的z2。
接下来,可以基于e与z1,确定第一处理结果,并基于e与z2,确定第二处理结果。可选地,可以将e作为底,将z1作为指数,进行指数函数运算处理,以将运算处理结果作为第一处理结果,这样,第一处理结果可以表示为exp(z1);类似地,可以将e作为底,将z2作为指数,进行指数函数运算处理,以将运算处理结果作为第二处理结果,这样,第二处理结果可以表示为exp(z2)。
之后,可以基于作为第一处理结果的exp(z1)和作为第二处理结果的exp(z2),确定作为第一处理结果的exp(z1)的归一化分数。可选地,exp(z1)的归一化分数可以表示为以下式子:
类似地,exp(z2)的归一化分数可以表示为以下式子:
再之后,可以基于exp(z1)的归一化分数,确定第二候选动作的被选中概率,例如,可以直接将exp(z1)的归一化分数作为第二候选动作的被选中概率。
这种实施方式中,结合第二候选动作对应的未来奖励影响预测值、第二历史动作对应的未来奖励影响预测值、指定常数、预设常数,以及简单的除法运算、指数函数运算、归一化运算,能够非常便捷可靠地计算出第二候选动作的被选中概率。
可见,本公开的实施例中,经由第一网络,能够非常便捷可靠地确定出第二候选动作和第二历史动作各自对应的未来奖励影响预测值,基于所确定的未来奖励影响预测值,能够合理确定第二候选动作的被选中概率,以便将第二候选动作的被选中概率用于第二网络的训练。
在一个可选示例中,确定第二网络的参数梯度时使用的公式可以为:
Δφ表示参数梯度,表示被选中概率,Q表示第一网络计算未来奖励影响预测值时使用的算法,θ表示第一网络计算未来奖励影响预测值时使用的算法的算法参数,s表示第二状态,表示第二候选动作,α表示指定常数,π表示第二网络确定候选动作时使用的算法,φ表示第二网络确定候选动作时使用的算法的算法参数,a-表示第二历史动作,f表示第二网络的指定子网络使用的算法。
本公开的实施例中,若Q、θ、π、φ已知,只需将第二状态、第二候选动作、第二历史动作均代入上述公式,即可便捷可靠地计算出作为第二网络的参数梯度的Δφ。通过与目前的SAC中的参数梯度对比,本公开的实施例中计算出的参数梯度其实就是在前面多乘了一个系数
下面对上文中确定第二网络的参数梯度时使用的公式的由来进行介绍。
接下来可以有如下的推导过程:
为了学习得到πφ和β,可以设置如下的目标函数:
推导过程具体可以为:
假设我们有N个取值,任一取值可以表示为X(i),i=0,……,N-1,我们想通过如下的目标函数,找到一个离散分布的P:
其中,α可以大于0。
通过利用拉格朗日乘子λ,可以将该目标函数转换成一无约束优化问题,即:
通过对上式中的每个P(i)取导数并将其设置为0,可以得到如下式子:
其中,λ需要确保如下式子满足:
需要说明的是,直观上来说,上述最优的β分布的形式告诉我们,选择前一时刻的动作还是当前的候选动作,主要是比较它们对应的Q值,动作被选中的概率和Q值的exp()成正比,有鉴于此,上述步骤5033的具体实施方式中,可以结合除法运算、指数函数运算、归一化运算来计算第二候选动作的被选中概率。另外,通过将这个最优的β分布的形式代入为了学习得到πφ和β而设置的目标函数,可以经简化得到一个如下所示只关于πφ的目标函数:
通过用这个目标函数对φ求导,即可得到上文中确定第二网络的参数梯度时使用的公式。
需要说明的是,在上文中利用多步自助法,训练第一网络,以提升第一网络的训练速度时,也有利于提升第二网络的训练速度(即促进πφ的学习加快),这样,本公开的实施例中的TASAC相比于目前的SAC会更加具有数据高效性。
本公开实施例提供的任一种用于强化学习过程的动作输出方法可以由任意适当的具有数据处理能力的设备执行,包括但不限于:终端设备、服务器、智能体等。或者,本公开实施例提供的任一种用于强化学习过程的动作输出方法可以由处理器执行,如处理器通过调用存储器存储的相应指令来执行本公开实施例提及的任一种用于强化学习过程的动作输出方法。下文不再赘述。
本公开实施例提供的任一种网络训练方法可以由任意适当的具有数据处理能力的设备执行,包括但不限于:终端设备、服务器、智能体等。或者,本公开实施例提供的任一种网络训练方法可以由处理器执行,如处理器通过调用存储器存储的相应指令来执行本公开实施例提及的任一种用于网络训练方法。下文不再赘述。
示例性装置
图7是本公开一示例性实施例提供的用于强化学习过程的动作输出装置的结构示意图。图7所示的装置包括第一确定模块701、第二确定模块702、选择模块703和输出模块704。
第一确定模块701,用于确定当前时间点智能体所处环境的第一状态;
第二确定模块702,用于基于第一确定模块701确定的第一状态和上一时间点智能体输出至环境的第一历史动作,确定当前时间点针对智能体的第一候选动作;
选择模块703,用于从第二确定模块702确定的第一候选动作和第一历史动作中,选择一个目标动作;
输出模块704,用于控制智能体在当前时间点输出选择模块703选择的目标动作。
在一个可选示例中,如图8所示,选择模块703,包括:
第一获取子模块7031,用于基于第一确定模块701确定的第一状态和第二确定模块702确定的第一候选动作,经由第一网络获取第二确定模块702确定的第第一候选动作对应的未来奖励影响预测值;
第二获取子模块7032,用于基于第一确定模块701确定的第一状态和第一历史动作,经由第一网络获取第一历史动作对应的未来奖励影响预测值;
选择子模块7032,用于从第二确定模块702确定的第一候选动作和第一历史动作中,选择第一获取子模块7031和第二获取子模块7032各自所获取的未来奖励影响预测值中、所对应未来奖励影响预测值较大的动作作为目标动作。
在一个可选示例中,如图8所示,该装置还包括:
第一获取模块711,用于获取多组历史数据,所获取的每组历史数据中均记载有环境的状态、智能体输出至环境的动作、环境的下一个状态、环境的状态转移产生的奖励,并且,多组历史数据在时间线上两两相邻,多组历史数据中记载的动作相同;
第一训练模块712,用于以第一获取模块711获取的多组历史数据作为训练数据,利用多步自助法,训练第一网络。
可选地,第一获取模块711可以仅基于上文中的第一条件,从数据回访缓存中获取多组历史数据;或者,第一获取模块711可以基于上文中的第一条件和第二条件,从数据回访缓存中获取多组历史数据。
在一个可选示例中,第一网络使用如下的目标函数训练:
θ表示第一网络计算未来奖励影响预测值时使用的算法的算法参数,D表示多组历史数据组成的集合,st、at、st+1依次表示位于同一历史数据中的状态、动作、下一个状态,Q表示第一网络计算未来奖励影响预测值时使用的算法,表示θ的历史版本,γ表示折现常数,t表示多组历史数据对应的最早时间点,T表示多组历史数据对应的最晚时间点,r表示奖励,V由相同状态下的Q对动作求期望得到,πta表示两阶段决策分布,其中第一阶段用于候选动作的确定,第二阶段用于目标动作的选择,ST+1表示多组历史数据对应的最晚时间点的下一时间点智能体的状态,aT表示在多组历史数据对应的最晚时间点输出至环境的动作。
图9是本公开一示例性实施例提供的网络训练装置的结构示意图。图9所示的装置包括第二获取模块901、第三确定模块902、第四确定模块903和第五确定模块904和第二训练模块905。
第二获取模块901,用于获取历史数据,所获取的历史数据中记载有第一时间点智能体所处环境的第二状态和第二时间点智能体输出至环境的第二历史动作,第一时间点为第二时间点的下一时间点;
第三确定模块902,用于基于第二获取模块901获取的历史数据中记载的第二状态和第二历史动作,经由第二网络确定第一时间点针对智能体的第二候选动作;
第四确定模块903,用于基于第二获取模块901获取的历史数据中记载的第二状态和第二历史动作,以及第三确定模块902确定的第二候选动作,确定第二候选动作的被选中概率;
第五确定模块904,用于基于第二获取模块901获取的历史数据中记载的第二状态和第二历史动作,第三确定模块902确定的第二候选动作,以及第四确定模块903确定的被选中概率,确定第二网络的参数梯度;
第二训练模块905,用于基于第五确定模块904确定的参数梯度,对第二网络进行训练。
在一个可选示例中,如图10所示,第四确定模块903,包括:
第三获取子模块9031,用于基于第二获取模块901获取的历史数据中记载的第二状态和第三确定模块902确定的第二候选动作,经由第一网络获取第三确定模块902确定的第二候选动作对应的未来奖励影响预测值;
第四获取子模块9032,用于基于第二获取模块901获取的历史数据中记载的第二状态和第二历史动作,经由第一网络获取第二获取模块901获取的历史数据中记载的第二历史动作对应的未来奖励影响预测值;
确定子模块9033,用于基于第三获取子模块9031获取的第二候选动作对应的未来奖励影响预测值和第四获取子模块9032获取的第二历史动作对应的未来奖励影响预测值,确定第三确定模块902确定的第二候选动作的被选中概率。
在一个可选示例中,如图10所示,确定子模块9033,包括:
第一计算单元90331,用于计算第三获取子模块9031获取的第二候选动作对应的未来奖励影响预测值与指定常数的第一比值;
第二计算单元90332,用于计算第四获取子模块9032获取的第二历史动作对应的未来奖励影响预测值与指定常数的第二比值;
第一确定单元90333,用于基于预设常数与第一计算单元90331计算的第一比值,确定第一处理结果;
第二确定单元90334,用于基于预设常数与第二计算单元90332计算的第二比值,确定第二处理结果;
第三确定单元90335,用于基于第一确定单元90333确定的第一处理结果和第二确定单元90334确定的第二处理结果,确定第一处理结果的归一化分数;
第四确定单元90336,用于基于第三确定单元90335确定的归一化分数,确定第二候选动作的被选中概率。
在一个可选示例中,确定参数梯度时使用的公式为:
Δφ表示参数梯度,表示被选中概率,Q表示第一网络计算未来奖励影响预测值时使用的算法,θ表示第一网络计算未来奖励影响预测值时使用的算法的算法参数,s表示第二状态,表示第二候选动作,α表示指定常数,π表示第二网络确定候选动作时使用的算法,φ表示第二网络确定候选动作时使用的算法的算法参数,a-表示第二历史动作,f表示第二网络的指定子网络使用的算法。
示例性电子设备
下面,参考图11来描述根据本公开实施例的电子设备。该电子设备可以是第一设备和第二设备中的任一个或两者、或与它们独立的单机设备,该单机设备可以与第一设备和第二设备进行通信,以从它们接收所采集到的输入信号。
图11图示了根据本公开实施例的电子设备的框图。
如图11所示,电子设备1100包括一个或多个处理器1101和存储器1101。
处理器1101可以是中央处理单元(CPU)或者具有数据处理能力和/或指令执行能力的其他形式的处理单元,并且可以控制电子设备1100中的其他组件以执行期望的功能。
存储器1101可以包括一个或多个计算机程序产品,所述计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。所述易失性存储器例如可以包括随机存取存储器(RAM)和/或高速缓冲存储器(cache)等。所述非易失性存储器例如可以包括只读存储器(ROM)、硬盘、闪存等。在所述计算机可读存储介质上可以存储一个或多个计算机程序指令,处理器1101可以运行所述程序指令,以实现上文所述的本公开的各个实施例的用于强化学习过程的动作输出方法或者网络训练方法。在所述计算机可读存储介质中还可以存储诸如输入信号、信号分量、噪声分量等各种内容。
在一个示例中,电子设备1100还可以包括:输入装置1103和输出装置1104,这些组件通过总线***和/或其他形式的连接机构(未示出)互连。
例如,在该电子设备是第一设备或第二设备时,该输入装置1103可以是麦克风或麦克风阵列。在该电子设备是单机设备时,该输入装置13可以是通信网络连接器,用于从第一设备和第二设备接收所采集的输入信号。
此外,该输入装置1103还可以包括例如键盘、鼠标等等。
该输出装置1104可以向外部输出各种信息,包括确定出的距离信息、方向信息等。该输出装置1104可以包括例如显示器、扬声器、打印机、以及通信网络及其所连接的远程输出设备等等。
当然,为了简化,图11中仅示出了该电子设备1100中与本公开有关的组件中的一些,省略了诸如总线、输入/输出接口等等的组件。除此之外,根据具体应用情况,电子设备1100还可以包括任何其他适当的组件。
示例性计算机程序产品和计算机可读存储介质
除了上述方法和设备以外,本公开的实施例还可以是计算机程序产品,其包括计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行本说明书上述“示例性方法”部分中描述的根据本公开各种实施例的用于强化学习过程的动作输出方法或者网络训练方法中的步骤。
所述计算机程序产品可以以一种或多种程序设计语言的任意组合来编写用于执行本公开实施例操作的程序代码,所述程序设计语言包括面向对象的程序设计语言,诸如Java、C++等,还包括常规的过程式程序设计语言,诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。
此外,本公开的实施例还可以是计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行本说明书上述“示例性方法”部分中描述的根据本公开各种实施例的用于强化学习过程的动作输出方法或者网络训练方法中的步骤。
所述计算机可读存储介质可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以包括但不限于电、磁、光、电磁、红外线、或半导体的***、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
以上结合具体实施例描述了本公开的基本原理,但是,需要指出的是,在本公开中提及的优点、优势、效果等仅是示例而非限制,不能认为这些优点、优势、效果等是本公开的各个实施例必须具备的。另外,上述公开的具体细节仅是为了示例的作用和便于理解的作用,而非限制,上述细节并不限制本公开为必须采用上述具体的细节来实现。
本说明书中各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似的部分相互参见即可。对于***实施例而言,由于其与方法实施例基本对应,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本公开中涉及的器件、装置、设备、***的方框图仅作为例示性的例子并且不意图要求或暗示必须按照方框图示出的方式进行连接、布置、配置。如本领域技术人员将认识到的,可以按任意方式连接、布置、配置这些器件、装置、设备、***。诸如“包括”、“包含”、“具有”等等的词语是开放性词汇,指“包括但不限于”,且可与其互换使用。这里所使用的词汇“或”和“和”指词汇“和/或”,且可与其互换使用,除非上下文明确指示不是如此。这里所使用的词汇“诸如”指词组“诸如但不限于”,且可与其互换使用。
可能以许多方式来实现本公开的方法和装置。例如,可通过软件、硬件、固件或者软件、硬件、固件的任何组合来实现本公开的方法和装置。用于所述方法的步骤的上述顺序仅是为了进行说明,本公开的方法的步骤不限于以上具体描述的顺序,除非以其它方式特别说明。此外,在一些实施例中,还可将本公开实施为记录在记录介质中的程序,这些程序包括用于实现根据本公开的方法的机器可读指令。因而,本公开还覆盖存储用于执行根据本公开的方法的程序的记录介质。
还需要指出的是,在本公开的装置、设备和方法中,各部件或各步骤是可以分解和/或重新组合的。这些分解和/或重新组合应视为本公开的等效方案。
提供所公开的方面的以上描述以使本领域的任何技术人员能够做出或者使用本公开。对这些方面的各种修改对于本领域技术人员而言是非常显而易见的,并且在此定义的一般原理可以应用于其他方面而不脱离本公开的范围。因此,本公开不意图被限制到在此示出的方面,而是按照与在此公开的原理和新颖的特征一致的最宽范围。
为了例示和描述的目的已经给出了以上描述。此外,此描述不意图将本公开的实施例限制到在此公开的形式。尽管以上已经讨论了多个示例方面和实施例,但是本领域技术人员将认识到其某些变型、修改、改变、添加和子组合。
Claims (10)
1.一种用于强化学习过程的动作输出方法,包括:
确定当前时间点智能体所处环境的第一状态;
基于所述第一状态和上一时间点所述智能体输出至所述环境的第一历史动作,确定当前时间点针对所述智能体的第一候选动作;
从所述第一候选动作和所述第一历史动作中,选择一个目标动作;
控制所述智能体在当前时间点输出所述目标动作。
2.根据权利要求1所述的方法,其中,所述从所述第一候选动作和所述第一历史动作中,选择一个目标动作,包括:
基于所述第一状态和所述第一候选动作,经由第一网络获取所述第一候选动作对应的未来奖励影响预测值;
基于所述第一状态和所述第一历史动作,经由所述第一网络获取所述第一历史动作对应的未来奖励影响预测值;
从所述第一候选动作和所述第一历史动作中,选择所对应未来奖励影响预测值较大的动作作为目标动作。
3.根据权利要求2所述的方法,其中,所述方法还包括:
获取多组历史数据,所获取的每组历史数据中均记载有所述环境的状态、所述智能体输出至所述环境的动作、所述环境的下一个状态、所述环境的状态转移产生的奖励,并且,所述多组历史数据在时间线上两两相邻,所述多组历史数据中记载的动作相同;
以所述多组历史数据作为训练数据,利用多步自助法,训练所述第一网络。
4.一种网络训练方法,包括:
获取历史数据,所获取的历史数据中记载有第一时间点智能体所处环境的第二状态和第二时间点所述智能体输出至所述环境的第二历史动作,所述第一时间点为所述第二时间点的下一时间点;
基于所述第二状态和所述第二历史动作,经由第二网络确定所述第一时间点针对所述智能体的第二候选动作;
基于所述第二状态、所述第二历史动作和所述第二候选动作,确定所述第二候选动作的被选中概率;
基于所述第二状态、所述第二历史动作、所述第二候选动作和所述被选中概率,确定所述第二网络的参数梯度;
基于所述参数梯度,对所述第二网络进行训练。
5.根据权利要求4所述的方法,其中,所述基于所述第二状态、所述第二历史动作和所述第二候选动作,确定所述第二候选动作的被选中概率,包括:
基于所述第二状态和所述第二候选动作,经由第一网络获取所述第二候选动作对应的未来奖励影响预测值;
基于所述第二状态和所述第二历史动作,经由所述第一网络获取所述第二历史动作对应的未来奖励影响预测值;
基于所述第二候选动作和所述第二历史动作各自对应的未来奖励影响预测值,确定所述第二候选动作的被选中概率。
6.根据权利要求5所述的方法,其中,所述基于所述第二候选动作和所述第二历史动作各自对应的未来奖励影响预测值,确定所述第二候选动作的被选中概率,包括:
计算所述第二候选动作对应的未来奖励影响预测值与指定常数的第一比值;
计算所述第二历史动作对应的未来奖励影响预测值与指定常数的第二比值;
基于预设常数与所述第一比值,确定第一处理结果;
基于所述预设常数与所述第二比值,确定第二处理结果;
基于所述第一处理结果和所述第二处理结果,确定所述第一处理结果的归一化分数;
基于所述归一化分数,确定所述第二候选动作的被选中概率。
7.一种用于强化学习过程的动作输出装置,包括:
第一确定模块,用于确定当前时间点智能体所处环境的第一状态;
第二确定模块,用于基于所述第一确定模块确定的所述第一状态和上一时间点所述智能体输出至所述环境的第一历史动作,确定当前时间点针对所述智能体的第一候选动作;
选择模块,用于从所述第二确定模块确定的所述第一候选动作和所述第一历史动作中,选择一个目标动作;
输出模块,用于控制所述智能体在当前时间点输出所述选择模块选择的所述目标动作。
8.一种网络训练装置,包括:
第二获取模块,用于获取历史数据,所获取的历史数据中记载有第一时间点智能体所处环境的第二状态和第二时间点所述智能体输出至所述环境的第二历史动作,所述第一时间点为所述第二时间点的下一时间点;
第三确定模块,用于基于所述获取模块获取的历史数据中记载的所述第二状态和所述第二历史动作,经由第二网络确定所述第一时间点针对所述智能体的第二候选动作;
第四确定模块,用于基于所述获取模块获取的历史数据中记载的所述第二状态和所述第二历史动作,以及所述第三确定模块确定的所述第二候选动作,确定所述第二候选动作的被选中概率;
第五确定模块,用于基于所述获取模块获取的历史数据中记载的所述第二状态和所述第二历史动作,所述第三确定模块确定的所述第二候选动作,以及所述第四确定模块确定的所述被选中概率,确定所述第二网络的参数梯度;
第二训练模块,用于基于所述第五确定模块确定的所述参数梯度,对所述第二网络进行训练。
9.一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序用于执行上述权利要求1-3中任一所述的用于强化学习过程的动作输出方法,或者用于执行上述权利要求4-6中任一所述的网络训练方法。
10.一种电子设备,包括:
处理器;
用于存储所述处理器可执行指令的存储器;
所述处理器,用于从所述存储器中读取所述可执行指令,并执行所述指令以实现上述权利要求1-3中任一所述的用于强化学习过程的动作输出方法,或者用于执行上述权利要求4-6中任一所述的网络训练方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110376318.XA CN113112016A (zh) | 2021-04-07 | 2021-04-07 | 用于强化学习过程的动作输出方法、网络训练方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110376318.XA CN113112016A (zh) | 2021-04-07 | 2021-04-07 | 用于强化学习过程的动作输出方法、网络训练方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113112016A true CN113112016A (zh) | 2021-07-13 |
Family
ID=76714647
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110376318.XA Pending CN113112016A (zh) | 2021-04-07 | 2021-04-07 | 用于强化学习过程的动作输出方法、网络训练方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113112016A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113807460A (zh) * | 2021-09-27 | 2021-12-17 | 北京地平线机器人技术研发有限公司 | 智能体动作的确定方法和装置、电子设备和介质 |
CN114141028A (zh) * | 2021-11-19 | 2022-03-04 | 哈尔滨工业大学(深圳) | 智能红绿灯车流调控*** |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110826725A (zh) * | 2019-11-07 | 2020-02-21 | 深圳大学 | 基于认知的智能体强化学习方法、装置、***、计算机设备及存储介质 |
WO2020121494A1 (ja) * | 2018-12-13 | 2020-06-18 | 日本電気株式会社 | 演算装置、アクション決定方法、及び制御プログラムを格納する非一時的なコンピュータ可読媒体 |
CN111612126A (zh) * | 2020-04-18 | 2020-09-01 | 华为技术有限公司 | 强化学习的方法和装置 |
US20200372366A1 (en) * | 2019-05-23 | 2020-11-26 | Deepmind Technologies Limited | Jointly learning exploratory and non-exploratory action selection policies |
-
2021
- 2021-04-07 CN CN202110376318.XA patent/CN113112016A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020121494A1 (ja) * | 2018-12-13 | 2020-06-18 | 日本電気株式会社 | 演算装置、アクション決定方法、及び制御プログラムを格納する非一時的なコンピュータ可読媒体 |
US20200372366A1 (en) * | 2019-05-23 | 2020-11-26 | Deepmind Technologies Limited | Jointly learning exploratory and non-exploratory action selection policies |
CN110826725A (zh) * | 2019-11-07 | 2020-02-21 | 深圳大学 | 基于认知的智能体强化学习方法、装置、***、计算机设备及存储介质 |
CN111612126A (zh) * | 2020-04-18 | 2020-09-01 | 华为技术有限公司 | 强化学习的方法和装置 |
Non-Patent Citations (1)
Title |
---|
张文志等: "自适应模糊RBF神经网络的多智能体机器人强化学习", 计算机工程与应用, no. 32, pages 111 - 115 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113807460A (zh) * | 2021-09-27 | 2021-12-17 | 北京地平线机器人技术研发有限公司 | 智能体动作的确定方法和装置、电子设备和介质 |
CN113807460B (zh) * | 2021-09-27 | 2024-05-14 | 北京地平线机器人技术研发有限公司 | 智能体动作的确定方法和装置、电子设备和介质 |
CN114141028A (zh) * | 2021-11-19 | 2022-03-04 | 哈尔滨工业大学(深圳) | 智能红绿灯车流调控*** |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11842281B2 (en) | Reinforcement learning with auxiliary tasks | |
CN109313722B (zh) | 存储器高效的基于时间的反向传播 | |
US10679126B2 (en) | Action selection for reinforcement learning using neural networks | |
US11388424B2 (en) | Making object-level predictions of the future state of a physical system | |
US20160096272A1 (en) | Apparatus and methods for training of robots | |
CN113112016A (zh) | 用于强化学习过程的动作输出方法、网络训练方法及装置 | |
US20210089834A1 (en) | Imagination-based agent neural networks | |
US11989658B2 (en) | Method and apparatus for reinforcement machine learning | |
CN110892420A (zh) | 基于想象力的代理神经网络 | |
JP7474446B2 (ja) | マルチラベル予測に適したニューラルネットワークの射影層 | |
US11126190B2 (en) | Learning systems and methods | |
CN116097277A (zh) | 使用渐进式知识蒸馏训练神经网络模型的方法和*** | |
CN114648103A (zh) | 用于处理深度学习网络的自动多目标硬件优化 | |
Ribeiro | A tutorial on reinforcement learning techniques | |
JP2020505672A (ja) | データ・シーケンスに基づく予測モデルの双方向学習のための学習装置、方法及びコンピュータ・プログラム | |
CN111242162A (zh) | 图像分类模型的训练方法、装置、介质以及电子设备 | |
CN114193443A (zh) | 用于控制机器人设备的设备和方法 | |
US9135563B2 (en) | Using cyclic Markov decision process to determine optimum policy | |
US20230019364A1 (en) | Selection method of learning data and computer system | |
WO2023086196A1 (en) | Domain generalizable continual learning using covariances | |
JP7464115B2 (ja) | 学習装置、学習方法および学習プログラム | |
US20210264259A1 (en) | Learning device, inference device, learning method, and inference method | |
Kolb et al. | Learning to Request Guidance in Emergent Communication | |
EP3859508B1 (en) | Storage controllers and storage systems | |
US20240157969A1 (en) | Methods and systems for determining control decisions for a vehicle |
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 |