在 CNN 中,我们是否在每个卷积层都学习了内核值?

机器算法验证 机器学习 卷积神经网络
2022-03-08 17:17:03

我是机器学习的新手,我不了解 CNN 的一件事是我们是否必须在每个卷积层学习内核值,或者只学习一组内核值并在每个卷积层使用它。

2个回答

@Shehryar Malik 的答案是正确的 (+1),但听起来有点令人困惑,尤其是对于刚接触卷积神经网络的人来说。

在通常的 CNN 场景中,每一层都有自己的一组必须学习的卷积核这可以在以下(著名的)图像中很容易地看到:

在此处输入图像描述

左侧块显示了第一层中的学习内核。中央和右侧块显示在更深层学习的内核1这是卷积神经网络非常重要的特征:在不同的层,网络学习检测不同抽象级别的东西。因此内核是不同的。

理论上,没有什么能阻止您在每一层使用相同的内核。其实那个东西叫做循环卷积神经网络


1更准确地说,它们显示了这些内核对什么样的图像特征做出反应,因为用形状 3 可视化内核×3×256 不是很容易/直观/有用。

这完全取决于你。您可以只定义一组内核值并将其用于所有层,或者您可以为每个层定义一组单独的内核值。当然,为每一层定义不同的内核值集会更谨慎。这是因为内核的工作是从输入图像中提取特定信息。每层的不同内核值集将使网络在决定在每一层提取的最佳特征方面具有更大的灵活性。