【博士每天一篇论文-技术综述】Machine Learning With Echo State Networks 一篇系统讲解ESN知识的五星文章

阅读时间:2023-11-21

1 介绍

年份:2020
作者:徐元超,曼尼托巴大学
期刊: 无
引用量:无

这篇文章是一篇技术报告,从递归神经网络(RNNs)引入到回声状态网络(ESNs)。说明了RNNs的局限性,并引入了储层计算和ESN的概念。非常系统详细的介绍了ESN的数学模型、属性(echo state property)、意义、训练方法、深度ESN的以、ESN的应用和局限性、以及未来的研究方向。

2 创新点

这篇论文主要是对回声状态网络(ESNs)进行详细的技术综述,包括其结构、工作原理以及应用。论文还讨论了其他类型的循环神经网络,如长短时记忆(LSTM)和门控循环单元,并介绍了ESNs的构建细节、应用和局限性。论文还回顾了一篇关于ESNs的新模型的论文,并介绍了ESNs作为计算原理再次引起关注的现状。此外,论文还提供了关于动态系统中的Fisher memory的附录。总体而言,这篇论文主要是对ESNs及其在机器学习中的应用的详细技术综述。

3 相关研究

引入回声状态网络(ESNs)来解决梯度消失和爆炸问题。ESN在存储库中有稀疏的随机连接,允许以前的状态“回声”,并提供与网络训练的匹配信号。ESNs只需要训练读出层的权值,避免了训练过程中梯度消失和爆炸的问题。在引入ESNs之前,由于学习算法在训练和收敛方面的困难,RNN在实践中很少使用。ESNs为训练rnn提供了一种成功的方法,但随着深度学习技术的发展,其独特的优势逐渐丧失。
储备层计算(Reservoir Computing,RC)是一种利用可激发系统(储备层)的高维瞬态动力学执行分类或回归任务的机器学习技术。它主要用于处理时间信息。这些技术受到高效仿生方法在处理时间相关数据方面的启发。原则上,任何具有丰富动态的动力系统都可以用来构建储备层。为了满足对越来越复杂的实时信号处理方法的需求,涌现出了储备层计算的各个子领域。相比传统的递归神经网络模型,储备层计算提供更快的训练优势。
储备层计算的技术主要分为三种方法:液态状态机(Liquid State Machine)、回声状态网络(Echo State Network)和反向传播-去相关学习规则(Backpropagation-Decorrelation learning rule)。每种方法都旨在通过人工递归神经网络为数学和工程领域中的复杂动态系统建模提供一种新的方法。每种方法都包括一个带有固定权重的递归网络,当输入数据集输入时,输出一系列激活状态。然后使用这些中间值来训练系统的第二部分的输出连接,该部分将输出从数据中获得的原始模型动态的描述。系统的第一部分,即储备层,是一个带有固定权重的递归神经网络,其充当复杂动态系统的“黑盒”模型。第二部分称为读取层,通常是一个简单的线性层,通过一组权重与储备层连接。所有这些技术的一个基本特性是具有某种内部存储效应,由于储备层中的递归连接,在储备层计算输出中耗尽第k个输入效应所需的时间步长取决于储备层的大小。

3.1 LSM

液态计算机(Liquid State Machine)数学模型,适用于模拟皮层微电路中的计算。液态计算机是一种实时处理连续数据流的计算模型,其输入和输出都是连续时间的数据流。LSM模型中的关键部分是储备层,它通过将输入时间序列转化为液态状态,将先前各个时间点的输入影响进行整合。LSM模型中的神经元采用了LIF(Leaky Integrate and Fire)模型作为激活函数的生物突触模型。具体来说,LSM模型使用了类似于LIF模型的具有生物启发的激活函数,如液态计算机和回传相关学习规则中的S型神经元。
LSM方法的主要特点是它基于具有基于神经元激活函数的生物突触模型的储层模型,该模型是通过观察大脑微电路中发现的自然模式而理论化的。

3.2 Backpropagation Decorrelation learning rule

BPDC是一种用于在线调整循环网络的学习规则,结合了反向传播(backpropagation)、虚拟教师强制(virtual teacher forcing)和去相关性(decorrelation)方法。它只应用于输出权重,具有O(N)复杂度和良好的性能。该学习规则结合了三个重要原则:一步反向传播误差、基于去相关性的网络动态时间记忆和非自适应内部神经元减少复杂度。BPDC规则的示意图如图所示。
Schematic-of-a-system-implementing-BPDC-rule.jpg

3.3 ESN

(1)对经典ESN进行改进
内在可塑性[36]、[38]
改进训练算法[27]
使用Neuroscale进行训练[42]
带有泄露积分器储备单元的网络[24]
支持向量机[35]
使用自组织映射(SOM)
尺度不变映射(SIM)设置储备层权重[1]
带有延迟和求和读出的滤波神经元[20]
修剪储备层中的连接[10]。
(2)改进ESN中拓扑结构
分层储备层[23]:
小世界储备层[9]:
解耦的子储备层[43]:

4 算法

4.1 ESN数学模型

网络的输入是一个形状为(V, T)的矩阵,其中T为时间步数,V为特征数。该网络还有其他参数,如储层的大小(N)、连接的稀疏度(密度)、是否对泄漏进行建模,以及降维后的组件数量。
维数(N × V)的输入权(wwin)通过从二项分布中采样来初始化。从一个具有指定密度值的随机均匀分布中抽样得到维数为(N × N)的储层权值W,它决定了稀疏度的高低。高维状态表示(x)是将一个非线性函数(通常是tanh)应用于前一个状态(x k-1)乘以储层权重矩阵(W)和当前时间步长的输入(s k)乘以输入权重(W Win)的总和的结果。
a k = W x k − 1 + W i n s k x k = ϕ ( a k ) a_k = Wx_{k-1}+W_{in}s_k\\ x_k = \phi(a_k) ak=Wxk1+Winskxk=ϕ(ak)

储备层生成输入的表示形式,可以是包含所有计算状态、所有状态的平均值或仅包含最终状态值(x k)的矩阵形式。然后使用神经网络或其他类型的预测器将输入的嵌入连接到期望的输出,这些预测器在特定的感兴趣的任务上进行训练。输出(y k)是使用权重矩阵(Wout)和状态表示(x k)计算的。
y k = W o u t x k y_k = W_{out}x_k yk=Woutxk

ESN是一种处理连续数据的方法,通过捕获储层的动态输入,并将该信息用于预测或其他任务。

4.2 ESN训练过程

训练过程分为几个步骤:
(1)首先随机生成内部权重矩阵,并通过归一化和缩放操作使其满足要求
(2)然后初始化网络状态,并按照指定的更新方程进行训练动态的更新
(3)接着收集网络状态和教师输出的数据,用于计算输出权重的伪逆矩阵
(4)最后,训练完成后的ESN可以用来处理新的输入序列,并通过输出权重计算输出结果。
整个训练过程的目标是在训练数据上获得一个好的逼近结果,并在未知系统的独立测试数据上展现出良好的泛化性能。

4.3 DeepESN

深度回声状态网络(Deep Echo State Networks, DeepESNs)是一种由多层叠加循环层组成的神经网络结构。它们已经被研究以理解分层RNN架构的特性,并为时间数据设计高效的深度神经网络。与浅层神经网络类似,深层神经网络具有捕获输入历史的储层组件和用于输出计算的前馈读出部分。DeepESN中堆叠的储层形成一个层次结构,每一层的输出馈送到下一层。DeepESN的计算可以理解为一个输入驱动的非线性动态系统。深度深度神经网络在各种任务和领域中显示出优势,例如语音处理和音乐处理。DeepESN模型的公开实现也可以在Python、MATLAB和Octave中使用。

image.png

  • DeepESN Python Library (DeepESNpy)

https://github.com/lucapedrelli/DeepESN

  • Deep Echo State Network (DeepESN) MATLAB Toolbox

https://it.mathworks.com/matlabcentral/fileexchange/69402-deepesn

  • Deep Echo State Network (DeepESN) Octave library
  • https://github.com/gallicch/DeepESN_octave

4.4 回声状态性质

为了使ESN原则生效,储层必须具有回声状态性质(Echo State Property,ESP)。对于满足ESP的网络而言,储层的激活状态x(n)是输入历史[u(n),u(n−1),…]的函数,即存在一个函数E使得:
x ( n ) = E ( u ( n ) , u ( n − 1 ) , … ) x(n) = E(u(n),u(n−1),…) x(n)=E(u(n),u(n1),)
状态x(n)可以被视为输入历史的“回声”。
(1)ESP (Echo State Property)是回声状态网络(Echo State Network)有效工作的必要条件。这意味着储存库的当前状态是唯一由输入历史决定的。
(2)ESP被定义为具有输入、储层和输出单元的神经网络。给出了网络的状态更新方程,并根据输入、内部和前一个输出激活向量计算输出。
(3)ESP表示,如果网络已经运行了很长时间,那么当前状态是唯一由输入和输出历史决定的。
(4)ESP等同于状态收缩、状态遗忘和输入遗忘。
(5)储备层权值矩阵的谱半径小于1并不一定足以满足ESP,提出了新的ESP的充分条件。
(6)ESP可以看作是储层本身的一个属性,也可以看作是储层-输入对的一个属性。找到一个很好的近似回波函数来近似未知的系统函数。
如果没有回波状态,就很难理解网络输出与原始系统输出之间的关系,训练算法也不能有效地工作。

4.5 ESN的普遍函数逼近性质

并概述了ESN的普遍函数逼近性质证明。证明中指出,ESN是具有衰减记忆特性的储备滤波器的近似器,并且可以用于任何具有衰减记忆特性的储备系统的简单近似储备滤波器的寻找。结论是,对于任何给定的精度和权重序列,可以找到与给定滤波器函数接近的ESN。

4.6 ESN的应用和限制

ESN非常适合时间分类、回归和预测任务,提供高性能和快速的速度。ESNs的成功应用包括动态模式分类、正弦生成、非线性函数计算、目标跟踪、运动预测、事件检测、电机控制、语音识别、噪声建模和混沌时间序列预测。
以及其他领域包括理解网络动力学、读出和储层动力学的正则化、分层和结构化拓扑的影响、储层计算的贝叶斯推理以及储层自适应。
虽然ESNs最初具有快速训练和易于实现等优势,但深度学习的出现解决了递归神经网络梯度下降训练面临的许多问题,如果没有大型存储库,ESNs可能难以达到相同的复杂性水平。尤其,为特定任务建造具有理想性能的储层仍然是一个挑战,研究重点是减少随机性和制定预测储层性能的措施。

4.7 未来研究方向

近年来,人们对ESNs(Echo State Networks)的兴趣不断增加。ESNs和其他储层计算方法在训练成本低、速度快、适应性强的情况下可以作为一种很好的选择,尤其适用于模拟系统不太复杂的情况。ESNs在信号处理等领域有许多应用,例如生物信号处理、远程感知或机器人电机控制。
在过去的十年中,ESNs作为一种计算原理已经显示出与非数字计算基板很好地结合的潜力。ESN和储层计算机的专用硬件实现可以实现速度增益和功耗节省。以下是一些使用ESNs和储层计算机的新研究领域:

  • 光学微芯片:使用光学硅储层作为通用计算平台的方法,可以用于各种数字和模拟任务。
  • 机械纳米振子:一种基于质点网络的设备,通过线性弹簧连接并通过非线性弹簧连接到基板上。该设备以储层计算原理高效地解决了计算位流的奇偶性和分类口语词的基准问题。
  • 基于忆阻性神经形态学微芯片:研究表明,将一组相互连接的忆阻网络按层级组成一个更大的储层,其在波形生成任务等任务上的性能要显著优于单片忆阻网络。
  • 碳纳米管/聚合物混合物:将储层模型应用于由单壁碳纳米管和聚合物混合物组成的物理基板上,以从中提取可利用信息。
  • 人工软肢体:软机器的动力学表现出多种特性,例如非线性、记忆和潜在的无限多自由度利用这些动力学进行实时计算以模拟非线性动态系统。

这些新颖的计算材料和由它们制成的微器件通常缺乏数值精度,而且如何模拟经典逻辑开关电路还不清楚。但是,可以通过适当连接这些元素的集合来获得非线性动力学,从而为使用ESN方法构建和训练物理储层提供了新的途径。

5 思考

刚开始我以为就是一篇简单的论文,深入仔细看后,发现这是一篇非常好,非常系统讲解ESN网络的原理、数学模型、局限性、未来研究方向及应用等各种角度的深度调研报告。可以纳入教材的一部分了。非常系统的一篇文章。

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

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

相关文章

Unity中实现捏脸系统

前言 目前市面上常见的捏脸一般是基于BlendShapes和控制骨骼点坐标两种方案实现的。后者能够控制的精细程度更高,同时使用BlendShapes来控制表情。 控制骨骼点坐标 比如找到控制鼻子的骨骼节点修改localScale缩放,调节鼻子大小。 BlendShapes控制表…

【数学笔记】集合及简要逻辑

集合 基础简要逻辑集合间的关系与运算 基础 集合定义:把一些能够确定的不同对象组成的整体叫做一个集合,每个对象叫做元素。集合记法:一般用大写字母 A , B , C . . . . . . A,B,C...... A,B,C......表示集合,小写字母 a , b ,…

分布式锁实现(mysql,以及redis)以及分布式的概念

道生一,一生二,二生三,三生万物 我旁边的一位老哥跟我说,你知道分布式是是用来干什么的嘛?一句话给我干懵了,我能隐含知道,大概是用来做分压处理的,并增加系统稳定性的。但是具体如…

特征融合篇 | YOLOv8 引入长颈特征融合网络 Giraffe FPN

在本报告中,我们介绍了一种名为DAMO-YOLO的快速而准确的目标检测方法,其性能优于现有的YOLO系列。DAMO-YOLO是在YOLO的基础上通过引入一些新技术而扩展的,这些技术包括神经架构搜索(NAS)、高效的重参数化广义FPN(RepGFPN)、带有AlignedOTA标签分配的轻量级头部以及蒸馏增…

android usb2.0 协议基础(1)

1-USB 基本知识 USB的重要关键概念: 1、 端点:位于USB设备或主机上的一个数据缓冲区,用来存放和发送USB的各种数据,每一个端点都有惟一的确定地址,有不同的传输特性(如输入端点、输出端点、配置端点、批量传输端点) 2…

ORB-SLAM 论文阅读

论文链接 ORB-SLAM 0. Abstract 本文提出了 ORB-SLAM,一种基于特征的单目同步定位和建图 (SLAM) 系统该系统对严重的运动杂波具有鲁棒性,允许宽基线环路闭合和重新定位,并包括全自动初始化选择重建的点和关键帧的适者生存策略具有出色的鲁棒…

Android 基础技术——View 的宽高

笔者希望做一个系列,整理 Android 基础技术,本章是关于 View 的宽高 Activity Resume 的时候设置或者获取view的宽高是否有效? 回答:不确定。 首次 onResume 无效,二次 onResume 就有效了。 回顾「Android 基础技术——addView 流…

Eclipses安装教程

一、下载开发工具包 1、开发工具包JDK 下载地址链接:https://www.oracle.com/cn/java/technologies/downloads/ 下载教程: 1)点击链接,可以跳转到页面 2)下滑页面,找到开发工具包 3) 记住下载之…

初识C语言·自定义类型(1)

目录 1 联合体类型的声明 2 联合体的特点 3 联合体的大小计算 4 枚举类型类型的声明 5 枚举的优点 1 联合体类型的声明 联合体,顾名思义,是多个对象连在一起的,即联合体的成员都是共用空间的,所以联合体也叫做共用体&#xf…

Java开发分析工具 JProfiler的详细使用方法解析(附 JProfiler for Mac许可证秘钥)

JProfiler 是一款功能强大的Java代码分析工具,JProfiler的直观UI可帮助您解决性能瓶颈,确定内存泄漏并了解线程问题且JProfiler Mac破解版配置会话非常简单,第三方集成使得入门变得轻而易举,并且以自然的方式呈现数据分析。 解…

万物简单AIoT 端云一体实战案例学习 之 快速开始

学物联网,来万物简单IoT物联网!! 下图是本案的3步导学,每个步骤中实现的功能请参考图中的说明。 1、简介 物联网具有场景多且复杂、链路长且开发门槛高等特点,让很多想学习或正在学习物联网的学生或开发者有点不知所措,甚至直接就放弃了。    万物简单AIoT物联网教育…

72.批量执行Redis命令的4种方式!

文章目录 前言一、Redis命令执行过程二、原生批量命令三、pipeline(管道)四、Lua脚本五、Redis事务六、Redis Cluster模式下该如何正确使用批量命令操作? 前言 在我们的印象中Redis命令好像都是一个个单条进行执行的,但实际上我们是可以批量执行Redis命…

二层交换机和三层交换机

二层交换机:将源mac和端口进行转发,是同一个网段进行通信的,不能实现路由转发,若想跨网段则需要接入一个路由器 如:pc1 192.168.1.1 与 pc2 192.168.1.2通信需要经过二层交换机,二层交换机不能配置ip的&am…

【前端设计】输入框

欢迎来到前端设计专栏&#xff0c;本专栏收藏了一些好看且实用的前端作品&#xff0c;使用简单的html、css语法打造创意有趣的作品&#xff0c;为网站加入更多高级创意的元素。 html <!DOCTYPE html> <html lang"en"> <head><meta charset"…

RHCE上课笔记(前半部分)

第一部分 网络服务 第一章 例行性工作 1.单一执行的例行性工作 单一执行的例行性工作&#xff08;就像某一个时间点 的闹钟&#xff09;&#xff1a;仅处理执行一次 1.1 at命令&#xff1a;定时任务信息 [rhellocalhost ~]$ rpm -qa |grep -w at at-spi2-core-2.40.3-1.el9.x…

Nacos 在云原生架构下的演进

作者&#xff1a;之卫 背景 Nacos 提供的最核心能力是动态服务发现与动态配置管理能力&#xff0c;在云原生环境下&#xff0c;借助云产品&#xff0c;如 EDAS&#xff08;企业级分布式应用服务&#xff09;平台中&#xff0c;我们可以很轻松地使用 K8s 来托管 Nacos 体系的微…

《WebKit 技术内幕》之六(1): CSS解释器和样式布局

《WebKit 技术内幕》之六&#xff08;1&#xff09;&#xff1a;CSS解释器和样式布局 CSS解释器和规则匹配处于DOM树建立之后&#xff0c;RenderObject树之前&#xff0c;CSS解释器解释后的结果会保存起来&#xff0c;然后RenderObject树基于该结果来进行规范匹配和布局计算。当…

基于 GPT 和 Qdrant DB 向量数据库, 我构建了一个电影推荐系统

电影推荐系统自从机器学习时代开始以来就不断发展&#xff0c;逐步演进到当前的 transformers 和向量数据库的时代。 在本文中&#xff0c;我们将探讨如何在向量数据库中高效存储数千个视频文件&#xff0c;以构建最佳的推荐引擎。 在众多可用的向量数据库中&#xff0c;我们将…

Tomcat的maxParameterCountmaxPostSize参数

Tomcat的maxParameterCount&maxPostSize参数 Tomcat的maxParameterCount&maxPostSize参数1.问题1.1问题现象1.2 参数总结1.3 问题总结 2 Tomcat官网的解释2.1 到https://tomcat.apache.org/找到文档入口2.2 找到文档的Reference2.3 查看配置文件的参数 3 文档看不明白&…

GIS项目实战08:JetBrains IntelliJ IDEA 2022 激活

为什么选择 IntelliJ IDEA 使用编码辅助功能更快地编写高质量代码&#xff0c;这些功能可在您键入时搜索可能的错误并提供改进建议&#xff0c;同时无缝地向您介绍编码、新语言功能等方面的社区最佳实践。 IntelliJ IDEA 了解您的代码&#xff0c;并利用这些知识通过在每种上…