一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于动作约束的离线多智能体强化学习方法

2022-04-24 23:17:09 来源:中国专利 TAG:


1.本发明属于人工智能、强化学习、智能控制领域。具体涉及一种基于动作离线多智能体强化学习方法,用于解决多智能体强化学习在离线训练中由于外推误差造成的训练崩溃问题。


背景技术:

2.目前多智能体强化学习算法是多智能体智能控制的重要算法之一,其被广泛应用于无人机集群控制、自动驾驶、智能能源控制、游戏ai等领域。其特点在于不需要提前收集大量的标注数据,仅通过智能体与环境的在线交互即可生成相应数据,进而可以实现智能体决策算法的训练。
3.然而在现实生活中,在某些特定场景下和环境做交互并收集数据的代价是昂贵的或充满危险的。例如在某些机器人控制上运行机器人经济成本极高;而在医疗和自动驾驶领域和环境的交互是充满危险的,错误的决策会导致病人失去生命或车辆发生车祸。因此出于安全性和成本的考虑,基于离线数据驱动的强化学习算法得到了广泛的关注。
4.离线强化学习即在使用行为策略和环境做交互后,算法学习阶段不再与环境做进一步交互,而是仅对已收集好的离线数据级进行利用,从已有数据集上学习到最优决策,其决策结果甚至可能优于现有数据集。但是在训练阶段使用未出现在数据集上的动作决策会产生外推误差,同时外推误差会随着训练的过程不断累积,最终很难训练到收敛的表现好的行为策略。另一方面,现有离线强化学习算法也很难适用于大规模多智能体决策场景。本发明的特点在于,通过使用变分自编码器对训练过程中的行为动作进行约束,保证其是出现在离线数据及的动作决策,减少外推误差对离线强化学习的影响,同时使用中心训练分布式执行的方法保证多智能体之间的交流以达到最好的离线多智能体决策方法,解决了因外推误差造成多智能体强化学习方法训练失败的问题。


技术实现要素:

5.本发明要解决的技术问题是,提供一种基于动作约束的离线多智能体强化学习方法,有效解决多智能体强化学习在离线数据集上,因外推误差等原因造成的训练不收敛,训练效果不好等问题。
6.一种基于动作约束的离线多智能体强化学习方法,其特征在于,包括以下步骤:
7.步骤(1)使用qmix网络收集离线多智能体缓存数据集;
8.步骤(2)基于数据集训练变分自编码器;在数据集上,使用变分自编码器训练生成模型g
ω
,学习每一个智能体局部观测状态及其执行动作的数据分布,其中ω为生成模型的参数,训练后的模型参数不再更新,即固定ω;
9.步骤(3)使用训练好的生成模型,对动作进行采样;
10.步骤(4)利用高斯扰动模型对步骤(3)中得到的动作采样进行干扰,增加约束动作的多样性;
11.步骤(5)使用步骤(4)中约束过的动作,根据局部观测和相应的动作,利用所述估值网络计算出每一个智能体相应的价值;
12.步骤(6)将当前时刻的全局状态观测通过超网络与所有智能体的价值,输入到所述的混合网络进行混合,得到全部智能体的总价值;
13.步骤(7)通过最小化网络损失函数,训练整个网络,更新网络各部分权重及偏置参数,网络迭代300m次以上,选取损失最小的一组权重及偏置参数,作为训练完毕的离线多智能体强化学习模型;将训练好的离线多智能体强化学习模型应用在环境之中,即可根据当前环境下的各智能体局部观测,执行各个智能体的最高价值策略,做出各智能体的最优动作。
14.步骤(4)对应的动作约束方法,具体为:
15.根据数据集b对环境中的j个智能体,进行n组的随机采样,并记录下每一组采样下的每一个智能体的局部观测状态,即其中表示第i组采样中第j个智能体的局部观测;使用训练好的生成模型g
ω
,依据各智能体局部观测生成对应的动作采样,即其中第i组采样中第j个智能体的动作采样;
16.使用高斯扰动模型,对采样出的动作依次进行干扰,设高斯扰动模型为ξ;其中ξ服从均值为φ标准差为1的高斯分布;其中φ为动作a的取值范围的均值,即a
max
为动作空间的最大合法取值,a
min
为动作空间的最小合法取值;每一组经过扰动后的动作输出为出为
17.步骤(1)对应的离线多智能体缓存数据集b方法,具体为:
18.从头训练qmix网络,并且记录下每个智能体,在当前时刻t的局部观测s
i,t
,执行的动作a
i,t
,以及执行动作后下一时刻观测s
i,t 1
,以及所有智能体拿到的当前时刻t的全局奖励值r
t
;j为智能体总个数,将t时刻的所有j个智能体的数据,作为一个元组(s
1,t
,a
1,t
,s
1,t 1
,s
2,t
,a
2,t
,s
2,t 1
,
…sj,t
,a
j,t
,s
j,t 1
,r
t
)存入数据集b之中;经过t次的训练,保存每一时刻的所有j个智能体的动作-观测数据,构成整个数据集b;数据集b形如公式(1),其中包含0时刻即初始时刻,和t-1时刻的全部智能体的动作-观测及奖励数据;
19.附图说明
20.图1本发明的外推误差示意图。
21.图2本发明的设计的整个网络架图。
具体实施方式
22.为实现上述目的,下面通过附图和具体实施方式,对本发明的技术方案做进一步的详细描述。
23.目前多智能体强化学习领域主流的qmix、maddpg等技术,虽然通过中心训练分布式执行的方法解决了传统的算法在多智能体中难以运用的困难,但对于离线环境则很难取得训练效果。因目前主流多智能体强化学习方法,大多是基于在线环境进行的训练,即在训练过程中由策略网络输出的动作不断地与环境进行交互和探索。而现有算法应用在离线数据集时,如果出现了抽样的状态和其对应的动作不在数据集上的情况,则会出现外推误差,并且这一误差会随着训练的进行不断累积,如图1所示,最终导致训练的失败。经研究发现,如果对离线学习过程中选取的下一步动作进行约束,则可以在一定程度上减少或避免外推误差。因此本发明旨在通过利用生成模型的中的变分自编码器模型,学习离线数据及上的动作分布,来对离线学习过程中的动作选取进行约束,保证动作的选取为当前离线数据集中出现过的或近似的动作。进而减少外推误差,并与多智能体强化学习技术相结合,实现离线多智能体强化学习模型。
24.为达到上述目的,本发明以qmix网络为理论基础,设计基于动作约束的多智能体离线强化学习方法。该方法依托于对在离线强化学习中将动作约束在离线数据集中可以有效减少外推误差这一特点,通过变分自编码器进行动作约束。并进一步结合中心训练分布式执行的方法,最终实现整套离线多智能体强化学习方法,解决因外推误差导致的多智能体离线强化学习训练失败,奖励不收敛的问题,进一步提升网络训练效果,降低训练难度。
25.本发明提供一种基于值约束的离线多智能体强化学习方法,包括以下步骤:
26.步骤(1)使用qmix网络收集离线多智能体缓存数据集b。从头训练qmix网络,并且记录下每个智能体(以第i个智能体为例)在当前时刻t的局部观测s
i,t
,执行的动作a
i,t
,以及执行动作后下一时刻观测s
i,t 1
,以及所有智能体拿到的当前时刻t的全局奖励值r
t
。j为智能体总个数,将t时刻的所有j个智能体的数据,作为一个元组(s
1,t
,a
1,t
,s
1,t 1
,s
2,t
,a
2,t
,s
2,t 1
,
…sj,t
,a
j,t
,s
j,t 1
,r
t
)存入数据集b之中。经过t次的训练,保存每一时刻的所有j个智能体的动作-观测数据,构成整个数据集b。数据集b形如公式(1),其中包含0时刻(初始时刻)和t-1时刻的全部智能体的动作-观测及奖励数据。定义单个智能体(以第i个智能体为例)从0时刻到t-1时刻的动作-观测轨迹为τi=(a
i,0
,s
i,1
,
…ai,t-1
,s
i,t
),其中a
i,t
表示智能体i在t时刻的动作,s
i,t
智能体i在t时刻的局部观测,观测轨迹中包含了每个智能体i每一时刻前一时刻做出的动作决策a
i,t-1
及其对应的下一时刻观测状态s
i,t
。定义全局的联合动作观测轨迹为t=(τ1,τ2,

τj),其中包含了第1个智能体到第j个智能体的全部智能体动作-观测轨迹。
[0027][0028]
步骤(2)基于数据集b训练变分自编码器。在数据集b上,使用变分自编码器训练生成模型为g
ω
,学习每一个智能体局部观测状态s及其执行动作a的数据分布,其中ω为生成模型的参数,训练后的模型参数不再更新,即固定ω。训练好的生成模型g
ω
可以依据当前每一个智能体的观测状态s按数据集分布给出相应的执行的动作a。
[0029]
步骤(3)使用训练好的生成模型,对动作进行采样。根据数据集b对环境中的j个智能体,进行n组的随机采样,并记录下每一组采样下的每一个智能体的局部观测状态,即
其中表示第i组采样中第j个智能体的局部观测。使用训练好的生成模型g
ω
,依据各智能体局部观测生成对应的动作采样,共有j个智能体,采样n组,即其中第i组采样中第j个智能体的动作采样。此时采样出的n组动作中的每一个智能体的动作,均是生成模型根据当前时刻各智能体的局部观测依据离线数据集b生成的动作,是在数据集中出现过的动作。通过对动作的约束,减少未在数据集中出现过的动作,可以有效减少外推误差的影响。
[0030]
步骤(4)利用高斯扰动模型对步骤(3)中得到的动作采样进行干扰,增加约束动作的多样性。使用高斯扰动模型,对采样出的动作依次进行干扰,设高斯扰动模型为ξ。其中ξ服从均值为φ标准差为1的高斯分布。其中φ为动作a的取值范围的均值,即a
max
为动作空间的最大合法取值,a
min
为动作空间的最小合法取值。每一组经过扰动后的动作输出为作输出为
[0031]
步骤(5)使用步骤(4)中约束过的动作,根据局部观测和相应的动作,利用估值网络计算出每一个智能体相应的价值q。将步骤(4)中输出的动作约束按智能体进行整合,设第j个智能体的全部n组扰动后的动作采样为后的动作采样为其中代表第j个智能体的第n组动作采样,设第j个智能体的全部n组局部观测状态为其中代表第j个智能体的第n组局部观测。将当前时刻的智能体的局部观测动作观测和扰动后的n个动作采样输入到估值网络中进行训练,并计算出相应的第j个智能体的n个q值。
[0032]
其中估值使用drqn网络(deep recurrent q-learning network),该网络由两层全连接网络和门控循环单元gru(gate recurrent unit)构成,如图2中的(c)网络。第一全连接层采用relu激活函数:门控循环单元包括更新门和重置门:z
t
=σ(wz·
[h
t-1
,x1]),r
t
=σ(wr·
[h
t-1
,x1]),]),循环更新m次,输出hm,并输入到第二全连接层采用softmax函数,x2=softmax(w
2thm
b2);最终动作的输出,并转化为对应的价值q。
[0033]
其中,x1,x2为全连接层1和全连接层2的输出值;w1,b1,w2,b2为全连接层1和全连接层2的权重参数和偏置参数;z
t
为更新门输出,r
t
为重置门输出,wz,wr分别为更新门和重置门权重参数,h
t
及h
t-1
分别代表t时刻的输出和t-1时刻的输出,表示t时刻的更新状态,relu为relu激活函数,σ为sigmoid激活函数,tanh为tanh激活函数。其中所有权重和偏置初始值为随机值。
[0034]
在得到n个q值后通过ε-greedt算法选择动作,以1-ε的概率从每一个智能体的n个q值选取能获得最大的q值,以ε的概率从n个q值中随机选择,即公式(2)。
[0035]
[0036]
其中公式(2)中的τ
x
代表第x智能体的动作-观测轨迹为,为智能体x在t时刻最终选择的动作。
[0037]
步骤(6)将当前t时刻的全局状态观测通过超网络与所有智能体的q值,输入到混合网络进行混合,得到全部智能体的总价值,即q
tot
。混合网络如图2中的(a)网络,由两层全连接神经网络构成。混合网络的输入为(p,m),其中p为全局的联合动作观测轨迹,m表示每一个智能体做出的动作的联合动作决策。利用全局状态向量通过超网络和绝对值激活函数生成的非负的权重和偏重向量,来保证单调性,从而保证每一个智能体的q值对q
tot
值起到正向作用。网络的损失函数如公式(3):
[0038][0039]
其中,θ为混合网络参数,b为训练的批次,p
t
为t时刻全局的联合动作观测轨迹,m
t
表示为t时刻每一个智能体做出的动作的联合动作决策,表示第i批次折扣累积回报率,其中θ-为估值网络drqn结构中的目标网络的参数,γ为折扣因子,ri为第i批次即时奖励值。
[0040]
步骤(7)通过最小化网络损失函数,训练整个网络,更新网络各部分权重及偏置参数,网络迭代300m次,选取损失最小的一组权重及偏置参数,作为训练完毕的离线多智能体强化学习模型。完整的训练的网络如图2所示,整个训练过程中不与原有环境进行交互,仅从离线数据集b中获取数据。训练好的网络模型,即得到了训练完毕的离线多智能体强化学习模型。
[0041]
我们将训练好的离线多智能体强化学习模型应用在环境之中,即可根据当前环境下的各智能体局部观测,执行各个智能体的最高价值策略,做出各智能体的最优动作。
[0042]
本发明可应用于各项多智能体决策场景,包括但不限于自动驾驶,游戏ai训练等场景。以自动驾驶场景为例,训练自动驾驶的决策模型,训练过程中各智能体为同一路段内的车辆。各车辆的局部观测为车辆本身的位置、速度、10米范围内其他车辆与本车的相对位置和相对速度、车道线信息等。车辆的动作空间包括速度控制(油门/刹车)以及方向控制(方向盘的转动角度)。应用本发明的所述的基于动作约束的离线多智能体强化学习方法,对车辆在已有历史驾驶数据集上进行离线强化学习,并学习各车辆多智能体之间的协同控制。最终将训练好的强化学习模型应用在同一路段的各个车辆上,即可根据车辆本身的局部观测信息,做出相应的速度控制和方向控制,以实现安全高效的自动驾驶场景。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献