共计 2840 个字符,预计需要花费 8 分钟才能阅读完成。
原文链接
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(瓶颈层)
其意思就是输入输出维度差距较大,就像一个瓶颈一样,上窄下宽亦或上宽下窄。1×1 filters 能够起到一个扭转输入维数(channels)的作用。能够看到,右图中 1×1 filters 把维度(channels)升高了,输入输出维度差距较大。
感触野:
在卷积神经网络 CNN 中,决定某一层输入后果中一个元素所对应的输出层的区域大小,被称作感触野 receptive field。用数学的语言就是感触野是 CNN 中的某一层输入后果的一个元素对应输出层的一个映射。
学习更多编程常识,请关注我的公众号:
代码的路