深度学习论文: 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 (网络调整)

深度学习论文: Compounding the Performance Improvements of Assembled Techniques in a CNN及其PyTorch实现

3-1 ResNet-D

bag of tricks中提出,在实际中很work但对计算量有细微影响
深度学习论文: Compounding the Performance Improvements of Assembled Techniques in a CNN及其PyTorch实现

3-2 Channel Attention (SE, SK)

除了SE外,作者还是用了SK,但改为以下的形式,使用一个双输出通道的3x3核替换原来的3x3和5x5核, throughput增加了很多
深度学习论文: Compounding the Performance Improvements of Assembled Techniques in a CNN及其PyTorch实现
实验结果深度学习论文: Compounding the Performance Improvements of Assembled Techniques in a CNN及其PyTorch实现

3-3 Anti-Alias Downsampling (AA)

抗锯齿下采样,发现在stride-conv上使用该下采样综合性能最好
深度学习论文: Compounding the Performance Improvements of Assembled Techniques in a CNN及其PyTorch实现
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 实验对比

深度学习论文: Compounding the Performance Improvements of Assembled Techniques in a CNN及其PyTorch实现

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资源
深度学习论文: Compounding the Performance Improvements of Assembled Techniques in a CNN及其PyTorch实现

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
深度学习论文: Compounding the Performance Improvements of Assembled Techniques in a CNN及其PyTorch实现

4-6 实验结果深度学习论文: Compounding the Performance Improvements of Assembled Techniques in a CNN及其PyTorch实现