如果 ResNet 跳跃连接的点是让主路径学习相对于身份的残差,那为什么会有卷积跳跃呢?

人工智能 卷积神经网络 残差网络
2021-10-19 19:36:08

最初的 ResNet 论文中,他们讨论了当块的输入和输出具有相同维度时使用普通标识跳过连接。

在此处输入图像描述

当输入和输出具有不同的维度时,他们提出了两种选择:

(A) 使用用零填充的恒等映射来弥补额外的维度

(B) 使用“投影”。

在此处输入图像描述

这(在其他人的代码中进行了一些挖掘之后)我认为的含义是:使用具有可训练权重的 1x1 内核进行卷积。

(B) 让我感到困惑,因为它似乎通过使跳跃连接可训练而破坏了 ResNet 的要点。那么主要路径并不是真正学习相对于身份转换的“残差”。所以在这一点上,我不再确定如何解释这种类型的块的意图或预期效果。而且我认为应该首先证明这样做是合理的,而不是根本不在那里放置跳过连接(在我看来,这是本文之前的现状)。

那么任何人都可以在这里帮助解释我的困惑吗?

1个回答

好吧,我找到了一个让我满意的答案。

零填充标识并不理想。假设我们从 64 个通道映射到 128 个通道。然后零填充标识将映射到输出,其中一半通道与输入相同,另一半全为零。所以这意味着主要路径是学习一半输出通道的残差,并从头开始学习另一半通道的映射。

现在,另一种方法是使用选项 (B),它是单个 1x1 卷积。在阅读了他们的ResNetV2 论文之后我意识到他们真的加倍强调了在网络上下一直保持“干净”替代路径的概念。那么问题来了,什么是“更干净”?:一个由 3x3x64 和 3x3x128 形式的两个卷积组成的块,还是一个 1x1x128 卷积的捷径?快捷方式在这里是一个诱人的选择。事实上,在原始论文中,他们凭经验证明卷积捷径优于恒等捷径。也许值得运行一个测试,看看卷积捷径是否比没有捷径更好,但在我决定运行这样的测试之前,我假设作者会提到它。还有一点值得注意的是,整个网络只有少数几个地方需要增加维度,所以可能影响很小。