Multi-Agent Reinforcement Learning 多智能体强化学习
思考:
感觉没有必要把详细的数学推导记录下来,自己理解就行
接下来更专注于进行通俗化的解释
Terminologies 在单智能体基础上名词的扩展
Agent 智能体扩展到n个
Policy Network策略网络
有些策略网络可以互换,如自动驾驶汽车有相同的策略
有些策略网络不能互换,比如篮球场上不同的位置,前锋,中锋,后卫
Convergence 收敛(无法找到更好的参数了,既是收敛)
Settings
1Fully Cooperative完全合作 奖励一致,有相同的目标
2Fully Competitive完全竞争 一方的收益是另一方的损失
3Mixed Cooperative & Competitive 竞争与合作共存
4Self-Interested 利己主义 每个人最大化自己的利益(完全不考虑是否影响其它智能体)
Nash Equilibrium纳什均衡
当其他智能体不变,单独改变一个智能体不会改变Return
每个Agent都在以最优的策略应对其他人的策略
纳什均衡的情况下,谁也没有动机去改变自己的策略
多智能体情境下,单个智能体策略会有什么问题呢?
每个智能体的目标函数不同,一个智能体更新参数可能会改变自己的策略,导致其它智能体也要更新自己的策略,导致不能收敛.
每个agent会相互影响,因此不能将多智能问题简单的看成多个单智能体问题,而需要新的算法
Centralized中心化 VS Decentralized去中心化
Architecture架构
Fully decentralized:每个智能体都独立和环境交互,都有自己的判断和奖励,智能体之间不交流,这就是我们之前的策略
Fully centralized:智能体将所有信息给到中央,自己不做决定,只负责执行中央的指令
Centralized training with decentralized execution 中心化训练去中心化执行:中央控制器搜集所有信息,训练智能体网络,之后通过自己的策略网络进行决策
中心化的缺点:
与中心进行交互和同步需要时间
实时决策几乎不可能
取长补短,得到接下来的方法
中心化训练去中心化执行:
每个智能体都有自己的决策网络(actor)
中心网络有n个价值网络(critic)
centralized Training:中心网络知道所有智能体的观察,动作,奖励
decentralized Execution:在智能体执行时,中央控制器和价值网络不起作用
Parameter Sharing?神经网络是否应该共享参数?
不同位置的篮球运动员-不共享
每个自动驾驶汽车-共享
Policy Gradient with Baseline
在策略函数中加入Baseline,降低方差
(课程讲了一堆如何推导这个Baseline...)
在策略函数中加入Baseline的一种常见方法是,将基准值(Baseline)与策略函数的梯度相乘,以减少梯度的方差。这通常通过计算Advantage(优势)来实现,Advantage定义为实际奖励与Baseline的差异。然后,将Advantage与对数概率的负值相乘,然后通过梯度上升或梯度下降更新策略函数参数。
具体来说,在策略梯度方法(如REINFORCE算法)中,可以使用Advantage来对策略进行更新,从而加入Baseline。这样可以减少梯度的方差,提高训练的稳定性和效率。
Advantage Actor-Critic(A2C)
结合了Actor-Critic方法和Advantage学习
它利用了策略梯度方法和值函数估计的优势,旨在提高训练的效率和稳定性。
在A2C算法中,有两个主要组件:演员网络(Actor Network)和评论家网络(Critic Network)。演员网络用于学习策略函数,即确定性或概率性地选择动作。评论家网络用于估计状态值或状态-动作值函数,以便计算Advantage(优势)。
A2C算法的训练过程中,同时进行了策略更新和值函数更新。它通过最大化Advantage来更新策略网络,从而引入了Baseline来降低方差。与传统的Actor-Critic方法相比,A2C算法更加稳定,因为它可以更好地控制梯度的方差。
此外,A2C算法还可以并行地进行训练,通过多个并行的环境来收集经验数据,然后使用这些数据来进行策略和值函数的更新。这样可以加速训练过程,提高算法的效率。
Continuous Action Space连续控制问题
动作空间是连续的
而DQN只适用于Discrete Action Space离散动作空间
一个方法是连续问题离散化
但是随之而来的是维数灾难
维数灾难是指在高维空间中出现的一系列挑战和现象。在高维空间中,数据点之间的距离变得更加分散,这意味着数据变得更稀疏,且具有更多的噪音。维数灾难还会导致在高维空间中进行数据分析和模式识别变得更加困难,因为数据的分布变得更加复杂,需要更多的数据来进行有效的建模和分析。维数灾难也会对机器学习算法的性能产生负面影响,因为算法需要更多的数据来克服维数灾难带来的挑战。
接下来介绍几个解决连续空间问题的强化学习算法
Deterministic Policy Gradient(DPG)确定策略梯度
旨在学习能够直接输出动作的确定性策略,而不是输出动作的概率分布。
DPG算法的基本思想是通过最大化确定性策略对动作的梯度来更新策略参数,同时使用值函数来评估策略的优劣。这种方法既保留了策略梯度方法的优点,又能够处理连续动作空间中的问题。通过结合确定性策略和值函数的学习,DPG算法可以有效地解决连续动作空间中的强化学习问题。
Training:Auxiliary Network辅助神经网络
博客等级不到三级。。。选不了强化学习的标签 难顶
未完待续 接下来学学代码