马上又到了金三银四的面试季啦。对于人工智能这个非常卷的行业来说,想找到一份好的实习或者工作还是很有难度的。下面总结一下计算机视觉方向常见的面试题目,赶快收藏,背起来吧!
✨
👍
⭐️
✏️
文章目录
- 1.介绍 YOL0,并且解释一下 YOLO 为什么可以这么快?
- 2.介绍一下YOLOv3的原理?
- 3.YOL0、SSD和Faster-RCNN 的区别,他们各自的优和不足分别是什么?
- 4.介绍一下CenterNet 的原理,它与传统的目标检测有什么不同点?
- 5.工业上,推荐场景为什么要用AUC作为评价指标,MAE不好吗?其他指标不好吗
- 6.无监督和有监督算法的区别?
- 7.什么是偏差和方差?
- 8.为什么会产生欠拟合和过拟合,有哪些方法可以预防欠拟合和过拟合?
- 9.如何进行特征选择?
- 10.无监督学习中存在过拟合吗?
- 11.分类型模型评判的指标
- 12.简述一下混淆矩阵及各项指标
- 13.ROC曲线
- 14.AUC面积
- 15.SVM 如何解决多分类问题?
- 16.列举你知道的聚类算法
1.介绍 YOL0,并且解释一下 YOLO 为什么可以这么快?
yolo 是单阶段检测算法的开山之作,最初的 yolov1 是在图像分类网络的基础上直接进行的改进,摒弃了二阶段检测算法中的 RPN 操作,直接对输入图像进行分类预测和回归,所以它相对于二阶段的目标检测算法而言,速度非常的快,但是精度会低很多:但是在选代到目前的 V4、V5 版本后,yolo 的精度已经可以媲美甚至超过二阶段的日标检测算法,同时保持着非常快的速度,是目前工业界内最受欢迎的算法之一。yolo 的核心思想是将输入的图像经过 backbone 特征提取后,将的到的特征图划分为 S x S 的网格,物体的中心落在哪一个网格内,这个网格就负责预测该物体的置信度、类别以及坐标位置。
2.介绍一下YOLOv3的原理?
yolov3 采用了作者自已设计的 darknet53 作为主干网络,darknet53 借鉴了残差网络的思想,与resnet101、resnet152 相比,在精度上差不多的同时,有着更快的速度,网络里使用了大量的残差跳层连接,并且抛弃了 pooling 池化操作,直接使用步长为2的卷积来实现下采样。在特征融合方面,为了加强小目标的检测,引入了类似与 FPN 的多尺度特征融合,特征图在经过上采样后与前面层的输出进行 concat 操作,浅层特征和深层特征的融合,使得 yolov3 在小目标的精度上有了很大的提升。yolov3 的输出分为三个部分,首先是置信度、然后是坐标信息,最后是分类信息。在推理的时候,特征图会等分成SxS 的网格,通过设置置信度闽值对格子进行筛选,如果某个格子上存在目标,那么这个格子就负责预测该物体的置信度、坐标和类别信息。
3.YOL0、SSD和Faster-RCNN 的区别,他们各自的优和不足分别是什么?
YOL0、SSD和 Faster-RCNN 都是目标检测领域里面非常经典的算法,无论是在工业界还是学术界,都有着深远的影响:Faster-RCNN 是基于候选区域的双阶段检测器代表作,而 YOL0 和 SSD 则是单阶段检测器的代表:在速度上,单阶段的 YOLO 和SSD 要比双阶段的 Faster-RCNN 的快很多,而 YOLO 又比 SSD 要快,在精度上,Faster-RCNN精度要优于单阶段的 YOLO和SSD:不过这也是在前几年的情况下,目标检测发展到现在,单阶段检测器精度已经不虚双阶段,并且保持着非常快的速度,现阶段 SSD 和 Faster-RCNN 已经不更了,但是 YOLO 仍在飞快的发展,目前已经迭代到 V4、V5,速度更快,精度更高,在 COCO 精度上双双破50map,这是很多双阶段检测器都达不到的精度,而最近的 Scale yolov4 更是取得了 55map,成功登顶榜首。当然虽然 SSD 和 Faster-RCNN 已经不更了,但是有很多他们相关的变体,同样有着不错的精度和性能,例如 Cascade R-CNN.RefineDet 等等。
4.介绍一下CenterNet 的原理,它与传统的目标检测有什么不同点?
CenterNet 是属于anchor-free 系列的目标检测算法的代表作之一,与它之前的目标算法相比,速度和精度都有不小的提高,尤其是和 yolov3 相比,在速度相同的情况下,CenterNet 精度要比 olov3 高好几个点。它的结构非常的简单,而且不需要太多了后处理,连 NMS 都省了,直接检测目标的中心点和大小,实现了真正的anchor-freeCenterNet 论文中用到了三个主干网络:ResNet-18.DLA-34 和 Hourglass-104,实际应用中,也可以使用 resnet-50 等网络作为backbone:CenterNet 的算法流程是:一张512512 (1x3x512x512)的图片输入到网络中,经过 backbone 特征提取后得到下采样 32 倍后的特征图(lx2048x16x16),然后再经过三层反卷积模块上采样到 128128 的尺寸,最后分别送入三个 head 分支进行预测:分别预测物体的类别、长宽尺寸和中心点偏置。其中推理的核心是从 headmap 中提取需要的 bounding box,通过使用 3*3的最大池化,检查当前热点的值是否比周围的 8 个临近点值都大,每个类别取100个这样的点,经过 box 后处理后再进行阅值筛选,得到最终的预测框。
5.工业上,推荐场景为什么要用AUC作为评价指标,MAE不好吗?其他指标不好吗
-
AUC指标本身和模型预测score绝对值无关,只关注排序效果,因此特别适合排序业务,为何与模型预测score值无关为何是很好的特性呢?假设你采用precision、F1等指标,而模型预测的score是个概率值,就必须选择一个闻值来决定哪些样本预测是1哪些是0,不同的闻值选择,precision的值会不同,而AUC可以直接使用score本身,参考的是相对顺序,更加好用。
-
AUC对均匀正负样本采样不敏感正由于AUC对分值本身不敏感,故常见的正负样本采样,并不会导致auc的变化。比如在点击率预估中,处于计算资源的考虑,有时候会对负样本做负采样,但中于采样完后并不影响正负样本的顺序分布。即假设采样是随机的,采样完成后,给定一条正样本,模型预测为score1,由于采样随机,则大于score1的负样本和小于score1的负样本的比例不会发生变化。
但如果采样不是均匀的,比如采用word2vec的negative sample,其负样本更偏向于从热门样本中买样,则会发现auc值发生剧烈变化。
6.无监督和有监督算法的区别?
1、无监督学习:对没有分类的训练样本进行学习,以发现训练样本集中的结构性知识,所有的分类是未知的,因此,训练样本的歧义性高。聚类就是典型的无监督学习。
2、有监督学习:对有分类的训练样本进行学习,以尽可能对训练样本集外的数据进行分类预测,所有的分类是已知的,因此,训练样本的歧义性低。
7.什么是偏差和方差?
偏差:度量了学习算法的期望预测和真实结果的偏离程度,刻画了学习算法本身的拟合能力。
方差:度量了同样大小的训练集的变动所导致的学习性能的变化,刻画了数据扰动所造成的影响
偏差和方差一般称为 bias 和 variance,一般训练程度越高,偏差越小,方差越大如果偏差较大,方差较小,此时一般称为欠拟合:偏差较小,方差较大称为过拟合
8.为什么会产生欠拟合和过拟合,有哪些方法可以预防欠拟合和过拟合?
在机器学习中,将学习器在训练集上的误差称为训练误差或者经验误差,在新样本上的误差称为泛化误差,显然我们希望得到泛化误差小的学习器。然而,当学习器将训练样本学的太好的时候,往往可能把训练样本自身的特点当做了潜在样本具有的一般性质。这样就会导致泛化性能下降,称之为过拟合:欠拟合指对训练样本的一般性质尚未学习好,在训练集上仍然有较大的误差。
9.如何进行特征选择?
特征选择是一个重要的数据预处理过程,主要有两个原因,首先在现实任务中我们会遇到维数灾难的问题(样本密度非常稀疏),若能从中选择一部分特征,那么这个问题能大大缓解,另外就是去除不相关特征会降低学习任务的难度,增加模型的泛化能力。冗余特征指该特征包含的信息可以从其他特征中推演出来,但是这并不代表该冗余特征一定没有作用,例如在欠拟合的情况下也可以用过加入元余特征,增加简单模型的复杂度常见的特征选择方式有过滤式(filter)包裹式(wrapper)和嵌入式(embedding)。Filter 类型先对数据集进行特征选择,再训练学习器。Wrapper 直接把最终学习器的性能作为特征子集的评价准则,一般通过不断候选子集,然后利用cross-validation 过程更新候选特征,通常计算量比较大。嵌入式特征选择将特征选择过程和训练过程融为了一体,在训练过程中自动进行了特征选择,例如L1正则化更易于获得稀疏解,而[2 正则化更不容易过拟合1正则化可以通过 PGD近端梯度下降进行求解
10.无监督学习中存在过拟合吗?
存在。我们可以使用无监督学习的某些指标或人为地去评估模型性能,以判断是否过拟合。
11.分类型模型评判的指标
-
混淆矩阵:也叫误差矩阵
-
ROC 曲线
-
AUC 面积
12.简述一下混淆矩阵及各项指标
混淆矩阵是评判模型结果的指标,属于模型评估的一部分。多用于判断分类器的优劣,适用于分类型的数据模型。
- TP (True positive》:真实值是 positive,模型认为是 positive 的数量
- FN(false negative):真实值是 positive,模型认为是 negative 的数量
- FP (false positive》: 真实值是 negative,模型认为是 positive
- TN (true negabive》: 真实值是 negative,模型认为是 negative
13.ROC曲线
ROC 曲线全称为受试者工作特征曲线(Receiver Operating Characteristic Curve)它就是一张图上的曲线,通过曲线的形状来判定模型的好坏。横轴(false positive rate) : FPR = FP/(FP+TN)纵轴 (true positive rate) : TPR = TP/(TP+FN)如果曲线更靠近左上角,则模型分类的准确度越高,模型效果越好ROC 曲线上的一系列点,代表选取一系列的阀值产生的结果。
14.AUC面积
AUC(Area Under Curve),即曲线下的面积,它就是 ROC 曲线下的面积是多大AUC 越大,预测效果越好。
15.SVM 如何解决多分类问题?
多个二分类器组合。一对一、一对多、多对多
16.列举你知道的聚类算法
层次聚类,k 均值聚类,DVSCAN 算法、OPTICS 算法、谱聚类
✨
👍
⭐️
✏️
文章出处登录后可见!