【发布时间】:2018-02-04 13:22:54
【问题描述】:
我想尝试实现附图的神经网络架构:1DCNN_model
假设我有一个数据集 X,它是 (N_signals, 1500, 40),其中 40 是我想要进行一维卷积的特征数。
我的 Y 是 (N_signals, 1500, 2),我正在使用 keras。
每个 1d 卷积都需要取一个特征向量,如下图:1DCNN_convolution
因此它必须从 1500 个时间样本中提取一大块,将其通过一维卷积层(沿时间轴滑动),然后将所有输出特征馈送到 LSTM 层。
我尝试使用此代码实现第一个卷积部分,但我不确定它在做什么,我无法理解它如何一次接收一个块(也许我需要先预处理我的输入数据? ):
input_shape = (None, 40)
model_input = Input(input_shape, name = 'input')
layer = model_input
convs = []
for i in range(n_chunks):
conv = Conv1D(filters = 40,
kernel_size = 10,
padding = 'valid',
activation = 'relu')(layer)
conv = BatchNormalization(axis = 2)(conv)
pool = MaxPooling1D(40)(conv)
pool = Dropout(0.3)(pool)
convs.append(pool)
out = Merge(mode = 'concat')(convs)
conv_model = Model(input = layer, output = out)
有什么建议吗?非常感谢
【问题讨论】:
-
嗯...有人试图从 cochlear.ai 进行“稀有声音事件检测”网络。效果如何?
标签: python machine-learning neural-network deep-learning keras