论文笔记 《Searching for MobileNetV3》

这篇论文是发表在ICCV2019的《Searching for MobileNetV3》,作者是Google Brain的Quoc V. Le和Hartwig Adam组。第一作者是Andrew Howard。

这篇论文结合NAS以及SE Block的设计新方法改进MobileNetV2。

方法

结合SE Block新设计

  • 使用MobileNetV2的inverted residual block+MnasNet的SE
  • 仅在部分层使用se-block

使用NAS+NetAdapt

  • NAS直接用MnasNet搜到的结构
  • NetAdapt在这个搜到的结构上,随机sample每一层的expand ratio,和每一个block的bottleneck size,做Evolution

改进的激活函数

  • hswish替代原来的swish,不用sigmoid用ReLU6
  • $h-swish(x)=x RELU6(x+3)/6 $
  • 在网络前面block里面使用relu,后面使用hswish

改进block前后网络结构

  • 前面stem,使用16channels替代32channels
  • 最后一层使用avg-pool替代1x1Conv

Segmentation

  • 提出Lite R-ASPP(LR-ASPP),减少了计算量,提升了性能

总结

结合一些已有的算法,做了详实的实验,得到了很好的效果。

论文笔记: 《MicroNet: Towards Image Recognition with Extremely Low FLOPs》

这篇论文是2020年放在Arxiv上的《MicroNet: Towards Image Recognition with Extremely Low FLOPs》,第一作者是UCSD的Yunsheng Li,其它作者是Mentor是微软AI&R Ambience Intelligence Zicheng Liu team,这篇论文和Dynamic ReLU一脉相称。

这篇论文提出了在保持通道数的情况下,如何减少连接数和减少层数来减少网络计算量,同时保持精度。首先提出Micro-Factorized的卷积将Depth-wise和point-wise的卷积拆分成多个卷积;其次提出了Dynamic Shift-Max这种动态的activation。

方法

principle

  • 在避免减少卷积通道数的情况下减少node的连接数
  • 减少网络的层数,同时提升activation的非线性性能

Micro-Factorized Convolution

  • 将Point-wise的卷积分成多个卷积,W=PφQ
    • 原本是C->C的卷积通道数
    • P压缩通道数到C/R,采用G个group的卷积
    • φ是一个Shuffle层
    • Q是一个提升通道到C,采用G个group的卷积
    • 为了保证所有的output channel和input channel相连接,推算出G=sqrt(C/R)
  • 将Depth-wise的卷积搞成kx1和1xk的卷积

Dynamic Shift-Max

  • 将J个Group的activation做weighted sum,weight使用SE block得到的attention
  • 使用K套不同的SE block的Weight,求最大值
  • $y_i=\max_{k\le K}{ \sum_{j} a^k(x) x_j }$
    • $x_j$是第j个group里面的activation

网络

  • Micro-Block-A
    • Micro-Factorized depthwise + pointwise conv(grouped)
    • 在前面的层效果好,因为channel数不多,所以depthwise卷积开销不大
  • Micro-BLock-B
    • Micro-Factorized depthwise(提升channel数量) + Micro-Facgtorized pointwise conv
  • C
    • Micro-Factorized depthwise + pointwise conv

实验

  • M0
    • AABCCC
    • 6M MAdds
    • 53top-1 ImageNet
  • Pose Estimation和Segmentation的实验也证明比MobileNet好很多

总结

  • 这篇论文对于连接性和通道数的分析很有意义,通过拆分连接达到减少计算量的目的。但实际硬件的效率可能和访问关系较大,再减少连接数可能不是特别有优势了。对于非线性的问题,我认为证据不足,需要继续研究。

论文笔记 《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网络中扮演的角色的讨论很有意思,可以更详细的分析。

论文笔记 《ReActNet: Towards precise binary neural network with generalized activation functions》

这篇文章是发表在arxiv2020的《ReActNet: Towards precise binary neural network with generalized activation functions》,作者CMU的Zechun Liu(香港科技大学)和Zhiqiang Shen,CMU的导师是Marios Savvides。

文章通过三种方法提升了二值化神经网络的精度。1.设计了一个类MobileNetV1的网络。2.显式地通过RSign和RPReLU学习Activation的distribution。3.通过类似于知识蒸馏的方法,学习原网络的output。

方法

设计了一个类MobileNetV1的网络

  • 取消了depth-wise的操作,全部都是正常卷积
  • 将降采样block的设置为两个block的concat
  • 每一个conv都要Residual-connection

学习Activation的distribution

  • 因为需要在每一个block之前对activation进行二值化,网络对这里二值化的分割点比较敏感
  • 在Addition之后加ReAct-PReLU,在block的第一个conv之前加
  • 使用RReLU学习二值化分割点
  • 使用RPReLU学习0点的位置

知识蒸馏

  • 使用一个ResNet-34的输出来作为target,直接计算KL loss

实验

  • 两步训练
    • 第一步训练Binary Activation的,但是weight是float的
    • 第二步训练binary activation & binary weight
  • 结果
    • baseline 58.2%
    • distribution loss 59.6%
    • Proposed baseline + distribution loss 62.5%
    • +Prelu 65.5%
    • +Rsign 66.1%
    • +Rprelu 67.4%
    • +Rsign+Rprelu 69.4%
    • Float model 72.4%

总结

activation对信息的编码在二值化之后会显著下降,这篇paper通过对activation进行参数化,学习到最优参数以保留更多的信息。

论文笔记 《Interpret Neural Networks by Identifying Critical Data Routing Paths》

这篇是发表在CVPR2018的论文《Interpret Neural Networks by Identifying Critical Data Routing Paths》,作者是清华大学的Hu xiaolin组,第一作者是Wang Yulong。

作者提出了一种利用知识蒸馏来生成神经网络的预测路由路径的方法。通过预测路由路径可以分析神经网络对不同的类别路由差异,以及相同类别的路由差异。同时也分析了对抗样本对路由路径的影响,并提出了一种利用路由路径检测对抗样本攻击的方法。

方法

蒸馏引导的路由路径 Distillation guided routing

  • 每个channel的output乘以一个gate$\lambda$
  • 通过知识蒸馏的方法来学习gate
    • $$\min_{\Lambda}L(f(x),f(x,\Lambda)+\gamma |\Lambda|_1) s.t. \lambda \ge 0$$
    • $\Lambda$代表所有层的所有$\lambda$连接起来的vector
    • 最小化蒸馏后的网络对同一张图片的输出与原始输出的loss,同时减少lambda的L1Norm
    • 通过gradient descent来学习最佳的$\Lambda$,训练30iteration
  • 找出训练的iterations里面最小的loss对应的$\Lambda$作为CDRP

实验

  • 剪枝量化研究
    • Pruning的方法来剪枝
    • 比Adaptive Weight Routing和Adaptive Activation Routing效果要好,Sparsity高
    • CDRP能代表很强的分类信息,分的清重要channel和不重要channel
  • 类别间的差异
    • t-SNE发现,前面的层差异小,后面加大
  • 类别内的差异
    • 可以通过agglomerative clustering来对组内的图片进行距离判别
  • 对抗样本
    • 对抗到不同的类别,能区分开来
    • 对抗到不确定类型,不能区分开来,因为这个时候被误解的类别和原始图片很想

总结

这篇论文总结了怎么用CDRP的方法来分析神经网络的性质。实验设置可以做到很好。

论文笔记 《FQ-Conv: Fully Quantized Convolution for Efficient and Accurate Inference》

这篇是2019年发表在arxiv的论文《FQ-Conv: Fully Quantized Convolution for Efficient and Accurate Inference》,第一作者是比利时鲁汶的IMEC(微电子研究中心)的Bram-Ernst Verhoef、Nathan Laubeuf。

文章提出了一种针对CNN网络的低比特(2bit weight 5bit activation)量化及量化训练的方法,效果不错,并在analog的器件上测试了带噪声情况的精度。

方法

新的量化算法

  • End-to-End
    • 除了最后的AVGPooling和FC,其它层全部都量化
  • 量化的映射区间使用layer-wise的一个可学习权值表示
    • weight的区间是[-b,b]
    • activation的区间是[0,b]
  • 将BN的Weight整合到Conv,但Shift不整合,直接抛弃
    • $y=\alpha\frac{x-\mu}{\sigma}+\beta=Weight x + Shift$

新的训练算法

  • Gradually lower bitwidth
    • 一点一点把bitwidth降到w2,a5
    • 最后Fuse BN再训练
  • Distillation

实验

  • FP0->Q88->FP1(Trainer Net)->Q66->Q55->Q44->Q33->Q22
    • ResNet-20 CIFAR-10,BN全精度
      • 91.6->89.9(Q22) 91.6(Q33)
  • ->Q55->Q45->Q35->Q25
    • DarkNet-19 ImageNet
      • 72.3%->69.9%(Q25) 72.6%(Q35)
  • Fully Quantized Network
    • ResNet-32 on CIFAR-100
    • 77.9->FQ25(76.9)
  • 带模拟电路噪声训练
    • weight的噪声(memory cells)
    • input activation的噪声(DACs)
    • output MAC的噪声(ADCs)
    • 使用高斯噪声,带这个在FQ22上训练可以恢复准确率
      • $\sigma_w$ 5%, $\sigma_a=5%, \sigma_{MAC}=25%$可以恢复精度

总结

这篇文章写得不太好,但是结果很不错。训练的方法可以和很多事情结合一下用,带高斯噪声训练的方法可以继续想一想。

论文笔记 《Fully Quantized network for Object Detection》

这篇论文是发表在CVPR2019的《Fully Quantized network for Object Detection》,作者是上海科技大学的Rundong Li和商汤的闫俊杰,闫俊杰是商汤智能城市商业组的CTO,15年从中科大博士毕业、17年从清华博士后毕业。

这篇论文提出了一些物体检测模型进行了4bit量化(将检测模型的所有层全部量化)的优化算法。具体来说,通过在finetune过程中减少batch normalization的不稳定性、去掉activation的outlier、channel-wise的quantization来增加量化网络的性能。

方法

均匀量化到k比特

  • $$X^Q=Quant_k(X^R)=\Delta(X^I-z)\in \{q_0,q_1,\dots q_{2^k-1}\}$$
    • 其中$X^I=$是整数的indices,z是偏差的index
    • $\Delta=\frac{ub-lb}{2^k-1}$
    • 把$[lb, ub]$作为量化的范围
  • 计算$y=Quant_k(W)Quant_k(x)=\Delta_W\Delta_x(W^Ix^I)$
    • 忽略z
  • Weight量化
    • lb和ub都是channel-wise到W的最小和最大
    • channel-wise:直方图统计分析了channel的ub的分布
    • BN的folding
      • $W_{fold}=\frac{\alpha}{\sqrt{\sigma^2+\epsilon}}W$
      • batch norm的parameters和在训练时会变化很大,会对量化造成很大影响
      • 由于detection网络的小batch size,均值/方差变化很大,量化造成很大影响
      • 固定$\sigma, \mu$
  • Activation量化
    • 不稳定性: Activation会有一些outlier、之前方法动态统计的会变化很大
      • 使用一个子数据集统计,在$γ$和$1-γ$分位数来求ub和lb对activation进行量化
  • 反向传播使用STE

实验

  • BN不稳定 AP 0.20->0.24
  • Activation分位数 AP 0.20->0.22
  • Channel-Wise AP 0.20->0.25
  • 总体 0.20->0.29,原始0.32

总结

简单的改进也能取得很大的进步,但在Object Detection上面还是离恢复精度有一定的距离。

论文笔记 《Dynamic Convolution: Attention over Convolution Kernels》

这篇是发表在ECCV2020的文章《Dynamic Convolution: Attention over Convolution Kernels》,作者是微软研究院的Yinpeng Chen、Zicheng Liu等人。

文章为了增加网络的表示复杂性,针对不同的输入样本动态使用不同的卷积核,虽然整个网络计算量不会发生变化,但是网络的复杂性得到提升。

方法

Dynamic Convolution

  • Attention:使用和SE block一样的Global Avg Pool+FC+Softmax的方法
  • Kernel Aggregation:卷积的weight是由多个weight加权得到

Insight

  • Attention的加和为1
  • 在早期训练的epochs里面,用的是接近均值的Attention
  • 这两点是和以前的方法最大的不同

实验

  • ImageNet
    • Each layer has K = 4 convolution kernels
    • DY-ResNet-18
      • 42.7M 1.85G 72.7(提升2.3) (origin 11.1M 1.81G 70.4)
    • DY-MobileNetV2 x1.0
      • 11M Param 312.9M MAC 75.2% top1 (origin 300M 72%)
    • DY-MobileNetV3-Small
      • 4.8M 68.5M 70.3(2.9) (origin 2.9M 66.0M 67.4)
  • COCO 2017 single-person keypoint detection
    • Backbone和head都dynamic AP提到62.8(3.6)
    • 仅Backbone dynamic AP 62.3
    • 仅Head dynamic AP 60.3(1.1)

总结

Kernel级别的Dynamic,不一定要减计算量,增加性能也是另一个方向。

Your browser is out-of-date!

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

×