EEGnet模型論文講解(畫圖詳解三種卷積層操作)

我錄了一個講解視頻:https://www.bilibili.com/video/BV1si4y1s7g7/

目錄

一、整體介紹

二、梳理激活函數

三、圖解三種卷積層   (核心內容)

四、總結


 

一、整體介紹

EEGnet是爲專門一般的腦電圖識別任務而設計的通用且緊湊的卷積神經網絡。(設計思路借鑑了MobileNet)

下圖是EEGnet的整體結構圖,只有三個卷積模塊,重點是depthwise conv 和separable conv這兩個卷積模塊。

表格表明了EEGnet的結構細節,可以看出下劃紅線和下劃藍線是EEGnet相對傳統卷積神經網絡特別的地方。

二、梳理激活函數

由於激活函數比較簡單,所以先介紹一下激活函數。

傳統激活函數發展 sigmoid -> tanh -> ReLU (目前最常用的激活函數)

ReLU函數的一些相關變種

EEGnet有使用ELU激活函數,其具有如ReLU的正值特性,所以一樣可以緩解梯度消失問題,而ELU還有負值,可以讓激活單元輸出的均值更接近0,從而達到正則化的效果。且ELU的負值計算是指數函數,不會發生突變,所以對輸入變化或噪聲更魯棒。(SELU輸出的均值不但更接近0,其方差也更接近單位方差1,進一步達到正則化效果,提升收斂速度等)

線性激活Linear就等於只有神經元在進行計算,即y=Σ(X*W)+b

三、圖解三種卷積層

1. Convolution—普通的卷積層操作

對於(shape5×5×3)的輸入, 經過3×3卷積核的卷積層(假設輸出通道數爲4,則卷積核shape3×3×3×4,最終輸出4Feature Map,假設卷積層的步長爲1,那麼如果padding方式valid那麼輸出尺寸變爲3×3

卷積層共4filter,每個filter1bias參數,每個filter包含了3kernel,每個kernel的大小爲3×3。

卷積層的參數數量計算:Parameters = 4 × 3 × 3 × 3 + 4  = 112

2. Depthwise Convolution—通道的卷積層操作

對於一張5×5像素、三通道(shape5×5×3)的輸入, Depthwise Convolution是完全在二維平面內進行的卷積運算。卷積核的數量與上一層的通道數相同(通道和卷積核一一對應), 所以輸出feature map的通道數目不變。

卷積層共3filter,每個filter1bias參數,每個filter包含了1kernel,每個kernel的大小爲3×3。

卷積層的參數數量計算:Parameters = 3× 1 × 3 × 3 + 3  = 30。

評價:雖然這樣顯著減少了卷積層的參數數量,但是這種方法無法擴展Feature map,沒有有效利用不同通道在相同空間位置上的feature信息

3. Pointwise Convolution逐點的卷積層操作

對於一張5×5像素、三通道的輸入, Pointwise Convolution的卷積核大小固定爲1×1,假設其輸出通道爲4,那麼它的卷積核shape1×1×M×4M爲上一層的通道數。所以這裏的卷積運算會將上一步feature map在深度方向上進行加權組合。

卷積層共4filter,每個filter1bias參數,每個filter包含了3kernel,每個kernel的大小爲1×1。

卷積層的參數數量計算:Parameters = 4× 3 × 1 × 1 + 4  = 16

評價:pointwise convolution可以擴展feature map的數目,還能將上一步生成的feature map在空間維度進行加權組合,正好彌補了Depthwise Convolution的兩個缺點

四、總結

Depthwise Convolution的一個卷積核負責一個通道,即一個通道只被一個卷積核卷積。

Pointwise Convolution的卷積核的shape1×1×M×CM爲上一層的通道數,C爲卷積核的數目

EEGnet1個普通卷積conv + 1Depthwise conv + 1separable conv組成,

其中, separable Convolution(深度分離卷積層)由一個Depthwise Convolution和一個Pointwise Convolution組成。

 

參數量對比:

相同放入5×5像素、三通道的輸入,普通卷積層和separable Convolution同樣得到4Feature map

普通卷積層的參數量: 4 × 3 × 3 × 3 + 4  = 112

Depthwise conv的參數量 = 3× 1 × 3 × 3 + 3  = 30

Pointwise conv的參數量 = 4× 3 × 1 × 1 + 4  = 16

Separable conv的參數量 = Depthwise conv + Pointwise conv = 46

所以Separable Convolution可以顯著減少卷積層的參數數量

 

個體內實驗結果:

跨個體實驗結果:

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章