作者:Taha Shahid
当深度学习这个词是由Rina Dechter在1986年向全球观众介绍时,她已是深度学习社区众多杰出的先驱之一,但这个概念可以追溯到1943年,当时Walter Pitts和Warren McCulloch构建了一个基于人脑神经网络的计算机模型,这无疑成为许多理论研究的出发点。
不用说,深度学习社区从那时起已经走过了一段很长的路在此理论上学习和发展。它已经得到了显著的发展和进化,现在被广泛用于自动化过程、检测模式、提高性能和解决人类世界的复杂问题。
深度学习的领域对挑战并不陌生,不可预见的复杂情况和影响阻碍了增长并限制了它能够实现的真正潜力。多年来致力于消除障碍的研究、研究和不懈努力使人们发现了新的概念、思想、体系结构和模型,这些概念、思想、体系结构和模型的表现都大大超过了前人。
深度的意义以及深度神经网络的退化问题
深层神经网络能够从训练数据中提取大量的解释模式或特征,并学习非常复杂但有意义的表达。

这些特征或模式的提取和发现可以归功于神经网络的深度,因为它们更容易在网络的后期发现。随着输入到神经网络的问题的性质变得越来越困难,研究人员开始开发越来越深的模型来获得更高的结果精度。据观察,深层神经网络比浅层次神经网络表现更好。
如果没有显著的深度,模型将无法以复杂的方式整合不同层次的特征以便从训练数据中学习。这一结论导致的结果是,通过引入真正的深度学习模型(层数>50),可以解决复杂的问题。人们开始尝试深度学习模型,深度达到100层,以在训练数据上获得更高的准确度分数。

然而,这一关于深度重要性的结论引发了一个有趣的问题:学习更好的网络是否像堆叠更多层一样容易?
理论上,随着普通神经网络中层数的增加,它在识别复杂函数和特征方面的能力将逐步提高,从而提高准确性和学习能力。
然而,与人们普遍认为的相反,人们发现,这种模型在提供预期结果方面效率低下。此外,训练精度在某一点后开始下降。
解决上述问题和理解理论与现实之间的差异的一个障碍是众所周知的梯度消失和梯度爆炸问题。它们从一开始就阻碍了收敛,这使得模型在准确和高效的学习能力方面不稳定。然而,这个问题已经在很大程度上通过递归神经网络(使用LSTM)、归一初始化和中间归一化来解决。这使得具有更高层数的模型能够收敛于随机梯度下降和反向传播。
即使在解决了梯度消失和梯度爆炸的问题后,可以观察到随着层数的增加,训练精度也在下降。这可以在下图中看到。

人们会认为这可能是过拟合的结果。然而,在这里情况不是这样,因为更深的网络显示出更高的训练错误而不是测试错误。当训练误差显著低于测试误差时,往往会出现过拟合。
这就是所谓的退化问题。随着网络深度的增加,精度会饱和(网络在到达最后一层之前会学习所有内容),然后如果引入更多层,则会迅速降低。
为了更好地解释为什么这里的结果看起来令人惊讶和意外,我们来看下面的例子。
假设我们有一个“n”层的神经网络,它给你一个训练误差“x”。现在考虑一个具有“m”(m>n)层的更深层次的神经网络。当我们训练这个网络时,我们希望它的性能至少和前一个模型(n层)一样好,因为总“m”层中的第一个“n”层将产生相同的精度,如果模型需要更复杂的表达,则剩余的“m-n”层将学习它,如果不需要更多的学习,则剩余的“m-n”层将作为一个标识函数,负责将输出传输到最终层。因此,我们可以得出这样的结论:具有“m”层的神经网络将给出训练误差“y”(y≤x)。
但这在实践中不会发生,更深层次的神经网络也不一定会产生较低的训练误差。

什么是ResNets以及它们如何帮助解决退化问题
微软研究团队的Kaiming He, Xiangyu Zhang, Shaoqin Ren, Jian Sun提出了一个残差学习框架(ResNets),通过消除退化问题,帮助简化网络的训练。他们已经用证据证明,resnet更容易优化,并且在相当大的深度可以有很高的精度。
正如我们之前看到的,深层网络中的后一层无法学习将结果传输到输出所需的身份函数。在残差网络中,我们不希望层符合期望的映射,而是让这些层适应残差映射。
最初,所需的映射是H(x)。然而,我们让网络来拟合残差映射F(x)=H(x)-x,因为网络发现优化残差映射比优化原始映射更容易

这种将数据从一层绕过另一层的方法称为快捷连接或跳跃连接。这种方法允许数据在各层之间轻松流动,而不会妨碍深度学习模型的学习能力。添加这种类型的跳跃链接的好处是,如果任何层损害了模型的性能,那么它将被跳过。

跳跃连接背后的逻辑是,网络更容易学会将f(x)的值转换为零,从而使其行为类似于一个恒等函数,而不是完全靠自己学习像恒等函数一样,找到一组正确的能够给你答案的值。

ResNet使用两个主要的构建块来构建整个网络。
1. 标识块(同上)

2. 卷积块

卷积块有助于修改和重组传入数据,以便第一层的输出与第三层的尺寸相匹配,然后添加它们。
这些组件有助于实现深度学习模型的更高优化和精度。在下图中,结果准确地显示了平面层上使用ResNet的效果。


因此,我们可以很容易地得出结论,ResNet无疑是深度学习的一个里程碑。通过它的快捷链接(跳跃连接),它允许深度学习社区冒险进入更深层次的神经网络模型,而这反过来又给我们带来了显著更好的结果。
(源自:Medium.com 编译:ODRobots)
作者:Taha Shahid
本文转自:中原动力机器人 ,转载此文目的在于传递更多信息,版权归原作者所有。