我想我在某个地方读到,随着层数的增加,卷积神经网络不会像标准的乙状结肠神经网络那样遭受消失梯度问题的困扰。但我一直找不到“为什么”。
它是否真的没有问题,还是我错了,它取决于激活功能?我一直在使用校正线性单元,所以我从未测试过卷积神经网络中的Sigmoid单元
发布于 2015-03-10 00:29:34
卷积神经网络(如标准乙状结肠神经网络)确实存在消失梯度问题。克服消失梯度问题的最建议方法是:
您可能会看到,计算机视觉问题的最先进的深层神经网络(如ImageNet获奖者)使用卷积层作为其网络的前几层,但它不是解决消失梯度的关键。关键通常是逐层对网络进行贪婪的训练。当然,使用卷积层还有其他一些重要的好处。特别是在视觉问题时,当输入尺寸很大时(图像的像素),建议在第一层使用卷积层,因为它们的参数比完全连接的层少,并且第一层不会有数十亿个参数(这将使您的网络容易过度拟合)。
然而,对于一些任务(如本论文),使用修正的线性单元可以缓解梯度消失的问题(与传统的sigmoid函数相比)。
发布于 2016-01-08 04:03:16
最近的研究进展减轻了深层神经网络中消失梯度的影响。有贡献的进展包括:
有了这些进步,即使没有分层智能预训练,深层神经网络也可以被训练。
来源:http://devblogs.nvidia.com/parallelforall/deep-learning-nutshell-history-training/
发布于 2020-12-14 20:49:28
第一个答案是从2015年开始,稍微有点年龄。
今天,CNNs通常也使用批处理规范--尽管有一些争论这有帮助:发明者提到了协变量转移:https://arxiv.org/abs/1502.03167还有其他理论,比如平滑损失景观:https://arxiv.org/abs/1805.11604。
无论哪种方法,它都是一种方法,它有助于显着地处理消失/爆炸梯度问题,这也是相关的CNN。在CNN中,您还可以应用链规则来获得渐变。也就是说,第一层的更新与N个数的乘积成正比,其中N是输入的数目。与最后一层的更新相比,这个数字很可能是相对大的或小的。这可以通过观察随机变量的乘积的方差来看出,这些变量的增长越快,越多的变量被乘以:https://stats.stackexchange.com/questions/52646/variance-of-product-of-multiple-random-variables。
对于具有长输入序列的递归网络,即。对于L长度,情况往往比CNN更糟糕,因为这里的产品由L个数字组成。通常,RNN中的序列长度L比CNN中的N层数大得多。
https://stackoverflow.com/questions/28953622
复制相似问题