论文笔记 《Drop an Octave: Reducing Spatial Redundancy in Convolutional Neural Networks with Octave Convolution》

这篇文章是发表在ICCV2019的《Drop an Octave: Reducing Spatial Redundancy in Convolutional Neural Networks with Octave Convolution》,作者是Facebook AI的Yunpeng Chen,博士毕业于新加坡国立。

这篇文章从频域的角度分析了图像中高频和低频信息的作用,通过改造卷积,让卷积显式地分别处理高频和低频的特征,从而提升准确率,降低计算量。

方法

图像中高频和低频信息的作用

  • 高频:信息变化快,提取的是细节的信息
  • 低频:信息变化慢,提取的是整体的信息

Octave表示

  • 使用低分辨率图像表示低频特征
  • 使用高分辨率图像表示高频特征

Octave Conv

  • 卷积分别处理低频和高频特征
  • 信息交互
    • 低频特征Conv之后升维度
    • 高频特征降维度之后Conv
    • 和普通处理的信息加起来

实验

  • ImageNet
    • 随着一层里面高低频率信息的比例变化,比例适中acc最高,整体呈现小山包形状
    • 相比普通的resnet,最高提升了大约2个点
  • 频率分析
    • 直观从频域图上看
    • 低分辨率组不包括高频信息,反之亦然
    • 证实了低频组提取低频信息的假设

总结

显式地把一些Heuristic的东西用网络结构的方式表现出来,值得学习。

论文笔记 《Universally Slimmable Networks and Improved Training Techniques》

这篇文章是发表在ICCV2019的《Universally Slimmable Networks and Improved Training Techniques》,作者是UIUC的 Jiahui Yu。属于Thomas Huang(黄煦涛)组。 Jiahui Yu是中科大少年班本科毕业,2020年UIUC博士毕业现在在Google Brain做Research Scientist。

这篇文章在之前Slimmable Networks的基础上进行了改进,使得它能以任意的宽度运行。文章提出了三明治规则和就地知识蒸馏来提升训练速度的和测试的准确率。

方法

任意的width实现

  • sample from 0.25x - 1.0x

BN训练

  • 不要switchable BN
  • 训练使用正常的BN,但是在一个固定大小的网络测试之前使用1000张图片重新计算BN的mean和var

三明治规则

  • 发现性能被最小的网络和最大的网络bound住了
  • 优化最小的网络和最大的网络能够隐式的优化所有的width
  • 使用最小的和最大的网络加上sample中间大小的几个网络进行前向和反向传播

就地知识蒸馏

  • 使用当前的最大网络的输出作为其他网络的知识蒸馏目标

实验

  • ImageNet MobileNetv1v2
    • 相比于独立训练和switchable的训练,平均准确率提升了
    • 在max和min上面表现尤为突出
  • Ablation 三明治训练
    • 效果很好 max+random的训练没有作用,但是min+random的训练非常好
  • Sample的越多越好,但2个sample的width就够好了
  • width的lower bound有影响

总结

小改进,推翻了之前switchable的方法。三明治定理很有意思,可以继续研究。max和min的这个bound对interval的影响也可以进一步探究,尤其是可解释性的问题。

论文笔记 《Slimmable Neural Networks》

这篇文章是发表在ICLR2019的《Slimmable Neural Networks》,作者是UIUC的 Jiahui Yu。属于Thomas Huang(黄煦涛)组,Thomas Huang是华人计算机视觉宗师之一,已于2020年4月25日去世。

这篇文章提出了使用一种能以不同网络宽度来前向预测的网络训练方法,可以适用于不同的准确率-计算量的tradeoff场景。作者认为BN层的统计差异是不同width的差异,因此提出了一种可切换BN。

方法

Naive的训练方法

  • 直接训练一个shared weight的网络,存在inconsistency的问题
  • 使用incremental的方法训练,没有联合适应性,准确率低

Switchable BN

  • 每个BN层对于不同的width使用不同的参数

训练

  • 每个iteration,在不同的width前向反向,加和gradient做update

实验

  • MobileNet ShuffleNet ResNet-50 4个width ImageNet
    • 和Individual比起来,基本不掉点,MobileNet V1 还增点
  • Faster Detection, Mask detection
    • AP全都增长
  • Top-activated Images Visualization
    • 相同的channel在不同的width中扮演相同的角色
  • BN层的值
    • 浅层几乎一样,深层不一样
    • 不同的features可能有不同的语义特征(在高层)

总结

BN层的问题在这里详细讨论了,后悔之前做ENAS4D的时候没有看这篇论文。
不同的features在不同width网络中扮演的角色的讨论很有意思,可以更详细的分析。

论文笔记 Scalpel: Customizing DNN Pruning to the Underlying Hardware Parallelism

这篇是Michigan大学和ARM合作的发表在2017年 ISCA的论文《Scalpel: Customizing DNN Pruning to the Underlying Hardware Parallelism》,到今天的引用量为154。第一作者Jiecao Yu 俞杰草,本科毕业于浙江大学,14年留学密歇根大学(MS & Ph.D),导师Scott Mahlke,已经毕业在Facebook工作。

这篇论文发现了之前的剪枝方法虽然在weight的数量上减少了很多,但是由于稀疏运算的特性,它们在硬件上的效率不行。文章提出了两种新的剪枝方法,针对三种不同的硬件(Micro-controller,CPU,GPU),分别使用它们或者联合使用它们可以得到更高的加速比。

方法

  • SIMD aware的剪枝
    • 将硬件的SIMD并行度作为剪枝的参数,一块一块地进行剪枝
    • 适用于Micro-controller和fc
  • Node Pruning
    • 直接将一个neuron减掉
    • 适用于高并行度的GPU和conv

评价

这篇文章于2017年发表,当时有人已经意识到剪枝带来的硬件效率的问题,部分人选择在硬件架构的角度来做稀疏运算(如:2016 ISCA EIE, 2017 ISCA SCNN);这篇文章反其道而行之,从软件的角度来思考问题,通过硬件的特性来优化算法,最后取得一个不错的加速效果。在之后的文章里面,软件-硬件的联合优化就成了一个大趋势(如 2019 ISCA Eager Pruning等)。

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×