强化学习—— 多智能体强化学习
- 1. 多智能体关系分类
-
- 1.1 合作关系(Fully Cooperative)
- 1.2 竞争关系(Fully Competitive)
- 1.3 混合关系(Mixed Cooperative & Competitive)
- 1.4 利己关系(self-interested)
- 2. 专业术语(Terminologies)
-
- 2.1 假设agent个数为
- 2.2 状态为
- 2.3 第i个agent的动作为
- 2.4 状态转移函数
- 2.5 奖励(Reward)
- 2.6 回报(Return)
- 2.7 策略网络
- 2.8 回报的随机性
- 2.9 状态价值函数
- 3. 多智能体策略学习的收敛问题
-
- 3.1 单智能体的策略学习
- 3.2 多智能体策略学习的问题
-
- 3.2.1 收敛条件
- 3.2.2 使用单智能体策略学习方式进行多智能体策略学习
- 4. 多智能体强化学习
-
- 4.1 学习方式分类
-
- 4.1.1 Fully Decentralized
- 4.1.2 Fully Centralized
- 4.1.3 Centralized Learning & Decentralized Execution(中心化训练,去中心化执行)
- 4.2 不完全观测(partial observation)
- 4.3 完全去中心化学习(Fully Decentralized)
- 4.4 完全中心化学习(Fully Centralized)
-
- 4.4.1 网络结构
- 4.4.2 训练方式
- 4.4.3 执行方式
- 4.4.3 优势与不足
- 4.5 中心化学习,去中心化执行( Centralized Learning & Decentralized Execution)
-
- 4.5.1 网络结构
- 4.5.2 训练方式
- 4.5.3 参数共享
- 5 总结
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(s′∣s,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 R1∝−R2
- R i 依 赖 于 自 身 的 动 作 A i , 也 依 赖 于 其 它 智 能 体 的 动 作 ( A j ) i ≠ j R^i依赖于自身的动作A^i,也依赖于其它智能体的动作(A^j)_{i\neq j} Ri依赖于自身的动作Ai,也依赖于其它智能体的动作(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+γ2⋅Rt+2i+γ3⋅Rt+3i+...γ∈[0,1]
2.7 策略网络
- 每个智能体都有自己的策略网络: π ( a i ∣ s ; θ i ) \pi(a^i|s;\theta^i) π(ai∣s;θi)
- 在某些场景中策略网络是可以互换的,如自动驾驶中: θ 1 = θ 2 = . . . = θ n \theta^1 = \theta^2=...=\theta^n θ1=θ2=...=θn
- 在某些场景中策略网络是不可互换的,如足球比赛中(不同角色有不同作用): θ i ≠ θ j \theta^i\neq\theta^j θi=θj
2.8 回报的随机性
- 奖励的随机性
- 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, Rti依赖于St,At1,At2,At3,...,Atn,
- S t 的 随 机 性 依 赖 于 状 态 转 移 函 数 P S_t的随机性依赖于状态转移函数P St的随机性依赖于状态转移函数P
- A t i 的 随 机 性 来 源 于 策 略 网 络 π ( ⋅ ∣ s t ; θ i ) A_t^i的随机性来源于策略网络\pi(\cdot|s_t;\theta^i) Ati的随机性来源于策略网络π(⋅∣st;θi)
- 回报的随机性
- 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[Uti∣St=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 单智能体的策略学习
- 策略网络: π ( a ∣ s ; θ ) \pi(a|s;\theta) π(a∣s;θ)
- 状态价值函数: V ( s ; θ ) V(s;\theta) V(s;θ)
- 目标函数(用于评价策略好坏): J ( θ ) = E s [ V ( s ; θ ) ] J(\theta)=E_s[V(s;\theta)] J(θ)=Es[V(s;θ)]
- 策略网络的参数学习方式为最大化目标函数: m a x θ J ( θ ) max_\theta J(\theta) maxθJ(θ)
- 策略网络的收敛条件为目标函数不再增加。
3.2 多智能体策略学习的问题
3.2.1 收敛条件
收敛条件:满足纳什均衡(Nash Equilibrium)
- 保持其余智能体的策略不变时,仅改变第i个智能体的策略已不能提升其获得的回报。
- 每个agent都以最优的策略应对其它智能体的策略。
- 纳什均衡表明策略网络已经收敛,因为每个agent都不会去改变自己的策略,即使改变策略也不会提升自己获得的回报。
3.2.2 使用单智能体策略学习方式进行多智能体策略学习
- 第i个智能体的策略网络为: π ( a i ∣ s ; θ i ) \pi(a^i|s;\theta^i) π(ai∣s;θi)
- 第i个智能体的状态价值函数为: V ( s ; θ 1 , θ 2 , . . . , θ n ) V(s;\theta^1,\theta^2,...,\theta^n) V(s;θ1,θ2,...,θn)
- 目标函数为: 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)]
- 学习第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)
- 一个智能体更新策略,会使得其它智能体的目标函数发生改变,从而导致策略学习永远无法收敛。
- 假设第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)
- 一个智能体不能观测到完整的全局状态: s s s
- 第i个智能体的观测为: o i o^i oi
- 不完全观测: s ≠ o i s\neq o^i s=oi
- 完全观测: 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)
- 第i个agent的策略网络(actor)为: π ( a i ∣ o i ; θ i ) \pi(a^i|o^i;\theta^i) π(ai∣oi;θi)
- 第i个agent的价值网络(critic)为: q ( o i , a i ; W i ) q(o^i,a^i;W^i) q(oi,ai;Wi)
- agent之间不做信息共享
- 与single-agent的学习方式完全一致。
4.4 完全中心化学习(Fully Centralized)
4.4.1 网络结构
- 所有agent的观测值为: o = [ o 1 , o 2 , . . . , o n ] o=[o^1,o^2,...,o^n] o=[o1,o2,...,on]
- 所有agent的动作为: a = [ a 1 , a 2 , . . . , a n ] a=[a^1,a^2,...,a^n] a=[a1,a2,...,an]
- 中央控制器知道每一个agent的观测值、动作和奖励
- 中央控制器具有n个策略网络(actor): π ( a i ∣ o ; θ i ) i = 1 , 2 , . . . , n \pi(a^i|o;\theta^i)\\i=1,2,...,n π(ai∣o;θi)i=1,2,...,n
- 中央控制器具有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
- 使用价值网络评价策略网络决策的好坏。
4.4.2 训练方式
- 训练完全由中央控制器执行
- 使用策略梯度训练策略网络
- 使用TD算法训练价值网络
4.4.3 执行方式
- 决策完全由中央控制器进行
- 所有agent将观测值传递给中央控制器
- 中央控制器收集到各个agent的状态观测值: o = [ o 1 , o 2 , . . . , o n ] o=[o^1,o^2,...,o^n] o=[o1,o2,...,on]
- 对于每一个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 网络结构
- 每个agent具有自己的策略网络: π ( a i ∣ o i ; θ i ) \pi(a^i|o^i;\theta^i) π(ai∣oi;θi)
- 中央控制器具有n个价值网络(网络可以相同,但是参数不同): q ( o , a ; W i ) q(o,a;W^i) q(o,a;Wi)
- 训练过程中,中央控制器可以获得每个agent的动作、状态观测值、奖励。
- 执行(实际决策)过程中,中央控制器的价值网络不再使用。
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 参数共享
- n个策略网络: π ( a i ∣ o i ; θ i ) \pi(a^i|o^i;\theta^i) π(ai∣oi;θi)
- n个价值网络: q ( o , a ; W i ) q(o,a;W^i) q(o,a;Wi)
- 可训练参数为: { θ i , W i } i = 1 n \{\theta^i,W^i\}_{i=1}^n {θi,Wi}i=1n
- 参数可以共享,比如在无人车中
- 参数不可以共享,比如机器人足球比赛
5 总结
学习方式 |
策略网络(actor) |
价值网络(critic) |
完全去中心化 |
π ( a i ∣ o i ; θ i ) \pi(a^i|o^i;\theta^i) π(ai∣oi;θ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) π(ai∣o;θ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) π(ai∣oi;θi) |
q ( o , a ; W i ) q(o,a;W^i) q(o,a;Wi) |
本文内容为参考B站学习视频书写的笔记!
by CyrusMay 2022 04 11