我有一个模型,它输入以 60 赫兹收集的惯性传感器数据并输出两个类别之一。我已将数据分解为 1 分钟的快照,这似乎是合适的。我已将数据拆分为训练集和验证集。作为基线,我 64% 的数据是 1 类和 2 类。我使用的是 keras + tensorflow。
我已经测试了两个第一层。一个是 kernel_size 为 (6,) [模型在基线处执行] 的 Conv1D,另一个是 pool_size 为 (1,) [在接近 92% 时表现接近理想] 的 MaxPooling1D。我的工作假设是内核大小为 1 的 MaxPooling 层不应该做任何重要的事情,但不知何故,除非我添加这一层,否则模型不会收敛。有人可以帮我理解添加一个 pool_size 为 1 的 MaxPooling1D 层如何帮助我的模型收敛吗?
if MAX_POOL_FIRST:
model.add(MaxPooling1D(pool_size=(1, ), input_shape=input_shape))
model.add(Conv1D(16, kernel_size=(6, ), activation='relu'))
else:
model.add(Conv1D(16, kernel_size=(6, ), activation='relu', input_shape=input_shape))