ESN简介——精选推荐
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
ESN简介
0. 前⾔
通常神经⽹络的问题:
参数如何选择
何时停⽌训练
局部最优解
1. 回声⽹络ESN
具有以下特点:
⼤且稀疏⽣物连接,RNN被当做⼀个动态⽔库
动态⽔库可以由输⼊或/和输出的反馈激活
⽔库的连接权值不会被训练改变?
只有⽔库的输出单元的权值随训练改变,因此训练是⼀个线性回归任务
假设有ESN是⼀个可调谐的sin波⽣成器:
⿊⾊箭头是指固定的输⼊和反馈连接
红⾊箭头指可训练的输出连接
灰⾊表⽰循环内连接的动态⽔库
典型RNN存在的问题:
没有明确的终⽌条件
通常这些算法收敛速度慢和/或导致次优解
ESN使⽤⼤循环⽔库(50-1000),⽽RNN通常只⽤到5-30个神经元
为什么需要循环神经⽹络:
如果⼈们想要模拟、预测、过滤、分类或控制⾮线性动⼒系统,就需要⼀个可执⾏的系统模型
通常获得分析模型是不可⾏的,因此必须使⽤⿊箱建模技术
对于线性系统,可以使⽤有效的⿊箱建模⽅法
RNNs可⽤于⾮线性动⼒系统的建模
为什么使⽤ESN:
统计信号处理的典型⽅法是建⽴在三个基本假设:线性、稳定和⾼斯分布。
为了便于数学计算⽽引⼊的假设。
⼤多数的实际物理信号是由动态过程产⽣,这些过程是⾮线性的、⾮稳定的和⾮⾼斯的
ESNs和⼀般RNNs在⾮线性领域推⼴了简单的⾃适应线性滤波器,可⽤于任何⾮线性动⼒系统的建模
输⼊到⽔库是全连接,⽔库到输出是全连接,⽔库内部不是全连接
ESN描述:
⽔库有N个内部⽹络单元
在时刻n≥1,输⼊是u(n),输出是y(n)
内部单元的激活是⼀个N∗1向量:x(n)=(x1(n),...,x N(n))
⽔库内部连接表⽰为⼀个N∗N的矩阵W,表⽰内部的拓扑结构以及连接的权值
输⼊权值表⽰为N∗1的向量w in
输出权值表⽰为(N+1)∗1的向量w out
因为有⽔库输出权值连接N,以及输⼊到输出的连接1,所以为(N+1)长度的向量
⾮线性系统描述:
x(n+1)=f(Wx(n)+w in u(n+1)+v(n+1))
每个神经元都和输⼊、部分神经元连接,
y(n+1)=f out(w out(u(n+1),x(n+1)))
(内部状态x(n)指的是什么?)
在确定条件下⽹络状态逐渐独⽴于初始状态,并只依赖于输⼊历史,体现⽹络的记忆能⼒:
W有谱半径|λmax|>1,谱半径是矩阵的最⼤特征值,此时就会丢失回声特性,需要对其做归⼀化处理,W new=W/|λmax|
为了保证系统稳定能够收敛,需要将Wx=y的输出y⼩于输⼊x,W new=W/|λmax|
特征值的概念就是⽅阵在特征向量上的投影,特征向量相当于是空间中的⼀组基,所以特征值相当于是⽅阵在⼀组基上的半径。
谱半径是这种半径的最⼤值,也就是最⼤特征值。
除以λmax相当于归⼀化。
W最好是稀疏矩阵
通常W是由[−1,1]的均匀分布随机⽣成,然后使⽤|λmax|做归⼀化处理使谱半径α⼩于1,α是ESN成功的重要参数,⼩的α对应快的信号,⼤的α对应慢信号和更长的短时记忆。
在训练时我们计算输出权值,误差描述为:
e train(n)=(
f out)−1y teach(n)−w out(u teach(n),x(n))
离线训练算法过程:
初始化W,保证其谱半径α<1,⽤输⼊的教师信号运⾏ESN
从初始瞬态中消除数据,并将剩余的输⼊和⽹络状态(u teach(n);x teach(n))按⾏收集到矩阵M中
收集训练信号(f out)−1y teach(n)到向量r
w out=(M−1r)T
实质上是求解y(n+1)=f out(w out(u(n+1),x(n+1)))
假设y(n)=w out(u(n),x(n)),并且U(t)=(u(t),x(t)),则有w out=y(n)U T(t)(U(t)U T(t)−λI)−1
由此,就得到了输出权值
ESN将⾮线性问题转换为线性回归问题,只需要训练输出系数w out。
4个决定性能的参数:
池谱半径,λmax<1是⽹络稳定的必要条件
池规模(节点数),池规模越⼤对动态系统的描述越接近,但是会带来过拟合
池输⼊单元尺度w in,需要处理的对象的⾮线性越强该值越⼤
池稀疏程度,表⽰池中神经元之间的连接情况,池中不是所有的神经元都存在连接。
稀疏程度指的是池中相互连接的神经元占总的神经元的百分⽐,其值越⼤⾮线性能⼒越强
参考资料:
[1]
Processing math: 100%。