尧图建网站 尧图建网站 YAOTU WEB BUILD 免费咨询
ARTICLE DETAIL

资讯详情

深耕网站建设与建站编程的一线实战洞察。

安全连续时间多智能体强化学习:基于上图形式的约束优化框架

安全连续时间多智能体强化学习:基于上图形式的约束优化框架 1. 项目概述当多智能体强化学习遇上连续时间与安全约束在工业机器人协同、自动驾驶车队、无人机集群这些前沿应用里多智能体强化学习MARL正扮演着越来越核心的角色。但现实世界不是回合制的游戏它是一个连续演化的动态系统智能体需要在一个不间断的时间流里做决策。更棘手的是这些决策必须时刻满足安全约束——比如机器人不能撞到人无人机之间必须保持安全距离电网的电压电流不能超限。传统的离散时间MARL框架把时间切成一个个小格子在这种要求高精度、高安全性的连续动态场景下就显得有些力不从心了。它要么为了保证安全而过于保守牺牲了探索和学习效率要么在约束处理上不够优雅导致训练不稳定。“Safe Continuous-time Multi-Agent Reinforcement Learning via Epigraph Form”这个标题精准地指向了当前MARL研究中的一个硬核挑战与前沿解法。它的核心目标就是为多智能体系统构建一个能在连续时间域中安全、高效学习的通用框架。这里面的“安全”不是事后补救而是将约束条件内化为学习目标的一部分“连续时间”意味着我们需要处理微分方程描述的动态而不仅仅是差分方程“Epigraph Form”上图形式则是一个来自凸优化的数学工具它能把带约束的优化问题巧妙地转化为一个等价的无约束问题为算法设计打开了新的大门。简单来说这个项目想做的事就是让一群智能体在像流水一样连续变化的环境里不仅能学会合作与竞争还能从一开始就“规规矩矩”不越雷池一步。这对于推动MARL从实验室走向真实的物理世界和复杂系统至关重要。无论你是研究多智能体系统的算法工程师还是需要在机器人、控制领域应用强化学习的开发者理解这套方法背后的思路都能为你打开一扇新的窗户。2. 核心思路拆解为什么是Epigraph Form要理解这个项目的精髓我们得先抛开算法细节看看它面对的根本矛盾是什么以及“Epigraph Form”这把钥匙是如何解开这把锁的。2.1 连续时间MARL的独特挑战与优势在离散时间设定下我们通常用马尔可夫决策过程MDP或它的扩展形式随机博弈来描述问题时间步长是固定的。智能体在t时刻观察状态执行动作环境转移到t1时刻获得奖励。但在连续时间设定下我们面对的是由随机微分方程SDE或常微分方程ODE描述的系统动态dx_t f(x_t, u_t) dt σ(x_t, u_t) dW_t这里x_t是状态u_t是所有智能体的联合动作W_t是维纳过程布朗运动代表环境噪声。智能体的策略π现在是一个将状态映射到动作概率分布的连续时间函数。挑战主要在于三点策略评估复杂价值函数Value Function的定义从离散求和变成了连续积分涉及伊藤积分理论分析和计算都更复杂。策略更新频率在仿真或实际系统中策略必须以极高的频率理论上无限进行查询和更新对计算效率和策略函数的表达能力要求极高。约束处理困难安全约束通常表示为对状态或动作的路径约束例如g(x_t) ≤ 0必须对所有t几乎必然成立。在离散时间下我们可以尝试在每个时间步检查约束但在连续时间下这要求约束在每一个时间点都成立直接将其融入优化目标非常困难。然而连续时间框架也有其不可替代的优势更自然的建模物理世界的动力学本质上是连续的连续时间模型能更精确地描述系统行为尤其是对于高频控制或光滑运动。理论分析工具丰富可以利用成熟的随机分析、动态规划和哈密顿-雅可比-贝尔曼HJB方程等工具进行理论推导有时能得出更简洁优美的解。避免离散化误差无需手动选择离散化步长避免了因步长不当引入的稳定性或精度问题。2.2 安全约束的棘手性与传统方法局限安全约束通常分为两类硬约束Hard Constraints和软约束Soft Constraints。硬约束要求绝对不可违反如碰撞避免常通过构造安全集或使用控制屏障函数CBF来保证。软约束则允许偶尔违反但希望最小化如能耗限制常通过惩罚项融入奖励函数。传统方法在处理MARL中的安全约束时常面临以下局限惩罚函数法在奖励中加一个大的负惩罚项。问题在于惩罚系数难以调节太小了约束可能被违反太大了会导致奖励稀疏智能体因为害怕惩罚而不敢探索学不到有效策略。拉格朗日乘子法将约束优化问题转化为无约束的极小极大问题。这种方法在理论上很优雅但在实践中尤其是在非凸的多智能体场景下对偶变量的更新非常敏感容易导致训练振荡和不稳定。原始对偶优化类似拉格朗日法但需要精心调整学习率序列在多智能体非平稳环境中协调多个智能体的对偶变量更新极具挑战。这些方法的核心问题是它们都将约束视为优化问题的“附加条件”约束和目标函数在算法层面是分离处理的这种分离性在多智能体、连续时间的复杂耦合系统中很容易放大训练的不稳定性。2.3 Epigraph Form化约束为目标的数学魔术“Epigraph Form”是解决上述困境的一个巧妙数学转换。一个函数f(x)的上图Epigraph定义为所有位于该函数图像上方的点的集合epi(f) {(x, t) | t ≥ f(x)}。对于一个标准的带约束的优化问题最小化 J(θ) 满足约束 C_i(θ) ≤ 0, i1,...,m我们可以利用上图的定义将其等价地改写为最小化 t 满足约束 J(θ) ≤ t, 且 C_i(θ) ≤ 0, i1,...,m这里我们引入了一个辅助变量t。这个形式就是Epigraph Form。它的妙处在于目标函数简化原始可能很复杂的目标函数J(θ)变成了一个极其简单的线性目标t。约束统一原始的目标和所有安全约束现在都变成了新问题中的不等式约束它们处于平等的地位。结构清晰优化变量从θ扩展到了(θ, t)问题的结构变得更加规整为设计高效的优化算法特别是基于梯度的算法提供了便利。应用到我们的安全连续时间MARL问题中假设每个智能体i的目标是最大化期望累积奖励J_i(π)同时满足一组期望累积代价约束C_{i,k}(π) ≤ d_{i,k}。通过Epigraph Form我们可以为每个智能体定义一个新的、统一的无约束优化问题以智能体i为例最小化 t_i 满足约束 -J_i(π) t_i ≥ 0, 且 C_{i,k}(π) - d_{i,k} ≤ 0, ∀k通过引入适当的损失函数例如使用拉格朗日松弛法或罚函数法处理这个新约束集我们就能将原问题转化为一个可以端到端训练的无约束优化问题。这相当于把“最大化奖励”这个目标也看作是一个特殊的“约束”即奖励必须大于某个阈值t_i从而让算法以统一的方式处理性能与安全。注意Epigraph Form本身并没有消除约束而是改变了问题的表述形式。它的核心价值在于统一化和结构化使得我们可以利用更成熟、更稳定的优化算法如增广拉格朗日法、罚函数法来同时处理目标和所有约束避免了传统方法中目标与约束学习过程相互干扰的问题。在多智能体场景下每个智能体都可以采用这种形式进行本地优化再通过其策略或价值函数的参数共享来实现协同这为设计可扩展的安全MARL算法奠定了基础。3. 算法框架设计与核心组件基于Epigraph Form的思想我们可以勾勒出一个安全连续时间MARL算法的基本框架。这个框架通常包含以下几个核心组件用于近似策略和价值的神经网络结构、针对连续时间动态设计的演员-评论家Actor-Critic更新规则、以及利用Epigraph Form处理约束的优化层。3.1 网络架构适应连续时间流的函数逼近器在连续时间设定中策略网络和价值网络需要能够处理连续的时间输入。一种常见的做法是采用时间嵌入的神经网络。演员网络Actor / Policy Network输入当前状态x_t输出动作分布的参数如高斯分布的均值和方差。为了体现时间的连续性网络本身可以是循环神经网络RNN或带自注意力机制的Transformer但更常见的做法是使用普通的深度前馈网络DNN因为时间信息已隐含在状态x_t的动态变化中。对于确定性策略可能直接输出动作u_t对于随机策略输出的是动作概率密度函数的参数。实操要点输出层激活函数的选择很重要。对于有界动作空间如电机扭矩通常使用tanh缩放对于方差参数必须使用softplus等确保其为正数的激活函数。评论家网络Critic / Value Network在连续时间中我们通常学习的是状态价值函数V(x)或动作价值函数Q(x, u)。由于时间连续贝尔曼方程表现为微分形式HJB方程。网络输入为状态x_t对于Q函数还有动作u_t输出一个标量值估计。实操要点评论家网络的学习目标是满足HJB方程。在实践中我们通过采样轨迹使用基于随机微分方程离散化的时序差分TD误差来进行更新。网络需要足够深以捕捉连续动态的复杂关系。安全评论家网络Safe Critic / Cost Network这是安全RL中的关键组件。除了估计累积奖励的价值函数我们还需要估计累积代价约束违反程度的价值函数记为C(x)或C(x, u)。其网络结构与普通评论家类似但学习目标不同——它预测的是未来期望累积代价。注意事项安全评论家的准确度至关重要。低估代价会导致约束违反高估代价则会限制策略探索。通常需要单独的回放缓冲区来存储代价相关的转移数据并可能使用保守的价值估计技巧。3.2 连续时间演员-评论家更新规则更新规则需要从离散时间的TD误差和策略梯度推广到连续时间设定。核心工具是随机微分方程下的伊藤引理和哈密顿-雅可比-贝尔曼方程。评论家更新Critic Update 对于价值函数V_φ(x)其参数φ的更新基于连续时间的TD误差。我们采样一条轨迹在时间点tTD误差δ_t可以近似为δ_t r_t dt γ V_φ(x_{tdt}) - V_φ(x_t)其中dt是一个很小的离散时间步用于数值仿真γ是折扣因子。然后通过最小化δ_t^2来更新φ。对于Q函数原理类似。演员更新Actor Update 连续时间的策略梯度定理给出了期望回报J(θ)关于策略参数θ的梯度。对于随机策略梯度形式为∇_θ J(θ) ≈ E [∇_θ log π_θ(u_t | x_t) * A(x_t, u_t)]其中A(x_t, u_t)是优势函数可以通过评论家网络估计例如A Q - V。在连续时间下这个期望是在轨迹的时间积分上取的。在实际算法中我们通过蒙特卡洛采样来近似这个梯度。安全约束的融入关键步骤 这里就是Epigraph Form发挥作用的地方。我们为每个智能体i定义增广的拉格朗日函数L_i(θ_i, t_i, λ_i)L_i t_i λ_i^J * max(0, -J_i(θ_i) t_i) Σ_k λ_{i,k}^C * max(0, C_{i,k}(θ_i) - d_{i,k})其中λ_i^J和λ_{i,k}^C是对应的拉格朗日乘子对偶变量。注意这里我们将目标J_i的约束也写成了max(0, ...)的惩罚项形式与安全约束一视同仁。优化流程如下 a.内层最小化优化策略和辅助变量固定对偶变量λ通过梯度下降同时更新策略参数θ_i和辅助变量t_i以最小化L_i。θ_i ← θ_i - α_θ * ∇_{θ_i} L_it_i ← t_i - α_t * ∇_{t_i} L_i(实际上∇_{t_i} L_i 1 - λ_i^J这引导t_i调整到合适水平) b.外层最大化更新对偶变量固定θ_i和t_i通过梯度上升更新对偶变量λ以最大化拉格朗日函数实际上是惩罚约束违反。λ_i^J ← λ_i^J β_λ * max(0, -J_i(θ_i) t_i)λ_{i,k}^C ← λ_{i,k}^C β_λ * max(0, C_{i,k}(θ_i) - d_{i,k})这个过程在一个训练循环中交替进行。Epigraph Form的引入使得t_i成为一个可优化的变量自动地寻找满足奖励约束的阈值而不是手动设定一个固定的目标。3.3 多智能体协同去中心化执行与集中式训练在多智能体设置中我们需要决定如何协调各个智能体的学习。目前主流范式是集中式训练与去中心化执行。集中式训练CT在训练时算法可以访问所有智能体的局部观测和动作甚至可以访问全局状态。这允许我们训练一个集中的“联合评论家”或使用其他智能体的信息来辅助学习以解决信用分配和非平稳性问题。安全约束也可能是全局的如整体系统能耗需要在集中层面处理。去中心化执行DE在执行时每个智能体只根据自己的局部观测来做出决策。这就要求每个智能体的策略网络π_i的输入只能是其局部观测o_i。在我们的框架中演员网络必须是去中心化的输入仅为局部观测o_i。评论家网络在训练时可以是集中式的输入为联合观测和动作以提供更准确的价值估计。但为了稳定性也常使用混合的方法例如每个智能体有自己的局部评论家同时用一个集中的评论家来指导训练。安全约束的处理如果约束是局部的如每个机器人自身的关节限位那么每个智能体独立处理自己的Epigraph Form优化问题即可。如果约束是全局的如无人机编队队形则需要一个集中式的“安全协调器”来估计全局代价C_global并将这个信息以某种形式如额外的奖励/惩罚信号或对策略网络的辅助输入反馈给各个智能体智能体再将其纳入自己的本地优化问题中。Epigraph Form同样适用只是约束函数C的定义域变成了所有智能体的联合策略。4. 实操流程与关键实现细节理论框架搭建好后我们需要将其转化为可运行的代码。以下是一个基于深度强化学习库如PyTorch的实现流程概览和关键细节。4.1 仿真环境搭建与问题定义首先你需要一个支持连续时间多智能体动态的仿真环境。OpenAI Gym的某些扩展如multiagent-particle-envs可以模拟简单连续动态但对于更复杂的物理仿真如MuJoCo、PyBullet可能需要自己封装多智能体接口。关键步骤定义状态空间、动作空间和动力学明确每个智能体的观测o_i、动作u_i以及联合状态x的微分方程dx/dt f(x, u)。设计奖励函数定义每个智能体的瞬时奖励r_i(t)。奖励应鼓励任务完成如到达目标、保持队形并可能包含稀疏奖励。形式化安全约束这是核心。将每个安全约束表达为一个非负的代价函数c_{i,k}(x, u_i)。例如防碰撞约束可以定义为当两个智能体距离d d_safe时c (d_safe - d)^2否则为0。约束条件最终表示为期望累积代价小于阈值d_{i,k}E[∫_0^T γ^t c_{i,k} dt] ≤ d_{i,k}。4.2 神经网络实现与初始化import torch import torch.nn as nn import torch.nn.functional as F class ContinuousPolicyNetwork(nn.Module): 连续动作空间的随机策略网络 def __init__(self, obs_dim, action_dim, hidden_sizes[256, 256]): super().__init__() layers [] prev_size obs_dim for size in hidden_sizes: layers.append(nn.Linear(prev_size, size)) layers.append(nn.ReLU()) prev_size size self.shared_layers nn.Sequential(*layers) self.mean_layer nn.Linear(prev_size, action_dim) self.log_std_layer nn.Linear(prev_size, action_dim) # 输出对数标准差 def forward(self, obs): shared_features self.shared_layers(obs) mean torch.tanh(self.mean_layer(shared_features)) # 假设动作在[-1,1] log_std self.log_std_layer(shared_features) log_std torch.clamp(log_std, -20, 2) # 防止方差爆炸或消失 std torch.exp(log_std) return torch.distributions.Normal(mean, std) class CentralizedValueNetwork(nn.Module): 集中式状态价值函数网络 def __init__(self, global_state_dim, hidden_sizes[256, 256]): super().__init__() layers [] prev_size global_state_dim for size in hidden_sizes: layers.append(nn.Linear(prev_size, size)) layers.append(nn.ReLU()) prev_size size layers.append(nn.Linear(prev_size, 1)) self.net nn.Sequential(*layers) def forward(self, global_state): return self.net(global_state) # 安全代价价值网络结构类似CentralizedValueNetwork但独立初始化。初始化心得策略网络最后一层的权重初始化应较小如nn.init.uniform_(layer.weight, -3e-3, 3e-3)以便初始策略接近随机探索。价值网络可以按标准方法初始化。不同的价值网络奖励价值、代价价值应完全独立避免共享特征导致估计偏差。4.3 训练循环与Epigraph优化步骤以下是训练循环中一个批处理更新的伪代码逻辑def update_parameters(batch_data, agents, central_critic, central_cost_critic, dual_vars, optimizer): batch_data: 包含联合状态s联合动作a奖励r代价c下一状态s终止标志done agents: 所有智能体的策略网络列表 dual_vars: 每个智能体的对偶变量 (lambda_J, lambda_Cs) # 1. 计算目标值 with torch.no_grad(): next_values central_critic(batch_data[next_states]) target_values batch_data[rewards] gamma * next_values * (1 - batch_data[dones]) next_cost_values central_cost_critic(batch_data[next_states]) target_cost_values batch_data[costs] gamma * next_cost_values * (1 - batch_data[dones]) # 2. 更新评论家奖励和代价 current_values central_critic(batch_data[states]) critic_loss F.mse_loss(current_values, target_values) current_cost_values central_cost_critic(batch_data[states]) cost_critic_loss F.mse_loss(current_cost_values, target_cost_values) # 合并损失并更新 total_critic_loss critic_loss cost_critic_loss optimizer[critic].zero_grad() total_critic_loss.backward() torch.nn.utils.clip_grad_norm_(central_critic.parameters(), max_grad_norm) torch.nn.utils.clip_grad_norm_(central_cost_critic.parameters(), max_grad_norm) optimizer[critic].step() # 3. 为每个智能体计算优势函数和代价优势函数 advantages target_values - current_values.detach() cost_advantages target_cost_values - current_cost_values.detach() # 用于安全策略梯度 # 4. 更新演员策略和辅助变量t (Epigraph Form核心) for i, agent in enumerate(agents): # 获取该智能体的动作对数概率 dist agent(batch_data[local_obs][i]) log_probs dist.log_prob(batch_data[actions][i]).sum(dim-1, keepdimTrue) # 计算代理目标Surrogate Objective例如PPO-Clip ratios torch.exp(log_probs - batch_data[old_log_probs][i]) surr1 ratios * advantages[:, i:i1] # 注意优势函数可能针对每个智能体进行了个性化 surr2 torch.clamp(ratios, 1-clip_epsilon, 1clip_epsilon) * advantages[:, i:i1] policy_loss -torch.min(surr1, surr2).mean() # 计算安全约束项基于代价优势 # 注意这里简化处理实际中安全策略梯度可能更复杂如使用拉格朗日乘子直接加权 cost_surrogate ratios * cost_advantages[:, i:i1] # 假设我们有一个累积代价估计 C_est从cost_critic得到或蒙特卡洛估计 C_est batch_data[cumulative_costs][i] cost_threshold dual_vars[i][d] # 安全阈值 # Epigraph Form 增广拉格朗日项 # L t lambda_J * max(0, -J t) lambda_C * max(0, C - d) # 其中 -J 用 -policy_loss_proxy 近似因为最大化J等价于最小化-policy_loss # t 是智能体i的辅助变量 t_i agent.auxiliary_t # 假设t作为网络的一个可训练参数或单独变量 lambda_J dual_vars[i][lambda_J] lambda_C dual_vars[i][lambda_C] # 计算约束违反量 constraint_J torch.relu(-(-policy_loss) t_i) # 注意符号policy_loss是负的代理目标 constraint_C torch.relu(C_est.mean() - cost_threshold) # 演员的总体损失最小化L actor_loss t_i lambda_J * constraint_J lambda_C * constraint_C # 更新策略参数和t_i optimizer[actor][i].zero_grad() actor_loss.backward() torch.nn.utils.clip_grad_norm_(agent.parameters(), max_grad_norm) optimizer[actor][i].step() # 5. 更新对偶变量外层最大化 with torch.no_grad(): # 对偶变量梯度上升 dual_vars[i][lambda_J] dual_lr * constraint_J.item() dual_vars[i][lambda_C] dual_lr * constraint_C.item() # 对偶变量通常需要投影到非负空间 dual_vars[i][lambda_J] max(0, dual_vars[i][lambda_J]) dual_vars[i][lambda_C] max(0, dual_vars[i][lambda_C])重要提示以上代码是高度简化的概念性伪代码旨在说明Epigraph Form如何融入更新流程。实际实现中J策略性能的估计、C累积代价的估计、优势函数的计算尤其是多智能体情况下的信用分配、以及对偶变量的更新策略如使用PID控制器调整学习率都极为复杂需要大量工程技巧和调参。4.4 超参数调优与训练技巧折扣因子γ通常接近1如0.99但在连续时间问题中需要根据任务的时间尺度调整。有时会使用基于物理时间的折扣。对偶变量学习率dual_lr这是稳定训练的关键。通常比演员评论家的学习率小一个数量级如1e-3vs1e-4。更新太激进会导致振荡。代价阈值d设置一个略大于0的阈值通常比严格为0更鲁棒因为它允许策略在边界附近进行安全探索。多智能体信用分配使用反事实基线或Q值混合网络来更准确地计算每个智能体的优势函数A_i这对于学习协同安全策略至关重要。经验回放必须使用优先经验回放PER并特别关注那些导致高代价约束违反的转移样本以提高安全评论家的学习效率。探索噪声在连续时间策略中探索通常通过策略输出的分布如高斯噪声实现。初始阶段可以设置较大的方差并随着训练衰减。安全约束下探索噪声的幅度需要格外小心过大可能导致灾难性违反约束。5. 常见问题、调试与性能评估在实际实现和训练过程中你会遇到各种各样的问题。以下是一些典型问题及其排查思路。5.1 训练不稳定或发散症状奖励曲线剧烈震荡代价约束违反突然飙升价值估计出现NaN。排查步骤梯度检查检查演员、评论家、安全评论家网络的梯度范数。如果出现爆炸1000立即使用梯度裁剪。价值估计诊断分别绘制奖励价值网络和代价价值网络的预测值与目标值TD目标的散点图。理想情况下应分布在yx直线附近。如果出现系统性偏差或方差极大说明网络容量不足或学习率过高。对偶变量监控观察拉格朗日乘子λ_J和λ_C的变化。它们应该缓慢上升或下降最终收敛到一个稳定值。如果它们疯狂振荡说明对偶学习率dual_lr太大或者内层策略优化没有收敛就更新了对偶变量。可以尝试减小dual_lr或增加内层迭代步数。约束违反分析如果代价始终很高检查安全代价c_t的定义是否合理是否在安全情况下也产生了非零代价噪声导致。同时检查代价折扣因子是否设置得当以及代价价值网络是否低估了未来代价。5.2 策略过于保守无法完成任务症状代价约束违反始终为0或极低但奖励也停滞在很低水平智能体几乎不采取任何有意义的行动。原因与解决代价阈值d过小这是最常见原因。尝试逐步增大d给策略一定的“安全裕度”进行探索。对偶变量λ_C初始值或增长过快过大的λ_C会过度惩罚任何有风险的行动。尝试初始化λ_C为0或一个很小的值并降低其学习率。奖励与代价尺度不匹配如果奖励的绝对值远小于代价策略会优先满足约束而忽略奖励。需要对奖励和代价进行归一化使它们处于同一数量级。探索不足在安全约束下策略可能被困在局部最优点一个非常安全但无效的策略。可以尝试在早期训练阶段暂时放宽安全约束如增大d或使用课程学习从简单、安全的环境开始逐步增加难度。5.3 多智能体间无法达成安全协同症状单个智能体看似行为安全但整体系统出现冲突如对向而行导致碰撞或者智能体之间为了各自安全而陷入僵局如十字路口互不相让。解决思路全局安全评论家引入一个集中式的安全评论家其输入是所有智能体的联合状态和动作用于评估全局的代价如最近智能体对之间的距离。将这个全局代价信号作为额外输入或直接作为惩罚项加入到每个智能体的本地优化中。通信机制让智能体之间能够传递简单的意图信息如下一时刻的预期位置。这可以通过在策略网络的输入中 concatenate 其他智能体的公开信息或者使用图神经网络GNN来聚合邻居信息来实现。通信有助于提前协调避免冲突。基于注意力的信用分配使用类似“actor-attention-critic”的架构。注意力机制可以让每个智能体在决策时动态地关注到对其安全构成最大威胁的邻居从而更有效地分配“避让责任”。这在密集的多智能体场景中效果显著。5.4 性能评估指标不能只看累积奖励。一个全面的安全MARL评估应包括任务性能指标平均回合奖励主要任务完成度。成功率如到达目标的比例。完成时间。安全性能指标约束违反率回合中发生约束违反如距离小于安全阈值的时间步占比。最大约束违反程度整个回合中最严重的违反情况如最小距离。累积代价整个回合的代价总和应低于阈值d。协同与鲁棒性指标智能体间冲突次数。在部分智能体故障或环境扰动下的性能保持率。在论文或报告中应使用学习曲线奖励/代价 vs 训练步数和最终性能的箱线图/柱状图进行展示并与基线算法如无安全约束的MARL、使用惩罚函数法的安全MARL进行对比。实现“Safe Continuous-time MARL via Epigraph Form”是一个系统工程它要求你对强化学习、凸优化、多智能体系统以及具体的应用领域都有深入的理解。从理论推导到代码实现每一步都需要仔细推敲和大量实验调试。但一旦成功你将获得一个强大且通用的框架能够为一系列真实的连续安全决策问题提供可靠的解决方案。这条路充满挑战但沿途的风景和最终的成果绝对值得每一个智能体系统研究者或工程师去探索。
返回列表