赞
踩
任务目标:给出图像识别出图像内物体
在图像分类任务中,往往将图像理解为由像素所构成的数组
X
∈
R
H
×
W
×
3
X \in \mathbb{R}^{H \times W \times 3}
X∈RH×W×3,同时对所检测物体进行编号
y
∈
{
1
,
.
.
.
,
K
}
y \in \{1,...,K\}
y∈{1,...,K},最终构建出一个抽象函数
F
:
R
H
×
W
×
3
→
y
F:\mathbb{R}^{H \times W \times 3} \rightarrow y
F:RH×W×3→y,从而完成对图像中物体的分类。
但由于图像内容往往与单个像素无关,而与其表现出的特征有关,因此对于图像分类任务,无法设置具体的规制使得算法对图像完成分类,而是需要构建出模型,获取到具体的图像特征,根据该特征完成对物体的分类。
传统机器学习任务在处理图像分类任务时,由于图像数据往往在高维空间中以复杂方式进行缠腰(如下图),仅靠常规的机器学习算法很难处理这种复杂分布的数据,因此需要手动设计特征。
在特征工程中,人们通过手动设计特征(如HOG),提取出高维图像内的特征并将其转化为低维特征向量,在保留大部分物体信息的前提下,极大降低数据维度,最后根据机器学习算法对低维数据进行处理完成分类。例如2010年ILSVRC冠军方案NEC-UIUC,通过手工设计特征+机器学习方法将Top-5错误率降低到了28%左右。但此后受限于信息丢失,在视觉任务中基本达到了性能瓶颈。
不同于传统机器学习方案,深度学习标志着图像任务从特征工程时代开始步入特征学习时代。通过卷积(CNN)、多头注意力(Transformer)等可学习的特征提取模块进行复合,构建出一个端到端的复杂分类器,轻松实现图像特征提取,大幅度提高了检测精度。
自AlexNet在ILSVRC横空出世后,图像任务正式步入深度学习时代,大量优秀的神经网络结构开始涌现,下面主要对几种经典内容进行介绍分析:
AlexNet
作为第一个吃螃蟹的,AlexNet所做的工作不仅仅只有将深度学习方法带入视觉领域,研究团队使用ReLU函数取代了常用的Sigmoid函数,大幅度提高了收敛速度。
同时团队通过实现并开源cuda-convnet,首次将大规模神经网络在GPU上进行训练,在当时那个以CPU训练为主流的环境中,显著提升了训练速度,为后续研究也奠定了良好的基础
VGG
对于VGG来说,其特点更多在于将此前的
5
×
5
5 \times5
5×5大尺寸卷积核拆解为了两个
3
×
3
3\times3
3×3卷积,这种做法在保证了相同感受野的同时,具备更少的参数量和更多的层数和表达能力。
以一个尺寸大小为
x
x
x的图像为例,假设padding为1:
可以发现二者所得输出图尺寸相同,即二者**感受野相同,**在感受野相同的情况下,计算二者参数量:
发现前者参数量是后者的1.39倍,但大卷积核也并非无用,由于有效感受野的大小是正比于卷积核大小,因此大卷积核可以增加有效感受野,这一点是小卷积核无法替代的,ConvNeXt中 7 × 7 7\times7 7×7大尺寸卷积核的使用就是个明显的例子。
ResNet
由于CNN中网络深度越深,其特征层次越丰富,因此网络模型纷纷开始追求更深的深度,但随着模型的加深,精度退化问题开始凸显,由于ReLU在反向传播时带来的不可逆信息损失,更深的层次往往精度不增反降。
为了缓解精度退化问题,ResNet在设计时引入Skip Connections来实现**恒等映射,**通过跳接在激活函数前,将上一层的输出与本层输出相加,将求和的结果输入激活函数作为本层的输出,即
H
(
x
)
=
F
(
x
,
W
i
)
+
x
H(x)=F(x,W_i)+x
H(x)=F(x,Wi)+x,其中
F
(
x
,
W
i
)
F(x,W_i)
F(x,Wi)就是需要学习的残差。
ResNet 效果好的原因:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。