2D输入上的Conv1D

Kaa*_*are 6 keras keras-layer

有人可以向我解释当keras Conv1D图层被输入2D输入时会发生什么?如:

model=Sequential()
model.add(Conv1D(input_shape=(9000,2),kernel_size=200,strides=1,filters=20))
Run Code Online (Sandbox Code Playgroud)

改变(9000,1)和(9000,2)之间的输入大小并调用model.summary(),我看到输出形状保持不变,但参数的数量发生了变化.那么,这是否意味着为每个通道训练不同的滤波器,但输出在输出之前在第二维上求和/平均?或者是什么?

Nas*_*Ben 2

在文档中,您可以看到输入必须是二维的。

Conv1D 可以看作是遍历向量序列的时间窗口。内核将是二维窗口,与向量长度一样大(因此输入的第二维)并且与窗口大小一样长......

因此,确实,两个网络具有相同的输出形状是完全正常的......并且参数数量更高,因为由于第二个维度,内核增大了两倍。

我希望这有帮助 :-)