ESN简介
0. 前言
通常神經網絡的問題:
參數如何選擇
何時停止訓練
局部最優解
1. 回聲網絡ESN
具有以下特點:
大且稀疏生物連接,RNN被當做一個動態水庫
動態水庫可以由輸入或/和輸出的反饋激活
水庫的連接權值不會被訓練改變?
只有水庫的輸出單元的權值隨訓練改變,因此訓練是一個線性回歸任務
假設有ESN是一個可調諧的sin波生成器:
黑色箭頭是指固定的輸入和反饋連接
紅色箭頭指可訓練的輸出連接
灰色表示循環內連接的動態水庫
典型RNN存在的問題:
沒有明確的終止條件
通常這些算法收斂速度慢和/或導致次優解
ESN使用大循環水庫(50-1000),而RNN通常只用到5-30個神經元
為什么需要循環神經網絡:
如果人們想要模擬、預測、過濾、分類或控制非線性動力系統,就需要一個可執行的系統模型
通常獲得分析模型是不可行的,因此必須使用黑箱建模技術
對于線性系統,可以使用有效的黑箱建模方法
RNNs可用于非線性動力系統的建模
為什么使用ESN:
統計信號處理的典型方法是建立在三個基本假設:線性、穩定和高斯分布。為了便于數學計算而引入的假設。
大多數的實際物理信號是由動態過程產生,這些過程是非線性的、非穩定的和非高斯的
ESNs和一般RNNs在非線性領域推廣了簡單的自適應線性濾波器,可用于任何非線性動力系統的建模
輸入到水庫是全連接,水庫到輸出是全連接,水庫內部不是全連接
ESN描述:
水庫有N個內部網絡單元
在時刻(n geq 1),輸入是(u(n)),輸出是(y(n))
內部單元的激活是一個(N*1)向量:(x(n)=(x_1(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)有譜半徑(|lambda_{max}|>1),譜半徑是矩陣的最大特征值,此時就會丟失回聲特性,需要對其做歸一化處理,(W_{new}=W/|lambda_{max}|)
為了保證系統穩定能夠收斂,需要將(Wx=y)的輸出(y)小于輸入(x),(W_{new}=W/|lambda_{max}|)
特征值的概念就是方陣在特征向量上的投影,特征向量相當于是空間中的一組基,所以特征值相當于是方陣在一組基上的半徑。譜半徑是這種半徑的最大值,也就是最大特征值。除以(lambda_{max})相當于歸一化。
(W)最好是稀疏矩陣
通常(W)是由([-1,1])的均勻分布隨機生成,然后使用(|lambda_{max}|)做歸一化處理使譜半徑(alpha)小于1,(alpha)是ESN成功的重要參數,小的(alpha)對應快的信號,大的(alpha)對應慢信號和更長的短時記憶。
在訓練時我們計算輸出權值,誤差描述為:
(e_{train}(n) = (f^{out})^{-1}y_{teach}(n)-w^{out}(u_{teach}(n),x(n)))
離線訓練算法過程:
初始化(W),保證其譜半徑(alpha<1),用輸入的教師信號運行ESN
從初始瞬態中消除數據,并將剩余的輸入和網絡狀態((u_{teach}(n);x_{teach}(n)))按行收集到矩陣(M)中
收集訓練信號((f^{out})^{-1}y_{teach}(n))到向量(r)
(w^{out}=(M^{-1}r)^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)-lambda I)^{-1})
由此,就得到了輸出權值
ESN將非線性問題轉換為線性回歸問題,只需要訓練輸出系數(w^{out})。
4個決定性能的參數:
池譜半徑,(lambda_{max}<1)是網絡穩定的必要條件
池規模(節點數),池規模越大對動態系統的描述越接近,但是會帶來過擬合
池輸入單元尺度(w_{in}),需要處理的對象的非線性越強該值越大
池稀疏程度,表示池中神經元之間的連接情況,池中不是所有的神經元都存在連接。稀疏程度指的是池中相互連接的神經元占總的神經元的百分比,其值越大非線性能力越強
參考資料:
[1] ESN介紹
總結
- 上一篇: java excel转word表格_ja
- 下一篇: java Mina sftp_java