|AlphaGo原来是这样运行的,一文详解多智能体强化学习( 三 )


图 3:minimax-Q learning 算法流程 。 图源[4]
minimax Q 方法是竞争式博弈中很经典的一种思想 , 基于该种思想衍生出很多其他方法 , 包括 Friend-or-Foe Q-learning、correlated Q-learning , 以及接下来将要提到的 Nash Q-learning 。
1.2.2 智能体之间是半合作半竞争(混合)关系
双人零和博弈的更一般形式为多人一般和博弈(general-sum game) , 此时 minimax Q-learning 方法可扩展为 Nash Q-learning 方法 。 当每个智能体采用普通的 Q 学习方法 , 并且都采取贪心的方式、即最大化各自的 Q 值时 , 这样的方法容易收敛到纳什均衡策略 。 Nash Q-learning 方法可用于处理以纳什均衡为解的多智能体学习问题 。 它的目标是通过寻找每一个状态的纳什均衡点 , 从而在学习过程中基于纳什均衡策略来更新 Q 值 。
具体地 , 对于一个智能体 i 来说 , 它的 Nash Q 值定义为:
此时 , 假设了所有智能体从下一时刻开始都采取纳什均衡策略 , 纳什策略可以通过二次规划(仅考虑离散的动作空间 , π是各动作的概率分布)来求解 。
在 Q 值的迭代更新过程中 , 使用 Nash Q 值来更新:
可以看到 , 对于单个智能体 i , 在使用 Nash Q 值进行更新时 , 它除了需要知道全局状态 s 和其他智能体的动作 a 以外 , 还需要知道其他所有智能体在下一状态对应的纳什均衡策略π 。 进一步地 , 当前智能体就需要知道其他智能体的 Q(s')值 , 这通常是根据观察到的其他智能体的奖励和动作来猜想和计算 。 所以 , Nash Q-learning 方法对智能体能够获取的其他智能体的信息(包括动作、奖励等)具有较强的假设 , 在复杂的真实问题中一般不满足这样严格的条件 , 方法的适用范围受限 。
|AlphaGo原来是这样运行的,一文详解多智能体强化学习
本文插图

图 4:nash-Q learning 算法流程 。 图源:[5]
1.2.3 智能体之间是完全合作关系
前面提到的智能体之间的两种关系 , 都涉及到了个体和个体的相互竞争 , 所以对于个体来说 , 在策略学习过程中考虑对方(更一般地 , 其他智能体)的决策行为 , 才能够做出更好地应对动作 , 这是比较容易理解的 。 那么 , 如果智能体之间完全是合作关系 , 个体的决策也要考虑其他智能体的决策情况吗?实际上 , “合作”意味着多个智能体要共同完成一个目标任务 , 即这个目标的达成与各个体行为组合得到的联合行为相关;如果个体“一意孤行” , 那么它很难配合其他队友来共同获得好的回报 。 所以 , 智能体的策略学习仍然需要考虑联合动作效应 , 要考虑其他具有决策能力的智能体的影响 。
怎样实现在智能体策略学习过程中考虑其他协作智能体的影响呢?这个问题我们可以分类讨论 , 分类的依据是具体问题对于智能体协作的条件要求 , 即智能体通过协作获得最优回报时 , 是否需要协调机制:
不需要协作机制
对于一个问题(或者是任务) , 当所有智能体的联合最优动作是唯一的时候 , 完成该任务是不需要协作机制的 。 这个很容易理解 , 假设对于环境中的所有智能体 存在不只一个最优联合动作 , 即有 和 , 那么 A 和 B 之间就需要协商机制 , 决定是同时取π , 还是同时取 h;因为如果其中一个取π、另一个取 h , 得到的联合动作就不一定是最优的了 。 Team Q-learning 是一种适用于不需要协作机制的问题的学习方法 , 它提出对于单个智能体 i , 可以通过下面这个式子来求出它的最优动作 hi:
Distributed Q-learning 也是一种适用于不需要协作机制的问题的学习方法 , 不同于 Team Q-learning 在选取个体最优动作的时候需要知道其他智能体的动作 , 在该方法中智能体维护的是只依据自身动作所对应的 Q 值 , 从而得到个体最优动作 。


推荐阅读