能上Nature封面的idea!强化学习+卡尔曼滤波

news2025/7/28 17:40:19

2025深度学习发论文&模型涨点之——强化学习+卡尔曼滤波

强化学习(Reinforcement Learning, RL)与卡尔曼滤波(Kalman Filtering, KF)的交叉研究已成为智能控制与状态估计领域的重要前沿方向。

强化学习通过试错机制优化决策策略,而卡尔曼滤波则基于贝叶斯理论实现对动态系统状态的高效估计,二者在算法框架与数学基础上具有天然的互补性。随着部分可观测马尔可夫决策过程(POMDP)和深度强化学习(DRL)的快速发展,研究者们逐渐认识到将卡尔曼滤波的 probabilistic state estimation 能力与强化学习的 policy optimization 相结合,可显著提升智能体在复杂动态环境中的鲁棒性与样本效率。

我整理了一些强化学习+卡尔曼滤波【论文+代码】合集,以需要的同学公人人人号【AI创新工场】发525自取。

论文精选

论文1:

[Nature] Champion-level drone racing using deep reinforcement learning

使用深度强化学习的冠军级无人机竞速

方法

深度强化学习训练:在仿真环境中使用深度强化学习训练无人机的控制策略。

数据驱动的噪声模型:通过在真实世界中收集的数据,估计感知和动态的残差模型,并将其集成到仿真环境中以提高策略的现实性。

视觉-惯性估计与门检测:结合视觉-惯性估计和门检测网络,将高维视觉和惯性信息转化为低维状态表示。

卡尔曼滤波融合:使用卡尔曼滤波器融合视觉-惯性估计和门检测的结果,以获得更准确的无人机状态估计。

图片

创新点

性能提升:Swift 在与人类世界冠军的比赛中多次获胜,并创下了最快比赛时间记录,例如在与 2019 年无人机竞速联盟世界冠军 Alex Vanover 的比赛中,Swift 的最快单圈时间比人类冠军快了半秒。

鲁棒性:Swift 在起跑和急转弯等关键赛段表现优于人类飞行员,例如在 Split-S 赛段,Swift 的平均速度比人类飞行员快,且在转弯时更加精准。

适应性:Swift 能够在不同的环境条件下保持高性能,尽管其感知系统假设环境外观与训练时一致,但通过在多样化条件下训练可以提高其鲁棒性。

图片

论文2:

HyperController: A Hyperparameter Controller for Fast and Stable Training of Reinforcement Learning Neural Networks

HyperController:用于强化学习神经网络快速稳定训练的超参数控制器

方法

线性高斯动态系统建模:将超参数优化问题建模为未知的线性高斯动态系统。

卡尔曼滤波器学习:使用卡尔曼滤波器学习超参数目标函数的高效表示。

离散化状态变量:通过离散化状态变量,实现对线性高斯动态系统输出的最优一步预测。

独立优化超参数:分别优化每个超参数,而不是搜索全局超参数配置,减少了搜索空间。

图片

创新点

效率提升:与传统的贝叶斯优化方法相比,HyperController 的计算复杂度显著降低,例如在 OpenAI Gymnasium 的多个环境中,HyperController 的训练时间比 GP-UCB 和 PB2 等方法快了 10 倍以上。

性能提升:在多个强化学习任务中,HyperController 实现了更高的中位数奖励,例如在 HalfCheetah-v4 任务中,HyperController 的中位数奖励比其他方法高出 20% 以上。

稳定性:HyperController 在训练过程中能够保持稳定的性能提升,例如在 1000 次迭代后,HyperController 的最终训练奖励和评估奖励和的中位数均高于其他方法。

图片

论文3:

Sim-to-Real Deep Reinforcement Learning based Obstacle Avoidance for UAVs under Measurement Uncertainty

基于Sim-to-Real深度强化学习的无人机避障方法:应对测量不确定性

方法

近端策略优化(PPO):使用 PPO 算法在仿真环境中训练无人机的避障策略。

噪声注入:在训练和评估过程中引入不同水平的高斯噪声,以模拟真实传感器的测量不确定性。

去噪技术:使用低通滤波器和卡尔曼滤波器等去噪技术来提高在有偏噪声环境下的性能。

仿真到现实(Sim-to-Real)转移:将仿真中训练的策略直接部署到真实世界中的无人机上,无需进一步修改。

图片

创新点

性能提升:在有偏噪声环境下,通过人为注入特定方差的噪声,可以显著提高无人机的避障性能,例如在有 0.15 米偏置的情况下,注入 0.8 米的标准差噪声可以使成功率达到 100%,而没有噪声时成功率为 0%。

鲁棒性:训练时加入小量噪声的策略(Policy 2)在各种噪声环境下表现更为稳定,例如在标准差为 3.0 的无偏噪声环境下,Policy 2 的成功率达到 56%,而未加入噪声训练的策略(Policy 1)成功率为 0%。

适应性:通过在仿真环境中进行广泛的训练和测试,验证了策略在真实世界中的有效性,例如在真实环境中,Policy 2 在加入 0.8 米标准差噪声后,所有试验均成功到达目标。

图片

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2404862.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Markdown基础(1.2w字)

1. Markdown基础 这次就没目录了,因为md格式太乱了写示例,展示那些都太乱了,导致目录很乱。 (我是XX,出现了很多错误,有错误和我说) 1.1 Markdown简介 Markdown是一种轻量级的标记语言&#…

LabVIEW与PLC液压泵测控系统

针对液压泵性能测试场景,采用LabVIEW与西门子 PLC 控制系统,构建高精度、高可靠性的智能测控系统。通过选用西门子 PLC、NI 数据采集卡、施耐德变频电机等,结合LabVIEW 强大的数据处理与界面开发能力,实现液压泵压力、流量、转速等…

【HarmonyOS5】UIAbility组件生命周期详解:从创建到销毁的全景解析

⭐本期内容:【HarmonyOS5】UIAbility组件生命周期详解:从创建到销毁的全景解析 🏆系列专栏:鸿蒙HarmonyOS:探索未来智能生态新纪元 文章目录 前言生命周期全景图详细状态解析与最佳实践🎬 Create状态&#…

c++ 静态成员变量

Student.h头文件内容&#xff1a; #pragma once #include <string> using namespace std;class Student { public:string name;int score;static int totalScore; // 静态局部变量声明Student(string name, int score);~Student();void print() const; };Student.cpp源文…

数据分析之OLTP vs OLAP

数据处理系统主要有两种基本方法&#xff1a;一种注重数据操作(增删查改)&#xff0c;另一种注重商业智能数据分析。 这两种系统是&#xff1a; 联机事务处理&#xff08;OLTP&#xff09; 联机分析处理&#xff08;OLAP&#xff09; Power BI专为与OLAP系统兼容而构建&…

dvwa5——File Upload

LOW 在dvwa里建一个testd2.php文件&#xff0c;写入一句话木马&#xff0c;密码password antsword连接 直接上传testd2.php文件&#xff0c;上传成功 MEDIUM 查看源码&#xff0c;发现这一关只能提交jpg和png格式的文件 把testd2.php的后缀改成jpg&#xff0c;上传时用bp抓包…

【优选算法】C++滑动窗口

1、长度最小的子数组 思路&#xff1a; class Solution { public:int minSubArrayLen(int target, vector<int>& nums) {// 滑动窗口// 1.left0,right0// 2.进窗口( nums[right])// 3.判断// 出窗口// (4.更新结果)// 总和大于等于 target 的长度最小的 子数组…

关于GitHub action云编译openwrt

特别声明:此教程仅你有成功离线编译的经验后,使用下列教程更佳 不建议没有任何成功经验的人进行云编译 1、准备工作 使用GitHub云编译模板 GitHub - jxjxcw/build_openwrt: 利用Actions在线云编译openwrt固件,适合官方源码,lede,lienol和immortalwrt源码,支持X86,电…

sql入门语句-案例

Sql入门 数据库、数据表、数据的关系介绍 数据库 用于存储和管理数据的仓库 一个库中可以包含多个数据表 数据表 数据库最重要的组成部分之一 它由纵向的列和横向的行组成(类似excel表格) 可以指定列名、数据类型、约束等 一个表中可以存储多条数据 数据 想要永久化存储…

A Survey on the Memory Mechanism of Large Language Model based Agents

目录 摘要Abstract1. LLM-Based Agent的Memory1.1 基础概念1.2 用于解释Memory的例子1.3 智能体记忆的定义1.3.1 狭义定义(肯定不用这个定义)1.3.2 广义定义 1.4 记忆协助下智能体与环境的交互过程1.4.1 记忆写入1.4.2 记忆管理1.4.3 记忆读取1.4.4 总过程 2. 如何实现智能体记…

华为OD机试 - 猴子吃桃 - 二分查找(Java 2025 B卷 200分)

public class Test14 {public static void main(String[] args) {Scanner sc = new Scanner(System.in);while (sc.hasNext()) {String[] s = sc.nextLine().split(" ");int[] arr = new int[s.length-1];int count = Integer.parseInt(s[s

【设计模式-5】设计模式的总结

说明&#xff1a;介绍完所有的设计模式&#xff0c;本文做一下总结 设计模式介绍 博主写的设计模式博客如下&#xff1a; 【设计模式-1】UML和设计原则 【设计模式-2.1】创建型——单例模式 【设计模式-2.2】创建型——简单工厂和工厂模式 【设计模式-2.3】创建型——原型…

【无人机】无人机UAV、穿越机FPV的概念介绍,机型与工具,证书与规定

【无人机】无人机UAV、穿越机FPV的概念介绍&#xff0c;机型与工具&#xff0c;证书与规定 文章目录 1、无人机的定义、概念、技术栈1.1 无人机的概念1.2 无人机技术&#xff08;飞控&#xff0c;动力&#xff0c;通信&#xff09; 2、无人机机型2.1 DJI无人机 &#xff08;航拍…

链表好题-多种实现

143. 重排链表 - 力扣&#xff08;LeetCode&#xff09; 这道题非常经典&#xff0c;很多大厂都作为面试题。 方法一&#xff1a;寻找中点翻转链表合并链表 class Solution { public:void reorderList(ListNode* head) {if (head nullptr) {return;}ListNode* mid middleNo…

oracle数据恢复—oracle数据库执行truncate命令后的怎么恢复数据?

oracle数据库误执行truncate命令导致数据丢失是一种常见情况。通常情况下&#xff0c;oracle数据库误操作删除数据只需要通过备份恢复数据即可。也会碰到一些特殊情况&#xff0c;例如数据库备份无法使用或者还原报错等。下面和大家分享一例oracle数据库误执行truncate命令导致…

OneNet + openssl + MTLL

1.OneNet 使用的教程 1.在网络上搜索onenet&#xff0c;注册并且登录账号。 2.产品服务-----物联网服务平台立即体验 3.在底下找到立即体验进去 4.产品开发------创建产品 5.关键是选择MQTT&#xff0c;其他的内容自己填写 6.这里产品以及开发完成&#xff0c;接下来就是添加设…

分享两个日常办公软件:uTools、PixPin

1. uTools 网址&#xff1a;https://u.tools/ 这是一个高效智能的在线工具平台。 特点&#xff1a; 专为提升用户的工作效率跟生活便利性设计。 优点&#xff1a; 1&#xff1a;由国内团队开发。 2&#xff1a;通过插件化的方式为用户提供多样化的功能支持。 3&#xf…

Golang基础学习

​​​​​​​​​​ 初见golang语法 go项目路径 cd $GOPATH //ls可以看到有bin,pkg,src三个文件 cd src/ mkdir GolangStudy cd GolangStudy mkdir firstGolanggo程序执行: go run hello.go//如果想分两步执行: go build hello.go ./hello导入包的方式 import "f…

Spark 之 DataFrame 开发

foreachPartition val data = spark.sparkContext.parallelize(1 to 100)// 使用 foreachPartition 批量处理分区 data.foreachPartition {partitionIterator =

嵌入式学习笔记 - freeRTOS xTaskResumeAll( )函数解析

第一部分 移除挂起等待列表中的任务 while( listLIST_IS_EMPTY( &xPendingReadyList ) pdFALSE )//循环寻找直到为空&#xff0c;把全部任务扫描一遍 { pxTCB ( TCB_t * ) listGET_OWNER_OF_HEAD_ENTRY( ( &xPendingR…