摘要
本节课主讲王若晖,主要讲了视觉任务中骨干网络结构、训练方式,并简单介绍了MMClassification。
视觉骨干网络
卷积类
AlexNet(2012)
第一个成功实现大规模图像的模型,在 ImageNet 数据集上达到 ~85% 的 top-5 准确率
5 个卷积层,3 个全连接层,共有 60M 个可学习参数
使用 ReLU 激活函数,大幅提高收敛速度
实现并开源了 cuda-convnet ,在 GPU 上训练大规模神经网络在工程上成为可能
VGG(2013)
将大尺寸的卷积拆解为多层 3×3 的卷积 3×3 卷积配合 1 像素的边界填充,维持空间分辨率 每隔几层倍增通道数、减半分辨率,生成 1/2、1/4 尺度的更高抽象层级的特征 网络层数:11、13、16、19 层 VGG-19 ImageNet Top-5 准确率:92.7%
GoogLeNet (Inception v1, 2014)
使用 Inception 模块堆叠形成, 22 个可学习层 最后的分类仅使用单层全连接层,可节省大量参数 仅 7M 权重参数(AlexNet 60M、VGG 138M) ImageNet Top-5 准确率:93.4%
![](https://i-blog.csdnimg.cn/blog_migrate/930f38cb53ef715b1596b751369ca4ac.png)
ResNet(2015)
以 VGG 为基础 保持多级结构、增加层数 使用残差模块 全局平均池化压缩空间维度 单层全连接层产生类别概率
ResNet-34 34层 ImageNet Top-5 准确率:94.4%
![](https://i-blog.csdnimg.cn/blog_migrate/cc7a4fbbce7d318f7dbed4e54ae3feae.png)
其他基于ResNet的模型
![](https://i-blog.csdnimg.cn/blog_migrate/d1d0b1b70cdbc829d87e1e0e75a6c4a1.png)
NAS类
神经结构搜索 Neural Architecture Search (2016+)
基本思路:借助强化学习等方法搜索表现最佳的网络 代表工作:NASNet (2017)、MnasNet (2018)、EfficientNet (2019) 、RegNet (2020) 等
Transformer类
Vit
将图像切分成若干 16×16 的小块,当作一列"词向量",经多层 Transformer Encoder 变换产生特征 图块之外加入额外的 token,用于 query 其他 patch 的特征并给出最后分类 注意力模块基于全局感受野,复杂度为尺寸的 4 次方
SwinTransformer
Swin Transformer 提出了分层结构 (金字塔结构)Hierarchical Transformer Swin Transformer 将特征图划分成了多个不相交的区域 (Window),将 Multi-Head Self-Attention 计算 限制在窗口内 Swin Transformer 又提出了 Shifted Windows Multi-Head Self-Attention (SW-MSA) 的概念,即第 𝑙 + 1 层的窗 口分别向右侧和下方各偏移了半个窗口的位置
模型训练
训练范式
![](https://i-blog.csdnimg.cn/blog_migrate/0f9a09317ad4919b57ef44922833af56.png)
![](https://i-blog.csdnimg.cn/blog_migrate/1bbd43048c06657e9a39d25319a9e111.png)
损失函数于随机梯度下降
损失函数值越大说明模型越偏离目标模型,随机采样部分数据,计算损失,反向求损失关于参数的偏导,偏导向量是损失增加最快的反向,所以新的参数为原参数减去偏导乘以学习率,学习率是更新的“步长”。当然进一步加工学习率和偏导,就是使用优化策列。这样随机采样的方式是随机梯度下降。
![](https://i-blog.csdnimg.cn/blog_migrate/3d76109d3514e07a0e27c638a2b2489a.png)
一般而言batch size只会影响训练收敛速度,而不会影响训练结果。