1.本发明属于多智能体强化学习方向的对手建模领域,具体涉及一种基于深度强化学习的隐式对手建模方法。
背景技术:
2.智能决策旨在让智能体在博弈环境中作出合理的决策以实现自身收益的最大化,如果在这一过程中对对手的动作、偏好等进行建模,就可以更好地预测对手行为,从而优化决策。例如在棋类博弈中,如果一方能预测出对手下一步的落子,就能提前进行针对性的策略布局;在自动驾驶中,如果汽车能提前预测出其他车辆或行人的移动方向,就能提前进行避让。因此,在博弈环境中对其他智能体进行建模对于决策优化至关重要,对手建模已经成为人工智能领域的重要研究方向之一。
3.现有的对手建模技术大多假设对手采取固定的策略,而在大多数现实的博弈环境中,对手也常常会动态地改变自身策略以最大化自身收益,此时主智能体能获得的收益将极大地受到对手策略改变的影响。在这种情况下,就需要对动态的对手特征进行建模来适应对手策略的变化。当前也有一些对手建模技术能在不同约束条件下实现对手特征的动态建模。例如卡内基梅隆大学的vincent conitzer等人提出的awesome算法能够保证主智能体在对手策略最终变得稳定的情况下进行最优决策。cmi的pablo hernandez-leal和华盛顿州立大学的yusen zhan等人提出的drifter算法则假设对手策略在多种固定策略间切换,主智能体通过预测误差来监测对手改变策略的时机,并据此重新调整自身策略来适应对手策略的变化。
4.上述的对手建模技术均属于显示建模。在显示建模中,由于对手的建模过程和基于环境的规划过程是分离的,因此建模过程通常需要使用大量的特定领域知识,这使得显示建模很难被应用在缺乏领域知识的地方,也很难由一个领域迁移到另一个领域。而隐式建模则可以将建模和规划过程结合在一起,无需利用特定领域知识,只需要根据对手的历史交互信息即可进行对手建模,这使得构建一个通用的对手建模框架成为了可能。
5.得益于近年来深度强化学习的飞速发展,一系列新的深度强化学习方法被提出,这为对手建模技术提供了新的思路。这其中比较有代表性的工作是he等人提出的dron算法。dron算法被用于在动态博弈环境中进行隐式对手建模。它在dqn算法的基础上,通过读入对手的历史交互信息,将对手特征和环境特征一起隐式地编码在神经网络中,无需任何领域知识即可隐式地进行对手建模,该模型在足球和问答游戏中都取得了不错的效果,但却受限于dqn算法本身的特点,仍然具有易于过度估计、收敛速度慢等问题。
技术实现要素:
6.为了解决当前技术中的问题,本发明围绕动态博弈环境下的对手建模问题,利用深度强化学习技术提出了一种改进的隐式对手建模方法。该隐式建模方法不依赖于特定领域知识,能适应对手策略的动态变化,同时还解决了过度估计问题并具有较快的收敛速度。
7.本发明的技术方案为:
8.一种基于深度强化学习的隐式对手建模方法,包括两种用于隐式对手建模的神经网络模型dron-dualfc2(deep reinforcement opponent network-dual and full connected 2networks)和dron-dualmoe(deep reinforcement opponent network-dual and mixture of experts networks),以及用于缓解算法中过度估计问题的decoupledron学习算法。
9.dron-dualfc2和dron-dualmoe是两种可以用于对手建模的神经网络模型。它们通过输入的对手特征来进行隐式的对手建模从而使主智能体能够更好地理解对手的行为,其中对手特征主要建立在对对手能力的评估以及对对手近期采取动作的观察之上,例如在问答游戏中,对手特征可以表征为对手曾经答题的数量、平均正确率等,而在足球游戏中,对手特征则可以表征为对手断球的频率、近期采取的动作等。dron-dualfc2和dron-dualmoe均由策略学习网络和对手模型学习网络两部分组成,其中策略学习网络用于预测q值,对手模型学习网络用于隐式对手建模。dron-dualfc2和dron-dualmoe这两种网络模型的区别主要在于融合策略学习网络和对手模型学习网络方式的不同上。具体来说:
10.在dron-dualfc2中,策略学习网络的输入为环境信息s,对手模型学习网络的输入为对手特征,两路输入在经过各自的隐藏层之后得到两路隐藏层输出hs和ho,dron-dualfc2通过连接hs和ho来对环境信息和对手特征进行融合,然后在经过后续隐藏层后,输出状态估值v
π
(s,o)和动作优势估值a
π
(s,o,a),最后将状态估值与归一化后的动作优势估值相加即可得到动作估值q。
[0011][0012]
式中,v
π
(s,o)、q
π
(s,o,a)和a
π
(s,o,a)分别表示在环境信息为s、对手特征为时的状态估值、动作a的q值以及动作优势估值。表示所有可行动作的个数。∑a′aπ
(s,o,a
′
)表示所有可行动作的动作优势估值之和。
[0013]
通过对q值进行分解,每次更新q值时都能直接更新状态估值,从而对该状态下所有q值进行更新,这使得dron-dualfc2网络具有较快的收敛速度。
[0014]
在dron-dualmoe中,策略学习网络可以看作专家网络,输入为环境信息s;对手模型学习网络可看作权重网络,输入为对手特征和环境信息s。专家网络包含k个专家子网络,每个专家子网络都会输出独立的状态估值v
π
(s,o)和归一化的动作优势估值a
π
(s,o,a),权重网络则输出对应的k维权重向量w,可以看作是对手采取不同策略的置信度。w与k个专家子网络的输出v
π
(s,o)及a
π
(s,o,a)分别进行加权求和,得到最终的状态估值和动作优势估值,通过和dron-dualfc2同样的归一化操作,得到最终的q值。类似dron-dualfc2,dron-dualmoe也通过将q值分解为状态估值和动作优势估值加快了网络的收敛速度。
[0015][0016]
式中,wi表示k维权重向量的第i个分量,v
π
(s,oi)和分别表示第i个专家子网络输出的状态估值和动作优势估值。
[0017]
同时,为了缓解q-learning中常见的过度估计问题,本发明还使用了decoupledron学习算法。该算法改进了dron的训练流程,使用当前价值估计网络进行动作选择,使用目标价值估计网络进行动作估值,从而将动作选择和动作估值进行解耦,进而缓解过度估计问题。在decoupledron学习算法中,目标值y按如下公式进行计算:
[0018][0019]
其中,r
t
为t时刻主智能体获得的收益,γ为衰减率,s
t+1
为t+1时刻的环境信息,o
t+1
为t+1时刻的对手特征,θ
t
为t时刻的当前价值估计网络参数,θ
′
t
为t时刻的目标价值估计网络参数(当前价值估计网络和目标价值估计网络的结构相同,为dron-dualfc2或dron-dualmoe)。
[0020]
本发明的具体步骤如下:
[0021]
步骤s1:初始化一个容量为n的经验池,用以存储算法训练过程中产生的交互经验。所述的交互经验主要包括(s,o,a,r,s
′
,o
′
),其中s表示当前时间步的环境信息;o表示当前时间步的对手特征;a表示主智能体的动作;r表示主智能体执行动作a后得到的收益;s
′
表示下一时间步的环境信息,o
′
表示下一时间步的对手特征。
[0022]
步骤s2:选择dron-dualfc2或dron-dualmoe作为当前价值估计网络和目标价值估计网络的网络结构,然后将当前价值估计网络和目标价值估计网络随机初始化为相同的参数。重复执行步骤s3~s9m次,其中m为训练的轮数,其取值取决于具体应用场景,是一个超参数。
[0023]
步骤s3:初始化博弈环境,包括环境信息和对手特征。初始化当前的时间步t为1。
[0024]
步骤s4:主智能体获取当前时间步的环境信息s
t
和对手特征o
t
。主智能体以概率ε随机执行一个动作a
t
,否则执行动作
[0025]
步骤s5:主智能体执行动作a
t
后,从博弈环境中得到即时收益r
t
,下一个时间步的环境信息s
t+1
和对手特征o
t+1
,并将智能体与环境交互产生的经验(s
t
,o
t
,a
t
,r
t
,s
t+1
,o
t+1
)存进经验池中。
[0026]
步骤s6:从经验池中随机采样一个批次的经验。对该批次中的每一笔经验(sj,oj,aj,rj,s
j+1
,o
j+1
),其中j表示该笔经验对应的时间步,目标值yj按如下公式进行计算:
[0027][0028]
步骤s7:按照公式(5)定义损失函数l,对当前价值估计网络的参数θ
t
进行梯度下降。
[0029][0030]
步骤s8:每隔c个时间步,将目标价值估计网络的参数θ
′
t
更新为当前价值估计网络的参数θ
t
。
[0031]
步骤s9:如果s
t+1
为非终止状态,则更新时间步t=t+1,重复执行步骤s4~s8;否则结束本轮训练。
[0032]
本发明的有益效果:
[0033]
(1)本发明属于隐式对手建模方法,不依赖于特定领域知识,构建了一个通用的对手建模框架。
[0034]
(2)本发明能应用于动态博弈环境中,能较好地对动态变化的对手策略进行建模。
[0035]
(3)本发明在训练过程中能较好地应对过度估计问题,并且具有较快的收敛速度。
附图说明
[0036]
图1为本发明所述方法训练过程流程图。
[0037]
图2为神经网络的参数更新流程图。
[0038]
图3为本发明所述方法训练过程数据流向图。
[0039]
图4为dron-dualfc2的网络结构图。
[0040]
图5为dron-dualmoe的网络结构图。
具体实施方式
[0041]
下面结合附图并对本发明的具体实施方式做进一步说明。
[0042]
本发明训练流程图如图1所示,步骤描述如下:
[0043]
第一步:初始化一个经验池,用以存储算法训练过程中主智能体产生的交互经验。
[0044]
第二步:选择dron-dualfc2作为当前价值估计网络和目标价值估计网络的网络结构,然后将当前网络和目标网络随机初始化为相同的参数。重复执行第三步至第十步m次。
[0045]
第三步:初始化博弈环境,包括环境信息和对手特征。初始化当前的时间步为1。
[0046]
第四步:主智能体获取当前时间步的环境信息和对手特征。
[0047]
第五步:主智能体按照ε-greedy算法选择将要执行的动作。也就是以概率ε随机选择一个动作,否则就将获取到的环境信息和对手特征传递给当前价值估计网络,得到将要执行的动作。
[0048]
第六步:主智能体执行上一步得到的动作。
[0049]
第七步:主智能体从博弈环境中得到即时收益r
t
,下一个时间步的环境信息s
t+1
和对手特征o
t+1
。
[0050]
第八步:将主智能体与环境交互产生的经验存进经验池中。
[0051]
第九步:更新当前价值估计网络和目标价值估计网络的参数。
[0052]
第十步:如果下一时刻不为终止状态,则更新时间步并重复执行第四步至第九步过程;如果下一时刻为终止状态,则结束本轮训练。
[0053]
神经网络的参数更新流程如图2所示,具体步骤描述如下:
[0054]
第1步:从经验池中随机采样一个批次的交互经验,主要包括主智能体在环境中交互时产生的当前时间步的环境状态、对手特征、主智能体采取的动作,主智能体得到的即时奖励以及下一时间步的环境状态和对手特征的序列。
[0055]
第2步:根据公式(4)和公式(5)计算网络的损失。
[0056]
第3步:由损失函数反向传播后计算得到损失函数相对于当前价值估计网络中各个参数的梯度。
[0057]
第4步:按照梯度下降的优化方法对当前价值估计网络的参数进行更新。
[0058]
第5步:每隔c个时间步,将目标价值估计网络的参数更新为当前价值估计网络的参数。
[0059]
本发明所述方法训练过程的数据流如图3所示,对于主智能体,当前价值估计网络以t-1时刻的环境信息和对手特征为输入,输出t时刻主智能体应该执行的动作以及q值。
[0060]
dron-dualfc2的网络结构图如图4所示,网络中的所有层均为全连接层,激活函数均为relu函数。网络输入为当前的环境信息s和对手特征,两路输入在经过各自的隐藏层之后得到两路隐藏层输出hs和ho,然后将hs和ho进行连接后送入后续隐藏层,得到输出h。h又通过两个独立的隐藏层分别得到状态估值和动作优势估值,最后将状态估值与归一化后的动作优势估值相加就得到了q值。
[0061]
dron-dualmoe的网络结构图如图5所示,网络中的所有层均为全连接层,除了在输出权重向量w时激活函数为softmax函数外,其余层中的激活函数均为relu函数。dron-dualmoe网络由权重网络和专家网络两部分组成。权重网络输入为当前的对手特征和环境信息s,在经过两个全连接层后通过softmax函数输出k维权重向量w。专家网络输入为当前的环境信息s,它将经过两个全连接层后得到的输出作为k个专家子网络得输入,每个专家子网络都会输出独立的状态估值和归一化的动作优势估值并经过权重向量加权求和,最终通过归一化处理得到q值。
[0062]
以上所述仅为本发明的具体实施方式,本发明保护范围并不局限于此,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
技术特征:
1.一种基于深度强化学习的隐式对手建模方法,其特征在于,该方法包括以下步骤:步骤s1:初始化一个容量为n的经验池,用以存储算法训练过程中产生的交互经验;所述的交互经验包括(s,o,a,r,s
′
,o
′
),其中s表示当前时间步的环境信息;o表示当前时间步的对手特征;a表示主智能体的动作;r表示主智能体执行动作a后得到的收益;s
′
表示下一时间步的环境信息,o
′
表示下一时间步的对手特征;步骤s2:选择dron-dualfc2或dron-dualmoe作为当前价值估计网络和目标价值估计网络的网络结构,然后将当前价值估计网络和目标价值估计网络随机初始化为相同的参数;重复执行步骤s3~s9 m次,m为训练的轮数;步骤s3:初始化博弈环境,包括环境信息和对手特征;初始化当前的时间步t为1;步骤s4:主智能体获取当前时间步的环境信息s
t
和对手特征o
t
;主智能体以概率ε随机执行一个动作a
t
,否则执行动作步骤s5:主智能体执行动作a
t
后,从博弈环境中得到即时收益r
t
,下一个时间步的环境信息s
t+1
和对手特征o
t+1
,并将智能体与环境交互产生的经验(s
t
,o
t
,a
t
,r
t
,s
t+1
,o
t+1
)存进经验池中;步骤s6:从经验池中随机采样一个批次的经验;对该批次中的每一笔经验(s
j
,o
j
,a
j
,r
j
,s
j+1
,o
j+1
),目标值y
j
按如下公式进行计算,其中j表示该笔经验对应的时间步:步骤s7:按照公式(2)定义损失函数l,对当前价值估计网络的参数θ
t
进行梯度下降;步骤s8:每隔c个时间步,将目标价值估计网络的参数θ
′
t
更新为当前价值估计网络的参数θ
t
;步骤s9:如果s
t+1
为非终止状态,则更新时间步t=t+1,重复执行步骤s4~s8;否则结束本轮训练。2.根据权利要求1所述的一种基于深度强化学习的隐式对手建模方法,其特征在于,所述的dron-dualfc2由策略学习网络和对手模型学习网络两部分组成;策略学习网络的输入为环境信息s,对手模型学习网络的输入为对手特征o,两路输入在经过各自的隐藏层之后得到两路隐藏层输出h
s
和h
o
,dron-dualfc2通过连接h
s
和h
o
来对环境信息和对手特征进行融合,然后在经过后续隐藏层后,输出状态估值v
π
(s,o)和动作优势估值a
π
(s,o,a),最后将状态估值与归一化后的动作优势估值相加得到动作估值q:式中,v
π
(s,o)、q
π
(s,o,a)和a
π
(s,o,a)分别表示在环境信息为s、对手特征为o时的状态估值、动作a的q值以及动作优势估值;表示所有可行动作的个数;∑
a
′
a
π
(s,o,a
′
)表示所有可行动作的动作优势估值之和。
3.根据权利要求1或2所述的一种基于深度强化学习的隐式对手建模方法,其特征在于,所述的dron-dualmoe由策略学习网络和对手模型学习网络两部分组成;其中,策略学习网络看作专家网络,输入为环境信息s;对手模型学习网络看作权重网络,输入为对手特征o和环境信息s;专家网络包含k个专家子网络,每个专家子网络都会输出独立的状态估值v
π
(s,o)和归一化的动作优势估值a
π
(s,o,a),权重网络则输出对应的k维权重向量w;w与k个专家子网络的输出v
π
(s,o)及a
π
(s,o,a)分别进行加权求和,得到最终的状态估值和动作优势估值,通过归一化处理得到最终的q值:式中,w
i
表示k维权重向量的第i个分量;v
π
(s,o
i
)和分别表示第i个专家子网络输出的状态估值和动作优势估值。
技术总结
本发明公开了一种基于深度强化学习的隐式对手建模方法,属于多智能体强化学习方向的对手建模领域。本发明围绕动态博弈环境下的对手建模问题,利用深度强化学习技术提出了一种改进的隐式对手建模方法。该隐式建模方法不依赖于特定领域知识,能适应对手策略的动态变化,同时还解决了过度估计问题并具有较快的收敛速度。敛速度。敛速度。
技术研发人员:刘婵娟 赵天昊 刘睿康
受保护的技术使用者:大连理工大学
技术研发日:2021.11.09
技术公布日:2022/3/7