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

相关推荐
飞哥数智坊6 小时前
DeepSeek-OCR:用“看图”代替“读文”,一种更像人类的上下文压缩方式
人工智能·deepseek
L.fountain6 小时前
强化学习2.2 MDP实践——Frozen lake
人工智能·强化学习
_dindong6 小时前
牛客101:链表
数据结构·c++·笔记·学习·算法·链表
JJJJ_iii6 小时前
【机器学习06】神经网络的实现、训练与向量化
人工智能·笔记·深度学习·神经网络·学习·机器学习·线性回归
wuk9986 小时前
基于位置式PID算法调节PWM占空比实现电机转速控制
单片机·嵌入式硬件·算法
倔强的石头1066 小时前
AI协作天花板!CherryStudio让多模型协同像搭积木
人工智能·cpolar
IT_陈寒6 小时前
Vite 3.0 性能优化实战:5个技巧让你的构建速度提升200% 🚀
前端·人工智能·后端
不到满级不改名6 小时前
EM算法 & 隐马尔可夫模型
算法
说私域6 小时前
从工具理性到价值共生:开源链动2+1模式、AI智能名片与S2B2C商城系统的社会连接重构研究
人工智能·重构·开源
heisd_16 小时前
OpenCV计算机视觉库
人工智能·opencv·计算机视觉