图像分类与基础视觉模型
什么是图像分类?
给它一张图,它能识别出是什么
视觉任务的难点:
图像的内容是像素整体呈现出的结果,和个别像素的值没有直接关联,难以遵循具体的规则设计算法
所以,我们超越规则,让机器从数据中学习
步骤:
1:收集数据(数据集)
2:定义模型:通常为含参变量的函数
3:训练:寻找最佳参数,使模型在训练集上达到最高正确率
4:预测:对于新图像 𝑋 ,用训练好的模型预测其类别
但机器学习也有它的局限性
机器学习算法善于处理低维、分布相对简单的数据。图像数据在几十万维的空间中以复杂的方式"缠绕"在一起常规的机器学习算法难以处理这种复杂数据分布。
例如:
解决方法:
1:特征工程: 传统的方法是图像通过人工设计的算法处理,变成特征向量,然后机器学习这些特征向量,最后对图像进行分类。
2:特征学习:手工设计特征更多局限在像素层面的计算,丢失信息过多
一:模型设计——卷积神经网络
8层
我的理解:一层一层地对应卷积,最后是全连接层
精度退化问题:模型层数增加到一定程度后,分类正确率不增反降
视觉领域影响力最大、使用最广泛的模型结构:ResNet
残差链接让损失曲面更平滑
二:模型学习
1:监督学习
流程:标数据集——定义损失函数——找到使总损失最小的参数
学习率策略:学习率退火 Annealing、学习率升温 Warmup
数据增强、组合数据增强、组合图像 Mixup & CutMix
2:自监督学习
(1)基于代理任务:自监督学习的一些思考 - 知乎
(2)基于对比学习:https://www.bilibili.com/video/BV19S4y1M7hm/
(3)基于掩码: https://www.bilibili.com/video/BV1sq4y1q77t/