如何將一維訊號應用於卷積神經網路?

時間 2021-05-05 18:59:57

1樓:王華

1*2000的序列。一維卷積,(¬︿¬☆),那卷積核維度就是1*N唄,然後也不用池化層了,說白了卷積的作用就是濾波器了,最終序列變成1*(2000+N-1)維,如果有3個卷積核,那就是3個1*(2000+N-1),然後max池化變成1*(2000+N-1)維,然後鏈結全網路處理啦。

比如乙個2000序列二分類問題,python keras應該如下實現:

from tensorflow.keras.models import Sequential

from tensorflow.keras.layers import Dense, Dropout, Activation

from tensorflow.keras.layers import Conv1D, Permute, GlobalMaxPooling1D

maxlen = 2000 #你的序列

batch_size =64

filters = 3 #卷積核的數目(即輸出的維度)

kernel_size =8 #卷積核維度N

strides=1 #卷積窗步長

epochs =200

x_train, y_train= #此處x_train為樣本數*2000的矩陣,y_train為二分類的0,1標記,維度為樣本數*1維

nFeatures = np.size(x_train, 2)

model = Sequential()

model.add(Conv1D(filters,

kernel_size=kernel_size,

input_shape=(maxlen, nFeatures),

activation='relu',

strides=strides))

model.add(Permute((2,1))) #轉置一下維度便於maxpooling

model.add(GlobalMaxPooling1D())

#下面是全連線層了

model.add(Dense(50))

model.add(Dropout(0.2))

model.add(Activation('relu'))

model.add(Dense(1))

model.add(Activation('sigmoid'))

model.compile(loss='binary_crossentropy',

optimizer='adam',

metrics=['accuracy'])

print(model.summary())

model.fit(x_train, y_train,

batch_size=batch_size,

epochs=epochs,

validation_split=0.2)

#後續自己寫predict之類的。

2樓:泥巴神

首先不建議這麼做,卷積網路的優點是提取輸入資料的空間關聯,單純的一維向量空間關係並不明顯,不明白此處使用CNN的意義何在。在這種情況下,如果是單純建立權重關聯,可以選擇直接用深度信念網路(DBN),如果序列的元素間時間關聯較強,可以選擇RNN,LSTM等。

如果一定要使用CNN,實現過程和高維並沒有區別,將卷積核改一維,單反向卷積即可。

3樓:lens

如果用tensorflow,有直接的一維卷積的函式。

也可以二維卷積用的卷積核的乙個方向是1。

如果是低階點的庫比如numpy就無所謂了。

4樓:京冀遨遊的龍

卷積神經網路主要是對影象識別有很好的效果,網路一般是前面是卷積層,後端是全連線層,也有全卷積層的網路,卷積層主要是在影象的空間位置進行特徵提取,最後送到全連線層進行回歸。如果非要用卷積網路進行一維訊號處理,可以把一維訊號折成二維的,在最後全連線層再展開成一維的送全連線層。沒有做過類似的,意見僅供參考。

如何將卷積神經網路應用在一維時間序列資料上?

哈哈哈 振動訊號就是天然的一維時間序列資料。卷積神經網路可以用在不同故障狀態下的振動訊號分類,據此進行機械裝置故障診斷。更進一步地,如果訊號中雜訊較多的話,可以考慮使用特殊形式的卷積神經網路,例如深度殘差收縮網路 1 在軟閾值化層的幫助下,深度殘差收縮網路更適合含噪振動訊號 2 深度殘差收縮網路 C...

如何將2維影象轉換成三維模型?

福州三維前沿 遇見最好的傾斜攝影建模 福州三維前沿 無人機傾斜攝影超精細模型瀏覽 崔強生 條件 是對一段連續影響中人物的空間位置 身高體態 運動模式等資訊的提取,在三維樣本空間中的重建,通過機器對樣本的學習來自動識別物件。不知道這樣理解是不是靠譜? 不在高興時輕許諾言 傾斜攝影自動建模技術,目前技術...

如何將vector int iterator轉換成int ?

cqwrteur C 20有std to address 同時還可以用 if constexpr std contiguous iterator 判斷 建議呼叫演算法全部用指標 從前有座山 stl可以理解為對一套介面的定義,是一套標準,stl原始碼剖析,只是使用了其中一種比較容易閱讀的實現來進行講解...