RePr Improved Training of Convolutional Filters

背景

训练良好的卷积神经网络可以很容易被裁减而不显著降低性能。这是因为网络滤波器在提取特征时存在不必要的重叠。网络架构的创新诸如skip/dense连接和Inception单元在某种程度上缓解了这个问题,但这些改进伴随着运行时计算和内存需求的增加。我们试图从另一个角度解决这个问题——不是通过改变网络结构,而是通过改变训练方法。

通过临时裁减部分滤波器,之后再恢复这部分滤波器,并循环重复这个过程,结果表明这种方法减少了学习特征过程中的重叠,模型泛化能力进一步提高。

本文中还表明现有的模型剪枝标准在剪枝选择滤波器的过程中不是最优的,并引入滤波器间的正交性作为排序标准来确定表达不足的滤波器。

这个方法既适用于普通的卷积网络,也适用于更复杂的现代体系结构,并且可以提高各种任务的性能,尤其是应用于小型网络时。

贡献
  • 新的训练方案:在经过一定数量的训练迭代后,我们选择临时丢弃一部分滤波器,在对简化网络进行额外训练后,重新引入先前丢弃的滤波器,使用新权重进行初始化并继续进行标准化训练。结果表面形,在重新引入之前丢弃的滤波器之后,该模型能够比drop之前获得更高的性能。重复应用该过程获得的模型优于通过标准训练获得的模型。
  • 第二点创新主要是探索过滤器drop的标准。标准的永久过滤器裁减技术在我们的设置中并不是最优的,我们提出了一个可以有效计算的替代度量,并且可以显著提高性能。我们基于卷积层内过滤器间的正交性提出了一个度量,并表明在我们的训练策略环境中该度量方法优于目前网络裁减中最先进的基于滤波器重要排序的方法。同时观察到即使是小型,参数不足的网络也倾向于学习冗余滤波器,这表明滤波器冗余不仅仅是过度参数化的结果,还和无效的训练有关。
正交特征动机

卷积滤波器的特征被定义为来自滤波器的各个核的激活的逐点和。如果某个特征有助于改进模型的泛化能力,则该特征被认为是有用的。

很多人研究表明在标准SGD训练中以及其他场景中加入正则化可以带来一定的改进。Shang等人发现低级滤波器是以相反的phase重复的,强制滤波器正交将最小化此重复,并且不会更改激活函数。除了性能和泛化能力方面的改进外,Saxe等人还证明权重的正交能提高训练期间网络收敛的稳定性。以上是特征正交提出的动机。

通过实验作者发现通过正则化项来促进权重正交不足以推动特征特征的发展。之后作者使用标准相关性分析(CCA)方法来研究单层特征的重叠。CCA能反应随机变量的线性组合,显示出它们之间的最大相关性。

训练方案:RePr

循环移除冗余滤波器,重新训练网络,重新初始化已删除的滤波器以及重复来修改训练过程。

在这里插入图片描述
M:M表示在L层上具有F个滤波器的模型。
F^:表示F滤波器的子集。
M(F):表示整个网络。
M(F-F^):表示子网络。
R:表示某个数值与滤波器相关联的度量标准。
引入的两个超参数:S1,S2(分别代表每个网络的训练次数,前者为整个网络,后者为子网络)N(迭代次数)。

我们的度量标准:滤波器间正交性

寻找用于排列最不重要的滤波器指标有两个原因:对于大型网络来说计算greedy Oracle是不可行的;其次greedy Oracle可能不是最好的标准。(如果有一个捕获unique方向的滤波器对精度的贡献度较低,则greedy Oracle将删除该滤波器,在随后的重新初始化和训练中,我们可能无法得到相同的方向集合。)

建议在每个层内的滤波器间要求滤波器的正交性而不是各个滤波器间的正交性。

正交性的计算

内核为kxk的滤波器通常使kxkxc的三维张量。f表示将其展开后的k*k*c一维向量,Jl表示层l中的滤波器数量,L是网络中层的数量,Wl是一个矩阵,每一行表示层l中展开的滤波器(f)。

发布了371 篇原创文章 · 获赞 36 · 访问量 6万+

猜你喜欢

转载自blog.csdn.net/strawqqhat/article/details/104963227
今日推荐