1D卷积神经网络参数计算疑问:Keras Conv1D参数为何与预期不符?
为什么Conv1D参数数量是64128而不是64000?
嘿,这个问题我之前也碰到过!你算的数值和模型输出差了128,刚好是滤波器的数量——这说明你漏掉了偏置(bias)参数哦!
咱们一步步拆解计算过程:
- 首先,你的基础计算逻辑是对的:每个1D卷积核的权重数量是
kernel_size × 输入特征维度,也就是5 × 100 = 500 - 但Keras的
Conv1D层默认会给每个滤波器添加一个偏置参数(对应参数use_bias=True,这是默认值),所以每个滤波器的总参数是500 + 1 = 501 - 总共有128个这样的滤波器,所以总参数就是
501 × 128 = 64128,和模型摘要显示的完全一致
如果要验证这个结论,你可以试试把Conv1D层改成:
Conv1D(128, 5, activation='relu', use_bias=False)
这时候模型摘要里的参数就会变成你最初计算的64000啦!
内容的提问来源于stack exchange,提问作者Shweta
相关产品推荐
相关产品推荐

