周报4.12
目录摘要1.ResNet提出“退化问题”并给予深入分析如何训练更深的神经网络整体架构核心组件残差块摘要本周进行论文阅读和学习学习内容是论文Deep Residual Learning for Image Recognition以及进行geekos的软件操作系统实验1.ResNet学习论文为Deep Residual Learning for Image Recognition本文揭示了深度神经网络训练中普遍存在的“退化”问题并提出了残差学习框架通过引入恒等快捷连接使优化极深的网络如152层变得可行从而在多个视觉任务上取得了突破性性能。提出“退化问题”并给予深入分析明确指出在梯度问题被缓解后单纯增加网络深度会导致训练误差上升这并非过拟合而是优化困难。提出残差学习框架与残差块设计了学习残差函数 ()()−的核心思想并通过恒等快捷连接实现 ()()使得网络能够轻松学习恒等映射或微小的扰动。实证了深度残差网络的强大能力成功训练了高达152层的残差网络ResNet在ImageNet分类、检测、分割以及COCO检测等多个权威数据集和竞赛中取得当时最佳结果验证了该框架的通用性和优越性。如何训练更深的神经网络深度对于模型表达能力至关重要但增加深度会带来优化上的巨大挑战。现有方法的局限 (Limitations of Prior Work)在本文之前通过归一化初始化如Xavier, He初始化和批归一化Batch Normalization等技术梯度消失/爆炸问题已得到缓解使得数十层的网络能够收敛。然而作者发现并系统性地验证了一个更根本的问题——退化随着网络深度增加模型的准确率会先饱和然后迅速下降如论文图1所示。关键洞察在于这个退化体现在训练误差上而非验证误差因此它本质上是优化器难以在极深的“普通”网络中找到一个好的解即使理论上一个更深的网络至少可以复现一个较浅网络的所有功能通过将新增层设为恒等映射。本文思路 (Overall Idea)既然直接让堆叠的非线性层去拟合一个潜在的复杂映射 H(x) 很困难而让它们去拟合一个恒等映射似乎也不容易。那么我们能否改变学习目标让这些层去学习一个“残差”呢即令其学习 F(x)H(x)−x这样最终的输出为 F(x)x。如果 H(x) 已经接近一个恒等映射这在深层网络中可能是合理的先验那么学习目标 F(x) 就接近于零这比学习一个恒等映射要容易得多。恒等快捷连接是实现 F(x)x 的关键。整体架构对于一个残差块输入 xxx 分为两路。主路经过两个或三个带权重的层卷积、BN、ReLU进行变换得到残差函数 F(x)F(x)F(x)。支路是一个恒等快捷连接直接将输入 xxx 传递过来。最后将两路结果进行逐元素相加yF(x)xy F(x) xyF(x)x然后再经过一个ReLU激活这个架构的宏观不同在于它不再强制让每一个模块直接拟合从输入到输出的复杂映射而是让这个模块学习输入与输出之间的差异残差。这极大地降低了优化难度因为网络可以随时“跳过”当前模块通过将 F(x) 学习为0保留原有的有效特征。核心组件残差块输入和输出输入为特征图 x输出为特征图 y。内部机理与设计动机恒等快捷连接这是残差学习的精髓。它不做任何参数化变换只是将输入 xxx 原封不动地加到输出上。其设计动机是保证信息能够无损地前向传播。如果某一层或某个块的学习没有带来增益网络可以通过将 F(x) 的权重推向零来轻松实现恒等映射从而避免性能退化。逐元素相加要求 F(x)的输出与 x的维度通道数、高、宽完全相同。这强制了残差学习的概念并且加法操作引入的计算开销几乎可以忽略。维度匹配当输入输出维度不一致时通常是下采样时通道数翻倍论文提出了两种方案见3.3节(A) 在快捷连接中对 x 进行零填充以增加维度(B) 使用1x1卷积进行投影公式(2)。实验表明即使是最简单的恒等映射方案A也能有效解决问题凸显了该框架的鲁棒性。瓶颈结构对于更深的网络如ResNet-50/101/152为了平衡计算量作者引入了瓶颈块论文图5右。其结构为1x1卷积降维 - 3x3卷积核心计算 - 1x1卷积升维。这里的1x1卷积起到了“瓶颈”作用先压缩再恢复通道数大幅减少了3x3卷积的计算量。在这种设计中恒等快捷连接的经济性优势更加明显因为它不会像投影快捷连接那样在瓶颈的两端引入额外的全通道卷积。优点与创新点思想深刻实现简洁这是本文最大的亮点。它从一个直观的优化问题出发提出了一个极其简单一个加法却影响深远的解决方案。其代码实现几乎不增加任何复杂度。实验极其扎实论文通过严格的对照实验普通网络 vs. 残差网络、详尽的消融研究以及在大规模数据集上的性能突破全面且令人信服地验证了其观点。通用性强ResNet不仅提升了分类精度其作为特征提取器在检测、分割等下游任务上也带来了显著提升迅速成为计算机视觉乃至其他领域的标准骨架网络。局限性与可商榷之处理论解释尚不充分论文虽然通过实验验证了残差学习的有效性并给出了直观解释易优化残差但更深层的理论原因为什么优化残差景观更好在当时并未完全阐明。后续研究如从动力系统、信号传播角度对此进行了补充。“越深越好”的边界论文成功训练了1202层的网络但在CIFAR-10上其测试性能反而差于110层网络。作者将其归因于过拟合但也提醒我们残差学习解决了优化问题但并未解决过拟合和模型泛化能力随深度增长可能出现的瓶颈。深度带来的收益并非无限。