1

我正在尝试在 keras 中使用 3 个输入和 sigmoid 激活函数重新创建以下教程 CNN:

在此处输入图像描述

所以参数的数量应该是 7(假设 1 个大小为 2 的过滤器在 2 个位置(前 2 个输入或 2 个较低输入)上卷积,2 个共享权重(在突触上显示为 1.0)并且在 conv1d 层中没有填充)。当我在 Keras 中编写以下内容时:

在此处输入图像描述

我签入时只得到5个参数model.summary()

在此处输入图像描述

我需要做什么才能获得正确数量的参数?因为我是 Keras 的新手,所以我的代码中可能有几处错误。

4

1 回答 1

2

所有卷积参数在空间上共享(在 1D 的情况下,这意味着跨输入序列)。准确地说,长度的卷积滤波器对输入和2应用了两次,但在两种情况下它都是相同的滤波器,相应的可训练参数也相同。(x[0], x[1])(x[1], x[2])

这解释了你现在得到的模型的大小:Conv1D有 3 个参数(权重(2)和偏差(1)),密集层有 2 个参数,因为输出Conv1D(?, 2, 1)

最后,我无法评论您尝试实施的网络。可能他们的意思是 2 个过滤器(但该层将有 6 个参数)......但我不知道有任何实现,其中卷积层为每个补丁都有单独的参数。

于 2018-04-21T22:44:44.767 回答