【483】1D CNN原理詳細說明
阿新 • • 發佈:2021-01-07
關於一維卷積神經網路的具體實現過程全網說的比較隱晦,貌似預設大家都懂,但是之前一直沒看懂,按照自己的理解畫出下圖。
- filter做點積再求和,每次只生成 1個數字
- 整個資料走一遍,生成一個向量
- 每一個filter生成一個向量
- 組合在一起就是一個新的二維向量
對於 keras實現 1DCNN 的說明
語法:
keras.layers.convolutional.Conv1D(filters, kernel_size, strides=1, padding='valid', dilation_rate=1, activation=None, use_bias=True, kernel_initializer='glorot_uniform', bias_initializer='zeros', kernel_regularizer=None, bias_regularizer=None, activity_regularizer=None, kernel_constraint=None, bias_constraint=None)
說明:
-
filters:卷積核的數目(即輸出的維度),有幾個filter,最終就是幾個維度(影響單詞向量維度)
-
kernel_size:整數或由單個整數構成的list/tuple,卷積核的空域或時域窗長度(影響文字長度的維度)
-
strides:整數或由單個整數構成的list/tuple,為卷積的步長。任何不為1的strides均與任何不為1的dilation_rate均不相容
-
padding:補0策略,為“valid”, “same” 或“causal”,“causal”將產生因果(膨脹的)卷積,即output[t]不依賴於input[t+1:]。當對不能違反時間順序的時序訊號建模時有用。參考
-
activation:啟用函式,為預定義的啟用函式名(參考啟用函式),或逐元素(element-wise)的Theano函式。如果不指定該引數,將不會使用任何啟用函式(即使用線性啟用函式:a(x)=x)