- 图像分类与基础视觉模型
- 图像分类是什么
给定一张图片,识别图像中的物体是什么。数学表示如下:
- 机器学习处理图像分类任务
与传统特征工程手动设计图像特征相比,机器学习可通过卷积、多头注意力等方式来实现特征提取,并自自主学习如何产生适合分类的特征,再对多个简单特征变换复合构成一个复杂的端到端分类器。
- 残差学习网络
- 残差学习的基本思路
与浅层网络和深层网络相比,残差建模让新增加的层拟合浅层网络和深层网络之间的差异,使得更容易学习梯度,可以直接传回到浅层网络,监督浅层网络的学习
- ResNet的两种残差模块
使用Bottleneck block模块替换basic模块,进一步增加每级各种残差模块的个数,可以提高网络预测的准确性和泛化能力。
ResNet等同于多模型集成,残差的连接让损失曲面更平滑,更容易收敛到局部/全局最优解
- 更强的图像分类模型
神经搜索结构Neural Architecture Search
利用强化学习等方法搜索表现最佳的网络
Vision Transformers
使用Transformer替代卷积网络实现图像分类,使用更大的数据集训练,达到超越卷积网络的精度。
ConvNeXt
将Swin Transformer的模型元素迁移到卷积网络中,性能反超Transformer
- Vision Transformer
- 注意力机制引入
与卷积性比,注意力机制可以不局限于邻域,可以显示建模远距离关系,而且注意力机制中的权重可以作为输入,卷积中的权重是可学习参数,但与输入无关。
- 注意力机制的实现
- 一维数据上的attention
- 多头注意力 Multi-head(Self-)Attention
使用不同参数的注意力产生多组特征,沿通道维度拼接并得到最终特征,是Transformer Encoder的核心模块
- Vision Transformer
- 更进一步Swin Transformer
在Vision Transformer的基础上提出了分层结构,并且将特征图划分成了多个不相交的区域,第l+1层的窗口分别向右侧和下方各偏移了半个窗口的位置,以此让信息能够跨窗口传递。
- 数据增强
- 数据增强操作
训练泛化性好的模型,需要大量多样化的数据,而数据的采集标注是有成本的
图像可以通过简单的变换产生一系列"副本",扩充训练数据集
常用数据增强操作如下:
- 组合数据增强 AutoAugment&RandAugment
AutoAugment借助强化学习的思想,搜索增强数据的组合策略;RandAugment与前者相比,采用了更简单的搜索空间,随机选取N个数据增强操作组合,幅度为M
- 组合图像Mixup&CutMix
- 标签平滑 Label Smoothing
- 模型相关策略
- 丢弃层(剪枝)Droput
神经网络在训练时会出现共适应现象 (co-adaption),神经元之间产生高度关联,导致过拟合。
因此训练时随机丢弃一些连接,破坏神经元之间的关联,鼓励学习独立的特征,在推理时使用全部连接
常用于全连接层,通常不与 BN 混用
- 随机深度Stochastic Depth
在训练ResNet网络是,加入伯努利随机变量,对整个ResBlock卷积部分做了随机丢弃。
- 自监督学习举例
- 自监督学习常见类型
- 自监督学习模型举例