当前位置:   article > 正文

深度学习预训练与MMPretrain_win10 mmpretrain

win10 mmpretrain


在这里插入图片描述
mmpretrain 包含大量简单易用的主干模型和算法,还有丰富的数据集支持,大量的配置文件和预训练权重,意在帮助用户快速入门

安装

基础安装

conda create -n open-mmlab python=3.8 pytorch==1.10.1 torchvision==0.11.2 cudatoolkit=11.3 -c pytorch -y
conda activate open-mmlab
pip install openmim
git clone https://github.com/open-mmlab/mmpretrain.git
cd mmpretrain
mim install -e .
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

添加多模态依赖,最后一步更改为

mim install -e ".[multimodal]"
  • 1

一、MMPretrain算法库介绍

1.1 算法库与任务组成

mmpretrain包含丰富主干网络,包括近期非常火热的主干网络(Vit,swintransformer)和经典的主干网络(vgg,resnet)等等
同时也支持多模态学习,例如clip

1.2 框架概念

在这里插入图片描述
算法库框架主要由mmcv和mmengine作为底层,mmpretrain作为上层
mmpretrain训练和推理都是用mmcv去采样,mmengine去执行
不只是mmpretrain,openmmlab的其他算法库都差不多是这样的结构
apis:顶层的python推理接口
datasets:数据集支持,数据变换的方法都在这里,需要添加自定义数据集或自定义数据变换的都是加到这个目录下
engine:训练时各种狗子和优化器的组件
evalution:各类评测相关函数
models:各种算法模型的定义
structures:DataSample 数据结构的定义
utils: mmpretrain相关的工具
visulization: 可视化工具

1.3 数据流

在这里插入图片描述
图像经过dataloader等一系列预处理后,转换成tensor输入到模型中,如果此时模型的模式是Loss的话,则将损失经过优化器梯度反向转播来更新模型的参数。如果是predict模式,则将模型输出的张量转回图片输出

二、经典主干网络

2.1 ResNet

在这里插入图片描述
浅层网络:网络不够深,表达能力欠佳
深层网络:由于链式计算,导致网络越深,梯度回传的效率越差,最终导致精度下降
残差网络:将浅层网络的输出加到深层网络的输出中,把原来的乘法求解变成了加法,降低参数计算量的同时,精度也有所提升
深层的resnet会用1x1的卷积层作为输出,来压缩通道,降低计算的开销

残差网络解决了深层网络精度下降的痛点,因而它撑起了计算机视觉的半边天

2.2 Vision Transformer

vision transformer最重要的是注意力机制:
卷积的权重与输入无关,它是通过梯度反向传播来学习的
而注意力机制的权重则是由输入而来,与输入有关

在这里插入图片描述

注意力机制的计算过程:由输入而来q k v三项,然后通过q去查询,k中哪一项最接近,然后就拿k可对应v值作为输出。qkv三项的权重作为可学习的参数,由反向传播的梯度来调整
对注意力机制还是不太懂的可以看这个视频

多头注意力机制:对同一个图像用多个注意力机制去获取不同的特征,最后把所有的网络输出拼接在一起,作为最终输出

三、自监督学习

3.1 SimcCLR

如果模型能很好地提取图片的内容,那么无论图片经过什么样的数据增强操作,提取出来的特征都应该极为相似
通过对比学习,拉近图像和正样本的距离,疏远和负样本的距离

3.2 MAE

只有模型能真正理解图片的内容,掌握图片的上下文信息,才能恢复出图片被mask随机遮挡的内容

3.3 iBOT

监督学习和掩码学习的结合体
通过不相同形式的数据增强获得U和V矩阵,上半部分输入可见图像块,下半部分输入完整图像,上半部分通过掩码学习恢复图像被遮挡的地方并提取出特征,然后再和下半部分的完整图像的特征做对比学习,提高模型对图像的理解

四、多模态算法

4.1 CLIP

在这里插入图片描述

双流网络,有两个encoder网络来处理数据,一个网络处理文本数据,一个网络来处理图像数据
获得文本和图像的特征,通过对比学习,拉近特征相近的正样本,推远负样本
推理过程:
将标签做promot获得多个文本,然后所有文本作为文本输入网络获取特征,然后把图像输入到网络获取其特征,然后通过把图像特征和文本特征最相近的文本作为输出,即为对图像的文本描述

4.2 BLIP

BLIP是在clip的基础上对三种loss(ITC 图像文本特征区分loss,ITM 图像文本匹配loss,LM 文字生成loss)进行结合,以此来构建新的视觉语言预训练框架,可完成以下下游任务:图文检索,图像描述生成,视觉问答等等
在这里插入图片描述

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号