通用视觉框架OpenMMLab 图像分类与基础视觉模型 | 学习笔记

128 阅读3分钟

通用视觉框架OpenMMLab 图像分类与基础视觉模型 | 学习笔记

内容摘要

引入

  • 什么是图像分类?

    • 任务目标

      • 给定一张图片,识别图像中的物体是什么
    • 问题的数学表示

      • 图像 = 像素数组 X -----y=F(X)------> y = 1(类别:香蕉)
    • 视觉任务的难点

      • 图像的内容是像素整体呈现出的结果,和个别像素的值没有直接关联,难以遵循具体的规则设计算法

      • 超越规则:让机器从数据中学习

        1. 收集数据
        2. 定义模型
        3. 训练
        4. 预测
  • 机器学习的局限

    • 传统方法

      • 设计图像特征 (1990s~2000s)

        • 特征工程的天花板
    • 从特征工程到特征学习

      • 层次化特征的实现方式
      • AlexNet 的诞生 & 深度学习时代的开始

卷积神经网络

  • AlexNet (2012)
  • Going Deeper (2012~2014)
  • VGG (2014)
  • GoogLeNet (Inception v1, 2014)
  • 精度退化问题
  • 实验的反直觉
  • 残差学习的基本思路
  • 残差网络 ResNet (2015)
  • ResNet 中的两种残差模块
  • ResNet 的成就和影响力
  • ResNet 是深浅模型的集成
  • 残差链接让损失曲面更平滑
  • ResNet 的后续改进

ResNet 的后续改进

  • 神经结构搜索 Neural Architecture Search (2016+)
  • Vision Transformers (2020+)
  • ConvNeXt (2022)
  • 图像分类 & 视觉基础模型的发展

轻量化卷积神经网络

  • 卷积的参数量
  • 卷积的计算量(乘加次数)
  • 降低模型参数量和计算量的方法
  • GoogLeNet 使用不同大小的卷积核
  • ResNet 使用1×1卷积压缩通道数
  • 可分离卷积
  • MobileNet V1/V2/V3 (2017~2019)
  • ResNeXt 中的分组卷积

ResNeXt 中的分组卷积

  • 注意力机制 Attention Mechanism
  • Why Attention
  • 实现 Attention
  • 多头注意力 Multi-head (Self-)Attention
  • 1D 数据上的 Attention
  • Vision Transformer (2020)
  • Swin Transformer (ICCV 2021 best paper)

模型学习

  • 模型学习的范式

监督学习

  • 监督学习流程
  • 交叉熵损失 Cross-Entropy Loss
  • 优化目标 & 随机梯度下降
  • 动量 Momentum SGD
  • 基于梯度下降训练神经网络的整体流程
  • 训练技巧的重要性

学习率与优化器策略

  • 权重初始化
  • 学习率对训练的影响
  • 学习率策略:学习率退火 Annealing
  • 学习率策略:学习率升温 Warmup
  • Linear Scaling Rule
  • 自适应梯度算法
  • 正则化与权重衰减 Weight Decay
  • 早停 Early Stopping
  • 模型权重平均 EMA
  • 模型权重平均 Stochastic Weight Averaging

数据增强

  • 数据增强 Data Augmentation
  • 组合数据增强 AutoAugment & RandAugment
  • 组合图像 Mixup & CutMix
  • 标签平滑 Label Smoothing

模型相关策略

  • 丢弃层 Dropout
  • 随机深度 Stochastic Depth

自监督学习

  • 自监督学习的常见类型

  • Relative Location (ICCV 2015)

  • SimCLR (ICML 2020)

  • Masked autoencoders (MAE, CVPR 2022)

  • 总结

    1. 模型设计
    2. 模型学习

MMClassification 介绍

  • 图像分类工具包 MMClassification
  • Python 推理 API
  • 推理工具(需源码安装)
  • 训练工具(需源码安装)
  • 使用 MIM 工具实现训练和测试
  • 环境搭建
  • OpenMMLab 项目中的重要概念——配置文件
  • 配置文件的运作方式
  • 图像分类模型的构成
  • 图像分类模型构建
  • 数据集构建
  • 定义数据加载流水线
  • 配置学习策略
  • 预训练模型库

课程链接:

www.bilibili.com/video/BV1js…