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

[2] https://www.nature.com/articles/s41467-021-25801-2

[3] https://figshare.com/articles/dataset/Figure_Data/25534552

[4] https://figshare.com/articles/software/Python_and_FPGA_code/25534621

封面图:Harrison Broadbent、Unsplash

相关推荐
passer__jw7671 分钟前
【LeetCode】【算法】283. 移动零
数据结构·算法·leetcode
Ocean☾7 分钟前
前端基础-html-注册界面
前端·算法·html
顶呱呱程序15 分钟前
2-143 基于matlab-GUI的脉冲响应不变法实现音频滤波功能
算法·matlab·音视频·matlab-gui·音频滤波·脉冲响应不变法
Tianyanxiao36 分钟前
如何利用探商宝精准营销,抓住行业机遇——以AI技术与大数据推动企业信息精准筛选
大数据·人工智能·科技·数据分析·深度优先·零售
爱吃生蚝的于勒37 分钟前
深入学习指针(5)!!!!!!!!!!!!!!!
c语言·开发语言·数据结构·学习·计算机网络·算法
羊小猪~~40 分钟前
数据结构C语言描述2(图文结合)--有头单链表,无头单链表(两种方法),链表反转、有序链表构建、排序等操作,考研可看
c语言·数据结构·c++·考研·算法·链表·visual studio
撞南墙者43 分钟前
OpenCV自学系列(1)——简介和GUI特征操作
人工智能·opencv·计算机视觉
OCR_wintone42144 分钟前
易泊车牌识别相机,助力智慧工地建设
人工智能·数码相机·ocr
王哈哈^_^1 小时前
【数据集】【YOLO】【VOC】目标检测数据集,查找数据集,yolo目标检测算法详细实战训练步骤!
人工智能·深度学习·算法·yolo·目标检测·计算机视觉·pyqt
星沁城1 小时前
240. 搜索二维矩阵 II
java·线性代数·算法·leetcode·矩阵