首页 > 编程学习 > 通用视觉框架OpenMMLab图像分类与基础视觉模型

文章目录

    • 流程
    • 传统方法:设计图像特征(1990s~2000s)
      • 特征工程的天花板
      • 从特征工程到特征学习
      • 层次化特征的实现方式
    • AlexNet 的诞生& 深度学习时代的开始
      • 图像分类的数学表示
      • AlexNet (2012)
      • Going Deeper (2012~2014)
      • VGG (2014)
      • GoogLeNet (Inception v1, 2014)
        • 精度退化问题
        • 残差学习的基本思路
      • 残差网络ResNet (2015)
        • ResNet 中的两种残差模块
        • 残差链接让损失曲面更平滑
        • ResNet 的后续改进

流程

  1. 收集数据

  2. 定义模型

    通常为含参变量的函数: y=FΘ(X)y=F_{\Theta}(X)y=FΘ(X)

    例子: y=σ(ΘTX)y=\sigma\left(\Theta^{T} X\right)y=σ(ΘTX)

  3. 训练
    寻找最佳参数 Θ∗\Theta^{*}Θ ,使得模型 y=FΘ∗(X)y=F_{\Theta^{*}}(X)y=FΘ(X) 在训练集上达到最高正确率

  4. 预测
    对于新图像 X^\hat{X}X^ ,用训练好的模型预测其 类别,即 y^=FΘ∗(X^)\hat{y}=F_{\Theta^{*}}(\hat{X})y^=FΘ(X^)

传统方法:设计图像特征(1990s~2000s)

特征工程的天花板

在ImageNet 图像识别挑战赛里,2010 和2011 年的冠军队伍都使用了经典的视觉方法,基于手工设计的特征+ 机器学习算法实现图像分类,Top-5 错误率在25% 上下。

从特征工程到特征学习

层次化特征的实现方式

AlexNet 的诞生& 深度学习时代的开始

在2012 年的竞赛中,来自多伦多大学的团队首次使用深度学习方法,一举将错误率降低至15.3% ,而传统视觉算法的性能已经达到瓶颈,2015 年,卷积网络的性能超越人类。

图像分类的数学表示

  1. 模型设计:设计适合图像的𝐹Θ𝑋𝐹_Θ 𝑋FΘX
    • 卷积神经网络
    • 轻量化卷积神经网络
    • 神经结构搜索
    • Transformer

  2. 模型学习:求解一组好的参数Θ
    • 监督学习:基于标注数据学习
    • 损失函数
    • 随机梯度下降算法
    • 视觉模型常用训练技巧
    • 自监督学习:基于无标注的数据学习

AlexNet (2012)

第一个成功实现大规模图像的模型,在ImageNet 数据集上达到~85% 的top-5 准确率。

特点:

  • 5 个卷积层,3 个全连接层,共有60M 个可学习参数
  • 使用ReLU 激活函数,大幅提高收敛速度
  • 实现并开源了cuda-convnet ,在GPU 上训练大规模神经网络在工程上成为可能

Going Deeper (2012~2014)

VGG-19 19 层 ImageNet Top-5 准确率:92.7%

GoogLeNet 22 层 ImageNet Top-5 准确率:93.4%

VGG (2014)

将大尺寸的卷积拆解为多层3×3 的卷积,相同的感受野、更少的参数量、更多的层数和表达能力。

1 层5×5 的卷积与2 层3×3 的卷积有同样的感受野

  • 网络层数:11、13、16、19 层
  • 3×3 卷积配合1 像素的边界填充,维持空间分辨率
  • 每隔几层倍增通道数、减半分辨率,生成1/2、1/4 尺度的更高抽象层级的特征

GoogLeNet (Inception v1, 2014)

  • 使用Inception 模块堆叠形成, 22 个可学习层
  • 最后的分类仅使用单层全连接层,可节省大量参数
  • 仅7M 权重参数(AlexNet 60M、VGG 138M)

精度退化问题

模型层数增加到一定程度后,分类正确率不增反降

实验的反直觉

卷积退化为恒等映射时,深层网络与浅层网络相同。所以,深层网络应具备不差于浅层网络的分类精度。

猜想:虽然深层网络有潜力达到更高的精度,但常规的优化算法难以找到这个更优的模型。即,让新增加的卷积层拟合一个近似恒等映射,恰好可以让浅层网络变好一点

残差学习的基本思路

残差建模:让新增加的层拟合浅层网络与深层网络之间的差异,更容易学习。梯度可以直接回传到浅层网络监督浅层网络的学习。没有引入额外参入,让参数更有效贡献到最终的模型中

残差网络ResNet (2015)

ResNet-34 34层ImageNet Top-5 准确率:94.4%

5 级,每级包含若干残差模块,不同残差模块个数不同ResNet 结构

  • 每级输出分辨率减半,通道倍增
  • 全局平均池化压缩空间维度
  • 单层全连接层产生类别概率

使用bottleneck 模块替换basic 模块,进一步增加每级种残差模块的个数。

  • ResNet-50 3/4/6/3 94.8% / 76.6%
  • ResNet-101 3/4/23/3 95.4% / 78.0%
  • ResNet-152 3/8/36/3 95.5% / 78.5%

ResNet 中的两种残差模块

ResNet等同于多模型集成:残差网络有𝑂(2𝑛)𝑂(2^𝑛)O(2n) 个隐式的路径来连接输入和输出,每添加一个块会使路径数翻倍。

残差链接让损失曲面更平滑

Loss Surface 更加平滑,更容易收敛到局部/全局最优解

ResNet 的后续改进


本文链接:https://www.ngui.cc/article/show-861288.html
Copyright © 2010-2022 ngui.cc 版权所有 |关于我们| 联系方式| 豫B2-20100000