原文链接

feather map

在cnn的每个卷积层,数据都是以三维模式存在的。能够看成许多个二维图片叠在一起,其中每一个称为一个feature map。

1.在输出层,如果是灰度图片,那就只有一个feature map;如果是彩色图片,个别就是3个feature map(红绿蓝)。

2.在其它层,层与层之间会有若干个卷积核(kernel),上一层每个feature map跟每个卷积核做卷积,都会产生下一层的一个feature map,有N个卷积核,上层就会产生N个feather map。

卷积核(filter)

每个卷积核具备长宽深三个维度;卷积核的深度与以后图像的深度(feather map的张数)雷同。卷积核的个数与下一层须要多少个feather map雷同。在CNN的一个卷积层中:卷积核的长、宽都是人为指定的,长X宽也被称为卷积核的尺寸,罕用的尺寸为3X3,5X5等;例如,在原始图像层 (输出层),如果图像是灰度图像,其feather map数量为1,则卷积核的深度也就是1;如果图像是grb图像,其feather map数量为3,则卷积核的深度也就是3。

训练数据

  • batchsize:批大小。在深度学习中,个别采纳SGD训练,即每次训练在训练集中取batchsize个样本训练;
  • iteration:1个iteration等于应用batchsize个样本训练一次;
  • epoch:1个epoch等于应用训练集中的全副样本训练一次,艰深的讲epoch的值就是整个数据集被轮几次。

例如300个样本训练一次,epoch=1,batchsize = 10 ,iteration=30。

BN(Batch Normalization)层

BN层即batch-norm层,个别是深度学习中用于减速训练速度和一种办法,个别搁置在卷积层(conv层)或者全连贯层之后,将数据归一化并减速了训练拟合速度。

罕用地位:conv→bn→relu

如果网络应用sigmod激活函数,误差在向前传递的时候,通过sigmod单元,须要乘sigmod的梯度,而sigmod的梯度最大是0.25,因而越向前传递,误差就越小了,这就是梯度消散,然而梯度爆炸是什么?留神误差在通过全连贯或者卷积层时,也要乘以权重w,如果w都比拟大,大过sigmod造成的减小,这样越往前误差就越来越大,产生梯度爆炸。

BN层的计算图如上面所示,x是输出数据,到xhat均值方差归一化,前面xhat到y其实就是一般的一个线性变换,相似全连贯然而没有穿插。如果没有BN层,x间接输出前面的网络,训练过程中x散布的变换必然导致前面的网络去调整学习以来适应x的均值和方差,映入了BN层,xhat是一个归一化的数据,代价就是网络中多了一个线性层y,然而前者带来的性能更加大,因而减速了。

AUC(Area Under Curve)

一个正例,一个负例,预测为正的概率值比预测为负的概率值还要大的可能性。所以依据定义:咱们最直观的有两种计算AUC的办法:

1:绘制ROC曲线,ROC曲线上面的面积就是AUC的值

2:假如总共有(m+n)个样本,其中正样本m个,负样本n个,总共有mn个样本对,计数,正样本预测为正样本的概率值大于负样本预测为正样本的概率值记为1,累加计数,而后除以(mn)就是AUC的值。

AUC作为数值能够直观的评估分类器的好坏,值越大越好。

均值均匀精度MAP(Mean Average Precision)

咱们应用loU和阈值判断是否为指标。计算模型失去的每个检测框的loU值,用计算出的loU值与设定的loU阈值比拟,就能够计算出每个图像中每个类的正确检测次数(A)。对于每个图像,咱们都有ground truth的数据,因而也晓得了该图像中给定类别的理论指标(B)的数量。咱们也计算了正确预测的数量(A)(True possitive)。因而咱们能够应用这个公式来计算该类模型的精度(A/B)

$$Precesion_{C}=\frac{N(TruePositives)_{C}}{N(TotalObjects)_{C}}$$

即给定一张图像的类别C的Precision=图像正确预测的数量除以在图像张这一类的总的指标数量。 如果当初有一个给定的类,验证集中有100个图像,并且咱们晓得每个图像都有其中的所有类(基于ground truth)。所以咱们能够失去100个精度值,计算这100个精度值的平均值,失去的就是该类的均匀精度。

$$AveragePrecesion_{C}=\frac{\sum Precesion_{C}}{N(TotalImages)_{C}}$$

即一个C类的均匀精度=在验证集上所有的图像对于类C的精度值的和/有类C这个指标的所有图像的数量。 当初退出咱们整个汇合中有20个类,对于每个类别,咱们都先计算loU,接下来计算精度,而后计算均匀精度。所有咱们当初有20个不同的均匀精度值。应用这些均匀精度值,咱们能够轻松的判断任何给定类别的模型的性能。

然而问题是应用20个不同的均匀精度使咱们难以度量整个模型,所以咱们能够选用一个繁多的数字来示意一个模型的体现(一个度量来对立它们),咱们能够取所有类的均匀精度值的平均值,即MAP(均值均匀精度)。

$$MeanAveragePrecesion=\frac{\sum AveragePrecesion_{C}}{N(Classes)}$$

MAP=所有类别的均匀精度求和除以所有类别。即数据集中所有类的均匀精度的平均值。

EAO 冀望均匀覆盖率

EAO提出的目标也是心愿一个好的跟踪器同时领有好的精度A和鲁棒性R,如果间接用A和R的两个数加权和则有失公允,所以须要从新定义。

假如有$N_s$帧长的一个视频,那么一个跟 踪器在这段视频上的覆盖率精度(Overlay accuracy)op为每一帧op的均值,op就是bonding box与ground truth的交并比用示意,即:

$$_{N_{s}}=\frac{1}{N_{s}}\sum {\atop i=1:N_{s}}_{i}$$

那么一个现实的EAO就是把$N_s$从1到一个冀望的极大值对应的$N_s$求个均匀,就是冀望均匀覆盖率,恰如其名,等价于下图的曲线下面积:

shortcut connection

ResNet构造应用了一种连贯形式,即“绕近路”的意思。

Bottleneck(瓶颈层)

其意思就是输入输出维度差距较大,就像一个瓶颈一样,上窄下宽亦或上宽下窄。1x1 filters 能够起到一个扭转输入维数(channels)的作用。能够看到,右图中 1x1 filters把维度(channels)升高了,输入输出维度差距较大。

感触野:

在卷积神经网络CNN中,决定某一层输入后果中一个元素所对应的输出层的区域大小,被称作感触野receptive field。用数学的语言就是感触野是CNN中的某一层输入后果的一个元素对应输出层的一个映射。

学习更多编程常识,请关注我的公众号:

代码的路