8_11《深度学习500问》网络进阶

第八章 目标检测

Two Stage 目标检测模型(效果好,但速度相对慢):

  • R-CNN:R-CNN系列的第一代算法,结合了传统的“计算机视觉”知识;将预训练模型(比如CNN)的隐藏层输出作为图像特征,特征输入支持向量机用于预测分类,图像特征+候选边界框输入线性回归模型用于预测真实边界框
  • Fast R-CNN:基于R-CNN和SPPnets进行的改进;1. 只对整幅图像进行一次特征提取,避免R-CNN中的冗余特征提取 2. 用RoI pooling(兴趣区域池化)层替换最后一层的max pooling层, 并引入目标候选框 3. 端到端训练,同时输出分类和回归结果 4. SVD 分解减少计算量
  • Faster R-CNN:提出RPN(region proposal network)网络替代之前复杂的目标候选框的搜索过程,在保证目标检测精度的同时,减少目标候选框的生成量
  • FPN:在Faster R-CNN网络上加上了额外的跨层连接,每一层的 feature map 都融合了不同分辨率、不同语义强度的特征;提高了针对小物体(small object)的检测性能
  • Mask R-CNN:Backbone 是 ResNeXt-101+FPN;提出了RoI Align层以取代Faster R-CNN的RoI pooling层,更好地保留特征图上的空间信息,从而更适于像素级预测
  • DetNet:针对检测专用的backbone做一些讨论和研究
  • CBNet:经典网络(ResNet,ResNeXt等)的多模型特征融合

One Stage 目标检测模型(速度快,但效果一般):

  • SSD:使用 VGG16 网络作为特征提取器(和 Faster R-CNN 一样),将后面的全连接层替换成卷积层,最后直接采用卷积进行目标检测(预测类别和边界框)
  • DSSD:将 Backbone 替换为 ResNet网络来增强特征提取能力;利用 Deconvolution结构来关联不同层级之间的图像语义,解决SSD算法检测小目标困难的问题
  • YOLO v1:One Stage 的开山之作,将目标检测任务直接当作回归问题
  • YOLO v2:在 YOLO v1 的基础上引入了联合训练算法(引入两种数据集分别进行分类和位置预测的学习)、批量归一化(BN)、高分辨率图像微调、预设尺寸组的锚框、多尺度图像训练等技巧,在精准度和运行效率方面均有显著提高
  • YOLO 9000:在YOLOv2的基础上的联合训练,可以检测超过9000个类别
  • YOLO v3:使用残差模型(DarkNet-53),进一步加深了网络结构;使用FPN架构从不同尺度提取图像特征;用逻辑回归替代softmax作为分类器
  • RetinaNet:提出 Focal Loss 解决类别不平衡问题,聚焦困难样本(hard examples)上的训练
  • RFBNet:通过多尺度的多分支卷积+空洞卷积,平衡轻量级模型的运行速度和精度
  • M2Det:提出多层次特征金字塔网络(MLFPN)来构建特征,适用于检测不同尺度的对象

目标检测的常用数据集:PASCAL VOC(20类别)、MS COCO(80类别)、Google Open Image(190W+600类别)、ImageNet(1400w+2w类别)、DOTA(遥感航空图像)

目标检测常用标注工具:LabelImg、labelme、Labelbox、RectLabel、CVAT、VIA

第九章 图像分割

  • FCN与CNN的区别在于把最后的全连接层换成卷积层(局部连接+参数共享),后接 softmax 层获得每个像素点的分类信息,从而解决了分割问题
  • DeepLab v1:结合了深度卷积神经网络(DCNNs)和概率图模型(DenseCRFs)
  • DeepLab v2:使用空洞卷积取代部分下采样,改善特征的分辨率;多个 MLP 结合多尺度特征来多识别物体的多尺度;采样全连接的 CRF 来增强模型捕捉细节的能力
  • DeepLab v3:采用多比例的带孔卷积级联或并行来捕获多尺度背景

其他:略(部分内容和上一章重合)

第十章 强化学习

  • 除了上述深度强化学习算法,还有深度迁移强化学习、分层深度强化学习、深度记忆强化学习以及多智能体强化学习等算法。

第十一章 迁移学习

本章绝大部分内容均来自《迁移学习简明手册》

迁移学习的核心是:找到源领域和目标领域之间的相似性,并加以合理利用

源域 (Source domain):已有知识的域;目标域 (Target domain):要进行学习的域

迁移学习的分类:

  1. 按特征空间分类
    • 同构迁移学习(Homogeneous TL): 源域和目标域的特征空间相同,$D_s=D_t$
    • 异构迁移学习(Heterogeneous TL):源域和目标域的特征空间不同,$D_s\ne D_t$
  2. 按迁移情景分类
    • 归纳式迁移学习(Inductive TL):源域和目标域的学习任务不同
    • 直推式迁移学习(Transductive TL):源域和目标域不同,学习任务相同
    • 无监督迁移学习(Unsupervised TL):源域和目标域均没有标签
  3. 按迁移方法分类
    • 基于实例的迁移 (Instance based TL):通过权重重用源域和目标域的样例进行迁移
    • 基于特征的迁移 (Feature based TL):将源域和目标域的特征变换到相同空间
    • 基于模型的迁移 (Parameter based TL):利用源域和目标域的参数共享模型
    • 基于关系的迁移 (Relation based TL):利用源域中的逻辑网络关系进行迁移

负迁移(Negative Transfer):在源域上学习到的知识,对目标域上的学习产生负面作用

迁移学习的基本方法:

  • 基于样本的迁移学习方法:根据一定的权重生成规则,对数据样本进行重用,来进行迁移学习(从动物识别到猫狗识别->增大猫狗的样本权重)
  • 基于特征的迁移方法:通过特征变换的方式互相迁移来减少源域和目标域之间的差距;或者将源域和目标域的数据特征变换到统一特征空间,然后通过机器学习方法进行分类识别
  • 基于模型的迁移方法:从源域和目标域中找到他们之间共享的参数信息,以实现迁移(假设条件: 源域中的数据与目标域中的数据可以共享一些模型的参数)
  • 基于关系的迁移学习方法:关注源域和目标域的样本之间的关系(上课 vs 开会)

SGF 流形迁移学习:

  • 把源域和目标域分别看成高维空间 (即Grassmann流形)中的两个点,在这两个点的测地线距离上取d个中间点,然后依次连接起来。这样源域和目标域就构成了一条测地线的路径
  • 核心思想:只需要找到合适的每一步的变换,就能从源域变换到目标域
  • 技巧1:通过核学习的方法利用路径上的无穷个点的积分,确定中间点的个数d
  • 技巧2:提出Rank of Domain度量,找出跟目标域最近的源域(多个源域的选择)

往年同期文章