赞
踩
对于一个分类任务,我们预测情况大致如下面混淆矩阵所示:
预测为正样本 | 预测为负样本 | |
---|---|---|
标签为正样本 | TP | FN |
标签为负样本 | FP | TN |
Accuracy
A c c u r a c y = T P + T N T P + T N + F P + F N Accuracy = \frac{TP+TN}{TP+TN+FP+FN} Accuracy=TP+TN+FP+FNTP+TN
Accuracy指的是正确预测的样本数占总预测样本数的比值,它不考虑预测的样本是正例还是负例,考虑的是全部样本。
Precision(精确率/查准率)
P r e c i s i o n = T P T P + F P Precision = \frac {TP} {TP+FP} Precision=TP+FPTP
Precision指的是正确预测的正样本数占所有预测为正样本的数量的比值,也就是说所有预测为正样本的样本中有多少是真正的正样本。precision只关注预测为正样本的部分
Recall(召回率/查全率)
R e c a l l = T P T P + F N Recall= \frac {TP} {TP+FN} Recall=TP+FNTP
它指的是正确预测的正样本数占真实正样本总数的比值,也就是我能从这些样本中能够正确找出多少个正样本。
⭐ 精度就是找得对,召回率就是找得全。
F1-Score
F
1
S
c
o
r
e
=
2
1
/
p
r
e
c
i
s
i
o
n
+
1
/
r
e
c
a
l
l
F1_{Score}=\frac{2}{1/precision+1/recall}
F1Score=1/precision+1/recall2
F-score
相当于precision和recall的调和平均,用意是要参考两个指标。从公式我们可以看出,recall和precision任何一个数值减小,F1-score都会减小,反之,亦然。
P-R曲线
⭐ P-R曲线下方的面积就是平均精度AP
在卷积神经网络中,卷积操作是指将一个可移动的小窗口(称为数据窗口)与图像进行逐元素相乘然后相加的操作。这个小窗口其实是一组固定的权重,它可以被看作是一个特定的滤波器(filter)或卷积核。
特征图尺寸计算
w
o
u
t
=
w
i
n
+
2
∗
p
a
d
d
i
n
g
−
k
s
t
r
i
d
e
+
1
w_{out}=\frac{w_{in}+2*padding-k}{stride}+1
wout=stridewin+2∗padding−k+1
其中,
p
a
d
d
i
n
g
padding
padding为特征图填充圈数,主要目的是确保卷积核能够覆盖输入图像的边缘区域,同时保持输出特征图的大小,
k
k
k为卷积核大小,
s
t
r
i
d
e
stride
stride为步长。
例如:输入图片大小为 200 × 200 200×200 200×200,依次经过一层卷积(kernel size 5 × 5 5×5 5×5,padding 1 1 1,stride 2 2 2),pooling(kernel size 3 × 3 3×3 3×3,padding 0 0 0,stride 1 1 1),又一层卷积(kernel size 3 × 3 3×3 3×3,padding 1 1 1,stride 1 1 1)之后,输出特征图大小为多少?
解答:经过第一次卷积后的大小为: 本题 ( 200 − 5 + 2 ∗ 1 ) / 2 + 1 为 99.5 (200-5+2*1)/2+1 为99.5 (200−5+2∗1)/2+1为99.5,取99。经过第一次池化后的大小为: ( 99 − 3 ) / 1 + 1 为 97 (99-3)/1+1 为97 (99−3)/1+1为97,经过第二次卷积后的大小为: ( 97 − 3 + 2 ∗ 1 ) / 1 + 1 为 97 (97-3+2*1)/1+1 为97 (97−3+2∗1)/1+1为97
反卷积
反卷积又叫做转置卷积,在计算机中计算的时候,转置卷积先将卷积核转为稀疏矩阵C的形式,然后计算的时候正向传播的时候左乘这个稀疏矩阵C的转置,反向传播的时候左乘这个稀疏矩阵C。
反卷积的运算过程与卷积正好相反,是正向传播时左乘C的转置,反向传播时左乘C
1x1卷积作用
深度可分离卷积DSConv
⭐ 空洞卷积
空洞卷积(Dilated Convolution),也称为膨胀卷积或者孔卷积,通过在卷积核中引入间隔(dilation rate),使卷积核在输入特征图上跳跃式地执行卷积操作,从而扩大了感受野,而不增加参数量。
在物体检测中,它可以用于提取不同尺度的特征以便于检测不同大小的物体。
K
e
=
K
+
(
K
−
1
)
∗
(
d
−
1
)
K_e = K + (K-1)*(d-1)
Ke=K+(K−1)∗(d−1)
其中,
K
K
K为空洞卷积的卷积核,
d
d
d为空洞数。
优点:
卷积层的参数量
卷积层的计算量
若有一张通道为 3 3 3,大小为 7 ∗ 7 7*7 7∗7 的图片,卷积核大小为: 5 ∗ 5 5*5 5∗5, s t r i d e stride stride为 1 1 1, p a d d i n g padding padding为 0 0 0,输出通道数为 64 64 64,其输出feature map的大小为 3 ∗ 3 ∗ 64 3*3*64 3∗3∗64,feature map中的每一个像素点,都是 64 64 64 个 5 ∗ 5 ∗ 3 5*5*3 5∗5∗3 的 f i l t e r filter filter共同作用于 7 ∗ 7 ∗ 3 7*7*3 7∗7∗3的图片计算一次得到的。
对于feature map上某一通道的某一点:
它的卷积矩阵操作计算量为
[
(
5
∗
5
∗
3
)
+
(
5
∗
5
−
1
)
∗
3
+
(
3
−
1
)
]
=
149
[(5*5*3)+(5*5-1)*3+(3-1)]=149
[(5∗5∗3)+(5∗5−1)∗3+(3−1)]=149,其中
(
5
∗
5
∗
3
)
(5*5*3)
(5∗5∗3) 代表矩阵乘法次数,
(
5
∗
5
−
1
)
∗
3
(5*5-1)*3
(5∗5−1)∗3代表矩阵加法次数,
(
3
−
1
)
(3-1)
(3−1) 代表通道融合操作,偏置项操作计算量等于输出通道数
64
64
64,所以feature map中某一通道的一个像素点的计算量为:
149
+
64
+
213
149+64+213
149+64+213。
所以feature map中某一通道的一个像素点的计算量为:
计算量 = 单个通道中单个像素点的计算量 * f e a t u r e feature feature m a p map map的大小*输出通道数
即 3 ∗ 3 ∗ 64 ∗ 213 = 122688 3*3*64*213=122688 3∗3∗64∗213=122688,这仅仅是单张图片的计算量,若是多张图片,则需要乘以batch size。
BN层原理
加速训练并减轻梯度消失问题
。⭐ 为什么说BN层可以缓减梯度消失问题
训练和测试阶段BN操作的区别
BN 层通常处于网络中的什么位置
BN 通常应用于网络中的非线性激活层之前, 将卷积层的输出归一化, 使得激活层的输入服从 (0, 1) 正态分布, 避免梯度消失的问题。
激活函数作用
激活函数是用来加入非线性因素的,提高神经网络对模型的表达能力,解决线性模型所不能解决的问题。
Sigmoid与Softmax的联系与区别
ReLU
优点:
缺点:会出现神经元死亡现象。ReLU在负数区域被kill的现象叫做Dead Relu。ReLU在训练的时很“脆弱”。在x<0时,梯度为0。这个神经元及之后的神经元梯度永远为0,不再对任何数据有所响应,导致相应参数永远不会被更新。
SiLU
Sigmoid-Weighted Linear Unit
)是一种激活函数,也被称为Swish激活函数,它在深度学习中被广泛用于神经网络的隐藏层。Mish
M
i
s
h
(
x
)
=
x
∗
t
a
n
h
(
s
o
f
t
p
l
u
s
(
x
)
)
=
x
∗
t
a
n
h
(
l
o
g
(
1
+
e
x
)
)
Mish(x)=x * tanh(softplus(x))=x*tanh(log(1+e^x))
Mish(x)=x∗tanh(softplus(x))=x∗tanh(log(1+ex))
优点:
缺点:
作用
平均池化
平均池化是对池化区域内的图像取平均值,这种方式得到的特征信息对背景信息更加敏感,例如可以帮助分类。
最大池化
最大池化是将池化区域的像素点取最大值,这种方式得到的特征图对纹理特征信息更加敏感,减少无用信息的影响。
当图像经过全连接层(Fully Connected Layer)时,其尺寸通常会发生变化。全连接层是神经网络中的一种密集连接层,也称为全连接层或密集层,其每个神经元都与上一层的每个神经元相连接。由于全连接层的特性,图像在进入全连接层之前需要被展平成一维向量。
全连接层参数计算
例如某一网络最后一层卷积层输出的大小为 7 ∗ 7 ∗ 512 7*7*512 7∗7∗512,全连接层输出尺寸为 1 ∗ 1024 1*1024 1∗1024;则需卷积层的尺寸为: 7 ∗ 7 ∗ 512 7*7*512 7∗7∗512,所以所需参数为 512 ∗ 7 ∗ 7 ∗ 1024 + 1024 = 25691136 512*7*7*1024+1024=25691136 512∗7∗7∗1024+1024=25691136。(参数量巨大,这也是为什么说全连接层参数冗余的原因,全连接层参数就可占整个网络参数80%左右)
正则化通常是应用在损失函数中的一种技术,旨在限制模型的复杂性,防止过拟合。正则化通过在损失函数中添加一个正则化项来实现,这个正则化项是模型参数的函数,它会在训练过程中对模型参数进行约束。
f
(
θ
)
=
损失函数
+
正则化项
f\left ( \theta \right ) =损失函数+正则化项
f(θ)=损失函数+正则化项
在实际使用中,如果特征是高维稀疏的,则使用L1正则;如果特征是低维稠密的,则使用L2正则
Dropout原理
在神经网络前向传播时,让某个神经元的激活值以一定的概率P停止工作,这样可以使模型泛化性更强,减少过拟合。
⭐ Dropout起到正则化效果的原因
Dropout 在训练和测试时都需要吗?
BN和Dropout共同使用时会出现的问题
BN
和Dropout
单独使用都能减少过拟合并加速训练速度,但如果一起使用的话并不会产生1+1>2的效果,相反可能会得到比单独使用更差的效果。
感受野( R e c e p t i v e Receptive Receptive F i e l d Field Field )的定义是卷积神经网络每一层输出的特征图( f e a t u r e feature feature m a p map map)上的像素点在原始输入图片上映射的区域大小。再通俗点的解释是,特征图上的一个点对应原始输入图片上的区域。
感受野计算
在计算感受野时有下面几点需要说明:
前向公式:
l
k
=
l
k
−
1
+
(
(
f
k
−
1
)
∗
∏
i
=
1
k
−
1
s
i
)
l_k=l_{k-1}+\left ( \left ( f_k-1 \right ) *\prod_{i=1}^{k-1} s_i \right )
lk=lk−1+((fk−1)∗i=1∏k−1si)
反向公式:
F
(
i
)
=
(
F
(
i
+
1
)
×
S
t
r
i
d
e
+
K
s
i
z
e
)
F\left ( i \right )=\left ( F\left ( i+1 \right ) \times Stride+ Ksize \right )
F(i)=(F(i+1)×Stride+Ksize)
从最后一层开始,最后一层的感受野为这一层卷积核的大小
ReLU
等激活函数在正区域的导数为1,有助于缓解梯度消失问题。Xavier
初始化,可以确保权重在前向和反向传播时的方差保持一致。Xavier
初始化,可以确保权重在前向和反向传播时的方差保持一致。欠拟合是指机器/深度学习模型无法在训练数据上获得足够好的拟合,导致模型对新的、未见过的数据表现不佳。
解决方法:
过拟合是指模型在训练数据上表现得非常好,但在测试数据上表现不佳,无法泛化到未见过的数据。
解决方法:
3. 简化模型: 减少模型的复杂性,可以通过减少层次或减少神经元数量来实现。这有助于限制模型的容量,防止过拟合。
4. 增加训练数据: 增加更多的训练数据可以帮助模型更好地泛化,减少过拟合的风险。
5. 添加适当的正则化项,如Dropout、L1正则化或L2正则化,以防止模型过度拟合训练数据。
6. 使用early stopping
在CV里,网络底层参数使用其它任务学习好的参数,高层参数仍然随机初始化。之后,用该任务的训练数据训练网络,底层参数微调
优点:
Label Smoothing 又被称之为标签平滑,常常被用在分类网络中来作为防止过拟合的一种手段,整体方案简单易用,在小数据集上可以取得非常好的效果。
总结:
(1) 基于轮廓提取的矫正算法更适用于车牌、身份证、人民币、书本、 发票一类矩形形状而且边界明显的物体矫正。
(2) 基于直线探测的矫正算法更适用于文本类等无明显边界图像的矫正
confidence
从高到低排序,并记录当前confidence
最大的bbx;confidence
对应的bbx与剩下所有的bbx的IOU
,移除所有大于IOU阈值的bbx;当两个目标靠的非常近时,置信度低的会被置信度高的框所抑制,那么当两个目标靠的十分近的时候就只会识别出一个BBoX。
为了解决这个问题,可以使用SoftNMS,其基本思想是用稍低一点的分数来代替原有的分数,而不是像NMS一样直接置零。
目标框回归损失应该考虑三个重要的几何因素:重叠面积,中心点距离,长宽比,详情可移步:IOU系列:IOU、GIOU、DIOU、CIOU、SIOU、Alpha-IoU、WIOU详解
GAN
、Diffusion model
生成新样本Focal Loss
或样本加权的损失函数,以更好地处理不平衡数据。soft-nms
计算机视觉中的注意力机制的基本思想是让模型学会专注,把注意力集中在重要的信息上而忽视不重要的信息。
Attention机制的本质就是利用相关特征图学习权重分布,再用学出来的权重施加在原特征图之上最后进行加权求和。不过施加权重的方式略有差别,大致总结为如下四点:
为了更清楚地介绍计算机视觉中的注意力机制,通常将注意力机制中的模型结构分为三大注意力域来分析。
主要是:空间域(spatial domain),通道域(channel domain),混合域(mixed domain)。
在卷积神经网络中常用到的主要有两种:一种是Spatial Attention, 另外一种是Channel Attention。当然有时也有使用空间与通道混合的注意力,其中混合注意力的代表主要是BAM, CBAM。
Spatial Attention
对于卷积神经网络,CNN每一层都会输出一个C x H x W的特征图,C就是通道,同时也代表卷积核的数量,亦为特征的数量,H 和W就是原始图片经过压缩后的图的高度和宽度,
Spatial Attention就是对于所有的通道,在二维平面上,对H x W尺寸的特征图学习到一个权重,对每个像素都会学习到一个权重。你可以想象成一个像素是C维的一个向量,深度是C,在C个维度上,权重都是一样的,但是在平面上,权重不一样。
Channel Attention
对于每个C(通道),在channel维度上,学习到不同的权重,平面维度上权重相同。所以基于通道域的注意力通常是对一个通道内的信息直接全局平均池化,而忽略每一个通道内的局部信息。
spatial 和 channel attention可以理解为关注图片的不同区域和关注图片的不同特征。channel attention的全面介绍可以参考论文:SCA-CNN,通道注意力在图像分类中的网络结构方面,典型的就是SENet。
进程是操作系统进行资源分配的最小单元
,是计算机中的程序关于某数据集合上的一次运行活动,是操作系统结构的基础。线程是操作系统能够进行运算调度的最小单位(是CPU调度的最小单位)
。它被包含在进程之中,是进程中的实际运作单位。一个进程可以有很多线程,每条线程并行执行不同的任务。TCP协议,传输控制协议(英语:Transmission Control Protocol,缩写为:TCP)是一种面向连接的、可靠的、基于字节流的通信协议。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。