FPGA运行下一代储备池计算,控制混沌动力系统更精准

如何控制混沌动力系统(chaotic dynamical systems),长期以来一直是一个重要并具有挑战性的课题。《自然》杂志旗下的子刊《自然通讯》近期刊登了一篇文章[1],文章介绍了如何使用下一代储备池计算(next generation reservoir computing,简称NG-RC)来控制混沌动力系统的状态轨迹。

文章介绍了作者们采用下一代储备池计算(NG-RC)和混沌电子电路所进行的实验:首先收集所实验的混沌电子电路在各种状态下对各种扰动所做出的响应数据,然后利用这些数据训练下一代储备池计算(NG-RC)模型,使得训练后的NG-RC模型可以根据混沌电子电路的状态以及目标状态,计算出所需的扰动,并将扰动转换成为控制电流,从而控制混沌电子电路达到并稳定在目标状态和目标轨迹范围之内。

文章中介绍的基于NG-RC的控制方法与传统的线性控制等方法相比,具有控制误差小等优点。此外,由于NG-RC模型具有规模小、计算量小的特点,文章中介绍的NG-RC模型可以部署在FPGA上。

文章的作者们来自于美国俄亥俄州立大学和美国ResCon Technologies公司。

关于储备池计算

储备池计算较多用于动力系统(dynamical systems)相关的时间序列的计算,例如混沌动力系统的预测和控制。

经典的储备池计算(reservoir computing,简称RC)模型类似于循环神经网络(RNN),具有输入层、中间层(即"储备池"、reservoir;该层内的顶点之间相互连接)和输出层。储备池计算(RC)与循环神经网络(RNN)的主要区别是:

  • 储备池计算(RC)只训练中间层与输出层之间的连接的权重,而不训练其它权重,其它权重在随机初始化后保持不变;
  • 循环神经网络(RNN)一般训练的是全部权重。

由于储备池计算(RC)只对少量参数进行训练,因此储备池计算(RC)与其它很多机器学习以及神经网络模型相比,具有训练数据量要求少、训练和运行速度快、无需昂贵的计算资源等优点,与当今的一些复杂、耗能较高、响应相对较慢的大模型相比,储备池计算(RC)更适合于复杂度偏低的系统的计算。

下一代储备池计算(NG-RC)[2]将经典的储备池计算(RC)模型近似地表示成为非线性向量自回归,使得下一代储备池计算(NG-RC)无需随机初始化参数,所需的训练数据量更少,所需训练的参数更少,训练的成本更低。

实验的更多细节

文章中介绍的实验电路属于蔡氏电路(Chua's circuit)中的一种,实验电路由二极管、电容、电阻、电感等电子元器件搭建而成。实验时,首先由人工合成一些扰动数据,然后将人工合成的扰动数据转换成为电流并注入到电路中,电路响应的电压数据与人工合成的扰动数据共同形成训练数据。

接下来,将训练数据导出至笔记本电脑进行训练。训练得出的NG-RC模型被转移到FPGA上,用于控制上述的实验电路。

控制实验电路时的大致过程是:将实验电路的实时电压数据连同目标状态电压数据(已存储于实验电路中)输入至FPGA上的NG-RC模型,计算控制所需的扰动;计算得出的扰动值随后转换成为电流注入至实验电路中,从而控制电路向目标状态和轨迹进行转换。

有关实验的数据和代码均可以下载[3][4]。

参考资料

1\] [https://www.nature.com/articles/s41467-024-48133-3](https://www.nature.com/articles/s41467-024-48133-3 "https://www.nature.com/articles/s41467-024-48133-3") \[2\] [https://www.nature.com/articles/s41467-021-25801-2](https://www.nature.com/articles/s41467-021-25801-2 "https://www.nature.com/articles/s41467-021-25801-2") \[3\] [https://figshare.com/articles/dataset/Figure_Data/25534552](https://figshare.com/articles/dataset/Figure_Data/25534552 "https://figshare.com/articles/dataset/Figure_Data/25534552") \[4\] [https://figshare.com/articles/software/Python_and_FPGA_code/25534621](https://figshare.com/articles/software/Python_and_FPGA_code/25534621 "https://figshare.com/articles/software/Python_and_FPGA_code/25534621") 封面图:Harrison Broadbent、Unsplash

相关推荐
玖釉-3 小时前
C++ 中的循环语句详解:while、do...while、for、嵌套循环与循环控制
开发语言·c++·算法
MediaTea3 小时前
AI 术语通俗词典:Dropout 层
人工智能
武子康3 小时前
调查研究-140 全球机器人产业深度调研报告【02篇】:全球机器人产业格局分析:五个阶段并存与商业化路径 2026
人工智能·ai·机器人·具身智能·智能化
木心术13 小时前
Windows系统下MySQL与AI工具集成方案:数据存储与调用实践
人工智能·windows·mysql
不做无法实现的梦~3 小时前
运动控制系统复习一览-----常考题目总结版本
算法
小短腿的代码世界3 小时前
信号路由风暴:Qt算法交易系统的高频信号分发架构
qt·算法·架构
SZLSDH3 小时前
场景适配论 | 数字孪生IOC建设中渲染技术与智能体能力的协同逻辑
前端·数据库·ai·数字孪生·数据可视化·智能体
阿文的代码库3 小时前
一文读懂GROUP BY 1,2 VS GROUP BY column_1, column_2 的区别
算法
a752066283 小时前
OpenClaw企业微信渠道配置教程|API模式+长连接+全部授权
人工智能·机器人·企业微信·openclaw部署·小龙虾一键安装
AI语宙漫游指南3 小时前
AI Agent Skill 系统架构全解析:SKILL 规范与框架实现
人工智能·agent