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

  • 手機(jī)站
  • 小程序

    汽車測(cè)試網(wǎng)

  • 公眾號(hào)
    • 汽車測(cè)試網(wǎng)

    • 在線課堂

    • 電車測(cè)試

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

2022-04-06 19:39:18·  來(lái)源:劉海偉 MATLAB  
 
仿真測(cè)試以及代碼生成

Simulink 中的深度學(xué)習(xí)推斷模塊[鏈接8]支持將我們訓(xùn)練好的模型作為 block 參數(shù), 一起作為被控對(duì)象集成到整個(gè)電池管理系統(tǒng)中。

圖片

圖表 7 電池管理系統(tǒng)和電池的系統(tǒng)模型

圖中所示的 BMS 的 Simulink 模型可以監(jiān)控電池狀態(tài),確保運(yùn)行安全,還有一個(gè)電池模型用于仿真電池的動(dòng)態(tài)和負(fù)荷。上面訓(xùn)練的深度學(xué)習(xí) SoC 預(yù)測(cè)器和其他電池平衡邏輯 Block 一樣嵌入在 BMS 中可以閉環(huán)仿真,以及后面做代碼生成與硬件在環(huán)。

圖片

圖表 8 Simulink 中原生的用于深度學(xué)習(xí)推斷的 Block 和 BMS 中的閉環(huán)測(cè)試 SoC 預(yù)測(cè)效果

圖片

圖表 9 deep learning 模塊的 C 代碼生成

上面這個(gè)示例我們利用衍生特征(通過(guò)時(shí)間滑窗構(gòu)建時(shí)域依賴的特征,也可以通過(guò)不同長(zhǎng)度的滑窗構(gòu)建多尺度的時(shí)域特征),將前饋神經(jīng)網(wǎng)絡(luò)用于動(dòng)態(tài)系統(tǒng)的建模。

Temporal convolutional network (TCN)

TCN 的主要構(gòu)成是一個(gè)擴(kuò)展因果卷積層。任何一個(gè)時(shí)刻的計(jì)算輸出都是基于多個(gè)歷史時(shí)刻的輸入。

它用于構(gòu)建動(dòng)態(tài)系統(tǒng)的邏輯和前面介紹的衍生特征是類似的,都是考慮了歷史的多個(gè)時(shí)間步的輸入,因此也可以用于建模動(dòng)態(tài)系統(tǒng)。

TCN 從之前的時(shí)間步構(gòu)建依賴,通常需要將多個(gè)卷積層疊加在一起。為了獲得更長(zhǎng)期的依賴關(guān)系,卷積層的膨脹因子呈指數(shù)級(jí)增加,如下圖所示。

假設(shè)第 k 個(gè)卷積層的膨脹因子為2???1 ,步長(zhǎng)為 1,則該網(wǎng)絡(luò)的考慮到的依賴的時(shí)間窗的大小可計(jì)算為 R=(f-1)(2?-1)+1,其中 f 為過(guò)濾器大小,K 為卷積層數(shù)。圖中對(duì)應(yīng)的 f=2,K=4, 于是 R=16, 也就是當(dāng)前時(shí)刻輸出可以考慮到前面 16 個(gè)時(shí)刻步長(zhǎng)輸入。

圖片

與循環(huán)網(wǎng)絡(luò)(RNN)相比,TCN 的缺點(diǎn)之一是它在推理期間占用更大的內(nèi)存。計(jì)算下一個(gè)時(shí)間步需要整個(gè)原始序列。下圖是一個(gè)經(jīng)典的 TCN 模型結(jié)構(gòu)(結(jié)合殘差網(wǎng)絡(luò)):[鏈接4]

for i = 1:numBlocks

    dilationFactor = 2^(i-1);

layers = [

convolution1dLayer(filterSize,numFilters,DilationFactor=dilationFactor,Padding="causal",Name="conv1_"+i)

    layerNormalizationLayer

   spatialDropoutLayer(dropoutFactor)

convolution1dLayer(filterSize,numFilters,DilationFactor=dilationFactor,Padding="causal")

    layerNormalizationLayer

    reluLayer

   spatialDropoutLayer(dropoutFactor)

    additionLayer(2,Name="add_"+i)];

    % Add and connect layers.

    lgraph =addLayers(lgraph,layers);

    lgraph =connectLayers(lgraph,outputName,"conv1_"+i);

圖片

一般的 TCN 架構(gòu)(如[1]中所述)由多個(gè)殘差塊組成,每個(gè)殘差塊包含兩組具有相同擴(kuò)張因子的擴(kuò)張因果卷積層,然后是歸一化層、ReLU 激活層和空間 dropout 層。

網(wǎng)絡(luò)將每個(gè)塊的輸入加到該塊的輸出上(當(dāng)輸入和輸出之間的通道數(shù)量不匹配時(shí),對(duì)輸入進(jìn)行 1 × 1 的卷積),并應(yīng)用最終的激活函數(shù)。

循環(huán)神經(jīng)網(wǎng)絡(luò): LSTM/Gru

循環(huán)網(wǎng)絡(luò)的結(jié)構(gòu)與前饋神經(jīng)網(wǎng)絡(luò)不同,它帶有一個(gè)指向自身的環(huán),用來(lái)表示它可以傳遞當(dāng)前時(shí)刻處理的信息給下一時(shí)刻使用,我們選取 LSTM 來(lái)介紹,結(jié)構(gòu)如下,

圖片

LSTM 之所以可以用于動(dòng)態(tài)系統(tǒng)建模,是因?yàn)?LSTM 和動(dòng)態(tài)系統(tǒng)有類似的特性:對(duì)于時(shí)刻 t, LSTM 使用當(dāng)前網(wǎng)絡(luò)的狀態(tài) (ht-1,ct-1) 和當(dāng)前的輸入 xt來(lái)計(jì)算網(wǎng)絡(luò)輸出 ht,同時(shí)更新當(dāng)前網(wǎng)絡(luò)的狀態(tài) (ht,ct),h也叫輸出狀態(tài),就是當(dāng)前時(shí)刻 t 的 LSTM 網(wǎng)絡(luò)的輸出,ct 稱為 cell state,包含學(xué)習(xí)來(lái)的歷史時(shí)刻的狀態(tài)信息。每個(gè)時(shí)間步 LSTM 都會(huì)對(duì) ct進(jìn)行更新:添加信息或移除信息,主要通過(guò)四個(gè)門函數(shù)(f,g,i,o)來(lái)實(shí)現(xiàn),將前面的計(jì)算過(guò)程示意性的描述一下:

圖片

其中,上面方程中的 Wf,g,i,o, Rf,g,i,o, bf,g,i,o是這些門函數(shù)各自的可學(xué)習(xí)參數(shù),主要包括針對(duì)輸入 x的權(quán)重,針對(duì)上一時(shí)刻輸出狀態(tài)(同時(shí)也是當(dāng)前時(shí)刻的輸入)ht-1 的權(quán)重,以及偏置,這些可學(xué)習(xí)參數(shù)本身是無(wú)狀態(tài)的,被所有時(shí)刻共享。訓(xùn)練的過(guò)程就是優(yōu)化這些學(xué)習(xí)參數(shù)的過(guò)程。

總結(jié)一下:當(dāng)前時(shí)刻的輸出 ht不僅依賴于當(dāng)前的輸入xt還依賴于當(dāng)前的狀態(tài) (ht-1,ct-1)。它可以根據(jù)訓(xùn)練選擇性的記住每一時(shí)刻的“重要”信息,并且利用這個(gè)信息作為狀態(tài),結(jié)合當(dāng)前輸入 xt 進(jìn)行輸出狀態(tài) ht預(yù)測(cè)。

電機(jī)溫度預(yù)測(cè)示例

接下來(lái)我們使用數(shù)據(jù)結(jié)合 LSTM 模型來(lái)搭建永磁同步電機(jī)(PMSM)的一個(gè)代理模型(Surrogate Modeling),用于電機(jī)不同位置的溫度預(yù)測(cè)。

類似 Demo [鏈接5]

圖片


理解數(shù)據(jù)集

數(shù)據(jù)集來(lái)自多片時(shí)長(zhǎng)不同的數(shù)據(jù)。從數(shù)據(jù)中可以看到 PMSM 不同位置溫度與電氣系統(tǒng)和熱系統(tǒng)對(duì)應(yīng)的工況參數(shù)的相互影響。

同時(shí)環(huán)境溫度的變化也會(huì)對(duì)電機(jī)不同位置溫度以及相應(yīng)需求扭矩所需的電流電壓有影響。

我們使用環(huán)境溫度、冷卻液溫度、電壓、電流作為輸入,輸出為不同位置 PMSM 的溫度。

圖片

數(shù)據(jù)預(yù)處理與特征工程

同樣作為一個(gè)動(dòng)態(tài)系統(tǒng),我們通過(guò)對(duì)初始數(shù)據(jù)再進(jìn)行不同尺度滑窗實(shí)現(xiàn)衍生特征生成,所有特征結(jié)合在一起作為 LSTM 的輸入(盡管 LSTM 本身也具有考慮時(shí)間依賴關(guān)系的特性)。

% create derived features using raw voltages and currents


derivedinputs =computedrivedfeatures(tt_data);


% check the noise in the data


tt_data=[tt_data derivedinputs];


Vnames=tt_data.Properties.VariableNames;


s1=620;s2=2915;s3=4487;s4=8825;


% preprocess exponentially weighted moving average


[t_s1,t_s2,t_s3,t_s4]=preprocmovavg(tt_data,s1,s2,s3,s4,Vnames);


% preprocess exponentially weighted moving variance


[t_v1,t_v2,t_v3,t_v4]=preprocmovvar(tt_data,s1,s2,s3,s4,Vnames);


% attach features to the original table


predictors=[tt_data,t_s1,t_s2,t_s3,t_s4,t_v1,t_v2,t_v3,t_v4,tt_profileid];


responses=[tt(:,9:12) tt_profileid];


VResponsenames=responses.Properties.VariableNames;

準(zhǔn)備訓(xùn)練數(shù)據(jù)和驗(yàn)證數(shù)據(jù)

holdOuts =[657258]; % define profiles that are withheld from training.


[xtrain,ytrain]= prepareDataTrain(predictors,responses,holdOuts);

我們將使用第 58 條記錄作為驗(yàn)證集,其中包括 4.64 小時(shí)的數(shù)據(jù)。

validationdata =58; 


[xvalidation, yvalidation]= prepareDataValidation(predictors,responses,validationdata);


 numResponses = size(ytrain{1},1);


 featureDimension = size(xtrain{1},1);


numHiddenUnits=125;


圖片

上面的 DAG 網(wǎng)絡(luò)可以對(duì)許多復(fù)雜的系統(tǒng)進(jìn)行建模。通過(guò)上面的結(jié)構(gòu)(左右兩支)幫助我們對(duì)依賴于時(shí)間歷史的物理行為動(dòng)態(tài)行為以及含狀態(tài)的行為進(jìn)行建模。

查看預(yù)測(cè)結(jié)果

圖片

如圖所示,紅色和藍(lán)色分別代表了實(shí)測(cè)數(shù)據(jù)和模型預(yù)測(cè)結(jié)果,右側(cè)圖像顯示的是他們的殘差,可以看到大部分誤差在 1% 以內(nèi),預(yù)測(cè)效果比較理想。模型在瞬態(tài)變化較快和較慢的工況下都能和實(shí)測(cè)數(shù)據(jù)保持一致,說(shuō)明模型也保持了一定的保真度。

分享到:
 
反對(duì) 0 舉報(bào) 0 收藏 0 評(píng)論 0
滬ICP備11026917號(hào)-25