多智能体强化学习算法MA-POCA

论文原文:On the Use and Misuse of Absorbing States in Multi-agent Reinforcement Learning

预备知识参考:

强化学习纲要(周博磊课程)

强化学习实践教学

多智能体强化学习入门

MA-POCA是Unity官方2021年11月推出的多智能体强化学习算法,其首次应用在Unity强化学习插件ML-Agents中,取得了让人满意的效果,ML-Agents让我们能够非常便捷地创建自己的强化学习训练环境,我写过对应的文章:Unity强化学习之ML-Agents的使用

在这里插入图片描述

MA-POCA是Unity强化学习插件ML-Agents所使用的官方的多智能体算法,它的实现参考于MADDPG
在介绍MA-POCA之前,需要了解多智能体深度强化学习的代表算法MADDPG。它是经典的的中心化训练和非中心化执行的算法,即在训练的时候,Critic不仅需要知道该智能体的动作信息,还需要知道其他智能体的动作信息,才能做出评判。而在智能体执行的时候,不需要Critic网络参与,因此只需要Actor利用观测到具局部信息采取行动即可。以两个智能体为例:
r ( s , a 1 ) = E a 2 ∈ A , s ′ ∈ S [ r 1 ( s ′ ) p ( s ′ ∣ s , a 1 , a 2 ) π 2 ( a 2 ∣ s ) ] p 1 ( s ′ ∣ s , a 1 ) = ∑ a 2 ∈ A p ( s ′

### PoCA算法解释与实现 PoCA (Policy Conditioned on Action) 是一种强化学习方法,旨在通过条件化当前策略于先前动作来改进多代理系统的协作效率。该技术特别适用于那些需要多个智能体共同完成特定目标的任务环境。 #### 条件化策略更新机制 在PoCA框架中,每个智能体会基于自身观察以及前一时刻执行的动作调整自己的行为模式[^3]。这种设计允许个体更好地适应团队动态变化,并促进更有效的沟通和协调,即使在网络拓扑结构未知的情况下也能工作良好[^2]。 #### 实现细节 为了实现这一理念,在训练过程中引入了一个额外维度——即上一步采取的具体行动作为输入特征之一传递给神经网络模型。这使得每一轮迭代不仅考虑到了即时状态空间的影响因素,还综合考量了历史决策路径对于未来奖励预测的作用效果。 ```python import torch.nn as nn class PolicyNetwork(nn.Module): def __init__(self, state_dim, action_dim, hidden_size=64): super(PolicyNetwork, self).__init__() self.fc1 = nn.Linear(state_dim + action_dim, hidden_size) self.fc2 = nn.Linear(hidden_size, hidden_size) self.out = nn.Linear(hidden_size, action_dim) def forward(self, state_action_pair): x = torch.relu(self.fc1(state_action_pair)) x = torch.relu(self.fc2(x)) return F.softmax(self.out(x), dim=-1) def train_policy_network(policy_net, optimizer, memory_buffer): batch_states_actions, batch_next_states_rewards_dones = sample_from(memory_buffer) predicted_probabilities = policy_net(batch_states_actions) target_values = compute_targets_based_on_rewards_and_discount_factor(batch_next_states_rewards_dones) loss = calculate_loss_between_predicted_probs_and_target_values(predicted_probabilities, target_values) optimizer.zero_grad() loss.backward() optimizer.step() ``` 此代码片段展示了如何创建一个简单的PyTorch模块用于表示政策网络,并定义了一种可能的方法来进行参数优化过程中的梯度下降操作。请注意,这里展示的是简化版伪代码;实际应用时还需要加入更多组件如经验回放池管理、探索策略设定等。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

微笑小星

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值