Steve Brunton | Reinforcement Learning | 笔记 | Lecture 3 | 深度强化学习在流体动力学与控制中的应用
目录前言1. 引言2. 强化学习框架回顾3. 流体动力学中的应用分类4. 鱼群游动研究5. 强化学习加速计算6. 综述与常用算法7. 流动控制8. 非稳态流体环境中的飞行控制9. 总结结语参考前言学习 Steven Brunton 讲授的强化学习入门概述视频本篇文章记录第三讲深度强化学习在流体动力学与控制中的应用记录下个人学习笔记和大家一起分享交流videohttps://www.youtube.com/playlist?listPLMrJAkhIeNNQe1JXNvaFvURxGY4gE9k741. 引言今天和大家分享如何在流体动力学领域应用深度强化学习在之前的几期课程中我为大家介绍了强化学习以及结合深度神经网络的强化学习也就是深度强化学习我们将探讨强化学习在流体力学领域中的一些应用。这里有一个我非常喜欢的视频展示了一只鹰在不稳定、湍流的气流中飞行你几乎可以看到这只鹰在感受风并巧妙地操控涡量最终优雅地滑翔到一块岩石上。这是一个极其复杂的控制问题这正是我们作为人类工程师希望能够在我们的系统中复制或模仿的能力。生物系统在与复杂流体环境互动方面表现得极为出色无论是鱼类、鸟类、蝙蝠甚至是飞行的昆虫长期以来几千年来它们如何做到这一点对人类来说一直是个谜同时也激发了我们许多工程设计和思考的灵感因此这种受生物学启发的强化学习理念现在开始为我们揭示如何与这些复杂系统互动并加以控制这确实令人振奋。2. 强化学习框架回顾这里简单回顾一下强化学习的基本框架我们有一个智能体在这个例子中是我们的鹰与某个环境即非定常流场进行互动它会测量当前的状态它通过视觉眼睛以及翅膀上的感知来测量周围环境的状态因此它或许能感受到流场的一些变化。它有一套策略根据当前状态、过去状态以及对未来状态的预测来决定如何行动它试图最大化某种奖励这种奖励可能相当抽象比如是否成功捕到鱼、着陆时爪子是否会撞到岩石或者在巡逻某个区域时尽可能减少能量消耗。实际上生物系统中的奖励并非直接来自环境在生物学习系统中奖励实际上是生物内部产生的因此当好事发生或我们感到快乐时我们会释放多巴胺这就是生物系统中那种内在的强化信号。因此这与生物强化学习略有不同但这是我们在模拟这些现象并自行设计时的实验场。当然我们有自己的策略存在某种价值函数鹰通过它来估计基于某个控制动作的未来收益而在深度强化学习中我们实际上是用深度神经网络替代了鹰的许多内在机制通过测量状态并做出明智决策来制定一个能在未来获得最大回报的良好策略。3. 流体动力学中的应用分类接下来我将通过几个小例子展示强化学习在流体动力学领域中的应用我们尝试将这些应用分为两类一类是直接操控流体的应用例如流动控制以减少阻力或增加升力另一类应用则是试图模拟某些生物行为例如鱼群游动或鸟群飞行。此外深度强化学习的另一种范式是学习飞行动力学控制在这种情况下飞行器例如滑翔机或四旋翼飞行器处于流体环境中并受到非定常流体动力学的影响但你实际上是在抽象化这些因素试图为机器人设计一种高层次的操控方案。4. 鱼群游动研究接下来我想重点介绍我最喜欢的一项研究即 Verma、Novati 和 Koumoutsakos 于 2018 年发表在《美国国家科学院院刊》PNAS上的论文。他们通过深度强化学习在一个非常复杂的三维模拟环境中研究了不同配置下的鱼群的行为目的是观察尾随的鱼是否能够从前导鱼身上获取能量它们能否高效地成群游动或尾随其他鱼能否设计出一种控制策略来实现这一目标这突显了在流体力学中应用强化学习的一些挑战首先这是一个极高维的模拟在这种情况下状态空间的维度可能高达数百万甚至数十亿个离散单元才能模拟这种流体因此这是一个非常高维度的非线性环境。单个智能体可能只能获取该环境的非常有限的测量数据因此它们只能获取少量的信息例如鱼类拥有侧线这是一种对压力敏感的器官它们通过侧线来感知周围流体的流动情况。运行这些模拟的成本极高我们知道强化学习需要大量的试错过程因此需要大量的模拟计算这一过程极其耗费资源目前有许多研究致力于通过降阶建模等方法加速这一过程并提高效率。Petros Koumoutsakos 的团队发表了大量出色的研究成果这只是众多论文中的一篇他们是流体力学领域中最早开展这项研究的团队之一。5. 强化学习加速计算另一个我感兴趣的领域与此相关同样出自 Petros 团队的研究那就是利用强化学习来加速计算架构。我之前提到过那个关于鱼群的大型模拟基本上是在超级计算机上完成的这确实是一项计算能力的壮举。在这篇论文中他们巧妙地运用强化学习试图加速超级计算机对湍流系统的计算由于时间关系我无法深入探讨其中的技术细节但我鼓励大家去阅读这篇论文。这些蓝色单元格在计算域中分布较为稀疏它们通过多智能体强化学习来掌握流体在这些稀疏网格点上的相互作用从而填补更高分辨率网格的细节和统计信息。因此关键在于你可以在这些稀疏元素上进行少得多的计算却仍能以极低的成本捕捉到一些高维动态特性。我认为这是一个非常棒的想法这属于湍流闭合模型领域中的亚网格尺度建模方法其核心思想是这些蓝色元素以比完全解析湍流所需的最精细分辨率更粗的尺度进行采样在这种场景下多智能体强化学习充当了闭合模型的作用。再次强调这里涉及了许多深奥的内容希望我之后能更多地讨论大涡模拟和亚网格尺度建模的内容但我鼓励大家去深入了解这些内容。6. 综述与常用算法因此你可以利用强化学习来模拟游泳和鱼群行为你可以用它来加速流体中的计算架构。我要推荐另一篇非常出色的综述论文这是 Revolt 团队的工作他们在流体领域的强化学习研究做得非常出色。我想指出的是这篇论文涵盖了文献中的许多案例并详细讨论了所使用的算法以及如何在实践中具体实施这些强化学习算法。这些算法大多采用了 Q-Learning 的某种变体QL 指的是 Q-Learning 或深度 Q 网络Deep Q-Network其中包含几种不同的算法如近端策略优化Proximal Policy OptimizationPPO、A3C我认为是异步优势演员 - 评论家算法Asynchronous Advantage Actor-Critic虽然算法种类多样但其中大多数都基于 Q-Learning。7. 流动控制接下来我想讨论的几个例子是关于如何利用强化学习来控制流体本身因此不仅仅是让智能体如我的鱼在流体中活动如果我们真正想要实现的是流动控制并操纵流体本身呢因此在许多情况下比如流体流过圆柱体或者模拟流体流过卡车、飞机或船只时我们可能希望减少阻力以提高效率。在这篇出色的论文中作者们正是通过强化学习实现了这一目标通过巧妙地应用强化学习进行控制他们成功地显著降低了阻力系数这些物体所受的阻力大大降低。请记住强化学习本质上是机器学习与控制理论的交叉领域因此在流体控制方面非常非常有用。还有一些其他例子人们直接使用这种方法来控制流体这是一篇非常酷的最新论文数值模拟和实验利用主动强化学习控制来操纵这些钝体上的阻力以及这类尾流流动。我把重要的结论放在这里我认为这是对问题的一个非常好的总结他们能够迅速将阻力降低 30%在这些模拟和实验中我想我这里有一张图这是训练前的快照中间列是训练到一半时的状态而 C 列则是训练完成后的结果你可以清楚地看到圆柱体后方的尾流即底部这一行随着系统的学习过程逐渐发生变化。实际上你可以观察到系统正在学习如何触发湍流并形成更为流线型的尾流这类似于棒球投手在某种程度上已经学会的技巧非常棒的结果。下面是一项非常精彩的演示展示了在模拟环境中学习不同的控制策略利用流体来操控物体8. 非稳态流体环境中的飞行控制那么我想深入探讨的最后一个例子是强化学习在非稳态流体环境中飞行控制的应用。我们已经看到了鱼群利用强化学习进行群体行为的研究在流体环境中控制一个智能体即一条鱼。现在我们将探讨人们如何在真实的非稳态流体环境中为四旋翼飞行器、直升机和滑翔机设计控制器这正是理论与实践结合的地方。在这一领域一些最早的研究成果出自伯克利和斯坦福大学。他们基本上成功复现了四旋翼飞行器那些极其激进的杂技式飞行动作他们主要通过人类专家的训练让这些飞行器完成那些令人惊叹的杂技飞行随后借助强化学习技术这些飞行器能够学会模仿那些杂技飞行动作。这些研究堪称该领域的先驱之作确实超前于时代比如 2004 年和 2007 年的 NeurIPS 会议上的成果等。另一项相关且较早的研究是由 Tedrick 等人完成的这里有一架模型飞机它们正在学习如何在非稳态的流体环境中实现精准降落你可以看到周围的流体也能观察到这个装置如何通过失速控制机翼最终成功降落在平台上。这是一个非常复杂的操作这是我们经常看到鸟类在降落时所做的动作比如停在电话线上但对于工程系统来说这极其困难。因此我不建议人类尝试在飞机上完成这样的操作这看起来非常危险让机翼失速产生一个巨大的分离涡在增加阻力和减速的同时提升升力从而实现这种优雅而平稳的降落动作但通过强化学习他们成功掌握了这一极其复杂的操控技巧。下面展示的是 2017 年苏黎世联邦理工学院的研究成果利用强化学习控制四旋翼飞行器这项研究非常出色它能够学习一些高难度的机动动作并有效应对干扰。OK另一个非常出色的研究是 Reddy 等人于 2016 年发表的成果。这项研究主要聚焦于在湍流环境中学习如何高效滑翔他们的做法是将一个鸟类模型置于混沌的瑞利 - 贝纳德对流场中也就是说底部温度高顶部温度低这模拟了平原地区日出时的环境条件地面受热后会形成巨大的热对流单元捕食鸟类或食腐鸟类会借助这些上升气流滑翔并攀升随后在特定区域上空盘旋搜寻小型猎物等目标。因此图 A 展示了强化学习训练前的状态而图 B 则展示了训练后的效果可以看出它们已经学会了如何在这些不稳定、非定常的流体环境中利用上升气流实现高效的攀升。OK接下来是另一个精彩的例子 — 学习飞行。这个研究非常精妙展示了飞行器如何起飞、悬停、滑翔和着陆整个过程相当复杂且精细。9. 总结综上所述我们已经看到强化学习尤其是深度强化学习能够用于理解和控制复杂的流体环境对此我们可以从几个角度来探讨我们可以控制在流体环境中互动的智能体比如鱼类或滑翔机我们也可以直接操控流体环境本身例如在流体控制应用中。因此我认为这将成为未来几十年中一个极具发展潜力的领域强化学习在机器人领域已经得到了广泛应用这是一种非常稳健、受生物学启发的学习方法能够帮助我们与极其复杂的系统进行交互因此我认为它在未来流体工程中的实用性和核心地位只会不断增强。结语本讲将 Deep RL 的视野从经典的游戏与机器人控制延伸到了一个更具物理复杂度的领域—流体动力学。如果说前两讲是在建立 RL 的理论框架和通用工具那么这一讲则展示了这些工具如何在真实物理世界中 “落地”解决那些传统控制方法几乎无法企及的非线性、高维度、非稳态问题。整讲内容可以从两个维度来理解控制什么和如何控制。控制什么—课程将应用场景清晰地划分为两类1. 控制流体中的智能体鱼在湍流中的群游Verma et al., 2018, PNAS、滑翔机在瑞利-贝纳德对流中借助上升气流盘旋攀升Reddy et al., 2016、四旋翼飞行器在非稳态气流中完成高难度杂技动作Berkeley/Stanford, 2004–2007以及精准失速降落Tedrick et al.—这些应用的核心是让智能体学会 “阅读” 复杂的流场信息并做出最优的运动决策。2. 直接控制流体本身通过主动流动控制减少圆柱体/钝体绕流的阻力阻力系数降低约 30%改变尾流结构使其更加流线型—这里 RL 直接作为 “流动控制器”而不仅仅是智能体的导航器。如何控制—在算法层面主流方法集中在 Q-Learning 的多种变体上包括深度 Q 网络DQN、近端策略优化PPO以及异步优势演员-评论家A3C等。同时本讲也揭示了流体力学场景下 RL 面临的独特挑战状态空间的维度极高数百万乃至数十亿离散单元、单个智能体的感知极其有限如同鱼类仅靠侧线感知局部压力以及仿真计算成本极为高昂—这催生了另一个令人兴奋的方向用 RL 反过来加速流体计算例如利用多智能体 RL 作为湍流闭合模型中的亚网格尺度Subgrid-Scale建模方法在稀疏网格上捕捉高维动态特性。回到开篇的那只鹰—它在湍流中优雅地操控涡量、精准着陆—这不仅是生物系统的奇迹更是这一讲乃至整个 Deep RL 在流体力学中追求的终极目标让机器像生物一样在与复杂流体的交互中学会 “感受” 和 “驾驭” 物理世界。从鱼群到滑翔机从圆柱绕流到四旋翼杂技RL 正在成为连接生物学启发与流体工程实践之间的关键桥梁。正如 Brunton 所预见的这一交叉领域在未来的几十年中只会变得更加实用和核心—而我们才刚刚出发 下一讲我们将来学习强化学习中的方法概述敬请期待参考https://www.youtube.com/playlist?listPLMrJAkhIeNNQe1JXNvaFvURxGY4gE9k74

相关新闻

Steve Brunton | Reinforcement Learning | 笔记 | Lecture 4 | 强化学习系列:方法概览

Steve Brunton | Reinforcement Learning | 笔记 | Lecture 4 | 强化学习系列:方法概览

目录前言1. 引言2. 强化学习核心概念回顾3. 模型驱动强化学习4. 模型无关强化学习5. 深度强化学习方法6. 总结与展望结语参考前言 学习 Steven Brunton 讲授的强化学习入门概述视频,本篇文章记录第四讲:强化学习系列:方法概览,记录…

2026/10/10 8:54:30 阅读更多 →
Rocket.Chat 的 `@rocket.chat/peggy-loader`:在 Webpack 构建中把 Peggy 语法文件编译为 ES 模块解析器

Rocket.Chat 的 `@rocket.chat/peggy-loader`:在 Webpack 构建中把 Peggy 语法文件编译为 ES 模块解析器

即时通讯后端前端 【免费下载链接】Rocket.Chat The Secure CommsOS™ for mission-critical operations 项目地址: https://gitcode.com/GitHub_Trending/ro/Rocket.Chat 点击查看 免费下载 rocket.chat/peggy-loader 是 Rocket.Chat 官方维护的 Peggy&#xff08…

2026/10/10 8:54:30 阅读更多 →
ComfyUI本地部署与工作流搭建:从零跑通AI绘画环境

ComfyUI本地部署与工作流搭建:从零跑通AI绘画环境

1. 为什么本地跑图这件事值得认真对待如果你最近才开始接触AI绘画,大概率会经历这样一个过程:先用在线工具生成几张图,觉得挺新鲜,然后发现免费额度用完了,或者想调一个特定的姿势、换一个特定的画风,在线工…

2026/10/10 8:54:30 阅读更多 →

最新新闻

识别虚假技术资源:Bishop深度学习2024真伪验证指南

识别虚假技术资源:Bishop深度学习2024真伪验证指南

简介:这是一本由机器学习权威Christopher M. Bishop与Hugh Bishop合著的深度学习前沿教材,面向高校研究生、AI研究人员及具备数学与编程基础的进阶学习者,系统构建从神经网络基础到Transformer、图神经网络等现代架构的理论框架。资源为单文件…

2026/10/11 10:57:28 阅读更多 →
如何将impeccable拆解为可执行的质量标准与检查清单

如何将impeccable拆解为可执行的质量标准与检查清单

1. 一个词撬动的思维革命:为什么"impeccable"值得深挖第一次看到"impeccable"这个词被单独拎出来当作项目标题,我的直觉是:这要么是个文字游戏,要么背后藏着某种极致追求。后来跟几个做产品和设计的朋友聊了一…

2026/10/11 10:57:28 阅读更多 →
CAPL脚本入门:掌握on start、on message与output三大核心函数

CAPL脚本入门:掌握on start、on message与output三大核心函数

1. 为什么第一个CAPL脚本值得认真对待很多人第一次接触CAPL,心态都是“先跑起来再说”。这个思路没错,但问题在于,如果第一个脚本只是照抄示例、点下编译、看到没有报错就结束,那基本等于没入门。后面一旦遇到真实项目里的报文周期…

2026/10/11 10:57:28 阅读更多 →
操作系统实验报告写作指南:进程调度、内存管理与并发同步实战

操作系统实验报告写作指南:进程调度、内存管理与并发同步实战

简介:这份资源是西安电子科技大学操作系统课程的上机实验报告,面向正在学习操作系统、需要完成进程与线程相关实验的高校学生及自学者。报告围绕Linux环境下C语言编程展开,完整覆盖进程建立、线程共享进程数据、信号通信、匿名管道与命名管道…

2026/10/11 10:57:28 阅读更多 →
无DOM测试与happy-dom:bloub如何验证导出缺陷的测试体系

无DOM测试与happy-dom:bloub如何验证导出缺陷的测试体系

前端图形学 【免费下载链接】bloub SVG recreation of the x.ai bot avatar. One shape morphing through 14 states, measured off the reference video frame by frame. 项目地址: https://gitcode.com/gh_mirrors/bl/bloub 点击查看 免费下载 bloub 是一个用 SV…

2026/10/11 10:57:28 阅读更多 →
小学组C++算法赛初赛备考指南:从真题拆解到避坑技巧

小学组C++算法赛初赛备考指南:从真题拆解到避坑技巧

简介:这份资源是2024年信息素养大赛C算法创意实践挑战赛小学组初赛的真题解析文档,面向小学阶段对编程有兴趣、已具备一定C基础的学习者,也适合指导教师作为教学参考。内容覆盖单选题与判断题两种题型,涉及变量定义、运算符、布尔…

2026/10/11 10:56:27 阅读更多 →

日新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/11 0:00:27 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/11 0:00:27 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/11 0:00:27 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/11 0:00:27 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/11 0:00:27 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/11 0:00:27 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/11 10:45:37 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/9 21:32:20 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/10 10:38:42 阅读更多 →