我正在尝试使用keras中的3个输入和sigmoid激活函数重新创建以下教程CNN:
因此,参数的数量应该是7(假设2个大小为2的过滤器在2个位置上卷积(前2个输入或2个较低输入),2个共享权重(在突触上显示为1.0' s)和在conv1d层中没有填充)。当我在Keras写下以下内容时:
我在model.summary()
检查时只获得5个参数:
我需要做些什么才能获得正确数量的参数?由于我是Keras的新手,我的代码中可能存在一些错误。
答案 0 :(得分:1)
所有卷积参数在空间上共享(在1D的情况下,这意味着跨输入序列)。确切地说,长度为2
的卷积滤波器被应用于输入(x[0], x[1])
和(x[1], x[2])
两次,但在两种情况下它都是相同的滤波器,相应地,可训练参数也是相同的。
这解释了您现在获得的模型的大小:Conv1D
有3个参数(权重(2)
和偏见(1)
),密集图层有2个参数,因为输出为Conv1D
为(?, 2, 1)
。
最后,我无法对您尝试实施的网络发表评论。可能他们意味着2个过滤器(但那时该层将有6个参数)......但我不知道任何实现,其中卷积层为每个补丁都有单独的参数。