【问题标题】:Is Bias necessarily need at Colvolution Layer?在 Colvolution Layer 是否一定需要 Bias?
【发布时间】:2017-12-21 10:27:26
【问题描述】:

我正在构建 CNN + Ensemble 模型,用于在 Python 中使用 Tensorflow 对图像进行分类。我在谷歌图片上抓取了狗和猫的图片。然后将它们更改为 126 * 126 像素大小和灰度,添加标签 0 到狗,1 到猫。 CNN 有 5 个 conv 层和 2 个 fc 层。 HE、PReLU、max-pooling、drop-out、Adam 用于模型。当 Parameter Tuning 完成后,我添加了 Early-Stopping,模型学习了 65~70 epoch,完成了 92.5~92.7% 的准确率。 学完之后,想把我的CNN模型改成VGG网络,我检查了我的CNN参数,震惊的发现我没有在conv层添加Bias。 2 fc 层有偏差,但 5 conv 层没有偏差。所以我在 5 conv 层添加了 Bias,但我的模型无法学习。成本增加到无限。

偏差不一定在深度卷积层?

【问题讨论】:

    标签: tensorflow conv-neural-network bias-neuron


    【解决方案1】:

    你是如何将你的偏差添加到卷积层的?有两种方法可以做到这一点:Tied biases,每个内核共享一个偏差,untied biases,每个内核和输出使用一个偏差。另请阅读this

    关于您的问题是否有必要,答案是。卷积层中的偏差增加了模型的容量,使其理论上能够表示更复杂的数据。但是,如果您的模型已经具备执行此操作的能力,则它们不是必需的。

    一个例子是this 152 层 ResNet 架构的实现,其中卷积层没有偏差。 而是在随后的批量归一化层中添加偏差。

    【讨论】:

      猜你喜欢
      • 2011-11-02
      • 2020-11-29
      • 2012-12-06
      • 1970-01-01
      • 1970-01-01
      • 2021-05-07
      • 2013-06-03
      • 1970-01-01
      • 2014-01-21
      相关资源
      最近更新 更多