- 博客(167)
- 收藏
- 关注
原创 多智能体系统-协作算法
一个智能体识别到它有一个它想要解决的问题,智能体有一个目标,并且要么意识到无法独自实现目标:1.不具备相应能力,2.意识到宁愿不独自实现目标(通常是由于解决方案质量、截止日期等原因),因此,它需要让其他主体参与进来。 智能体发布带有任务规格说明的任务公告规格说明必须编码:-任务本身的描述,任何约束条件(例如截止日期、质量约束)-元任务信息(例如“投标必须在…:我计划的行动的执行导致你的某个(子)目标的实现。:我计划的行动的执行帮助你的某个(子)目标的实现。 管理智能体活动的依赖关系,分为。
2025-05-27 09:28:56
816
原创 多智能体系统-联合意图模型
本质:团队成员为实现共同目标的协作努力,需具备共同目标、相互帮助、团队精神,区别于简单协同行动(如普通交通行驶)或契约关系(如与软件公司合作)。关键对比:车队驾驶:若一方 “秘密跟随” 则非真正团队合作;足球传球 / 乒乓球双打:需主动协作,体现团队互动;马拉松 / 管弦乐队:前者为个体目标,后者为协调表演,均非典型团队合作。
2025-05-27 09:12:57
594
原创 多智能体系统-BDI模型
有助于开发者更准确地理解智能体的行为动机和决策逻辑,从而优化智能体系统的设计。比如在智能机器人的任务执行场景中,通过判断机器人的意图,可以更好地预测其行为,以及在多智能体协作时,能依据意图来协调它们之间的行动,避免冲突,提高协作效率。强调仅仅对某事物做出承诺并不等同于智能体是经过审慎思考后采取行动的,而智能体要 “有意地” 执行某行为,需要在整个过程中意识到自己在执行该行为。并且给出了关于智能体 “意图” 的形式化定义。, 那在多智能体系统领域,能否用这些意向性概念来对计算系统重的智能体的行为进行建模呢?
2025-05-26 22:24:54
1105
原创 多智能体系统-发展与前沿
特性含义Situated在动态 / 不确定环境中感知并行动Flexible反应性(对环境变化做出响应) 主动性(提前行动)Autonomous对自身行动进行控制有目的性Persistent持续运行的过程Social与其他智能体 / 人进行交互Learning具有适应性Mobile能够自行移动具有个性、情绪状态UCAS研究生课程《多智能体系统》
2025-05-26 21:29:42
567
原创 MADDPG算法
之前已经初步介绍了多智能体强化学习研究的问题和最基本的求解范式。本章来介绍一种比较经典且效果不错的进阶范式中心化训练去中心化执行CTDE 所谓中心化训练去中心化执行是指在训练的时候使用一些单个智能体看不到的全局信息而以达到更好的训练效果,而在执行时不使用这些信息,每个智能体完全根据自己的策略直接动作以达到去中心化执行的效果。中心化训练去中心化执行的算法能够在训练时有效地利用全局信息以达到更好且更稳定的训练效果,同时在进行策略模型推断时可以仅利用局部信息,使得算法具有一定的扩展性。CTDE。
2025-05-26 19:22:36
1221
原创 IPPO算法
之前介绍的算法都是单智能体强化学习算法,其基本假设是动态环境是稳态的stationary),即状态转移概率和奖励函数不变,并依此来设计相应的算法。 而如果环境中还有其他智能体做交互和学习,那么任务则上升为多智能体强化学习),如下图所示。 多智能体的情形相比于单智能体更加复杂,因为每个智能体在和环境交互的同时也在和其他智能体进行直接或者间接的交互。由于多个智能体在环境中进行实时动态交互,并且每个智能体在不断学习并更新自身策略,因此在每个智能体的视角下,环境是非稳态的。
2025-05-26 17:27:33
875
原创 BCQ算法与CQL算法-实验部分
本章介绍了离线强化学习的基本概念和两个与模型无关的离线强化学习算法BCQ和CQL,并讲解了CQL的代码。 事实上,离线强化学习还有一类基于模型的方法,如和,本文由于篇幅原因不再介绍。 这一类算法的思路基本是通过模型生成更多数据,同时通过衡量模型预测的不确定性来对生成的偏离数据集的数据进行惩罚。 离线强化学习的另一大难点是算法通常对超参数极为敏感,非常难调参。
2025-05-25 21:35:44
714
原创 BCQ算法与CQL算法-理论部分
在前面的学习中,已经对强化学习有了不少了解。无论是在线策略on-policy)算法还是离线策略off-policy)算法,都有一个共同点:智能体在训练过程中可以不断和环境交互,得到新的反馈数据。二者的区别主要在于在线策略算法会直接使用这些反馈数据,而离线策略算法会先将数据存入经验回放池中,需要时再采样。 然而,在现实生活中的许多场景下,让尚未学习好的智能体和环境交互可能会导致危险发生,或是造成巨大损失。 例如,在训练自动驾驶的规控智能体。
2025-05-25 21:32:49
599
原创 MBPO算法
之前介绍的PETS 算法是基于模型的强化学习算法中的一种,它没有显式构建一个策略(即一个从状态到动作的映射函数 回顾一下之前介绍过的Dyna-Q算法,它也是一种基于模型的强化学习算法。但是 Dyna-Q 算法中的模型只存储之前遇到的数据,只适用于表格型环境。 而在连续型状态和动作的环境中,需要像PETS 算法一样学习一个用神经网络表示的环境模型,此时若继续利用 Dyna 的思想,可以在任意状态和动作下用环境模型来生成一些虚拟数据,这些虚拟数据可以帮助进行策略的学习。 如此,通。
2025-05-25 18:40:06
988
原创 PETS算法
之前介绍了基于值函数的方法DQN基于策略的方法REINFORCE以及两者结合的方法。它们都是无模型(model-free)的方法,即没有建立一个环境模型来帮助智能体决策。 而在深度强化学习领域下,基于模型(model-based)的方法通常用神经网络学习一个环境模型,然后利用该环境模型来帮助智能体训练和决策。 利用环境模型帮助智能体训练和决策的方法有很多种,例如可以用与之前的 Dyna 类似的思想生成一些数据来加入策略训练中。 本文要介绍的。
2025-05-24 21:07:42
825
原创 模仿学习算法
虽然强化学习不需要有监督学习中的标签数据,但它十分依赖奖励函数的设置。有时在奖励函数上做一些微小的改动训练出来的策略就会有天差地别。 在很多现实场景中,奖励函数并未给定,或者奖励信号极其稀疏,此时随机设计奖励函数将无法保证强化学习训练出来的策略满足实际需要。 例如,对于无人驾驶车辆智能体的规控,其观测是当前的环境感知恢复的3D 局部环境动作是车辆接下来数秒的具体路径规划,那么奖励是什么?如果只是规定正常行驶而不发生碰撞的奖励为+1,发生碰撞为-100,那么智能体学习的结果则很可能是。
2025-05-24 18:43:28
649
原创 SAC算法
之前的章节提到过在线策略算法的采样效率比较低,我们通常更倾向于使用离线策略算法。然而,虽然DDPG是离线策略算法,但是它的训练非常不稳定,收敛性较差,对超参数比较敏感,也难以适应不同的复杂环境。 2018 年,一个更加稳定的离线策略算法被提出。SAC的前身是,它们都属于最大熵强化学习的范畴。不存在一个显式的策略函数,而是使用一个函数的波尔兹曼分布,在连续空间下求解非常麻烦。于是SAC提出使用一个Actor表示策略函数,从而解决这个问题。目前,在无模型的强化学习算法中,SAC是一个非常高效的算法,它。
2025-05-23 21:49:25
601
原创 DDPG算法
之前的章节介绍了基于策略梯度的算法REINFORCE以及两个改进算法-TRPO和PPO。这类算法有一个共同的特点:它们都是在线策略算法,这意味着它们的样本效率(sample efficiency)比较低。 回忆一下DQN算法,DQN算法直接估计最优函数 Q,可以做到离线策略学习,但是它只能处理动作空间有限的环境,这是因为它需要从所有动作中挑选一个Q值最大的动作。如果动作个数是无限的,虽然可以将动作空间离散化,但这比较粗糙,无法精细控制。 那有没有办法可以用类似的思想来处理动作空间无限的环境。
2025-05-23 20:15:08
1264
原创 PPO算法
介绍的TRPO算法在很多场景上的应用都很成功,但是我们也发现它的计算过程非常复杂每一步更新的运算量非常大。TRPO算法的改进版-PPO算法在2017年被提出,PPO基于TRPO的思想,但是其算法实现更加简单。并且大量的实验结果表明,与TRPO相比,PPO能学习得一样好(甚至更快),这使得PPO成为非常流行的强化学习算法。如果想要尝试在一个新的环境中使用强化学习算法,那么PPO就属于可以首先尝试的算法。回忆一下TRPO的优化目标maxθEs∼νπkEa∼πθk⋅∣。
2025-05-22 15:27:02
817
原创 TRPO算法-实验部分
上述内容讲解了 TRPO 算法,并分别在离散动作和连续动作交互的环境中进行了实验。TRPO 算法属于在线策略学习方法,每次策略训练仅使用上一轮策略采样的数据,是基于策略的深度强化学习算法中十分有代表性的工作之一。 直觉性地理解,TRPO 给出的观点是:由于策略的改变导致数据分布的改变,这大大影响深度模型实现的策略网络的学习效果,所以通过划定一个可信任的策略学习区域,保证策略学习的稳定性和有效性。
2025-05-22 13:52:29
378
原创 TRPO算法-理论部分
之前介绍的基于策略的方法包括策略梯度算法和Actor-Critic算法。这些方法虽然简单、直观,但在实际应用过程中会遇到训练不稳定的情况。 回顾一下基于策略的方法参数化智能体的策略,并设计衡量策略好坏的目标函数,通过梯度上升的方法来最大化这个目标函数使得策略最优。 具体来说,假设θ\thetaθ表示策略πθ\pi_\thetaπθJθEs0Vπθs0Eπθ∑t0∞γtrstatJθEs0Vπθs0。
2025-05-22 13:47:27
1259
原创 Actor-Critic算法
之前的内容讲解了基于值函数的方法(DQN)和基于策略的方法(REINFORCE),其中基于值函数的方法只学习一个价值函数,而基于策略的方法只学习一个策略函数。 那么,一个很自然的问题是,有没有什么方法既学习价值函数,又学习策略函数呢?答案就是。是囊括一系列算法的整体架构,目前很多高效的前沿算法都属于算法,本文接下来将会介绍一种最简单的算法。 需要明确的是,算法本质上是基于策略的算法,因为这一系列算法的目标都是优化一个带参数的策略,只是会额外学习价值函数,从而帮助策略函数更好地学习。
2025-05-21 19:31:23
580
原创 策略梯度算法
之前介绍的Q-learningDQN及DQN 改进算法都是基于价值)的方法,其中 Q-learning 是处理有限状态的算法,而 DQN 可以用来解决连续状态的问题。 在强化学习中,除了基于值函数的方法,还有一支非常经典的方法,那就是基于策略)的方法。 对比两者,基于值函数的方法主要是学习值函数,然后根据值函数导出一个策略,学习过程中并不存在一个显式的策略;而基于策略的方法则是直接显式地学习一个目标策略。策略梯度是基于策略的方法的基础,故下文从策略梯度算法说起。
2025-05-21 17:09:56
986
原创 DQN改进算法-Dueling DQN算法
DQN算法敲开了深度强化学习的大门,但是作为先驱性的工作,其本身存在着一些问题以及一些可以改进的地方。于是,在 DQN 之后,学术界涌现出了非常多的改进算法。Double DQN和,这两个算法的实现非常简单,只需要在 DQN 的基础上稍加修改,它们能在一定程度上改善 DQN 的效果。如果读者想要了解更多、更详细的 DQN 改进方法,可以阅读 Rainbow 模型的论文及其引用文献。 Rainbow是DeepMind提出的一种在DQN的基础上融合了6个改进的深度强化学习方法。
2025-05-21 16:48:42
955
原创 DQN改进算法-Double DQN算法
DQN算法敲开了深度强化学习的大门,但是作为先驱性的工作,其本身存在着一些问题以及一些可以改进的地方。于是,在 DQN 之后,学术界涌现出了非常多的改进算法。Double DQN和,这两个算法的实现非常简单,只需要在 DQN 的基础上稍加修改,它们能在一定程度上改善 DQN 的效果。如果读者想要了解更多、更详细的 DQN 改进方法,可以阅读 Rainbow 模型的论文及其引用文献。 Rainbow是DeepMind提出的一种在DQN的基础上融合了6个改进的深度强化学习方法。
2025-05-21 10:52:51
917
原创 DQN算法
在之前讲解的Q-learning算法中,以矩阵的方式建立了一张存储每个状态下所有动作QQQ值的表格Q-Table。Q-Table表格中的每一个动作价值QsaQ(s, a)Qsa表示在状态sss下选择动作aaa然后继续遵循某一策略预期能够得到的期望回报。然而,这种用表格存储动作价值的做法只在环境的状态和动作都是离散的,并且空间都比较小的情况下适用,我们之前进行代码实战的几个环境都是如此(如悬崖漫步)。 当状态或者动作数量非常大的时候,这种做法就不适用了。
2025-05-20 20:06:47
1015
原创 Dyna-Q算法
在强化学习中,“模型”通常指与智能体交互的环境模型,即对环境的状态转移概率和奖励函数进行建模。根据是否具有环境模型基于模型的强化学习(model-based reinforcement learning)和无模型的强化学习无模型的强化学习根据智能体与环境交互采样到的数据直接进行策略提升或者价值估计,前面的博客讨论的两种时序差分算法,即Sarsa和Q-learning算法,便是两种无模型的强化学习方法,后续将要介绍的方法也大多是无模型的强化学习算法。 在基于模型的强化学习中,模型可以是事先知道。
2025-05-20 12:33:35
832
原创 时序差分算法
前面介绍的动态规划算法是model-base的,其要求马尔可夫决策过程是已知的,即要求与智能体交互的环境是完全已知的(例如迷宫或者给定规则的网格世界)。 在此条件下,智能体其实并不需要和环境真正交互来采样数据,直接用动态规划算法就可以解出最优价值或最优策略。这就好比对于有监督学习任务,如果直接显式给出了数据的分布公式,那么也可以通过在期望层面上直接最小化模型的泛化误差来更新模型参数,并不需要采样任何数据点。 但这在大部分场景下并不现实,机器学习的主要方法都是在数据分布未知。
2025-05-19 19:37:58
728
原创 动态规划算法
动态规划(dynamic programming)是程序设计算法中非常重要的内容,能够高效解决一些经典问题,例如背包问题和最短路径规划。动态规划的基本思想是将待求解问题分解成若干个子问题,先求解子问题,然后从这些子问题的解得到目标问题的解。 动态规划会保存已解决的子问题的答案,在求解目标问题的过程中,需要这些子问题答案时就可以直接利用,避免重复计算。本章介绍如何用动态规划的思想来求解在马尔可夫决策过程中的最优策略。 基于动态规划的强化学习算法主要有两种:一是策略迭代。
2025-05-16 15:28:11
529
原创 马尔可夫决策过程
马尔可夫决策过程(Markov decision process,MDP)是强化学习的重要概念。要学好强化学习,我们首先要掌握马尔可夫决策过程的基础知识。前两章所说的强化学习中的环境一般就是一个马尔可夫决策过程。与多臂老虎机问题不同,马尔可夫决策过程包含状态信息以及状态之间的转移机制。 如果要用强化学习去解决一个实际问题,第一步要做的事情就是把这个实际问题抽象为一个马尔可夫决策过程,也就是明确马尔可夫决策过程的各个组成要素。本章将从马尔可夫过程出发,一步一步地进行介绍,最后引出马尔可夫决策过程。
2025-05-15 23:03:31
914
原创 一文搞懂Pymavlink
消息主要用于向飞行器的各个执行器发送控制命令,控制飞行器的姿态和身体角速率。它通过设置不同的控制值来调整飞行器的姿态(例如,滚转、俯仰和偏航)以及其他飞行器的操作(如油门、襟翼等)。在使用时,发送方需要指定时间戳、目标系统/组件 ID 以及控制信号,这些控制信号通常会映射到飞行器的执行器上,从而实现对飞行器姿态的精确控制。
2025-05-06 15:31:40
975
原创 Clion中创建ROS项目
ROS(机器人操作系统)是一套为机器人应用设计的库和工具。它主要针对 C++和 Python 开发,并使用基于 CMake 的 Python 脚本构建系统。ROS 软件发行版适用于 Linux、Windows,也适用于 macOS 的实验模式。 您可以使用 CLion 作为 ROS 项目的 IDE。3.在另一个终端中,检查当前活跃的 ROS 主题。 最简单地向 CLion 提供 ROS 环境变量的方法是, 在这个例子中,我们将创建一个简单的。,可以看到类似在Clion中的输出。
2025-05-06 15:22:02
869
原创 华为云中ubuntu云服务器上传Docker环境并训练强化学习代码DQN和AC
将训练后的模型与内置AI进行对战,获对抗录像log文件,需要将log文件在Win10系统下通过FightingICE软件展示。将环境安装好,以及待训练代码解压完成后,可以开始进行训练。安装包含格斗游戏运行环境的Docker镜像以及运行脚本。将包含fightingICE游戏的docker镜像导入。t中获得和下面内容相似的输出,这个证明你已经运行成功。先将docker环境和训练代码都上传到云服务器上去。如果需要查看报错日志,则打开。如下图,需要等待上传完成。当以上命令运行后,你会在。重新连接服务器后又好了。
2025-04-25 10:54:21
367
原创 华为云ubuntu云服务器报错:ssh:Connect to host xx.xx.xx.xx port xx: Connection time out
与工单的客服沟通后,需要在安全组规则中开放TCP和ICMP端口。使用Win10自带的Cmd窗口无法通过SSH连接该公网IP。使用华为云自带的CloudShell也无法连接该公网IP。先试用华为云自带的自助工具,诊断一下远程登录问题。
2025-04-25 10:47:09
233
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人