Keras CNN参数太少

时间:2018-04-21 21:24:37

标签: machine-learning neural-network keras keras-layer convolutional-neural-network

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

enter image description here

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

enter image description here

我在model.summary()检查时只获得5个参数:

enter image description here

我需要做些什么才能获得正确数量的参数?由于我是Keras的新手,我的代码中可能存在一些错误。

1 个答案:

答案 0 :(得分:1)

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

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

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