【问题标题】:What does it mean if a deeper conv layer converges first?如果更深的卷积层首先收敛,这意味着什么?
【发布时间】:2019-05-15 00:54:01
【问题描述】:

我正在训练一个 3 层卷积网络来对图像进行分类 - 我知道这是一个非常标准的问题。我首先用 ReLU 尝试了 3 个卷积层,得到了这个:

weights from layer 1 with ReLU - looks like edge detection

weights from layer 3 with ReLU - looks like feature detection

第一层(16 个过滤器)正在学习边缘,正如预期的那样,第三层(64 个过滤器)正在学习特征,正如预期的那样。然后,我只是想尝试一个不同的非线性项,所以我尝试了 sELU。

奇怪的是,现在第三层好像是在学习特征,而第一层好像完全没有收敛?第三层学习边缘是什么意思,是否意味着我需要更多层?我不明白为什么第一层无法学习边缘。

weights from layer 1 with SELU - looks unconverged?

weights from layer 3 with SELU - looks like edge detection?

我不认为架构是超级重要的,但我有一个 180x180 的黑白图像,并且过滤器都是 10 x 10 步长为 2(第 1 层为 16 个过滤器,第 2 层为 32,64对于第 3 层)。

【问题讨论】:

    标签: python pytorch


    【解决方案1】:

    首先,您混淆了术语。

    1. 收敛的概念适用于优化算法,以及它是否到达参数空间中的某个固定位置。如果不是这样,它可能会一直持续下去,要么以极慢的速度改进并且永远不会达到最佳状态,要么围绕它振荡,要么由于数值精度/梯度爆炸问题而直接发散。换句话说,您可以说您的网络优化具有收敛但不是特定的过滤器。您可以通过检查训练损失图而不是内核来做到这一点。
    2. 特征,用深度学习的术语来说,是对特征的一般概念,即对数据感兴趣的任何模式。所以边缘肯定也会被认为是特征。也许您在提到功能时指的是纹理?

    说到这里,不幸的是,您对神经网络的理论状态过于乐观了。卷积核的解释非常困难,也是一个很大的研究问题。鉴于您观察到的内核,没有人可以负责任地就您应该采取的行动方案做出一般性陈述 - 从数据集到网络架构,再到学习率等超参数,变量太多了。根据我自己的经验,所有内核看起来都像上面这种“噪声”的网络可以取得非常好的结果,至少在我正在处理的分割任务上是这样。

    如果您是从深度学习开始的(看起来就是这样),我建议您也查看特征图,即在网络前向传播期间检查中间值的张量 - 您将看到它们如何对图片的不同部分做出反应,并可能使您获得更多洞察力。您需要记住,除了第一层之外,进一步的内核会查看已经转换的图像表示,因此在与输入特征图无关的情况下检查它们不会告诉您太多。了解内核的更高级技术是deep visualization。话虽如此,我鼓励您继续进行此类实验和可视化,因为它们将帮助您开发经验并直观地了解内核的外观、它们如何交互以及什么是预期的,什么不是。

    【讨论】:

    • 收敛不适用于算法,但例如一系列值。这个系列可能会收敛也可能不会收敛。
    猜你喜欢
    • 2010-10-02
    • 2011-11-08
    • 2020-03-12
    • 1970-01-01
    • 1970-01-01
    • 2019-09-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多