日本无码免费高清在线|成人日本在线观看高清|A级片免费视频操逼欧美|全裸美女搞黄色大片网站|免费成人a片视频|久久无码福利成人激情久久|国产视频一二国产在线v|av女主播在线观看|五月激情影音先锋|亚洲一区天堂av

  • 手機站
  • 小程序

    汽車測試網(wǎng)

  • 公眾號
    • 汽車測試網(wǎng)

    • 在線課堂

    • 電車測試

數(shù)據(jù)驅(qū)動的動態(tài)系統(tǒng)(Dynamical System)建模(一):深度學習

2022-04-06 19:39:18·  來源:劉海偉 MATLAB  
 
NARX(nonlinear autoregressive network with exogenous inputs)反饋神經(jīng)網(wǎng)絡

在深度學習網(wǎng)絡爆發(fā)之前,在淺層神經(jīng)網(wǎng)絡的場景中,NARX 反饋神經(jīng)網(wǎng)絡是經(jīng)常用于動態(tài)系統(tǒng)建模的,它具有反饋連接,即輸出 y(t) 依賴于系統(tǒng)之前時刻的輸出 y(t-1),y(t-2) 等等和輸入。

圖片

其中網(wǎng)絡 F 主要是通過一個前饋神經(jīng)網(wǎng)絡實現(xiàn)。

如下圖,其中F即為第一層隱含層前饋網(wǎng)絡,其中輸入和輸出可以是多維的。

圖片

跟其他反饋神經(jīng)網(wǎng)絡類似(前面介紹的 LSTM),它的訓練過程與推斷過程有些區(qū)別。網(wǎng)絡本身的輸出需要被反饋到前饋神經(jīng)網(wǎng)絡的輸入。在訓練時,因為我們能夠拿到整段輸出真實的數(shù)據(jù),因此,我們會用當前時刻真實的輸出值作為訓練時模型輸入而不是反饋預測的輸出,換句話說,在訓練時我們會把網(wǎng)絡作為開環(huán)去訓練。

這有兩個好處。一是前饋網(wǎng)絡的輸入更準確。第二,生成的網(wǎng)絡具有純前饋架構(gòu),靜態(tài)反向傳播變得可用。當我們進行未來多步推斷時,因為這種情況我們只能用推斷的數(shù)據(jù)進行下一時刻預測,所以這次我們才把網(wǎng)絡閉環(huán),用于推斷。

圖片

磁懸浮系統(tǒng)的 NARX 建模示例

接下來我們使用 narx 神經(jīng)網(wǎng)絡來對動態(tài)系統(tǒng)進行建模的示例[鏈接7]。示例系統(tǒng)是一個磁懸浮系統(tǒng)。目標是控制懸浮在電磁鐵上方的磁鐵的位置,在電磁鐵的位置上,磁鐵受到限制,只能在垂直方向上移動,如下圖所示,

圖片

系統(tǒng)的運動方程為:

圖片

其中 y(t) 是磁鐵在電磁鐵上方的距離,i(t) 是經(jīng)過電磁鐵的電流,M 是磁鐵的質(zhì)量,g 是重力常數(shù)。其中 β 為粘性摩擦系數(shù),由磁體運動材料決定;α 為場強常數(shù),由電磁鐵上導線匝數(shù)和磁體強度決定。我們搜集了系統(tǒng)輸入 u(t)-施加在電磁鐵上的電壓和系統(tǒng)輸出 y(t)-永磁體的位置,對應兩個時間序列。

圖片

搭建網(wǎng)絡和準備數(shù)據(jù)

d1 = [1:2];

d2 = [1:2];

narx_net =narxnet(d1,d2,10); 使用narxnet功能創(chuàng)建NARX開環(huán)串聯(lián)網(wǎng)絡,10個隱藏層神經(jīng)元

[p,Pi,Ai,t] =preparets(narx_net,u,{},y); preparets準備數(shù)據(jù)

其中 y(t) 是一個反饋信號,既是輸入,也是輸出,訓練時我們既可以拿到當前時刻數(shù)據(jù),也可以拿到后面時刻的數(shù)據(jù),所以可以用于開環(huán)訓練,當推斷時我們會將輸出接到輸入作為閉環(huán)進行推斷。

訓練網(wǎng)絡

narx_net =train(narx_net,p,t,Pi); 訓練網(wǎng)絡得到訓練好的網(wǎng)絡

驗證開環(huán)網(wǎng)絡推斷效果

yp =sim(narx_net,p,Pi);

e =cell2mat(yp)-cell2mat(t);

圖片

可以看到誤差很小。因為我們用的開環(huán)訓練,所以推斷結(jié)果是用前面時刻的真實輸出數(shù)據(jù)(而非推斷輸出反饋),所以這里的誤差是 one-step-ahead 推斷誤差。

測試閉環(huán)推斷效果

如果要看網(wǎng)絡真實準確度的表現(xiàn),需要將開環(huán)的輸出作為反饋接到輸入,然后進行多步預測。

narx_net_closed =closeloop(narx_net);

現(xiàn)在可以使用閉環(huán)執(zhí)行 900 個時間步的迭代預測。在這個閉環(huán)網(wǎng)絡中只需要兩個初始輸入和兩個初始輸出作為初始條件。

y1 = y(1700:2600);

u1 = u(1700:2600);

[p1,Pi1,Ai1,t1] = preparets(narx_net_closed,u1,{},y1);

yp1 =narx_net_closed(p1,Pi1,Ai1);

圖片

從閉環(huán)預測的結(jié)果看,藍線是磁鐵的實際位置,紅線是 NARX 神經(jīng)網(wǎng)絡預測的位置。即使網(wǎng)絡預測的時間步預測了 900 步,預測依然是非常準確的。閉環(huán)多步預測準確的前提就是開環(huán)下單步推斷誤差要小。

總結(jié)

本文主要介紹了動態(tài)系統(tǒng)的特性和用于動態(tài)系統(tǒng)建模的神經(jīng)網(wǎng)絡模型從而可以實現(xiàn)模型降階(Reduced Order Modeling),包括前饋神經(jīng)網(wǎng)絡,TCN,循環(huán)神經(jīng)網(wǎng)絡,神經(jīng)網(wǎng)絡 ODE, NARX 網(wǎng)絡和相應的一些手段,并結(jié)合示例與場景進行了說明這些手段的有效性。

在后續(xù)文章我會來介紹系統(tǒng)辨識(System Identification)的一些示例,歡迎繼續(xù)關(guān)注。

分享到:
 
反對 0 舉報 0 收藏 0 評論 0
滬ICP備11026917號-25