weak3 (数据增强、轻量化网络)论文阅读笔记

weak3(数据增强)论文阅读笔记论文阅读笔记

  • 一.数据增强方向四篇
  • 二.轻量化网络四篇
  • 三.目标检测方向四篇
    • 深度学习目标检测

一.数据增强方向四篇

1.The Effectiveness of Data Augmentation in Image Classification using Deep Learning(2017)
作者提出了几种数据增强的方法

  • 传统方法,从图像变换的角度出发,对图像进行移动、缩放、旋转、翻折、扭曲、上色等处理之后送入分类器。
  • 生成对抗网络。通过给一张输入图片选定六种不同的风格,利用GAN网络,生成相应风格的图片,再送入网络。
  • 增强网络。
    对于数据增强的网络,作者将两张同一类图片concate在一起作为输入,从而得到一张新生成的图片,并将这一张新生成的图片和原始的两张图片一起放入classifation网络进行训练,分类的loss会回传给上述两个网络从而更新其权重,这是第一个loss。同时,作者也尝试引入第二个loss,即计算新生成的图片和该类中任意挑选出来的图片之间的差别作为loss,比如MSE loss,但是该方法的效果并不冥想。

2.mixup: Beyond Empirical Risk Minimization(2018)

  • 从效果上来说,mixup就是将两张图片直接叠加,可以通过改变每张图片的比例来调节叠加后的图片呈现的效果。
  • 将随机的两张样本按比例混合,分类的结果按比例分配。

3.CutMix: Regularization Strategy to Train Strong Classifiers with Localizable Features(2019)

  • 简单来说cutmix相当于cutout+mixup的结合,将一部分区域cut掉但不填充0像素而是随机填充
    训练集中的其他数据的区域像素值,分类结果(label)按一定的比例分配。
  • cutmix的label还是和mixup一样是线性组合
  • weak3 (数据增强、轻量化网络)论文阅读笔记_第1张图片

4.AutoAugment: Learning Augmentation Strategies from Data(2019)

  • 自动寻找最优的数据增强策略
  • weak3 (数据增强、轻量化网络)论文阅读笔记_第2张图片
  • RNN算法如图:
    weak3 (数据增强、轻量化网络)论文阅读笔记_第3张图片

二.轻量化网络四篇

1.MobileNets: Efficient Convolutional Neural Networks for Mobile Vision Applications MobileNet v1(2017)

  • 提出深度可分离卷积,即Depthwise Separable Convolution=depthwise convolutions+pointwise convolutions
  • depthwise convolutions是group convolution极限分组时的情况
    weak3 (数据增强、轻量化网络)论文阅读笔记_第4张图片

2.ShuffleNet: An Extremely Efficient Convolutional Neural Network for Mobile Devices ShuffleNet v1(2017)

  • 在Group Conv的基础上进行channel shuffle操作
    weak3 (数据增强、轻量化网络)论文阅读笔记_第5张图片
  • ShuffleNet v1的结构图
    weak3 (数据增强、轻量化网络)论文阅读笔记_第6张图片
    3.MobileNetV2: Inverted Residuals and Linear Bottlenecks Mark MobileNet V2(2018)
  • 倒残差结构
    DepthwiseConv layer层提取得到的特征受限于输入的通道数,若是采用以往的residual block,先“压缩”,再卷积提特征,那么DWConv layer可提取得特征就太少了,因此一开始不“压缩”,MobileNetV2反其道而行,一开始先“扩张”,本文实验“扩张”倍数为6。 通常residual block里面是 “压缩”→“卷积提特征”→“扩张”,MobileNetV2就变成了 “扩张”→“卷积提特征”→ “压缩”,因此称为Inverted residuals
    weak3 (数据增强、轻量化网络)论文阅读笔记_第7张图片
  • 当采用“扩张”→“卷积提特征”→ “压缩”时,在“压缩”之后会碰到一个问题,那就是Relu会破坏特征。为什么这里的Relu会破坏特征呢?这得从Relu的性质说起,Relu对于负的输入,输出全为零;而本来特征就已经被“压缩”,再经过Relu的话,又要“损失”一部分特征,因此这里不采用Relu,而是使用线性激活函数。

4.ShuffleNet V2: Practical Guidelines for Efficient CNN Architecture Design ShuffleNet V2(2018)

  • ShuffleNet V2提出了应用在实际嵌入式系统过程中定的几个规则
    (1)第一个实验是关于卷积层的输入输出特征通道数对MAC指标的影响。结论是卷积层的输入和输出特征通道数相等时MAC最小,此时模型速度最快。(对应channel split)
    (2)第二个实验是关于卷积的group操作对MAC的影响。结论是过多的group操作会增大MAC,从而使模型速度变慢。
    - 然后(c)中取消了11卷积层中的group操作,这和前面第2点发现对应,同时前面的channel split其实已经算是变相的group操作了。
    (3)第三个实验是关于模型设计的分支数量对模型速度的影响。结论是模型中的分支数量越少,模型速度越快。
    -其次,channel shuffle的操作移到了concat后面,和前面第3点发现对应,同时也是因为第一个1
    1卷积层没有group操作,所以在其后面跟channel shuffle也没有太大必要。
    (4)第四个实验是关于element-wise操作对模型速度的影响。结论是element-wise操作所带来的时间消耗远比在FLOPs上的体现的数值要多,因此要尽可能减少element-wise操作。
    最后是将element-wise add操作替换成concat,这个和前面第4点发现对应。
  • 结构图如下
    weak3 (数据增强、轻量化网络)论文阅读笔记_第8张图片

三.目标检测方向四篇

深度学习目标检测

  • 两阶段检测算法(R-CNN、SPP-Net、Fast R-CNN、Faster R-CNN)
    (1)生成可能包含物体的候选区域region proposal
    (2)对候选区域进行分类和校正
  • 单阶段检测算法(YOLO、SSD)
    (1)直接给出物体的最终位置
    (2)不需要显式的生成候选区域
  1. R-CNN
    论文:R-CNN:Region with CNN features
    weak3 (数据增强、轻量化网络)论文阅读笔记_第9张图片
  • 检测流程
    第一步:生成候选区域(Selective Search)
    第二步:CNN提取features
    (1)Resize相同尺度:227x227
    (2)送入AlexNet:5个卷积层,2个全连接
    (3)最后一层全连接输出:4096维
    第三步:对区域进行分类+边框校正(SVM)
  • 缺点
    (1)整个流程是分阶段进行的,运行较慢
    (2)region proposals的存取需要很大空间
    (3)需要每一类都训练各自的SVM分类模型

2.SPP-net
论文:SPP-net:Spatial Pyramid Pooling

  • 问题:
    (1)CNN模型会要求固定尺寸的输入
    (2)Crop/warp
    (3)R-CNN速度太慢
  • 使用SPP层替换polling层,只需计算一次图像特征
  • 对于R-CNN,整个过程是:
    首先通过选择性搜索,对待检测的图片进行搜索出~2000个候选窗口。
    把这2k个候选窗口的图片都缩放到227*227,然后分别输入CNN中,每个proposal提取出一个特征向量,也就是说利用CNN对每个proposal进行提取特征向量。
    把上面每个候选窗口的对应特征向量,利用SVM算法进行分类识别。

可以看出R-CNN的计算量是非常大的,因为2k个候选窗口都要输入到CNN中,分别进行特征提取。

  • 对于SPP-Net,整个过程是:
    首先通过选择性搜索,对待检测的图片进行搜索出2000个候选窗口。这一步和R-CNN一样。
    特征提取阶段。这一步就是和R-CNN最大的区别了,这一步骤的具体操作如下:把整张待检测的图片,输入CNN中,进行一次性特征提取,得到feature maps,然后在feature maps中找到各个候选框的区域,再对各个候选框采用金字塔空间池化,提取出固定长度的特征向量。而R-CNN输入的是每个候选框,然后在进入CNN,因为SPP-Net只需要一次对整张图片进行特征提取,速度会大大提升。最后一步也是和R-CNN一样,采用SVM算法进行特征向量分类识别。
    weak3 (数据增强、轻量化网络)论文阅读笔记_第10张图片
    weak3 (数据增强、轻量化网络)论文阅读笔记_第11张图片

3.Fast R-CNN

  • 问题
    (1)R-CNN、SPP-net流程复杂
    (2)测试速度慢
  • 解决方案
    (1)ROI Pooling
    (2)联合训练
  • 模型框架
    weak3 (数据增强、轻量化网络)论文阅读笔记_第12张图片
  • 算法流程
    (1)一张图像生成1k~2k个候选区域(SS)
    (2)图像输入网络得到相应的feature map,将SS算法生成的候选框投影到特征图上获得相应的特征矩阵。
    (3)通过ROI POOLING及全连接层
    weak3 (数据增强、轻量化网络)论文阅读笔记_第13张图片
    weak3 (数据增强、轻量化网络)论文阅读笔记_第14张图片

4.Faster R-CNN

  • 问题:
    (1)Region proposal的提取是现在速度的瓶颈
    (2)Selective Search需要2s
  • 解决方案
    (1)RPN网络
    (2)CNN的方式提取proposal
    (3)共享图像卷积特征
    weak3 (数据增强、轻量化网络)论文阅读笔记_第15张图片
  • RPN网络
    weak3 (数据增强、轻量化网络)论文阅读笔记_第16张图片

4步训练步骤:
(1)训练RPN网络,使用ImageNet初始化
(2)训练另一个检测网络Fast R-CNN,使用第一步RPN生成的proposal,同样使用ImageNet初始化
(3)使用检测网络去初始化RPN网络,固定共享的conv层,只finetune RPN特有的层
(4)固定共享的conv层,finetune Fast R-CNN的fc层

5.YOLO: You Look Only Once

  • 问题:之前的方法太慢,如R-CNN系列,没有真正做到实时

  • 解决方案:
    (1)Grid思想,在每个grid中预测边框
    (2)综合利用整图信息进行regression
    weak3 (数据增强、轻量化网络)论文阅读笔记_第17张图片
    (1)训练阶段
    标签GT框中心点落在哪个Grid cell中,就应由哪个Grid cell预测这个物体,每个Grid cell预测B个bbox,与GT框IOU最大的bbox负责预测这个物体。每个Grid cell只检测一个物体。
    (2)测试阶段
    直接获得SS(5*B+C)向量,进行NMS后处理,得到目标检测结果。

  • 网络结构
    weak3 (数据增强、轻量化网络)论文阅读笔记_第18张图片

你可能感兴趣的:(人工智能,深度学习)