深度学习论文: Compounding the Performance Improvements of Assembled Techniques in a CNN及其PyTorch实现
深度学习论文: Compounding the Performance Improvements of Assembled Techniques in a Convolutional Neural Network及其PyTorch实现
Compounding the Performance Improvements of Assembled Techniques in a Convolutional Neural Network
PDF:https://arxiv.org/abs/2001.06268.pdf
PyTorch: https://github.com/shanglianlm0525/PyTorch-Networks
1 概述
作者在 Bag of Tricks for Image Classification with Convolutional Neural Networks的基础上, 研究了很新的一些trick(AA、SK等)对模型的影响,引入了新的指标mCE综合评判模型性能
2 Evaluation Metrics
top-1 :分类精度
throughput:生产量, 定义为单位时间内处理图片数量, num/s
mCE: 平均腐蚀误差, 衡量算法鲁棒性
3 Network Tweaks (网络调整)
3-1 ResNet-D
bag of tricks中提出,在实际中很work但对计算量有细微影响
3-2 Channel Attention (SE, SK)
除了SE外,作者还是用了SK,但改为以下的形式,使用一个双输出通道的3x3核替换原来的3x3和5x5核, throughput增加了很多
实验结果
3-3 Anti-Alias Downsampling (AA)
抗锯齿下采样,发现在stride-conv上使用该下采样综合性能最好
Richard Zhang. Making convolutional networks shiftinvariant again. In ICML, 2019
3-4 Big Little Network (BL)
模仿BigLittleNet的多分支思路,在网络中加入Little-Branch
Chun-Fu Chen, Quanfu Fan, Neil Mallinar, Tom Sercu, and Rogerio Feris. Big-little net: An efficient multi-scale feature representation for visual and speech recognition. arXiv preprint arXiv:1807.03848, 2018
3-5 实验对比
4 Regularization (正则化)
4- AutoAugment (Autoaug)
强化学习选择图像增强策略
Ekin D Cubuk, Barret Zoph, Dandelion Mane, Vijay Vasudevan, and Quoc V Le. Autoaugment: Learning augmentation policies from data. arXiv preprint arXiv:1805.09501, 2018
4-2 Mixup
CNN对见过的图记忆深刻,无法很好处理新的与训练数据集分布不同的数据,Mixup生成新数据来解决这个问题,包括两种类型,第一种将两个batch的数据生成新的混合数据,第二种将同一个batch的数据生成新数据,实验发现第一种较好,尽管需要更多的CPU资源
4-3 DropBlock
Dropout Block,值得注意的是作者在ResNet50的stage3、4都加入了Dropout,并且从1到0.9线性减小keep_prob
4-4 Label Smoothing (LS)
label smoothing因子取0.1
4-5 Knowledge Distillation (KD)
T取1