当前位置: 首页 > web >正文

【 ai-safety-gridworlds】介绍和使用(未完)

AI安全基准测试:多智能体、多目标强化学习环境

一、简介

1.1 基于DeepMind的AI Safety Gridworlds

  • 核心思想: 构建强化学习环境,用于评估智能体在安全属性上的表现。
  • 扩展性: 支持多智能体 (Multi-agent) 和多目标 (Multi-objective) 任务。
  • 兼容性: 兼容 OpenAI Gym/Gymnasium 和 Farama PettingZoo。
  • 目标: 提升AI系统在复杂环境中的安全性和鲁棒性。

1.2 环境概览:从单智能体到多智能体、多目标

在这里插入图片描述

  • 多智能体会在同一个环境中相互作用,竞争甚至合作。

1.3 实验环境:丰富的场景与挑战

在这里插入图片描述

1.4 多目标奖励:向量表示与标量化

多目标奖励的表示与处理

  • 向量形式: 多目标奖励以向量形式表示,每个维度对应一个目标。

    比如,对于一个既要生存又要积累财富的智能体,它的奖励向量可能有两个维度:一个是生存值,另一个是财富值。
    优点是直观,缺点是基于梯度的算法,可能不太方便处理向量奖励。

  • 标量化选项: 提供自动标量化选项,将多目标奖励转换为标量值,方便与传统RL算法兼容

    通常是通过线性加权求和的方式,应对基于梯度的算法
    默认下,该功能关闭,保持原始的向量形式;权重参数可以设置

1.5 Gym/Gymnasium & PettingZoo 兼容性

在这里插入图片描述

  • 通过两个包装器GridworldGymEnvGridworldZooParallelEnv,使的我们的环境能够被GymPettingZoo的API识别和使用。

1.6 可视化与用户界面:SafetyCursesUiEx & 人类交互

在这里插入图片描述

1.7 多智能体支持:独立奖励与观察

在这里插入图片描述

1.8 高级特性:碰撞解决与地图随机化

在这里插入图片描述

我们实现了一种自动策略来解决这些问题,比如当两个智能体同时试图移动到同一个位置时候,或者多个智能体同时争夺有限的资源的时候,系统会自动介入处理,而不是需要你在每个具体的环境代码里都去写冲突解决逻辑。

1.9 性能优化与代码改进

在这里插入图片描述

1.10 多模态动作与可观测属性

丰富智能体行为与交互
多模态动作:
移动 、 附加动作 、改变方向 、表情变化

可观测属性: 面部表情、标志、 数字气泡、 文本气泡

公共指标
部分智能体指标可公开,供其他智能体观察。
我们可以选择将某些智能体的内部指标,比如健康度、满意度等,设置为公开状态,让其他智能体能够观察到这些信息,这有助于建立更复杂的社交关系和协作策略。

二、环境准备

2.1 克隆仓库到本地

git clone https://github.com/levitation-opensource/ai-safety-gridworlds.git

克隆的网址 (https://github.com/levitation-opensource/ai-safety-gridworlds)根据实际情况来啊~ 但是命令git clone 是不变的. 打开git的方法是:桌面右键+“open git bash here”.如果不会克隆的话,见文章《【git】gitee的上传文件与报错》
在这里插入图片描述

解压文件在桌面上
在这里插入图片描述

  • 在pycharm中选择“File > open” 打开克隆的目录,如下展示
    在这里插入图片描述

2.2 安装依赖项

在pychram 的Terminal中执行:

pip install -r requirements.txt
pip install gymnasium pettingzoo pygame  # 额外依赖

ps:terminal 又名 终端 。

2.3 验证安装

运行示例环境测试:

python -m ai_safety_gridworlds.environments.boat_race_ex

成功运行会显示ASCII艺术界面(需启用终端图形支持)
在这里插入图片描述

三、基础使用模式

3.1 运行预设环境

在PyCharm中创建Run Configuration:

http://www.xdnf.cn/news/9581.html

相关文章:

  • 从零到一选择AI自动化平台:深度解析n8n、Dify与Coze
  • 通过阿里云服务发送邮件
  • 具身智能专题(2)-主从臂零位校准及摄像头数据获取与检验
  • XCTF-web-fileclude
  • IP地址基础知识
  • opengl - 在本地搭建API的文档说明网站
  • Zsh/Bash Conda设置延迟启动,启动速度优化
  • Vue之使用Vue-cli创建Webpack工程化项目
  • DDS通信中间件——DDS-TSN规范
  • 大模型-高通平台性能测试示例-2
  • Error Swap_arc198c分析与解答
  • docker容器间服务访问的问题
  • 最终章:终焉之塔 · 前端之道
  • WinServer2016安装Docker
  • ResizeObserver 解决 echarts渲染不出来,内容宽度为 0的问题
  • 无法发布到PowerBI?试试拆分它
  • 回头看,FPGA+RK3576方案的功耗性能优势
  • 设计模式-单例模式
  • 理解 C++ 多态:概念、实现方式与实战示例
  • 密钥管理系统在存储加密场景中的深度实践:以TDE透明加密守护文件服务器安全
  • VC++和python从哪一年开始支持split(字符串)非单个字符
  • 【深度学习-pytorch篇】1. Pytorch矩阵操作与DataSet创建
  • LiveGBS国标视频平台收流模式:UDP、TCP被动与TCP主动传输模式之差异剖析
  • 【系统架构设计师】2025年上半年真题论文回忆版: 论多模型数据库及应用(包括解题思路和参考素材)
  • python--=的用法
  • 小白的进阶之路系列之四----人工智能从初步到精通pytorch自定义数据集下
  • 【每天一个知识点】LangChain
  • 针对Python开发的工具推荐及分析,涵盖集成开发环境(IDE)、轻量级工具、在线开发平台、代码管理工具等)
  • 智能手表怎么申请欧盟EN 18031认证
  • 主流 AI IDE 之一的 Windsurf 介绍