动作决策方法、装置、介质和计算设备与流程

文档序号:30844752发布日期:2022-07-23 02:01阅读:111来源:国知局
动作决策方法、装置、介质和计算设备与流程

1.本技术的实施例涉及人工智能领域,更具体地涉及一种动作决策方法、装置、介质和计算设备。


背景技术:

2.注意力机制是机器学习中的一种重要的技术,通过神经网络对图片、自然语言序列等输入信息进行处理,可以得到对这些输入内容的不同组成部分的显式的权重表示,为神经网络的后续学习提供重点。这种机制非常类似于人类在决策中会根据处理问题的不同,而选择性的分配自身注意力的情况,在取得优异效果的同时,也更加有利于人们理解神经网络的决策依据。注意力机制有3个关键的组件,即查询(query),主键(key),键值(value),其关系是在给出某一个查询(query)时,确定在当前的所有键值(value)中,更值得关注的是哪些主键(key)对应的键值(value)。
3.强化学习要解决的是一个序列决策问题,主要过程是训练一个模型,该模型可以基于一个状态(state),给出一个动作(action),当这个动作在真实环境中执行以后,环境会返回给模型一个奖励(reward),模型需要不断的调整自己,从而使其通过执行一系列的动作后,可以获得最高的累积奖励。由于其具有解决序列决策问题的能力,在游戏、推荐、自动驾驶等领域中都有着快速的发展,围棋人工智能alphago、星际争霸人工智能alphastar等都是使用强化学习方式训练得到的。
4.目前,已经有一些方法把强化学习和注意力机制结合起来,通过在强化学习算法中引入注意力机制,可以让模型有能力模仿人类在决策时会根据情况分配自身注意力的现象,更好的分辨各个状态(state)下需要关注的重点内容,提高模型训练的效率和最终的模型输出效果。然而这些方式仍然是跟随其他领域的成果,以自注意力机制或者序列注意力机制为主,并没有充分适配强化学习需要基于状态对待执行动作进行决策的特点,挖掘出在注意力机制的应用上,状态与待执行动作的影响关系。


技术实现要素:

5.本技术的实施例期望提供一种动作决策方法、装置、介质和计算设备,充分适配强化学习需要基于状态对待执行动作进行决策的特点,引入基于决策动作的注意力机制,可以提高决策效果,以便更好的完成各项任务。
6.在本技术的第一方面中,提供了一种动作决策方法,包括:
7.获取智能体的状态向量以及多个候选动作向量,其中,每个候选动作向量对应一个候选动作;
8.分别获取每个候选动作向量对所述状态向量的注意力向量;
9.根据所述状态向量以及每个所述候选动作向量对应的所述注意力向量,得到每个所述候选动作向量对应的加权状态向量;
10.将各个所述加权状态向量分别输入至强化学习网络,获得多个概率分布向量,其
中,每个所述概率分布向量中包含各个所述候选动作被执行的概率;
11.基于所述多个概率分布向量从多个候选动作中确定待执行动作。
12.在本技术的一个实施例中,所述分别获取每个候选动作向量对所述状态向量的注意力向量,包括:
13.将所述状态向量与每个所述候选动作向量分别拼接,得到与每个所述候选动作向量分别对应的动作扩展向量;
14.将每个所述动作扩展向量分别输入至注意力计算网络中,得到每个所述候选动作向量对所述状态向量的注意力向量。
15.在本技术的一个实施例中,所述获取多个候选动作向量,包括:
16.对每个候选动作分别进行独热编码,得到各个候选动作对应的候选动作向量。
17.在本技术的一个实施例中,所述注意力向量与所述状态向量的维度相同,其中,所述注意力向量中各个维度的注意力总和为1;
18.根据所述状态向量以及一个所述候选动作向量对应的所述注意力向量,得到所述候选动作向量对应的加权状态向量,包括:
19.将所述注意力向量中的各个维度的注意力分别与所述状态向量中对应维度的状态相乘,得到所述候选动作向量对应的加权状态向量。
20.在本技术的一个实施例中,所述基于所述多个概率分布向量从多个候选动作中确定待执行动作,包括:
21.对所述多个概率分布向量进行压缩,得到目标概率分布向量,其中,所述目标概率分布向量包括各个候选动作被执行的概率;
22.根据所述目标概率分布向量从所述多个候选动作中确定待执行动作。
23.在本技术的一个实施例中,所述对所述多个概率分布向量进行压缩,得到目标概率分布向量,包括:
24.针对每个所述概率分布向量,从所述概率分布向量中选择与对应的所述候选动作向量对应的目标概率;
25.根据每个所述候选动作向量对应的所述目标概率,得到目标概率分布向量。
26.在本技术的一个实施例中,所述根据所述目标概率分布向量从多个所述候选动作中确定待执行动作,包括:
27.通过随机采样的方式,根据所述目标概率分布确定待执行动作;
28.或者,将所述目标概率分布向量中最大概率值对应的候选动作确定为待执行动作。
29.在本技术的第二方面中,提供了一种动作决策装置,包括:
30.获取模块,被配置为获取智能体的状态向量以及多个候选动作向量,其中,每个候选动作向量对应一个候选动作;
31.注意力获取模块,被配置为分别获取每个候选动作向量对所述状态向量的注意力向量;
32.注意力加权模块,被配置为根据所述状态向量以及每个所述候选动作向量对应的所述注意力向量,得到每个所述候选动作向量对应的加权状态向量;
33.动作决策模块,将各个所述加权状态向量分别输入至强化学习网络,获得多个概
率分布向量,其中,每个所述概率分布向量中包含各个所述候选动作被执行的概率;以及基于所述多个概率分布向量从多个候选动作中确定待执行动作
34.在本技术的第三方面中,提供了计算机可读存储介质,其包括指令,当其在计算机上运行时,使得计算机执行如第一方面中任一项所述的方法。
35.在本技术的第四方面中,提供了一种计算设备,包括存储器,处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,所述处理器执行所述计算机程序时实现第一方面中任一项所述的方法。
36.根据本技术实施例的动作决策方法、装置、介质和计算设备,计算每个候选动作对当前状态的注意力向量,即在同一个状态下,不同动作会偏向于关注状态中哪些维度的内容,进而在对候选动作进行决策时,不仅仅基于当前状态,还基于不同动作对当前状态各个维度的关注程度。本技术通过引入决策动作的注意力机制,实现模拟人类在进行决策时的过程,将人类的在决策时的信息筛选过程引入到了强化学习中,通过这种动态的、动作相关的注意力机制可以提高决策效果,以便更好的完成各项任务。
附图说明
37.通过参考附图阅读下文的详细描述,本技术示例性实施例的上述以及其他目的、特征和优点将变得易于理解。在附图中,以示例性而非限制性的方式示出了本技术的若干实施例,其中:
38.图1是强化学习的现有训练过程示意图;
39.图2是根据本技术的一个实施例的动作决策方法的网络架构图;
40.图3是根据本技术的一个实施例的动作决策方法的流程示意图;
41.图4是根据本技术的一个实施例的动作决策方法的智能体数据处理及交互示意图;
42.图5是根据本技术的又一个实施例的动作决策方法的智能体数据处理及交互示意图;
43.图6是根据本技术的一个实施例的动作决策装置的结构示意图;
44.图7是用于实施本技术的一种存储介质的结构示意图;
45.图8是用于实施本技术的一种计算设备的结构示意图。
46.在附图中,相同或对应的标号表示相同或对应的部分。
具体实施方式
47.下面将参考若干示例性实施例来描述本技术的原理和精神。应当理解,给出这些实施例仅仅是为了使本领域技术人员能够更好地理解进而实现本技术,而并非以任何方式限制本技术的范围。相反,提供这些实施例是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。
48.本领域技术人员知道,本技术的实施例可以实现为一种系统、装置、设备、方法或计算机程序产品。因此,本公开可以具体实现为以下形式,即:完全的硬件、完全的软件(包括固件、驻留软件、微代码等),或者硬件和软件结合的形式。
49.此外,附图中的任何元素数量均用于示例而非限制,以及任何命名都仅用于区分,
而不具有任何限制含义。
50.根据本技术的实施例,提出了一种用于人工智能领域中强化学习模型的动作决策方法、装置、介质和计算设备。
51.其中,人工智能(artificial intelligence,ai)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
52.人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度强化学习等几大方向。
53.其中,强化学习(reinforcement learning,rl),是一种通过经验进行策略自主学习的数学框架。又称再励学习、评价学习或增强学习,用于描述和解决智能体(agent)在与环境的交互过程中通过学习策略以达成回报最大化或实现特定目标的问题。
54.强化学习是智能体(agent)以“试错”的方式进行学习,通过动作(action)与环境进行交互获得的奖励(reward)指导行为,目标是使智能体获得最大的奖励。强化学习无需训练数据集。强化学习中由环境提供的强化信号(即奖励)对产生动作的好坏作一种评价,而不是告诉强化学习系统如何去产生正确的动作。由于外部环境提供的信息很少,智能体必须靠自身的经历进行学习。通过这种方式,智能体在行动-评价(即奖励)的环境中获得知识,改进行动方案以适应环境。
55.图1是强化学习的训练过程示意图。如图1所示,强化学习主要包含四个元素:智能体(agent)、环境(environment)状态(state)、动作(action)与奖励(reward),其中,智能体的输入为状态,输出为动作。
56.当前技术中,强化学习的训练过程为:通过智能体与环境进行多次交互,获得每次交互的动作、状态、奖励;将这多组(动作,状态,奖励)作为训练数据,对智能体进行一次训练。采用上述过程,对智能体进行下一轮次训练,直至满足收敛条件。
57.其中,获得一次交互的动作、状态、奖励的过程如图1所示,将环境当前状态s(t)输入至智能体,获得智能体输出的动作a(t),根据环境在动作a(t)作用下的相关性能指标计算本次交互的奖励r(t),至此,获得本次交互的状态s(t)、动作a(t)与奖励r(t)。记录本次交互的状态s(t)、动作a(t)与奖励r(t),以备后续用来训练智能体。还记录环境在动作a(t)作用下的下一个状态s(t+1),以便实现智能体与环境的下一次交互。
58.智能体(agent):是指能够决策并与环境进行交互的实体。例如,智能体可以是某个特定的环境下的计算机系统或者计算机系统的一部分。智能体可以根据自身对环境的感知,按照已有的指示或者通过自主学习,并与其他智能体进行沟通协作,在其所处的环境中自主地完成设定的目标。智能体可以是软件或者软件和硬件结合的实体。
59.马尔可夫决策过程(markov decision process,mdp):是强化学习的常见模型,为一种基于离散时间随机控制的分析决策问题的数学模型。其假设环境具有马尔可夫性质(环境的未来状态的条件概率分布仅依赖于当前状态和决策),决策者通过周期性地观察环
境的状态,根据当前环境的状态做出决策(也可称为动作),与环境交互后得到下一步的状态及奖励。换句话说,在每个时刻t,决策者所观察到的状态s(t),在所做动作a(t)的影响下,会转移到下一步状态s(t+1),并反馈奖励r(t)。其中,s(t)表示状态函数,a(t)表示动作函数,r(t)表示奖励,t表示时间。
60.策略网络:是指智能体在强化学习中使用的采用行为的规则。例如,在学习过程中,可以根据状态输出动作,并以此动作探索环境,以更新状态。策略网络的更新依赖于策略梯度policy gradient,pg)。策略网络通常为一个神经网络。例如,该神经网络可以包括多层感知器(mutilayer perceptron)。
61.在实际应用中,训练完成的智能体可以仅仅接收环境反馈的状态来进行动作决策,一些现有技术为了使得环境反馈的状态更加准确或者更加连续,往往引入注意力机制对状态进行处理,使得智能体能够基于更加连贯或准确的状态执行更加合适的动作,从而更好的完成相关任务,然而并没有充分适配强化学习需要基于状态对待执行动作进行决策的特点,挖掘出在注意力机制的应用上,状态与待执行动作的影响关系。
62.下面,将结合几个实施例对本技术技术方案进行详细的介绍说明。
63.请参考图2,其示出了本技术实施例提供的动作决策方法所涉及的一种应用环境的结构示意图。该应用环境可以包括终端01和服务器02。该终端01可以为计算机、平板电脑、智能手机等。该服务器02可以是一台服务器,或者由若干台服务器组成的服务器集群,或者是一个云计算服务中心。并且该终端01与服务器02之间可以通过有线或无线网络建立连接。
64.终端01可以向该服务器02发送状态,服务器02可以采用本技术实施例提供的动作决策方法对该状态进行处理,得到待执行动作,然后向终端01反馈该待执行动作。
65.需要说明的是,该实施环境中也可以仅包括终端01,而不包括该服务器02,终端01可以直接采用本技术实施例的作决策方法对获取到的智能体所处状态处理得到待执行动作,并指示智能体执行所述待执行动作;或者终端01既可以包括智能体,由所述智能体的强化学习网络执行本技术实施例提供的动作决策方法,得到一个待执行动作,并由所述智能体执行所述待执行动作,还可以包括智能体的环境,与所述智能体进行交互,即感知智能体的动作,以及产生状态和奖励并向所述智能体反馈。在该实现方式中,终端01也可以是一台服务器,或者由若干台服务器组成的服务器集群,或者是一个云计算服务中心。
66.下面结合图2的应用场景,参考图3来描述根据本技术示例性实施方式的用于动作决策的方法。需要注意的是,上述应用场景仅是为了便于理解本技术的精神和原理而示出,本技术的实施方式在此方面不受任何限制。相反,本技术的实施方式可以应用于适用的任何场景。
67.本技术的实施方式提供一种动作决策方法,应用于终端或服务器,所述终端或服务器包括智能体,所述方法包括:
68.步骤s110,获取智能体的状态向量以及多个候选动作向量。
69.在本实施例中,依然遵循强化学习的一般流程,首先获取环境反馈的状态,所述状态表明智能体当前的情况,例如在自动驾驶的动作决策任务中,状态可以是速度、加速度以及方向的集合。
70.在明确状态的定义之后,接下来继续介绍候选动作,一般来说,智能体不仅仅有一
个动作可供选择,由此,每一个可供选择的动作均为候选动作,还是以自动驾驶的动作决策任务为例,候选动作可以包括左转、右转、加速和刹车。
71.考虑到,强化学习中经常采用神经网络进行动作决策,即采用神经网络构建策略网络,然后将智能体的状态输入所述策略网络,得到所述智能体的待执行动作;而神经网络一般对向量形式的输入更加敏感,由此,在本技术的一个实施例中,需要获取的是所述智能体的状态向量和候选动作向量,所述状态向量可以由环境(基于神经网络构建)直接输出得到,所述多个候选动作向量可以通过以下方式获取,包括:
72.对每个候选动作分别进行独热编码,得到各个候选动作对应的候选动作向量。
73.具体来说,以自动驾驶的动作决策任务为例,候选动作可以包括左转、右转、加速和刹车,那么分别进行独热编码后,可以得到四个候选动作向量:左转[1,0,0,0]、右转[0,1,0,0]、加速[0,0,1,0]和刹车[0,0,0,1]。
[0074]
在介绍了状态向量和候选动作向量之后,接下来继续介绍如何计算动作与状态注意力,并进而确定待执行动作,即执行步骤s120,分别获取每个候选动作向量对所述状态向量的注意力向量。
[0075]
在本实施例中,可以采用任意现有的注意力计算网络计算每个候选动作向量对所述状态向量的注意力向量,例如通过循环神经网络实现的注意力计算网络,或者单层/多层感知机实现的注意力计算网络,本实施例对此不作限定。
[0076]
在明确注意力计算网络的结构之后,只需要将状态向量和每个候选动作向量分别地对应输入所述注意力计算网络,即可得到每个候选动作向量对所述状态向量的注意力向量。如图4所示,即动作向量a(1)和状态向量s输入注意力计算网络之后,即可得到动作向量a(1)对状态向量s的注意力向量(1);以此类推,即可计算得到每个候选动作向量对所述状态向量的注意力向量。
[0077]
考虑到,动作本身包含的信息可能较少,即每个候选动作向量本身包含的信息较少,例如独热编码之后得到的候选动作向量只是在相应的向量元素位置处的值为1,其他均为0。由此,在本技术的一个实施例中,对每个候选动作向量进行扩展之后,再计算每个候选动作向量对状态向量的注意力向量,例如对状态向量中不同维度的内容的关注度,包括:
[0078]
将所述状态向量与每个候选动作向量分别拼接,得到与每个候选动作向量对应的动作扩展向量。
[0079]
在本实施例中,每个候选动作向量均与状态向量进行拼接,得到每个候选动作向量对应的动作扩展向量;还以自动驾驶任务为例,状态向量有三个维度:[速度,加速度,方向],候选动作包括四个:左转弯、右转弯、加速和刹车,四个候选动作转化为独热编码形式的候选动作向量分别是[1,0,0,0]、[0,1,0,0]、[0,0,1,0]和[0,0,0,1],然后将状态向量和每个候选动作向量拼接在一起,得到对应的动作扩展向量,例如状态向量和左转弯的候选动作向量拼接在一起为[速度,加速度,方向,1,0,0,0]。
[0080]
将每个所述动作扩展向量分别输入至注意力计算网络中,得到每个所述候选动作向量对所述状态向量的注意力向量。
[0081]
在本实施例中,得到每个候选动作的动作扩展向量之后,即可按照前述实施例的方式计算每个候选动作对所述状态向量的注意力向量,即将每个动作扩展向量和状态向量对应地输入注意力计算网络,得到每个候选动作的注意力向量。
[0082]
继续以自动驾驶任务为例,在得到每个候选动作的动作扩展向量之后,即可将各个动作扩展向量输入给注意力计算网络中,然后经过softmax/sigmoid计算得到对应的输出,即相应候选动作对状态向量的注意力向量;例如将左转弯的动作扩展向量[速度,加速度,方向,1,0,0,0]输入给注意力计算网络,即可得到左转弯对于状态向量的注意力向量,由于所述注意力向量表示的是动作对于状态中各个维度的权重(关注度)。由此,所述注意力向量与状态向量的维度相同,均包括相同数量的向量元素,例如左转弯对状态向量的注意力向量为:[0.3,0.3,0.4],这个注意力向量的三维表示的含义分别是:如果左转弯,应该对速度分配0.3的注意力,对加速度分配0.3的注意力,对方向分配0.4的注意力。
[0083]
对于其他候选动作,例如右转弯、加速和刹车,也同样的按照上述计算过程进行处理,可以得到各个候选动作对于状态向量的注意力向量。
[0084]
接下来,继续介绍如何基于获取得到的注意力向量进行动作决策,即执行步骤s130,根据所述状态向量以及每个所述候选动作向量对应的所述注意力向量,得到每个所述候选动作向量对应的加权状态向量。
[0085]
在本技术实施例中,依然需要通过智能体的策略网络决策待执行动作,即将状态向量输入策略网络,以获取智能体的待执行动作,由此,在获取每个候选动作对状态向量的注意力向量之后,即可将所述注意力向量与状态向量进行计算,得到加权后的状态向量;在一个实施例中,具体包括:
[0086]
将所述注意力向量中的各个维度的注意力分别与所述状态向量中对应维度的状态相乘,得到所述候选动作向量对应的加权状态向量。
[0087]
在本实施例中,由于每个注意力向量与状态向量的维度相同,例如状态向量包括速度、加速度和方向三个维度,那么注意力向量则包括对速度的注意力、对加速度的注意力和对方向的注意力这三个维度,也即状态向量和注意力向量中均包括相同数量的向量元素,注意力向量中的每个向量元素与状态向量中的一个向量元素对应,由此,可以采取向量元素的对位相乘,得到各个候选动作的加权状态向量。
[0088]
可以理解的是,由于注意力向量通过注意力计算网络得到,且每个注意力向量包括对状态向量中不同维度的注意力,由此,为了方便计算,在本技术的一个实施例中,所述注意力向量中各个维度的注意力总和为1,即在计算出每个候选动作对状态向量中各个维度的内容的注意力之后,对每个注意力进行归一化操作,使得每个注意力向量中的各个注意力被统一,即各个注意力的度量单位一致。
[0089]
还是以自动驾驶任务为例,假设左转弯的注意力向量为[0.3,0.3,0.4],那么左转弯的加权状态向量为[0.3速度,0.3加速度,0.4方向]。
[0090]
需要说明的是,虽然本实施例以状态向量包括多个维度的内容为例进行了说明,但是在一些具体应用场景中,所述状态向量也可以仅包括一个维度的内容,此时,各个候选动作对状态向量的注意力向量也仅仅包括一个维度的注意力,在进行归一化时,可以将各个候选动作对状态向量的注意力向量的度量单位统一,即各个候选动作对状态向量的注意力向量的总和为1。
[0091]
在得到每个候选动作的加权状态向量之后,接下来执行步骤s140,将各个所述加权状态向量分别输入至强化学习网络,获得多个概率分布向量,其中,每个所述概率分布向量中包含各个所述候选动作被执行的概率;
[0092]
在本实施例中,可以将每个候选动作的加权状态向量输入强化学习网络,得到多个概率分布向量,每个概率分布向量即为强化学习网络中智能体的策略网络基于相应的加权状态向量,确定的各个候选动作被选择的概率值,即每个所述概率分布向量中包含各个所述候选动作被执行的概率。
[0093]
步骤s150,基于所述多个概率分布向量从多个候选动作中确定待执行动作。
[0094]
由此,即可根据多个概率分布向量确定待执行动作,例如,得到多个概率分布向量之后,可以通过投票法确定最终的待执行动作,即首先确定每个概率分布向量中最大概率值的候选动作,然后对各个最大概率值的候选动作进行投票,票数最多的候选动作被确定为待执行动作;或者,在又一个实施例中,还可以将各个概率分布向量中概率值最大的候选动作确定为待执行动作。
[0095]
考虑到,多个概率分布向量对于动作决策还是存在干扰,可能无法决策出最优的待执行动作,由此,在本技术的又一个实施例中,将多个概率分布向量压缩为一个,参照图5,所述根据各个候选动作的所述加权状态向量,确定各个候选动作的概率分布向量之后,所述方法还包括:
[0096]
对所述多个概率分布向量进行压缩,得到目标概率分布向量,其中,所述目标概率分布向量包括各个候选动作被执行的概率。
[0097]
在本实施例中,可以针对每个所述概率分布向量,从所述概率分布向量中选择与对应的所述候选动作向量对应的目标概率。
[0098]
例如,针对n个概率分布向量中的每一个,选择其对应动作序号维度的值来组成新的概率分布向量,具体来说,仍以自动驾驶任务为例,假设共有左转弯、右转弯、加速和刹车4个候选动作,每个候选动作经过前述步骤后都会有一个对应的概率分布向量,对第一个动作,本实施例取其概率分布向量中的第一个概率值,对第二个动作,取其概率分布向量中的第二个概率值,对第三个动作,取其概率分布向量中的第三个概率值,对第四个动作,取其概率分布向量中的第四个概率值,由此,对于这4个动作,本实施例将这4个新的概率值按照顺序组成一个新的概率分布向量,即所述目标概率分布向量。
[0099]
所述基于所述多个概率分布向量从多个候选动作中确定待执行动作,包括:
[0100]
根据所述目标概率分布向量从所述多个候选动作中确定待执行动作。
[0101]
具体来说,本实施例中,可以通过随机采样的方式,根据所述目标概率分布向量确定待执行动作。
[0102]
例如,可以从所述目标概率分布向量中随机采样出一个候选动作向量,然后将所述候选动作向量对应的候选动作确定为待执行动作。
[0103]
或者,可以根据预设的规则选取出待执行动作,例如,从所述目标概率分布向量中确定概率值最大的候选动作为待执行动作,即根据所述目标概率分布向量,采用argmax的方式从各个候选动作中选取待执行动作。
[0104]
根据本技术实施例的动作决策方法,计算每个候选动作对当前状态的注意力向量,即在同一个状态下,不同动作会偏向于关注状态中哪些维度的内容,进而在对候选动作进行决策时,不仅仅基于当前状态,还基于不同动作对当前状态各个维度的关注程度。本技术通过引入决策动作的注意力机制,实现模拟人类在进行决策时的过程,将人类的在决策时的信息筛选过程引入到了强化学习中,通过这种动态的、动作相关的注意力机制可以提
高决策效果,以便更好的完成各项任务。另外,根据申请的方法得到的注意力矩阵(多个注意力向量的组合),可以更好的让用户理解神经网络模型的决策依据。
[0105]
为了验证本技术提出的动作决策方法的优异效果,发明人还进行了实验,实验采用openai atari实验环境,以获得环境最高奖励任务为目标,与不加入本技术方法的强化学习算法(ppo)进行对比,在53个测试游戏中,本技术提出的动作决策方法在最终奖励方面取得了平均10%的效果提升。
[0106]
在介绍了本技术示例性实施例的方法之后,接下来,参考图6对本技术示例性实施例的动作决策装置进行介绍,所述动作决策装置60包括:
[0107]
获取模块610,被配置为获取智能体的状态向量以及多个候选动作向量,其中,每个候选动作向量对应一个候选动作;
[0108]
注意力获取模块620,被配置为分别获取每个候选动作向量对所述状态向量的注意力向量;
[0109]
注意力加权模块630,被配置为根据所述状态向量以及每个所述候选动作向量对应的所述注意力向量,得到每个所述候选动作向量对应的加权状态向量;
[0110]
动作决策模块640,将各个所述加权状态向量分别输入至强化学习网络,获得多个概率分布向量,其中,每个所述概率分布向量中包含各个所述候选动作被执行的概率;以及基于所述多个概率分布向量从多个候选动作中确定待执行动作。
[0111]
在本技术的一个实施例中,所述注意力获取模块620包括:
[0112]
扩展单元,被配置为将所述状态向量与每个所述候选动作向量分别拼接,得到与每个所述候选动作向量分别对应的动作扩展向量;
[0113]
注意力获取单元,将每个所述动作扩展向量分别输入至注意力计算网络中,得到每个所述候选动作向量对所述状态向量的注意力向量。
[0114]
在本技术的一个实施例中,所述获取模块610,还被配置为对每个候选动作分别进行独热编码,得到各个候选动作对应的候选动作向量。
[0115]
在本技术的一个实施例中,所述注意力向量与所述状态向量的维度相同,其中,所述注意力向量中各个维度的注意力总和为1;
[0116]
所述注意力加权模块630,还被配置为将所述注意力向量中的各个维度的注意力分别与所述状态向量中对应维度的状态相乘,得到所述候选动作向量对应的加权状态向量。
[0117]
在本技术的一个实施例中,所述动作决策装置60还包括:
[0118]
压缩模块,被配置为对所述多个概率分布向量进行压缩,得到目标概率分布向量,其中,所述目标概率分布向量包括各个候选动作被执行的概率;
[0119]
所述动作决策模块640,还被配置为根据所述目标概率分布向量从所述多个候选动作中确定待执行动作。
[0120]
在本技术的一个实施例中,所述压缩模块,还被配置为针对每个所述概率分布向量,从所述概率分布向量中选择与对应的所述候选动作向量对应的目标概率;以及根据每个所述候选动作向量对应的所述目标概率,得到目标概率分布向量。
[0121]
在本技术的一个实施例中,所述动作决策模块640,还被配置为通过随机采样的方式,根据所述目标概率分布确定待执行动作;
[0122]
或者,将所述目标概率分布向量中最大概率值对应的候选动作确定为待执行动作。
[0123]
根据本技术实施例的动作决策装置,计算每个候选动作对当前状态的注意力向量,即在同一个状态下,不同动作会偏向于关注状态中哪些维度的内容,进而在对候选动作进行决策时,不仅仅基于当前状态,还基于不同动作对当前状态各个维度的关注程度。本技术通过引入决策动作的注意力机制,实现模拟人类在进行决策时的过程,将人类的在决策时的信息筛选过程引入到了强化学习中,通过这种动态的、动作相关的注意力机制可以提高决策效果,以便更好的完成各项任务。
[0124]
在介绍了本技术示例性实施方式的方法和装置之后,接下来,参考图7对本技术示例性实施方式的计算机可读存储介质进行说明,其示出的计算机可读存储介质为光盘70,其上存储有计算机程序(即程序产品),所述计算机程序在被处理器运行时,会实现上述方法实施方式中所记载的各步骤,例如,获取智能体的状态向量以及多个候选动作向量,其中,每个候选动作向量对应一个候选动作;分别获取每个候选动作向量对所述状态向量的注意力向量;根据所述状态向量以及每个所述候选动作向量对应的所述注意力向量,得到每个所述候选动作向量对应的加权状态向量;将各个所述加权状态向量分别输入至强化学习网络,获得多个概率分布向量,其中,每个所述概率分布向量中包含各个所述候选动作被执行的概率;基于所述多个概率分布向量从多个候选动作中确定待执行动作;各步骤的具体实现方式在此不再重复说明。
[0125]
需要说明的是,所述计算机可读存储介质的例子还可以包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他光学、磁性存储介质,在此不再一一赘述。
[0126]
在介绍了本技术示例性实施例的方法、介质和装置之后,接下来,参参考图8对本技术示例性实施方式的用于动作决策的计算设备。
[0127]
图8示出了适于用来实现本技术实施方式的示例性计算设备80的框图,该计算设备80可以是计算机系统或服务器。图8显示的计算设备80仅仅是一个示例,不应对本技术实施例的功能和使用范围带来任何限制。
[0128]
如图8所示,计算设备80的组件可以包括但不限于:一个或者多个处理器或者处理单元801,系统存储器802,连接不同系统组件(包括系统存储器802和处理单元801)的总线803。
[0129]
计算设备80典型地包括多种计算机系统可读介质。这些介质可以是任何能够被计算设备80访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
[0130]
系统存储器802可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(ram)8021和/或高速缓存存储器8022。计算设备80可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,rom8023可以用于读写不可移动的、非易失性磁介质(图8中未显示,通常称为“硬盘驱动器”)。尽管未在图8中示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如cd-rom,dvd-rom或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线803相连。系统存储器802中可以包括至
少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本技术各实施例的功能。
[0131]
具有一组(至少一个)程序模块8024的程序/实用工具8025,可以存储在例如系统存储器802中,且这样的程序模块8024包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块8024通常执行本技术所描述的实施例中的功能和/或方法。
[0132]
计算设备80也可以与一个或多个外部设备804(如键盘、指向设备、显示器等)通信。这种通信可以通过输入/输出(i/o)接口805进行。并且,计算设备80还可以通过网络适配器806与一个或者多个网络(例如局域网(lan),广域网(wan)和/或公共网络,例如因特网)通信。如图8所示,网络适配器806通过总线803与计算设备80的其它模块(如处理单元801等)通信。应当明白,尽管图8中未示出,可以结合计算设备80使用其它硬件和/或软件模块。
[0133]
处理单元801通过运行存储在系统存储器802中的程序,从而执行各种功能应用以及数据处理,例如,获取智能体的状态向量以及多个候选动作向量,其中,每个候选动作向量对应一个候选动作;分别获取每个候选动作向量对所述状态向量的注意力向量;根据所述状态向量以及每个所述候选动作向量对应的所述注意力向量,得到每个所述候选动作向量对应的加权状态向量;将各个所述加权状态向量分别输入至强化学习网络,获得多个概率分布向量,其中,每个所述概率分布向量中包含各个所述候选动作被执行的概率;基于所述多个概率分布向量从多个候选动作中确定待执行动作。各步骤的具体实现方式在此不再重复说明。
[0134]
应当注意,尽管在上文详细描述中提及了动作决策装置的若干单元/模块或子单元/子模块,但是这种划分仅仅是示例性的并非强制性的。实际上,根据本技术的实施方式,上文描述的两个或更多单元/模块的特征和功能可以在一个单元/模块中具体化。反之,上文描述的一个单元/模块的特征和功能可以进一步划分为由多个单元/模块来具体化。
[0135]
此外,尽管在附图中以特定顺序描述了本技术方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。
[0136]
虽然已经参考若干具体实施方式描述了本技术的精神和原理,但是应该理解,本技术并不限于所申请的具体实施方式,对各方面的划分也不意味着这些方面中的特征不能组合以进行受益,这种划分仅是为了表述的方便。本技术旨在涵盖所附权利要求的精神和范围内所包括的各种修改和等同布置。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1