为什么没有将每一层的输出连接到所有下一层的神经网络?
例如,第 1 层的输出将被馈送到第 2、3、4 层等的输入。除了计算能力的考虑之外,这难道不比仅连接第 1 层和第 2 层、第 3 层和第 4 层等更好吗?
另外,这不能解决梯度消失的问题吗?
如果计算能力是问题,也许您可以仅将第 1 层连接到接下来的 N 层。
为什么没有将每一层的输出连接到所有下一层的神经网络?
例如,第 1 层的输出将被馈送到第 2、3、4 层等的输入。除了计算能力的考虑之外,这难道不比仅连接第 1 层和第 2 层、第 3 层和第 4 层等更好吗?
另外,这不能解决梯度消失的问题吗?
如果计算能力是问题,也许您可以仅将第 1 层连接到接下来的 N 层。
其实,这已经存在了!
我碰巧做了一篇关于这个话题的论文的演讲。这些网络被称为DenseNets,代表密集连接的卷积网络。就像在您的问题中一样,在密集块中,每一层的输出都作为所有后续层的输入。换句话说,在正常的前馈神经网络中,th 层是前一个输出的函数,而在密集网络中,每一层都是之前所有输出的函数.
然而,由于它是一个 CNN,每个池化层的特征图的大小都会减小,因此为了保持尺寸不变,密集块和池化层之间存在交替。
结果很清楚:不仅在几乎所有的测试中,密集网络的准确率都高于其他方法,而且它们使用的参数减少了多达 90%,即它们具有很高的参数效率。此外,正如作者自己所建议的,提高的准确性可以通过层之间更短的连接来解释,这允许在训练阶段以深度监督的方式行动,解决梯度消失问题。这类似于在其他方法中的完成方式,但梯度不太复杂。
如果你有兴趣,一定要看看他们的论文Densely Connected Convolutional Networks (2018)。