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介紹