当前位置: 首页 > 科技观察

深度到底为深度神经网络带来了什么?

时间:2023-03-18 18:10:40 科技观察

起源人工智能近年来取得了爆发式的发展,深度学习可以说是其主要推动力。笔者非常荣幸能够来到微软实习并从事深度学习方面的研究,因为微软研究院在该领域一直处于领先地位,优秀的人才和强大的计算资源非常适合研究在这个区域。在计算机视觉领域,大部分问题已经使用深度神经网络解决,并取得了广泛的成功。在许多视觉任务中,如图像识别、语义分割、目标检测与跟踪、图像检索等,作为提取特征的CNN网络模型往往起着关键作用。我们经常看到改变基础网络的最佳方式,性能会得到很大的提升。因此,研究和设计更好的网络模型变得至关重要。基本网络模型的结构实例***研究进展经典的神经网络模型主要是在“宽度”和“深度”方面进行了不同程度的扩展。借助大规模数据训练,AlexNet、VGG-16、VGG-19等经典网络可以通过增加宽度或深度的参数,有效提升模型的表现力。但是当网络越来越深时,它的训练难度也相应增加,这会导致性能下降。最近的方法如ResNet和HighwayNetworks试图通过引入Skipjump结构来解决极深网络带来的优化问题。ResNet和HighwayNetworks的结构简单示意图最近的一些研究试图从其他角度解释Highway、ResNet和GoogLeNet网络结构性能优异的原因。其中,我的导师王敬东研究员,实习生魏震和张婷,曾文军研究员提出了深度融合(JingdongWang,ZhenWei,TingZhang,WenjunZeng:Deeply-FusedNets.CoRRabs/1605.07716(2016))在微软。融合的概念,认为在中间层对网络的不同分支进行融合(求和或拼接等)可以(1)生成很多具有共享参数的潜在基础网络,(2)优化流程同时获取信息,(3)从而帮助深度网络的训练过程。DeepFusion深度融合最简单形式的概念图我们可以发现,很多有代表性的网络结构基本上都可以按照深度融合的概念来理解。除了LeNet、AlexNet、VGGNet等单分支网络外,近两年提出的ResNet、HighwayNetworks、GoogLeNet系列等网络都可以不同程度地视为深度融合网络。在这个理念下,我们发现今年新推出的Inception-v4、FractalNet、DenseNet、ResNeXt以及我们新提出的Merge-and-Run等网络结构在融合方式上进行了更多的设计和探索,使得融合数量在中间且分支数量更多,从而获得更多的基础网络和更好的信息流,最终达到更好的性能。最近一些深度神经网络模型的基本结构图与康奈尔大学SergeBelongie团队的观察和发现有相似之处。他们解释说,ResNet实际上是许多相对较浅的潜在网络的集成。在模型的测试阶段,发现网络中的一些模块被去掉了,剩下的网络模型仍然有很好的性能。移除ResNet中部分模块的实验表明,最近提出的一些新的深度神经网络方法也从侧面印证了这一研究,例如ResNetwithStochasticDepth、FractalNet和Swapout,它们使用了Drop-path方法和上述关于删除Residual模块具有相同的目的。ResNet的ResNet、ResNeXt、Multi-ResidualNetworks、DenseNet等增加分支或路径数量的方法都在性能上有所提升,一定程度上验证了增加基础网络数量对整体网络的影响模型。在我们的工作中,我们沿着深度融合的思想进一步研究了ResNet、Highway、Inception等结构的深度融合网络,探索“深度”给神经网络带来了什么。基于研究观察和分析,我们提出了一种新的网络模型,该模型在不同的数据集上取得了良好的性能。LimingZhao、JingdongWang、XiLi、ZhuowenTu和WenjunZeng。“关于深度融合与集成的联系。”arXiv预印本arXiv:1611.07718(2016)。1.DeepFusionNetworkAnalysis首先,我们分析网络结构和实验这个多分支融合网络和多个潜在网络融合的关系如上图所示。多分支融合网络的结构类似于集成网络。从上图可以发现,多分支融合网络形式可以近似很多潜在网络的融合过程。不同的是没有中间信息交互,而是共享对应层的网络参数。通过10组不同深度的网络结构实验,发现这种共享参数的融合网络的性能与信息交互的深度融合网络非常相似。深度融合网络和集成网络的性能相似。2.深度带来更多的构图网络。下一步是利用集成学习中的一些思想来指导我们分析这类深度融合网络。首先是研究潜在基础网络的数量。很明显,上图中融合3次的网络可以组合8个基本网络,也就是2^3。那么我们可以发现,增加融合的数量可以增加基础网络的组合数量。那么,对于ResNet、Highway、Inception等网络,增加“深度”的效果之一就是增加其潜在基础网络的组合数量(EnsembleSize)。不同的融合时间会导致不同数量的组合网络(路径)。我们也通过对不同深度的网络结构进行实验验证:增加组合的数量可以提高整体性能,就像传统Ensemble理论中增加EnsembleSize一样。更多数量的组合网络可以获得更好的结果。我们也通过对不同深度的网络结构进行实验验证,增加组合网络的数量可以提升整体性能,这也与传统Ensemble理论中增加EnsembleSize可以提升性能的结论一致。匹配。我们可以看到ResNet在增加深度的同时大大增加了组合的数量,这也是其性能优异的原因之一。3.深度影响整体性能我们继续研究各个基础组合网络,探索它们在深度融合的过程中会如何相互影响。对比分别训练各个网络得到的模型,我们发现深度融合网络中较深的组合网络的性能有所提升,但较浅的组合网络的性能有所下降。我们推测它们可以帮助深度网络在训练过程中进行优化,因为浅层网络倾向于收敛。但深度融合网络的各个潜在组成网络共享参数,极深的网络可能会影响较浅网络的解空间和难度,导致相互影响性能向中间靠拢的现象。每个单独组件网络的行为分析既然我们认为最终性能是集成的近似值,那么我们是否可以开始寻找更好的组合网络来实现整体性能提升?受上述组合网络之间相互作用的启发,我们认为极深的网络会产生“拖拽”效应,但更深但不是特别深的“中间”网络会对结果产生更大的影响。上图的实验结果也验证了我们的想法:(a)显示了由于共享参数导致的每个组件网络的性能变化;(b)显示了每个组件网络对整个网络(集成)的相对贡献。我们仍然需要一个浅层网络来帮助训练更深的网络,而在实际设计神经网络时很难只保留中间的深度网络结构。那么一个折中的方案就是去掉最深的组件网络,看看对结果有什么影响。去除最深的组件网络(重新训练或者只是在测试时去除)上图三种方法的实验结果表明,去除极深的组件网络对整体性能影响不大,有时还会提升最终结果。去除极深的组件网络不会影响太大,在大多数情况下会提高性能4.提出新方法基于以上观察,我们认为一个好的网络结构应该包含以下两个特征:足够多的潜在网络,足以形成一个网络。最简单的策略是去掉“拖拽”的极深网络,将其变成“中等”的深度构成网络。下面是我们提出的方法:基于ResNet的形式,我们提出了新的网络结构(b)和(c)基于ResNet的形式,我们提出的Inception-Like结构和Merge-and-Run结构已经去掉极深的那条线,但是相同参数下Inception-Like组合的数量少于ResNet,所以我们认为Merge-and-Run形式更符合我们的分析和观察。最后的实验结果确实验证了这个想法,并且和上面的实验观察一致:Inception-Like没有很深网络的影响,更容易训练或者收敛,比ResNet稍微好一点,并且上述Ensemble-7与Ensemble-8的实验结果类似。Merge-and-Run结构比Inception-Like有更多的潜在网络,最终的结果也比Inception-Like好。ResNet、Inception-Like和Merge-and-Run在不同数据集上的对比也验证了我们之前对ImageNet结果的讨论(我们的方法以DFN-MR为代表):我们提出的DFN-MR和ResNet在ImageNetComparison五、总结目前的一个研究热点是在深度神经网络中引入一个新的维度:潜在组成网络的数量(EnsembleSize)。可以发现,ResNet、Highway、Inception等网络在增加“深度”的同时,实际上增加了网络的数量。此外,我们的工作发现,除了增加潜在网络的数量外,非常深的网络对整体性能的贡献并不是绝对的。相反,它会影响其他组成网络,导致最终结果受到影响。我们根据“不减少组成网络的数量”和“避免极深的组成网络”这两个原则设计了一种新的网络结构,发现它在不同的数据集上始终表现良好。后续工作可以围绕当前分析的内容,对提出的设计指标和原则进行优化,得到更易训练、性能更好的网络模型。