DAY 45 预训练模型

一、预训练的概念

预训练是指在目标任务训练前,先在大规模无标注或弱标注数据集上训练模型,使其学习通用特征表示的过程。

在训练中发现,准确率最开始随着epoch的增加而增加。随着循环的更新,参数在不断发生更新。

所以参数的初始值对训练结果有很大的影响:

  1. 如果最开始的初始值比较好,后续训练轮数就会少很多

  2. 很有可能陷入局部最优值,不同的初始值可能导致陷入不同的局部最优值

二、经典的预训练模型

1.CNN架构预训练模型

CNN预训练模型是在**大规模标注图像数据集(如ImageNet,含120万张图像、1000个类别)**上完成训练的CNN模型,其核心价值在于:

  • 预训练阶段:模型从海量图像中学习通用的视觉特征(从底层的边缘、纹理,到中层的形状、部件,再到高层的物体语义),无需你从零训练;
  • 迁移学习阶段:将预训练模型的权重作为初始化,针对你的下游任务(如猫狗分类、缺陷检测)用少量数据微调,大幅降低训练成本、提升效果。

|-------------------------|--------------------------|-------------------------------|----------------------|
| 模型名称 | 核心特点 | 预训练优势 | 适用场景 |
| VGG16/VGG19 | 简洁的重复卷积块(3×3 小卷积),结构规整 | 特征提取稳定,权重通用易迁移 | 通用图像特征提取(入门首选) |
| ResNet50/101/152 | 引入残差连接,解决深层网络梯度消失问题 | 可训练极深网络,高级语义特征表达能力强 | 绝大多数视觉任务(工业界主流) |
| Inception v3(GoogLeNet) | 多尺度卷积(1×1、3×3、5×5)+ 降维设计 | 高效利用计算资源,捕捉多尺度特征 | 资源受限的场景 |
| MobileNet v1/v2/v3 | 深度可分离卷积,轻量化设计 | 参数量仅为 ResNet 的 1/10,速度快 | 移动端 / 嵌入式设备(如手机 APP) |
| EfficientNet | 复合缩放(深度、宽度、分辨率) | 以更少参数达到更高精度(同参数量下精度远超 ResNet) | 追求精度 + 效率的场景 |

2.Transformer类预训练模型

Transformer 是 2017 年谷歌提出的基于自注意力机制 的模型架构,彻底改变了 NLP、多模态等领域的预训练范式。与 CNN 擅长捕捉局部视觉特征不同,Transformer 天生适合处理序列数据 (文本、时序信号)和全局依赖关系(如长文本中的语义关联),其预训练模型通过 "自监督学习 + 迁移学习",成为目前 AI 领域最核心的技术底座之一。

适用于较大尺图像(如224x224),在CIFAR10上需上采样图像尺寸或调整Patch大小。

|------------------|--------------|-------------------------|-------------------------------|
| 模型 | 预训练数据集 | 核心特点 | 在CIFAR10上的适配要点 |
| ViT-Base | ImageNet-21K | 纯Transformer架构,参数量8600万 | 图像Resize至224x224,Patch大小设为4x4 |
| Swin Transformer | ImageNet-22K | 分层窗口注意力,参数量8000万+ | 需调整窗口大小适配小图像 |
| DeiT | ImageNet | 结合CNN归纳偏置,参数量2200万 | 轻量级Transformer,适合中小尺寸图像 |

3.自监督预训练模型

无需人工标注,通过 pretext task(如掩码图像重建)学习特征,适合数据稀缺场景。

|---------|--------|--------------|------------------|
| 模型 | 预训练方式 | 典型数据集 | 在CIFAR10上的优势 |
| MoCo v3 | 对比学习 | ImageNet | 无需标签即可迁移,适合无标注数据 |
| BEiT | 掩码图像建模 | ImageNet-22K | 特征语义丰富,微调时收敛更快 |

三、常见的分类预训练模型介绍

1.预训练模型的发展史

CNN 架构发展脉络

(1)早期探索(1990s-2010s):LeNet 验证 CNN 可行性,但受限于计算和数据。

(2)深度学习复兴(2012-2015):AlexNet、VGGNet、GoogLeNet 通过加深网络和结构创新突破性能。

(3)超深网络时代(2015 年后):ResNet 解决退化问题,开启残差连接范式,后续模型围绕效率(MobileNet)、特征复用(DenseNet)、多分支结构(Inception)等方向优化。

2.预训练模型的训练策略

相较于之前用自己定义的模型有以下几个注意点

  1. 需要调用预训练模型和加载权重

  2. 需要resize 图片让其可以适配模型

  3. 需要修改最后的全连接层以适应数据集

其中,训练过程中,为了不破坏最开始的特征提取器的参数,最开始往往先冻结住特征提取器的参数,然后训练全连接层,大约在5-10个epoch后解冻训练。

主要做特征提取的部分叫做backbone骨干网络;负责融合提取的特征的部分叫做Featue Pyramid Network(FPN);负责输出的预测部分的叫做Head。

@浙大疏锦行

相关推荐
呆萌很2 小时前
python 项目迁移
python
清水白石0082 小时前
《requests vs httpx:Python 网络请求库的全面对比与实战指南》
网络·python·httpx
MediaTea2 小时前
大学 Python 编程基础(合集)
开发语言·python
Nautiluss2 小时前
一起玩XVF3800麦克风阵列(十)
linux·人工智能·python·音频·语音识别·实时音视频·dsp开发
BoBoZz192 小时前
MultiBlockDataSet 复合感知与非复合感知
python·vtk·图形渲染·图形处理
兔子小灰灰3 小时前
jetson安装pytorch
人工智能·pytorch·python
Swizard4 小时前
拒绝“裸奔”上线:FastAPI + Pytest 自动化测试实战指南
python
Ven%5 小时前
从单轮问答到连贯对话:RAG多轮对话技术详解
人工智能·python·深度学习·神经网络·算法
谈笑也风生5 小时前
经典算法题型之复数乘法(二)
开发语言·python·算法