OpenMMLab

图像分类与 MMClassification

图像分类

图像:像素构成的数组

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

解决:让机器从数据中学习

  • 收集数据
  • 定义模型:设计适合图像的F(X)
    • 卷积神经网络
    • 轻量化卷积神经网络
    • 神经结构搜索
    • Transformer
  • 训练:寻找最佳参数,使模型在训练集上达到最高正确率
    • 监督学习:基于标注数据学习
    • 自监督学习:基于无标注的数据学习
  • 预测

机器学习的局限:机器学习算法善于处理低维、分布相对简单的数据,常规的机器学习算法难以处理图像这种复杂的数据分布

特征工程与特征学习

特征工程:通过变换或合并问题的原始特征,使其帮助算法更简单地做出准确的预测

特征学习:学习如何产生适合分类的特征,多个简单特征变换复合构成一个复杂的端到端的分类器

卷积神经网络

AlexNet (2012)

  • 5个卷积层,3个全连接层,共60M个可学习参数
  • 使用ReLU激活函数,大幅提高收敛速度

AlexNet

VGG-19

VGG-19

VGG (2014)

  • 将大尺寸卷积拆解为多层3 x 3的卷积

  • 相同的感受野、更少的参数量、更多的层数和表达能力

GoogLeNet (Inception v1, 2014)

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

精度退化问题:模型层数增加到一定程度后,分类正确率不增反降

img

残差网络 ResNet

  • 残差建模:让新增加的层拟合浅层网络与深层网络之间的差异

ResNet

  • 残差连接:损失曲面更平滑,更容易收敛到全局/局部最优解

Vision Transformers

层次化特征

  • 后层特征是空间领域内的前层特征的加权求和
  • 权重越大,对应位置特征越重要

卷积

  • 前层特征 * 卷积核 = 后层特征
  • 权重是可学习的参数,与输入无关
  • 只能建模局部关系,远距离关系只能通过多层卷积实现

注意力机制

  • 前层特征 * 输入相关权重 = 后层特征
  • 权重是输入的函数
  • 可以不局限于邻域,显示建模远距离关系

多头注意力:使用不同参数的注意力头产生多组特征,沿通道维度拼接得到最终特征,Transformer Encoder 的核心模块

监督学习

机器学习详细笔记

简介

流程

  • 标注一个数据集
  • 定义损失函数L
  • 解决一个最优化问题,寻找使总损失最小的参数

交叉熵损失 Cross-Entropy Loss

  • 对于预测的类别概率 𝑃 ∈ [ 0 , 1 ] 𝐾 [0,1]^ 𝐾 [0,1]K 和类别真值 𝑦 ∈ {1, … ,𝐾} ,定义交叉熵损失为: L ( P , y ) = − l o g P y L(P,y) = -logP_y L(P,y)=logPy
  • 当预测准确时,损失为0,否则损失随目标类别概率减小而增大

针对神经网络,若损失函数为非凸函数,通常采用随机梯度下降算法求解

动量

  • 将上一步的移动延续到本步
  • 缓解随机梯度下降的波动
  • 帮助逃离局部极小值点和鞍点

学习率与优化器策略

学习率对训练的影响

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-JVOJvIzS-1675404055241)(https://microsoft.github.io/ai-edu/%E5%9F%BA%E7%A1%80%E6%95%99%E7%A8%8B/A2-%E7%A5%9E%E7%BB%8F%E7%BD%91%E7%BB%9C%E5%9F%BA%E6%9C%AC%E5%8E%9F%E7%90%86/%E7%AC%AC5%E6%AD%A5%20-%20%E9%9D%9E%E7%BA%BF%E6%80%A7%E5%88%86%E7%B1%BB/img/12/learning_rate.png)]

  • 从头训练可使用较大的学习率:如0.01~0.1
  • 微调通常使用较小的学习率,如0.001~0.01

学习率策略

  • 学习率退火:在训练初始阶段使用较大的学习率,损失函数稳定后下降学习率
  • 学习率升温:在训练前几轮学习率逐渐上升,直到预设的学习率,以稳定训练的初始阶段

经验:针对同一个训练任务,当 batch size 扩大为原来的 𝑘 倍时,学习率也应对应扩大 𝑘 倍

早停:当验证集的分类精度 达到最值时,停止训练,防止过拟合

数据增强

图像可以通过简单的变换产生一系列"副本",扩 充训练数据集

组合图像

  • Mixup:逐像素混合图像
  • CutMix:遮盖原图并用另一幅图填充

标签平滑

  • 动机:类别标注可能错误或不准确,让模型最大限度拟合标注类别可能会有碍于泛化性
  • 做法:引入平滑参数,降低标签的“自信程度”

模型相关策略

丢弃层 Dropout

  • 神经网络在训练时会出现共适应现象 (co-adaption),神经元之间产生高度关联,导致过拟合
  • 训练时随机丢弃一些连接,破坏神经元之间的关联,鼓励学习独立的特征,推理时使用全部连接

随机深度 Stochastic Depth

MMClassification 介绍

MMClassification文档

GitHub地址

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值