一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

如何使用MATLAB實(shí)現(xiàn)一維時(shí)間卷積網(wǎng)絡(luò)

MATLAB ? 來源:MATLAB ? 2025-03-07 09:15 ? 次閱讀

一維卷積是對(duì)一維輸入數(shù)據(jù)應(yīng)用滑動(dòng)卷積來學(xué)習(xí)特征,其主要作用是對(duì)序列數(shù)據(jù)做局部特征提取?;谔崛〉奶卣骺梢赃M(jìn)一步構(gòu)建分類或回歸網(wǎng)絡(luò)。一維卷積的操作涉及卷積大小、步長以及填充形式和填充值。本文對(duì)一維卷積操作進(jìn)行介紹,包括一維擴(kuò)展卷積和一維因果卷積,以及 MATLAB 對(duì)一維卷積的支持情況。在最后通過一個(gè)實(shí)例演示如何在 MATLAB 中將一維卷積和 LSTM 結(jié)合構(gòu)建分類網(wǎng)絡(luò),實(shí)現(xiàn)基于傳感器數(shù)據(jù)的故障診斷。

1. 一維卷積

一維卷積操作過程如圖1所示。圖1中顯示的卷積核的大小為 3(1×3的向量),滑動(dòng)的步長(stride)為 2,采用 0 值填充(padding),填充可以在序列的最左側(cè),或者兩側(cè)填充,這需要根據(jù)具體需求決定。

cd92a03c-f9aa-11ef-9310-92fbcf53809c.png

圖1 .一維卷積基本操作

基本的一維卷積操作過程中,卷積核的中心位置對(duì)齊輸入序列的每個(gè)位置,卷積核沿著輸入序列滑動(dòng),并在輸入序列的每個(gè)位置計(jì)算加權(quán)和(步長等于 1)。默認(rèn)設(shè)置下,卷積操作會(huì)在輸入序列的兩端進(jìn)行填充(padding),輸出結(jié)果的長度可以由以下公式計(jì)算:

cdaace32-f9aa-11ef-9310-92fbcf53809c.png

其中:l 表示輸出序列長度,i 表示輸入序列長度;p 表示填充數(shù)據(jù)的總長度;f 表示卷積核長度;s 表示步長;floor 表示計(jì)算結(jié)果的下取整。

2. 一維因果卷積

因果卷積是一類特殊的一維卷積。基本的卷積操作會(huì)考慮輸入位置的上下文信息,其不僅考慮位置之前的數(shù)據(jù),還要考慮之后的數(shù)據(jù)。而因果卷積在處理輸入序列的每個(gè)位置時(shí),只依賴于當(dāng)前及之前的位置信息,這在應(yīng)對(duì)時(shí)間序列輸入時(shí),避免了信息泄露,即未來的信息不回影響過去的數(shù)據(jù)。因果卷積的卷積核最右側(cè)位置對(duì)齊輸入序列的開始位置,并根據(jù)步長滑動(dòng)卷積核,因此輸入序列通常會(huì)在開始部分進(jìn)行填充。

cdc15f30-f9aa-11ef-9310-92fbcf53809c.png

圖2 一維因果卷積操作過程

在實(shí)際應(yīng)用中,一維卷積往往面對(duì)的是多個(gè)傳感器輸入序列,即多通道(每個(gè)通道對(duì)應(yīng)一個(gè)傳感器序列)輸入,卷積核自身帶有“厚度”,同時(shí)與所有通道上的數(shù)據(jù)做卷積后輸出結(jié)果,因而一個(gè)卷積核合并多個(gè)通道的數(shù)據(jù)形成一個(gè)局部特征數(shù)據(jù),如圖3所示。

cdd85096-f9aa-11ef-9310-92fbcf53809c.png

圖3 一維多通道卷積

3. MATLAB 中的一維卷積

MATLAB 提供了一維卷積層 convolution1dLayer 實(shí)現(xiàn)對(duì)輸入序列的卷積操作。其有多個(gè)屬性用來設(shè)置卷積操作的過程,例如 FilterSize 用于定義卷積核的大小,NumFilters 定義卷積核的數(shù)量(卷積輸出的通道數(shù)), Stride定義步長,等等。

cdf2d290-f9aa-11ef-9310-92fbcf53809c.png

convolution1dLayer 的屬性 Padding 有兩個(gè)值:same 和 causal。same 實(shí)現(xiàn)了一維卷積標(biāo)準(zhǔn)操作,在輸入序列的兩側(cè)做填充,輸出序列的長度等于ceil(輸入序列長度/Stride),ceil是MATLAB的內(nèi)置上取整函數(shù)。causal 實(shí)現(xiàn)因果卷積,只在輸入序列左側(cè)做填充。對(duì)于時(shí)間序列數(shù)據(jù),causal 只關(guān)注當(dāng)前位置即之前位置上的數(shù)據(jù)。

MATLAB 的 convolution1dLayer 也支持?jǐn)U張卷積。擴(kuò)展卷積(也稱為空洞卷積,Dilated Convolution)是一種卷積操作,旨在增加卷積核的感受野,而不增加計(jì)算復(fù)雜度。通過在卷積核元素之間插入空洞(即零),擴(kuò)展卷積可以在不增加參數(shù)數(shù)量的情況下捕獲更大范圍的輸入信息。MATLAB 通過 convolution1dLayer 的屬性 DilationFactor (膨脹系數(shù))設(shè)置擴(kuò)張卷積(也稱空洞卷積),其數(shù)值的大小決定了卷積核元素之間空洞的大小。當(dāng) DilationFactor 的值為 1 時(shí),卷積核元素之間不插入任何零值,與普通卷積相同。DilationFactor 值為 2 表示在卷積核元素之間插入 1 個(gè)零,為 3 表示插入 2 個(gè)零,依此類推。擴(kuò)張卷積通過插入 0 值的方式擴(kuò)大感受野,而參數(shù)數(shù)量并沒有增加,進(jìn)而可以提高計(jì)算效率。

針對(duì)時(shí)間序列數(shù)據(jù),擴(kuò)展卷積與因果卷積配合使用構(gòu)建時(shí)間卷積網(wǎng)絡(luò) (Temporal Convolutional Network, TCN)。在MATLAB中,通過設(shè)置 convolution1dLayer 的 Padding 屬性值為 causal,同時(shí)設(shè)置 DilationFactor 的值可以構(gòu)建時(shí)間卷積網(wǎng)絡(luò)。而此時(shí)對(duì)輸入序列做左側(cè)填充的大小為:(FilterSize - 1) .* DilationFactor。擴(kuò)展卷積操作擴(kuò)大了卷積層的輸出位置的感受野,隨著卷積層的增加,輸出位置的感受野不斷擴(kuò)大。圖4顯示了在不增加參數(shù)數(shù)量(卷積核大小)的情況下,擴(kuò)展卷積的膨脹系數(shù)(DilationFactor)呈指數(shù)增加,每個(gè)輸出位置的感受野不斷擴(kuò)大。這使得網(wǎng)絡(luò)能夠捕獲更大范圍的局部信息。

ce153c4a-f9aa-11ef-9310-92fbcf53809c.png

圖4 時(shí)間卷積網(wǎng)絡(luò)的輸出位置的感受野

4. 實(shí)現(xiàn)基于傳感器數(shù)據(jù)的故障診斷

卷積網(wǎng)絡(luò)的計(jì)算比循環(huán)網(wǎng)絡(luò)更快,因?yàn)榫矸e操作可以通過單一運(yùn)算來處理輸入。相反,循環(huán)操作必須對(duì)輸入的時(shí)間步進(jìn)行迭代,進(jìn)而其計(jì)算比較耗時(shí)。然而,循環(huán)網(wǎng)絡(luò)時(shí)間步迭代使其能夠捕獲數(shù)據(jù)在時(shí)間上的依賴關(guān)系,可以學(xué)習(xí)到時(shí)間步之間的長期相關(guān)性,而卷積操作只是提取數(shù)據(jù)在局部的特征,并沒有考慮時(shí)間上的關(guān)系。對(duì)于動(dòng)態(tài)系統(tǒng),往往存在著時(shí)間步之間的關(guān)系,識(shí)別這些關(guān)系對(duì)于診斷故障和預(yù)測壽命是非常重要的。因此,將一維卷積和循環(huán)網(wǎng)絡(luò)聯(lián)合使用。通過卷積提取輸入序列的局部特征,減少序列長度,降低計(jì)算量;再通過循環(huán)網(wǎng)絡(luò)捕獲輸入序列時(shí)間上的依賴關(guān)系,提高網(wǎng)絡(luò)精度。這種結(jié)合在減少計(jì)算量的同時(shí),也可以保證模型的精度。

本文將卷積網(wǎng)絡(luò)和循環(huán)網(wǎng)絡(luò)聯(lián)合使用構(gòu)建分類模型,實(shí)現(xiàn)基于傳感器數(shù)據(jù)的故障診斷。利用上文提到的時(shí)間卷積網(wǎng)絡(luò)提取輸入數(shù)據(jù)的局部特征,并將由這些局部特征組成的新的序列數(shù)據(jù)輸入 LSTM 網(wǎng)絡(luò)捕獲時(shí)間上的依賴關(guān)系,最后通過全連接網(wǎng)路輸出故障類型,網(wǎng)絡(luò)結(jié)構(gòu)如圖 5 所示。

ce31a02e-f9aa-11ef-9310-92fbcf53809c.png

圖5 TCN+LSTM的分類網(wǎng)絡(luò)

圖 5 顯示的是使用 Deep Network Designer App 構(gòu)建分類網(wǎng)絡(luò),其中一維卷積層 convolution1dLayer 采用擴(kuò)展卷積核因果卷積。通過逐層增加 DilationFactor 的值來擴(kuò)大感受野;并且每個(gè)卷積層的 Padding 參數(shù)都設(shè)置為 causal。lstmLayer 的隱藏單元向量維度設(shè)置為 64,outputMode 設(shè)置為 sequence,因此,lstmLayer 層的輸出是一個(gè)隱藏狀態(tài)向量序列,并且序列中的每個(gè)向量的維度為 64。在 lstmLayer 之后使用 globalMaxPooling1dLayer 層對(duì)輸出結(jié)果在時(shí)間方向上做最大值池化,進(jìn)而其輸出結(jié)果為一個(gè) 64 維的向量。最后我們使用兩個(gè)全連接層做線性變化,最終輸出為 3 維的向量對(duì)應(yīng)于故障種類。

使用在傳感器數(shù)據(jù)的深度學(xué)習(xí)模型應(yīng)用(一) – Transformer提到的數(shù)據(jù)集,該數(shù)據(jù)集,并直接在原始信號(hào)數(shù)據(jù)上做模型訓(xùn)練。原始信號(hào)數(shù)據(jù)是具有 146484 采樣點(diǎn)一維數(shù)據(jù)。數(shù)據(jù)集進(jìn)步劃分為訓(xùn)練集和測試集,如下所示:

ce557c4c-f9aa-11ef-9310-92fbcf53809c.png

ce70f0f8-f9aa-11ef-9310-92fbcf53809c.png

訓(xùn)練集(上)和測試集(下)

進(jìn)一步將訓(xùn)練集再劃分為訓(xùn)練集和驗(yàn)證集,并在模型訓(xùn)練過程中進(jìn)行驗(yàn)證,以提高模型的泛化能力。

ce8af3f4-f9aa-11ef-9310-92fbcf53809c.png

cea44700-f9aa-11ef-9310-92fbcf53809c.png

訓(xùn)練集(上)和驗(yàn)證集(下)

模型訓(xùn)練過程,MATLAB 提供了超參數(shù)選項(xiàng)實(shí)現(xiàn)模型的進(jìn)一步調(diào)優(yōu),而超參數(shù)選項(xiàng)是通過 trainingOptions 函數(shù)設(shè)置的,包括初始學(xué)習(xí)速率、學(xué)習(xí)速率衰減策略、minibatch 大小、訓(xùn)練執(zhí)行環(huán)境(GPU、CPU)、訓(xùn)練周期等等。經(jīng)過 100 個(gè) Epoch 訓(xùn)練后,模型的精度以及在測試集上的測試結(jié)果如圖 6 所示:

ceb9e25e-f9aa-11ef-9310-92fbcf53809c.png

ced95648-f9aa-11ef-9310-92fbcf53809c.png

圖6 模型訓(xùn)結(jié)果(上)和測試集精度(heatmap)(下)

5. 總結(jié)

本文通過引入一維卷積對(duì)原始傳感器數(shù)據(jù)進(jìn)行直接處理,實(shí)現(xiàn)了模型訓(xùn)練過程的特征提取,節(jié)省了數(shù)據(jù)前處理中的特征提取工作。在卷積層提取的特征數(shù)據(jù)上應(yīng)用LSTM層捕獲數(shù)據(jù)的動(dòng)態(tài)特征。這種網(wǎng)絡(luò)結(jié)構(gòu)充分發(fā)揮了各自網(wǎng)絡(luò)層特點(diǎn),進(jìn)而實(shí)現(xiàn)基于動(dòng)態(tài)數(shù)據(jù)的故障診斷。本文目的是為讀者在序列數(shù)據(jù)分析方面提供一種思路,所使用的代碼可以通過下方二維碼掃碼下載。文中的模型設(shè)計(jì)和訓(xùn)練還有可以優(yōu)化地方,僅為讀者提供參考,也歡迎大家做進(jìn)一步模型結(jié)構(gòu)調(diào)整和精度提升。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 傳感器
    +關(guān)注

    關(guān)注

    2561

    文章

    52198

    瀏覽量

    761696
  • matlab
    +關(guān)注

    關(guān)注

    187

    文章

    2990

    瀏覽量

    232811
  • 深度學(xué)習(xí)
    +關(guān)注

    關(guān)注

    73

    文章

    5547

    瀏覽量

    122304
  • 卷積網(wǎng)絡(luò)
    +關(guān)注

    關(guān)注

    0

    文章

    43

    瀏覽量

    2406

原文標(biāo)題:傳感器數(shù)據(jù)的深度學(xué)習(xí)模型應(yīng)用(三) —— 一維時(shí)間卷積網(wǎng)絡(luò)

文章出處:【微信號(hào):MATLAB,微信公眾號(hào):MATLAB】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    FFT與DFT計(jì)算時(shí)間的比較及圓周卷積代替線性卷積的有效性實(shí)

    實(shí)現(xiàn)線性卷積的原理二 實(shí)驗(yàn)內(nèi)容及要求1.對(duì)N=2048或4096點(diǎn)的離散時(shí)間信號(hào)x(n),試用Matlab語言編程分別以DFT和FFT計(jì)算N個(gè)頻率樣值X(k), 比較兩者所用
    發(fā)表于 12-29 21:52

    畢業(yè)設(shè)計(jì)_分段卷積MATLAB仿真與DSP實(shí)現(xiàn)

    本帖最后由 mr.pengyongche 于 2013-4-30 03:12 編輯 畢業(yè)設(shè)計(jì)_分段卷積MATLAB仿真與DSP實(shí)現(xiàn)  常用的線性卷積方法要求兩個(gè)輸入序列的持續(xù)
    發(fā)表于 12-25 13:43

    卷積神經(jīng)網(wǎng)絡(luò)卷積的處理過程

    。本文就以卷積神經(jīng)網(wǎng)絡(luò)為例談?wù)勗趺磥磉M(jìn)步優(yōu)化卷積神經(jīng)網(wǎng)
    發(fā)表于 12-23 06:16

    《 AI加速器架構(gòu)設(shè)計(jì)與實(shí)現(xiàn)》+第卷積神經(jīng)網(wǎng)絡(luò)觀后感

    《 AI加速器架構(gòu)設(shè)計(jì)與實(shí)現(xiàn)》+第卷積神經(jīng)網(wǎng)絡(luò)觀感 ? ?在本書的引言中也提到“圖勝千言”,讀完第
    發(fā)表于 09-11 20:34

    卷積、二卷積、三卷積具體應(yīng)用

    由于計(jì)算機(jī)視覺的大紅大紫,二卷積的用處范圍最廣。因此本文首先介紹二卷積,之后再介紹
    發(fā)表于 05-08 10:29 ?5116次閱讀
    <b class='flag-5'>一</b><b class='flag-5'>維</b><b class='flag-5'>卷積</b>、二<b class='flag-5'>維</b><b class='flag-5'>卷積</b>、三<b class='flag-5'>維</b><b class='flag-5'>卷積</b>具體應(yīng)用

    卷積神經(jīng)網(wǎng)絡(luò)的權(quán)值反向傳播機(jī)制和MATLAB實(shí)現(xiàn)方法

    降低了網(wǎng)絡(luò)需要訓(xùn)練的數(shù)量級(jí)。本文以MINST手寫體數(shù)據(jù)庫為訓(xùn)練樣本,討論卷積神經(jīng)網(wǎng)絡(luò)的權(quán)值反向傳播機(jī)制和MATLAB實(shí)現(xiàn)方法;對(duì)激活函數(shù)t
    發(fā)表于 12-06 15:29 ?14次下載

    連續(xù)時(shí)間系統(tǒng)時(shí)域分析的MATLAB實(shí)現(xiàn)

    掌握應(yīng)用 MATLAB 實(shí)現(xiàn)對(duì)線性時(shí)不變連續(xù)時(shí)間系統(tǒng)的時(shí)域分析,即熟悉應(yīng)用 MATLAB 實(shí)現(xiàn)微分方程的求解、連續(xù)
    發(fā)表于 11-10 08:00 ?0次下載
    連續(xù)<b class='flag-5'>時(shí)間</b>系統(tǒng)時(shí)域分析的<b class='flag-5'>MATLAB</b><b class='flag-5'>實(shí)現(xiàn)</b>

    種輕量級(jí)時(shí)間卷積網(wǎng)絡(luò)設(shè)計(jì)方案

    時(shí)間卷積網(wǎng)絡(luò)(TCN)在處理時(shí)間序列預(yù)測問題時(shí)存在計(jì)算量大和參數(shù)冗余問題,導(dǎo)致其難以應(yīng)用于存儲(chǔ)空間和計(jì)算能力受限的手機(jī)、平板電腦、筆記本電腦等移動(dòng)終端。為此,設(shè)計(jì)
    發(fā)表于 03-22 16:04 ?6次下載
    <b class='flag-5'>一</b>種輕量級(jí)<b class='flag-5'>時(shí)間</b><b class='flag-5'>卷積</b><b class='flag-5'>網(wǎng)絡(luò)</b>設(shè)計(jì)方案

    MATLAB實(shí)現(xiàn)卷積神經(jīng)網(wǎng)絡(luò)CNN的源代碼

    MATLAB實(shí)現(xiàn)卷積神經(jīng)網(wǎng)絡(luò)CNN的源代碼
    發(fā)表于 04-21 10:15 ?16次下載

    卷積神經(jīng)網(wǎng)絡(luò)算法代碼matlab

    卷積神經(jīng)網(wǎng)絡(luò)算法代碼matlab 卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network,CNN)是
    的頭像 發(fā)表于 08-21 16:50 ?1402次閱讀

    cnn卷積神經(jīng)網(wǎng)絡(luò)matlab代碼

    的。CNN最初是應(yīng)用于圖像識(shí)別領(lǐng)域的,以其識(shí)別準(zhǔn)確率高和泛化能力強(qiáng)而備受矚目。本篇文章將以Matlab編寫的CNN代碼為例,最為詳盡地介紹CNN的原理和實(shí)現(xiàn)方法。 、CNN的基本原理 CNN
    的頭像 發(fā)表于 08-21 17:15 ?1592次閱讀

    什么是卷積神經(jīng)網(wǎng)絡(luò)?如何MATLAB實(shí)現(xiàn)CNN?

    卷積神經(jīng)網(wǎng)絡(luò)(CNN 或 ConvNet)是種直接從數(shù)據(jù)中學(xué)習(xí)的深度學(xué)習(xí)網(wǎng)絡(luò)架構(gòu)。 CNN 特別適合在圖像中尋找模式以識(shí)別對(duì)象、類和類別。它們也能很好地對(duì)音頻、
    發(fā)表于 10-12 12:41 ?2099次閱讀
    什么是<b class='flag-5'>卷積</b>神經(jīng)<b class='flag-5'>網(wǎng)絡(luò)</b>?如何<b class='flag-5'>MATLAB</b><b class='flag-5'>實(shí)現(xiàn)</b>CNN?

    卷積神經(jīng)網(wǎng)絡(luò)的原理與實(shí)現(xiàn)

    1.卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Networks,簡稱CNN)是種深度學(xué)習(xí)模型,廣泛應(yīng)用于圖像識(shí)別、視頻分析、自然語言處理等領(lǐng)域。 卷積神經(jīng)
    的頭像 發(fā)表于 07-02 16:47 ?1025次閱讀

    MATLAB如何使用訓(xùn)練好的網(wǎng)絡(luò)

    實(shí)現(xiàn)和應(yīng)用變得簡單易行。 MATLAB神經(jīng)網(wǎng)絡(luò)概述 MATLAB提供了多種神經(jīng)網(wǎng)絡(luò)架構(gòu),如前饋神經(jīng)網(wǎng)絡(luò)
    的頭像 發(fā)表于 07-03 10:06 ?1610次閱讀

    卷積神經(jīng)網(wǎng)絡(luò)實(shí)現(xiàn)原理

    卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Networks,簡稱CNN)是種深度學(xué)習(xí)模型,廣泛應(yīng)用于圖像識(shí)別、視頻分析、自然語言處理等領(lǐng)域。本文將詳細(xì)介紹卷積神經(jīng)
    的頭像 發(fā)表于 07-03 10:49 ?912次閱讀