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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM