OpenMMLab AI实战营笔记前两次课

news2024/11/15 15:24:56

文章目录

  • 1计算机视觉算法基础与 OpenMMLab
    • CV引入
    • OpenMMLab
    • 基础知识:
  • 2 计算机视觉之图像分类算法基础
    • 传统方法--设计图像特征
    • AlexNet VGG 等
      • 神经网络搜索(2016+)
      • Vision/Swin Transformer
      • 轻量化卷积神经网络
      • 注意力机制 Attention Mechanism
    • 模型学习
      • 范式一:监督学习
        • 学习率策略:
        • 数据增强
      • 范式二:自监督学习

1计算机视觉算法基础与 OpenMMLab

CV引入

首先介绍了分类,检测,分割(实例分割语义分割),关键点检测常见CV问题及其区别。CS231N里有讲~
专用目标检测vs通用目标检测:你家的猫和猫

视觉特征:
在这里插入图片描述

OpenMMLab

openMMLab算法库
在这里插入图片描述

基础知识:

在这里插入图片描述

如何理解Batch:
batch就是一批,你作为向量的一组
Batch大小是一个超参数,用于定义在更新内部模型参数之前要处理的样本数。将批处理视为循环迭代一个或多个样本并进行预测。在批处理结束时,将预测与预期输出变量进行比较,并计算误差。从该错误中,更新算法用于改进模型,例如沿误差梯度向下移动。训练数据集可以分为一个或多个Batch。当所有训练样本用于创建一个Batch时,学习算法称为批量梯度下降。当批量是一个样本的大小时,学习算法称为随机梯度下降。当批量大小超过一个样本且小于训练数据集的大小时,学习算法称为小批量梯度下降。
深度学习中的batch怎么理解呢?

CNN:
在这里插入图片描述
卷积核的通道数和输入图像的通道数相同
输出特征图的通道数和卷积核的个数相同

在这里插入图片描述

2 计算机视觉之图像分类算法基础

课程内容
在这里插入图片描述

传统方法–设计图像特征

机器学习擅长处理低维,分布相对简单的数据,图像数据维度较高且分布复杂。
特征工程:方向梯度直方图提取特征为例:
在这里插入图片描述
特征学习: 学习如何产生适合分类的特征

  • CNN 实现一步提取特征
  • 多头注意力 实现一步提取特征,如Transformer

AlexNet VGG 等

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

ResNet:
残差链接
基于此的改进:在通道维度引入注意力机制,残差模块的局部改进,使用分组卷积降低参数量

神经网络搜索(2016+)

基本思路:借助强化学习等方法搜索表现最佳的网络
代表工作:NASNet等

Vision/Swin Transformer

即VIT
性能超CNN

ConvNeXt (2022): 将 Swin Transformer 的模型元素迁移到卷积网络中,性能反超 Transformer

在这里插入图片描述

轻量化卷积神经网络

轻量化->过拟合的风险小了->泛化能力强->迁移学习能力强

卷积层的可学习参数包括:卷积核 + 偏置值
卷积的计算量:
在这里插入图片描述
so,可考虑的方向:
• 降低通道数 𝐶′ 和 𝐶(平方级别)
• 减小卷积核的尺寸 𝐾(平方级别)

GoogLeNet 使用不同大小的卷积核:并不是所有特征都需要同样大的感受野,在同一层中混合使用不同尺寸的特征可以减少参数量
ResNet 使用1×1卷积压缩通道数:
在这里插入图片描述

可分离卷积depthwise separate convolution:
在这里插入图片描述
MobileNet V1 使用可分离卷积,只有 4.2M 参数
MobileNet V2/V3 在 V1 的基础上加入了残差模块和 SE 模块
(pointwise是跨通道)
ResNeXt 中的分组卷积
ResNeXt 将 ResNet 的 bottleneck block 中 3×3 的卷积改为分组卷积,降低模型计算量
可分离卷积为分组卷积的特殊情形,组数=通道数
在这里插入图片描述

注意力机制 Attention Mechanism

实现层次化特征:(和卷积一样,没有变)

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

区别:
在这里插入图片描述
实现 Attention:
在这里插入图片描述
多头注意力 Multi-head (Self-)Attention
使用不同参数的注意力头 产生多组特征,沿通道维度 拼接得到最终特征,Transformer Encoder 的核心模块
在这里插入图片描述
Swin Transformer将分类,检测等很多任务的ACC往上推了一个级别

模型学习

目标:确定模型 𝐹 Θ 𝐹_Θ FΘ 的具体形式后,找寻最优参数 Θ ∗ Θ∗ Θ ,使得模型 𝐹 Θ ∗ ( 𝑋 ) 𝐹_{Θ∗} (𝑋) FΘ(X) 给出准确的分类结果 𝑃 ( 𝑦 ∣ 𝑋 ) 𝑃( 𝑦 |𝑋) P(yX)

范式一:监督学习

互联网数据是海量的 ,但数据的标注是昂贵的
针对神经网络,𝐿 为 Θ 的非凸函数,通常采用随机梯度下降算
pytorch定义linear等层,默认进行了参数初始化

学习率策略:

从头训练可使用较大的学习率,例如 0.01~0.1
微调通常使用较小学习率,例如 0.001~0.01
学习率退火 Annealing
在训练初始阶段使用较大的学习率,损失函数稳定后下降学习率
学习率升温 Warmup
在训练前几轮学习率逐渐上升,直到预设的学习率,以稳定训练的初始阶段
Linear Scaling Rule
经验性结论:针对同一个训练任务,当 batch size 扩大为原来的 𝑘 倍时,学习率也应对应扩大 𝑘 倍
直观理解:这样做可以保证平均每个样本带来的梯度下降步长相同
在这里插入图片描述

实践中,假设预训练模型使用 lr=0.1,8卡数据并行训练,如果希望用1卡复现实验,lr 应设置为 0.0125(batch size降为了1/8)
batch size越大收敛越快

自适应梯度算法: 不同的参数需要不同的学习率,根据梯度的历史幅度自动调整学习率
正则化与权重衰减 Weight Decay:
衰减的原因是正则化
在这里插入图片描述
丢弃层 Dropout
训练时随机丢弃一些连接,破坏神经元之间的关联,鼓励学习独立的特征
推理时使用全部连接
常用于全连接层,通常不与 BN 混用

数据增强

组合增强方法:数据增强操作可以组合,生成变化更复杂的图像
在这里插入图片描述
组合图像 Mixup & CutMix
在这里插入图片描述

标签平滑 Label Smoothing:
动机:类别标注可能错误或不准确,让模型最大限度拟合标注类别可能会有碍于泛化性
做法:引入平滑参数 𝜀,降低标签的"自信程度
在这里插入图片描述

范式二:自监督学习

在这里插入图片描述
基于代理任务: 比如用预测颜色的任务产生标签(能预测就学习到了图像的一定特征),然后拿这些特征做分类
如Relative Location (ICCV 2015)
在这里插入图片描述
基于对比学习: SimCLR (ICML 2020)

基于掩码学习
Masked autoencoders (MAE, CVPR 2022)
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/197270.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

文档存储Elasticsearch系列--3分布式存储和搜索过程

前言:ES 作为分布式文档的存储,它的存储过程是怎样的,它的分布式检索过程又是怎样的; 1 分布式存储过程: 为了说明目的, 我们 假设有一个集群由三个节点组成。 它包含一个叫 blogs 的索引,有两个主分片&a…

linux查看/设置某个进程运行的CPU核

目录 1.ps -eF 2.top命令 3.pidstat命令 4.使用taskset指令 5.使用taskset指定进程运行在CPU核 1.ps -eF #查看fwd进程运行在哪个cpu核上 [rootCENTOS57 rpm]# ps -eF | grep fwd 2.top命令 (1)top (2)按f键可以选择下面配置选项 P Last Used Cpu (SMP) (3)Es…

【深度学习】YOLO系列(v1-v3+tinyv3)解析

YOLOv1 正负样本选取 如果目标的中心落在cell中,那么这个cell就负责预测这个类别。 由于每个cell预测两个bbox,那么选择与GT IOU大的bbox来预测这个目标,也就是这一个框的 1 i j o b j = 1 , 1 i j n o b j

通过Python的pptx库操作ppt-替换文本和图片-批量生成任意自定义图片

通过Python的pptx库操作ppt-替换文本和图片-批量生成任意自定义图片 作者:虚坏叔叔 博客:https://xuhss.com 早餐店不会开到晚上,想吃的人早就来了!😄 一、前言 这是一个全部的脚本,我们知道,…

阿里巴巴最全Java、架构师、大数据、算法PPT技术栈图册

我只截图不说话,PPT大全,氛围研发篇、算法篇、大数据、Java后端架构!除了大家熟悉的交易、支付场景外,支撑起阿里双十一交易1682亿元的“超级工程”其实包括以下但不限于客服、搜索、推荐、广告、库存、物流、云计算等。 Java核心…

第二章 Linux系统安装

第一节 安装计划 基本思路是使用VMWare这样的虚拟机软件创建一个“虚拟计算机”,在虚拟机上安装Linux系统。 安装vm软件通过vm软件来创建一个虚拟机空间通过vm软件来在创建好的虚拟空间上,安装我们的Centos操作系统使用Centos 第二节 vmware下载安装 和…

python-实现保留3位有效数字(四舍六入五成双规则)

项目场景: 实现保留3位有效数字(四舍六入五成双规则) 问题描述 输入:输出: 1234 123412 12.04 4.000.2 0.2000.32 0.3201.3 1.301.235 1.241.245 1.241.2451 1.25示例分析: 解决代码: from de…

jvm启动流程以及自定义加载器

类加载运行过程,当我们用java命令运行某个类的main函数启动程序时,首先需要通过类加载器把主类加载到JVM。public class Math {public static final int initData 666;public static final User user new User();public int compute() {// 一个方法对应…

【C++】对象与类

【C】对象与类 文章目录【C】对象与类1、定义1.1 对象的定义1.2 类的定义2、对象与类的创建2.1 类的创建2.2 对象的创建3、封装3.1 访问限定符3.2 对封装的解释4、类的实例化5、类、对象大小6、this指针6.1 this指针概念6.2 this指针特点1、定义 1.1 对象的定义 现实世界对对…

写哪个IB科目的EE最易得A?

综合了IB论坛上学生的建议,根据IB毕业生们的看法: E同学:选择你感兴趣的科目写EE。 R同学:我推荐写IB英语EE,在我看来,英语很容易找到你感兴趣的内容,因为英语 EE 适用于诸多的不同主题。我觉得…

录制PPT课件哪个录屏软件好?这3款值得收藏

使用PPT课件进行教学,不仅可以让抽象的知识具体化,还可以让课堂变得更加生动有趣。在制作视频课程时,需要对PPT课件进行录制,那你知道录制PPT课件哪个录屏软件好吗?今天小编就给大家介绍3款值得收藏的录屏软件&#xf…

为什么GIF文件是图像文件而不是视频文件?(GIF文件格式详解)

今天整理硬盘的时候想到一个问题:GIF 是放在静态图像文件里还是视频文件里? 因为放视频里吧,GIF 的分类是静态图像,而且由图像组成;放图像里吧,它又会动。 然后我就开始想:GIF 会动但为什么被归…

分享113个图片切换JS特效,总有一款适合您

分享113个图片切换JS特效,总有一款适合您 113个图片切换JS特效下载链接:https://pan.baidu.com/s/1NNSP-DMf3n0PeNbdNd8jEg?pwdsfwr 提取码:sfwr Python采集代码下载链接:https://wwgn.lanzoul.com/iKGwb0kye3wj jQuery中间…

Java基础学习笔记(十九)—— 多线程

多线程1 多线程相关概念2 多线程的实现方式2.1 继承Thread类2.2 实现Runnable接口2.3 实现Callable接口3 线程休眠4 线程优先级5 守护线程6 线程同步6.1 案例引入6.2 同步代码块6.3 同步方法6.4 Lock锁6.5 死锁1 多线程相关概念 并行与并发: 并行:在同…

未授权和敏感文件泄露

目前存在未授权访问漏洞的服务主要 包括:NFS、Samba、LDAP、Rsync、FTP、GitLab、Jenkins、 MongoDB、Redis、ZooKeeper、ElasticSearch、Memcache、CouchDB、 Docker、Solr、Hadoop等。 redis未授权 通过手工进行未授权访问验证,在安装Redis服务的Kal…

MATLAB 线性整数规划

✅作者简介:人工智能专业本科在读,喜欢计算机与编程,写博客记录自己的学习历程。 🍎个人主页:小嗷犬的个人主页 🍊个人网站:小嗷犬的技术小站 🥭个人信条:为天地立心&…

oracle官网下载指定版本的jdk

文章目录前言下载JDK环境变量前言 oracle官网下载jdk,如果是想下载指定版本的,总是提示需要你登录。如何解决呢? 下载JDK oracle官网 https://www.oracle.com 或者直达此页 https://www.oracle.com/java/technologies/downloads/archive…

springboot相关

2023.2.3 springboot的示例sagan涉及到很多软件技术,运行这个示例在Windows 7下遇到问题。将Windows 7重装为Windows 10专业版。下载了node-v18.14.0-x64.msi,安装node时可以选择安装相关的软件,例如python 3.11.0。下载python 3.11.0太慢了…

07、微服务组件Seata

1、事务简介 事务(Transaction)是访问并可能更新数据库中各种数据项的一个程序执行单元(unit)。在关系数据库中,一个事务由一组SQL语句组成。事务应该具有4个属性:原子性、一致性、隔离性、持久性。这四个属性通常称为ACID特性。 原子性(ato…

正则表达式记录

正则用途:分割 查找 匹配 替换 1 * ?的区别 *代表匹配任意次, 包括0,1,多次代表匹配最少一次, 1或者多次?代表匹配最多1次,0,1次 2 单次边界(\b和\B) 2.1 定义 首先说一下零宽: 只匹配位置, 不匹配字符, 然后我们再来谈单词边界: 何谓单词? 在JS中, 单词的定义就是\w也…