阅读时间: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规则的示意图如图所示。
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=Wxk−1+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中使用。
- 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(n−1),…)
状态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网络的原理、数学模型、局限性、未来研究方向及应用等各种角度的深度调研报告。可以纳入教材的一部分了。非常系统的一篇文章。