Mybatis的Size方法竟然有坑!
在 QMIX 方法设计的网络结构中,每个智能体都拥有一个 DRQN 网络(绿色块),该网络以个体的观测值作为输入,使用循环神经网络来保留和利用历史信息,输出个体的局部 Qi 值。 所有个体的局部 Qi 值输入混合网络模块(蓝色块),在该模块中,各层的权值是利用一个超网络(hypernetwork)以及绝对值计算产生的:绝对值计算保证了权值是非负的、使得局部 Q 值的整合满足单调性约束;利用全局状态 s 经过超网络来产生权值,能够更加充分和灵活地利用全局信息来估计联合动作的 Q 值,在一定程度上有助于全局 Q 值的学习和收敛。
结合 DQN 的思想,以 Q_tot 作为迭代更新的目标,在每次迭代中根据 Q_tot 来选择各个智能体的动作,有: 在这样的约束条件下,既能够使用集中式的学习方法来处理环境不稳定性问题以及考虑多智能体的联合动作效应(全局 Q 值的学习),又能够从中提取出个体策略实现分布式的控制(基于局部 Q 值的行为选择)。进一步地,该约束条件可转化为全局 Q 值和局部 Q 值之间的单调性约束关系:
令全局 Q 值和局部 Q 值之间满足该约束关系的函数表达式有多种,VDN 方法的加权求和就是其中一种,但简单的线性求和并没有充分考虑到不同个体的特性,对全体行为和局部行为之间的关系的描述有一定的局限性。QMIX 采用了一个混合网络模块(mixing network)作为整合 Qa 生成 Q_tot 的函数表达式,它能够满足上述的单调性约束。 QMIX 在 VDN 的基础上实现了两点改进:1)在训练过程中加入全局信息进行辅助;2)采用混合网络对单智能体的局部值函数进行合并(而不是简单的线性相加)。
在 QMIX 方法中,首先假设了全局 Q 值和局部 Q 值之间满足这样的关系:最大化全局 Q_tot 值对应的动作,是最大化各个局部 Q_a 值对应动作的组合,即 图 9:左图是完全分布式的局部 Q 值网络结构,右图是 VDN 的联合动作 Q 值网络结构。考虑两个智能体,它们的联合动作 Q 值由个体的 Q1 和 Q2 求和得到,在学习时针对这个联合 Q 值进行迭代更新,而在执行时个体根据各自的 Qi 值得到自身的动作 ai。图源:[11]
VDN 对于智能体之间的关系有较强的假设,但是,这样的假设并不一定适合所有合作式多智能体问题。在 2018 年的 ICML 会议上,有研究者提出了改进的方法 QMIX。 在合作式的多智能体学习问题中,每个智能体共享奖励(即在同一个时刻获得相同的奖励),此时会存在一个 “置信分配” 问题(credit assignment):如何去评估每个智能体对这个共享奖励的贡献?
COMA 方法在置信分配中利用了一种反事实基线:将智能体当前的动作和默认的动作进行比较,如果当前动作能够获得的回报高于默认动作,则说明当前动作提供了好的贡献,反之则说明当前动作提供了坏的贡献;默认动作的回报,则通过当前策略的平均效果来提供(即为反事实基线)。在对某个智能体和基线进行比较的时,需要固定其他智能体的动作。当前策略的平均效果和优势函数的定义如下: 除了考虑联合动作以外,MADDPG 在处理环境不稳定问题方面还使用了策略集成(policies ensemble)的技巧。由于环境中的每个智能体的策略都在迭代更新,因此很容易出现单个智能体的策略对其他智能体的策略过拟合,即当其他智能体的策略发生改变时,当前得到的最优策略不一定能很好的适应其他智能体的策略。为了缓和过拟合问题,MADDPG 提出了策略集成的思想,即对于单个智能体 i,它的策略μi 是由多个子策略μi^k 构成的集合。在一个 episode 中,只使用一种从集合中采样得到的子策略进行决策和完成交互。在学习过程中最大化的目标是所有子策略的期望回报,即 每个子策略的更新梯度为:
总的来说,MADDPG 的核心是在 DDPG 算法的基础上,对每个智能体使用全局的 Q 值来更新局部的策略,该方法在完全合作、完全竞争和混合关系的问题中都能取得较好效果。算法流程如下所示: (编辑:宣城站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |