强化学习—— 多智能体强化学习

1. 多智能体关系分类

1.1 合作关系(Fully Cooperative)

  • agent的利益一致,合作去获取共同的回报
  • 如工业机器人

1.2 竞争关系(Fully Competitive)

  • 一个agent的收益是另一个agent的损失
  • 如捕食者和猎物

1.3 混合关系(Mixed Cooperative & Competitive)

  • 既有合作,也有竞争
  • 如机器人踢足球

1.4 利己关系(self-interested)

  • 只想让自身受益,不关心别人受益或者损失。
  • 如股票自动交易系统。

2. 专业术语(Terminologies)

2.1 假设agent个数为

n n n

2.2 状态为

S S S

2.3 第i个agent的动作为

A i A^i Ai

2.4 状态转移函数

p ( s ′ ∣ s , a 1 , a 2 , . . . , a n ) = P ( S = s , A 1 = a 1 , A 2 = a 2 , . . . , A n = a n ) p(s'|s,a^1,a^2,...,a^n)=P(S=s,A^1=a^1,A^2=a^2,...,A^n=a^n) p(ss,a1,a2,...,an)=P(S=s,A1=a1,A2=a2,...,An=an)下一时刻的动作依赖于所有智能体的动作(相互影响)。

2.5 奖励(Reward)

  • 第i个智能体获得的奖励为: R i R^i Ri
  • 合作关系: R 1 = R 2 = . . . = R n R^1=R^2=...=R^n R1=R2=...=Rn
  • 竞争关系: R 1 ∝ − R 2 R^1\propto-R^2 R1R2
  • R i 依 赖 于 自 身 的 动 作 A i , 也 依 赖 于 其 它 智 能 体 的 动 作 ( A j ) i ≠ j R^i依赖于自身的动作A^i,也依赖于其它智能体的动作(A^j)_{i\neq j} RiAi,(Aj)i=j

2.6 回报(Return)

  • t时刻第i个智能体获得的奖励为: R t i R_t^i Rti
  • 第i个智能体的汇报为: U t i = R t i + R t + 1 i + R t + 2 i + R t + 3 i + . . . U_t^i = R_t^i+R_{t+1}^i+R_{t+2}^i+R_{t+3}^i+... Uti=Rti+Rt+1i+Rt+2i+Rt+3i+...
  • 第i个智能体的折扣回报为: U t i = R t i + γ ⋅ R t + 1 i + γ 2 ⋅ R t + 2 i + γ 3 ⋅ R t + 3 i + . . . γ ∈ [ 0 , 1 ] U_t^i = R_t^i+\gamma \cdot R_{t+1}^i+\gamma^2 \cdot R_{t+2}^i+\gamma^3 \cdot R_{t+3}^i+...\\\gamma \in [0,1] Uti=Rti+γRt+1i+γ2Rt+2i+γ3Rt+3i+...γ[0,1]

2.7 策略网络

  • 每个智能体都有自己的策略网络: π ( a i ∣ s ; θ i ) \pi(a^i|s;\theta^i) π(ais;θi)
  • 在某些场景中策略网络是可以互换的,如自动驾驶中: θ 1 = θ 2 = . . . = θ n \theta^1 = \theta^2=...=\theta^n θ1=θ2=...=θn
  • 在某些场景中策略网络是不可互换的,如足球比赛中(不同角色有不同作用): θ i ≠ θ j \theta^i\neq\theta^j θi=θj

2.8 回报的随机性

  1. 奖励的随机性
  • R t i 依 赖 于 S t , A t 1 , A t 2 , A t 3 , . . . , A t n , R_t^i依赖于S_t,A_t^1,A_t^2,A_t^3,...,A_t^n, RtiSt,At1,At2,At3,...,Atn,
  • S t 的 随 机 性 依 赖 于 状 态 转 移 函 数 P S_t的随机性依赖于状态转移函数P StP
  • A t i 的 随 机 性 来 源 于 策 略 网 络 π ( ⋅ ∣ s t ; θ i ) A_t^i的随机性来源于策略网络\pi(\cdot|s_t;\theta^i) Atiπ(st;θi)
  1. 回报的随机性
  • U t i = ∑ k = 0 ∞ γ k R t + k i U_t^i=\sum_{k=0}^{\infty}\gamma^{k}R_{t+k}^i Uti=k=0γkRt+ki
  • 依赖于所有未来的状态: { S t , S t + 1 , . . . } \{S_t,S_{t+1},...\} {St,St+1,...}
  • 依赖于未来所有agent的动作: { A t i , A t + 1 i , . . . } ( f o r i i n r a n g e ( 1 , n + 1 ) ) \{A_t^i,A_{t+1}^i,...\}(for\quad i\quad in \quad range(1,n+1)) {Ati,At+1i,...}(foriinrange(1,n+1))

2.9 状态价值函数

  • 第i个智能体的状态价值为: V i ( s t ; θ 1 , θ 2 , . . . , θ n ) = E [ U t i ∣ S t = s t ] V^i(s_t;\theta^1,\theta^2,...,\theta^n)=E[U_t^i|S_t=s_t] Vi(st;θ1,θ2,...,θn)=E[UtiSt=st]期望依赖于所有未来的动作和状态,除了t时刻的状态。
  • A t j ∼ π ( ⋅ ∣ s t ; θ j ) j = 1 , . . . , n A_t^j\sim \pi(\cdot|s_t;\theta^j)\quad j=1,...,n Atjπ(st;θj)j=1,...,n
  • V i ∼ { θ 1 , θ 2 , . . . , θ n } V^i\sim\{\theta^1,\theta^2,...,\theta^n\} Vi{θ1,θ2,...,θn}
  • 一个agent的状态价值依赖于所有agent的策略
  • 如果一个agent的策略改变了,则其它所有智能体的状态价值都会改变。

3. 多智能体策略学习的收敛问题

3.1 单智能体的策略学习

  1. 策略网络: π ( a ∣ s ; θ ) \pi(a|s;\theta) π(as;θ)
  2. 状态价值函数: V ( s ; θ ) V(s;\theta) V(s;θ)
  3. 目标函数(用于评价策略好坏): J ( θ ) = E s [ V ( s ; θ ) ] J(\theta)=E_s[V(s;\theta)] J(θ)=Es[V(s;θ)]
  4. 策略网络的参数学习方式为最大化目标函数: m a x θ J ( θ ) max_\theta J(\theta) maxθJ(θ)
  5. 策略网络的收敛条件为目标函数不再增加。

3.2 多智能体策略学习的问题

3.2.1 收敛条件

收敛条件:满足纳什均衡(Nash Equilibrium)

  1. 保持其余智能体的策略不变时,仅改变第i个智能体的策略已不能提升其获得的回报。
  2. 每个agent都以最优的策略应对其它智能体的策略。
  3. 纳什均衡表明策略网络已经收敛,因为每个agent都不会去改变自己的策略,即使改变策略也不会提升自己获得的回报。

3.2.2 使用单智能体策略学习方式进行多智能体策略学习

  1. 第i个智能体的策略网络为: π ( a i ∣ s ; θ i ) \pi(a^i|s;\theta^i) π(ais;θi)
  2. 第i个智能体的状态价值函数为: V ( s ; θ 1 , θ 2 , . . . , θ n ) V(s;\theta^1,\theta^2,...,\theta^n) V(s;θ1,θ2,...,θn)
  3. 目标函数为: J ( θ 1 , θ 2 , . . . , θ n ) = E s [ V ( s ; θ 1 , θ 2 , . . . , θ n ) ] J(\theta^1,\theta^2,...,\theta^n)=E_s[V(s;\theta^1,\theta^2,...,\theta^n)] J(θ1,θ2,...,θn)=Es[V(s;θ1,θ2,...,θn)]
  4. 学习第i个策略网络的参数,通过最大化下列目标函数: m a x θ i J i ( θ 1 , θ 2 , . . . , θ n ) \mathop{max}\limits_{\theta^i}J^i(\theta^1,\theta^2,...,\theta^n) θimaxJi(θ1,θ2,...,θn)
  5. 一个智能体更新策略,会使得其它智能体的目标函数发生改变,从而导致策略学习永远无法收敛。
  6. 假设第i个智能体找到最优策略: θ ⋆ i = a r g m a x θ i J i ( θ 1 , θ 2 , . . . , θ n ) \theta_\star^i=\mathop{argmax}\limits_{\theta^i}J^i(\theta^1,\theta^2,...,\theta^n) θi=θiargmaxJi(θ1,θ2,...,θn)其余agent改变自己的策略时,第i个agent的最优策略则已改变。

4. 多智能体强化学习

4.1 学习方式分类

4.1.1 Fully Decentralized

每个agent仅依据自身的观测值和奖励值进行策略学习,不同agent之间不交流。

4.1.2 Fully Centralized

每个agent将自己所有的观测值、奖励值和动作发送给中央控制器,每个agent只执行命令,不进行决策,所有的决策由中央控制器制定并下发。

4.1.3 Centralized Learning & Decentralized Execution(中心化训练,去中心化执行)

训练时使用中央控制器,训练结束后则不再依赖它。

4.2 不完全观测(partial observation)

  1. 一个智能体不能观测到完整的全局状态: s s s
  2. 第i个智能体的观测为: o i o^i oi
  3. 不完全观测: s ≠ o i s\neq o^i s=oi
  4. 完全观测: s = o 0 = o 1 = o 2 = . . . = o n s=o^0=o^1=o^2=...=o^n s=o0=o1=o2=...=on

4.3 完全去中心化学习(Fully Decentralized)

在这里插入图片描述

  1. 第i个agent的策略网络(actor)为: π ( a i ∣ o i ; θ i ) \pi(a^i|o^i;\theta^i) π(aioi;θi)
  2. 第i个agent的价值网络(critic)为: q ( o i , a i ; W i ) q(o^i,a^i;W^i) q(oi,ai;Wi)
  3. agent之间不做信息共享
  4. 与single-agent的学习方式完全一致。

4.4 完全中心化学习(Fully Centralized)

4.4.1 网络结构

在这里插入图片描述

  1. 所有agent的观测值为: o = [ o 1 , o 2 , . . . , o n ] o=[o^1,o^2,...,o^n] o=[o1,o2,...,on]
  2. 所有agent的动作为: a = [ a 1 , a 2 , . . . , a n ] a=[a^1,a^2,...,a^n] a=[a1,a2,...,an]
  3. 中央控制器知道每一个agent的观测值、动作和奖励
  4. 中央控制器具有n个策略网络(actor): π ( a i ∣ o ; θ i ) i = 1 , 2 , . . . , n \pi(a^i|o;\theta^i)\\i=1,2,...,n π(aio;θi)i=1,2,...,n
  5. 中央控制器具有n个价值网络(critic): q ( o , a ; W i ) i = 1 , 2 , . . . , n q(o,a;W^i)\\i=1,2,...,n q(o,a;Wi)i=1,2,...,n
  6. 使用价值网络评价策略网络决策的好坏。

4.4.2 训练方式

  1. 训练完全由中央控制器执行
  2. 使用策略梯度训练策略网络
  3. 使用TD算法训练价值网络

4.4.3 执行方式

在这里插入图片描述

  1. 决策完全由中央控制器进行
  2. 所有agent将观测值传递给中央控制器
  3. 中央控制器收集到各个agent的状态观测值: o = [ o 1 , o 2 , . . . , o n ] o=[o^1,o^2,...,o^n] o=[o1,o2,...,on]
  4. 对于每一个agent,中央控制器从相应策略网络中进行动作抽样,并下发至每个agent: a i ∼ π ( ⋅ ∣ o ; θ i ) a^i\sim\pi(\cdot|o;\theta^i) aiπ(o;θi)

4.4.3 优势与不足

优势:

  • 知道全局信息,利于决策。

不足:

  • 执行慢,与中央控制器的通信和同步较慢,往往取决于最慢的步骤。
  • 无法实现实时决策。

4.5 中心化学习,去中心化执行( Centralized Learning & Decentralized Execution)

4.5.1 网络结构

在这里插入图片描述

  1. 每个agent具有自己的策略网络: π ( a i ∣ o i ; θ i ) \pi(a^i|o^i;\theta^i) π(aioi;θi)
  2. 中央控制器具有n个价值网络(网络可以相同,但是参数不同): q ( o , a ; W i ) q(o,a;W^i) q(o,a;Wi)
  3. 训练过程中,中央控制器可以获得每个agent的动作、状态观测值、奖励。
  4. 执行(实际决策)过程中,中央控制器的价值网络不再使用。

4.5.2 训练方式

1.价值网络,使用TD算法进行参数更新,网络输入为: a = [ a 1 , a 2 , . . . , a n ] o = [ o 1 , o 2 , . . . , o n ] r i a = [a^1,a^2,...,a^n]\\o = [o^1,o^2,...,o^n]\\ r_i a=[a1,a2,...,an]o=[o1,o2,...,on]ri
2. 策略网络,使用策略梯度进行参数更新,网络输入为: a i o i q i a^i\\o^i\\q^i aioiqi
在这里插入图片描述

4.5.3 参数共享

  1. n个策略网络: π ( a i ∣ o i ; θ i ) \pi(a^i|o^i;\theta^i) π(aioi;θi)
  2. n个价值网络: q ( o , a ; W i ) q(o,a;W^i) q(o,a;Wi)
  3. 可训练参数为: { θ i , W i } i = 1 n \{\theta^i,W^i\}_{i=1}^n {θi,Wi}i=1n
  4. 参数可以共享,比如在无人车中
  5. 参数不可以共享,比如机器人足球比赛

5 总结

学习方式策略网络(actor)价值网络(critic)
完全去中心化 π ( a i ∣ o i ; θ i ) \pi(a^i|o^i;\theta^i) π(aioi;θi) q ( o i , a i ; W i ) q(o^i,a^i;W^i) q(oi,ai;Wi)
完全中心化 π ( a i ∣ o ; θ i ) \pi(a^i|o;\theta^i) π(aio;θi) q ( o , a ; W i ) q(o,a;W^i) q(o,a;Wi)
中心化学习,去中心化决策 π ( a i ∣ o i ; θ i ) \pi(a^i|o^i;\theta^i) π(aioi;θi) q ( o , a ; W i ) q(o,a;W^i) q(o,a;Wi)

本文内容为参考B站学习视频书写的笔记!

by CyrusMay 2022 04 11

  • 17
    点赞
  • 130
    收藏
    觉得还不错? 一键收藏
  • 7
    评论
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值