深度学习及论文中相关术语解析

深度学习术语

1. Model Capacity

模型拟合能力。

2. Generalization

泛化能力。

一个网络的generalization能力是由网络的capacity和训练数据量共同决定的。网络capacity越大越能捕捉训练数据的细枝末节(高频),所以越容易overfit(在训练数据的高频noise上),从而generalization不佳。所以在训练数据无穷的极限条件下,网络的generalization能力与其capacity成正比。那么提高网络的泛化性能就可以理解为1. 增加训练数据;2. 增大网络的capacity。

3. Regularization

正则化。

直观来看网络的capacity与网络参数量成正比。但是,这里面要考虑到所谓参数间互相coupling、correlating的现象。即,某些参数能力很强,总能做出正确的事,从而网络学会了偷懒,其他某些参数(units)只是在机械地模仿这些“superstar“unit的输出结果。这就导致虽然参数量很大,但是一部分参数在单纯模仿,并没有独立运作的效力。造成其名存实亡,也即网络capacity的折损。因而,需要一些手段来de-coupling、de-correlating,让每个units都主动去学,各司其职,分担工作。这些手段就是regularizations。Regularization 义为规范化、约束化,顾名思义是一种对网络参数进行管控的手段。常见的L1L2,以及Dropout,都属于regularization。

L1和L2 loss是加在loss function上的regualrization手段。L2 loss直接观察就是通过惩罚使得网络规避少量极大的weight(极大weight代表这些unit在网络进行predict的时候起到很大的主导作用,就是“superstar units”),而更倾向于diffused weight,即每个unit都有贡献,但贡献都不太大,都不占主导。L1 loss则是一种特征选择,即可以接受一些unit静默,某些unit独大。

Dropout作为一种regularization的理解更晦涩一些。举例如下:网络的所有unit是一个班里的所有同学。这个网络的任务是复习参加一次考试。此时,班里有一些尖子生(“superstar units”)总是能够好好复习,且总能考出好成绩。班里也有一些不上进的同学,寄希望于在考试的时候抄这些尖子生的答案,因此这些差学生根部不学习,等着抄。如何motivate这些差学生也主动学习呢?Dropout好比一次流感。这次流感会导致班里randomly一半的同学感冒不能参加考试。这时候,差同学担心身旁的好学生可能参加不了考试,没办法等着抄了,只好主动自己去学习。从结果上来看,dropout “de-couple”了差学生对好学生的依赖和依附,也即regularize(教导管理了)这些化学生的behavior。因此,坏学生也学习了,units的weight就有值了。

4. Inductive bias

归纳偏置。(意义参见博客

说得再宏观一点,Inductive bias是regularization的本源。inductive bias指的是网络本身具有的或者人为施加的对网络训练过程的管理监控约束机制。Occarm‘s razor就是最基本的一种inductive bias原则,而Occarm razor与L2 loss的regularization理念不谋而合,即倾向于网络weights的平均化。

论文中术语

1. Lr schd 

通常的框架或者论文都会提到训练周期关于1x和2x,她的来历最初是从Detectron来的,在她的MODEL_ZOO.md介绍里面有关于Training Schedules的说明,可以去详细看一下。

  • 1x 策略表示:在总batch size为16时,初始学习率为0.02,在6万轮和8万轮后学习率分别下降10倍,最终训练9万轮。

  • 2x 策略为1x策略的两倍,同时学习率调整位置也为1x的两倍。

其中,mmDetection采用与Detectron相同的训练时间表。1x表示12个epoch,而2x表示24个epoch,这比Detectron的迭代次数略少,并且可以忽略不计。
在coco2014和2017中数据集中总共118287张图片,所以Detectron计算下来大概是12.17个epoch。

2. Box AP、Box mAP、mask AP、mask mAP

Box AP 即box average precision;mask AP即mask average percision,mAP即mean average precision

Box AP用于综合评价目标检测模型效能,要清楚的是AP的计算是先使用confidence threshold去除一些置信度过低的框;然后要使用NMS 要用到 nms_boxiou threshold,去除和置信度最高的框IOU大于阈值的重叠框;接着会使用box_iou threshold,将每个框分为TP、FP,对于同一个gt,预测框根据置信度从高到低排列,只有IOU大于阈值且置信度最高的那个算是TP,其余IOU大于阈值的都算是FP;分配好TP、FP以后,所有框按照置信度从高到低排列,计算AP值,VOC2007标准是recall均分11点,然后计算每个点最大的precision的平均值,VOC之后的标准是每个unique recall点,都要和最大的precision求积并求和。这里面常用的三个阈值,confidence threshold一般取值越低,AP值越小因为FP多了则precision也就低了的;nms_boxiou threshold也相同一般取值越低,AP值越小;box_iou threshold就很常见了,mAP50就是box_iou threshold等于0.5,mAP75就是box_iou threshold等于0.75,一般取值越大AP值越低因为此时TP变少了。

Mask AP用于综合评价实例分割模型效能,和Box AP的区别仅仅在于box_iou threshold作用的对象不相同,Box AP里面作用的是标准普通的gt和预测框的IOU值,Mask AP里面作用的是gt mask和预测mask的mask iou,即像素点之间的mask iou。

3.  Top-1 Accuracy和Top-5 Accuracy

我们知道ImageNet有大概1000个分类,而模型预测某张图片时,会给出1000个从高到低排名的概率,表示网络预测该图片属于各类的概率。

  • Top-1 Accuracy是指排名第一的类别与实际结果相符的准确率
  • Top-5 Accuracy是指排名前五的类别包含实际结果的准确率

python numpy 求top-k accuracy指标

top-k acc表示在多分类情况下取最高的k类得分的label,与真实值匹配,只要有一个label match,结果就是True。
如对于一个有5类的多分类任务

a_real = 1
a_pred = [0.02, 0.23, 0.35, 0.38, 0.02]

#top-1
a_pred_label = 3 match = False
#top-3
a_pred_label_list = [1, 2, 3] match = True

对于top-1 accuracy
sklearn.metrics提供accuracy的方法,能够直接计算得分,但是对于topk-acc就需要自己实现了:

#5类:0,1,2,3,4
import numpy as np
a_real = np.array([[1], [2], [1], [3]])
#用随机数代替分数
random_score = np.random.rand((4,5))
a_pred_score = random_score / random_score.sum(axis=1).reshape(random_score.shape[0], 1)

k = 3 #top-3
#以下是计算方法
max_k_preds = a_pred_score.argsort(axis=1)[:, -k:][:, ::-1] #得到top-k label
match_array = np.logical_or.reduce(max_k_preds==a_real, axis=1) #得到匹配结果
topk_acc_score = match_array.sum() / match_array.shape[0]

4. linear probe

linear probe(线性探针)是测试预训练模型性能的一种方法,又称为linear probing evaluation。训练后,要评价模型的好坏,通过将最后的一层替换成线性层,然后只训练这个线性层就是linear probe。

论文《A CRITICAL ANALYSIS OF SELF-SUPERVISION, OR WHAT WE CAN LEARN FROM A SINGLE IMAGE》中提到:linear probes相当于通过在保持固定的预训练特征表示之上,训练线性分类器来解决诸如 ImageNet 分类之类的困难任务。【该文讲述了具体的实施细节,这里不再赘述,值得一提的是,该文提到了使用Linear probes的标准方法,为《Split-Brain Autoencoders:Unsupervised Learning by Cross-Channel Prediction》中方法】。

虽然Linear Probe在概念上很简单,但有几个技术细节会影响最终精度几个百分点。不幸的是,不同论文在评测时往往具有不同的设置,因此必须仔细比较不同论文的结果。更为困难的是,并非所有的论文都发布了评估源代码,上面论文提供了标准化测试代码。见GitHub 中Linear Separability Evaluation

5. [email protected][email protected]:0.95的含义

[email protected]:mean Average Precision(IoU=0.5)
即将IoU设为0.5时,计算每一类的所有图片的AP,然后所有类别求平均,即mAP

如图所示,AP50,AP60,AP70……等等指的是取detector的IoU阈值大于0.5,大于0.6,大于0.7……等等。数值越高,即阈值越大,精度越低。

[email protected]:.95(mAP@[.5:.95])
表示在不同IoU阈值(从0.5到0.95,步长0.05)(0.5、0.55、0.6、0.65、0.7、0.75、0.8、0.85、0.9、0.95)上的平均mAP。
 

猜你喜欢

转载自blog.csdn.net/qq_23981335/article/details/122561867