zl程序教程

您现在的位置是:首页 >  其他

当前栏目

计算机视觉算法工程师面试必知10个最难回答问题(面试常考,建议收藏!)

工程师算法面试计算机 10 建议 收藏 视觉
2023-09-27 14:25:48 时间

1. 介绍目标检测网络yolo系列以及ssd系列的原理。yolo对小目标检测不好的原因,除了缩小anchor外还可以如何改善?

大概介绍了一下,yolo及ssd是one-stage目标检测网络的代表,以及他们各自的backbone、anchor box生成方式,最近整理了一下yolo系列的各种创新点

解决小目标检测不好几种方法:

增加输入图像分辨率

混合多尺度特征

设置更小更稠密的anchor

卷积神经网络设计时尽量度采用步长为1,尽可能保留多的目标特征。

2. 如何防止过拟合?

在数据层面,做数据增广,筛选高质量的特征

在网络层面,选择较简单的模型,网络剪枝,加入正则项,加drop out层,加BN层

在训练操作层面,使用Early Stopping

3. 样本中正负样本不平衡,如何解决?

1.使用类平衡交叉熵损失函数

2.对小样本做数据增广

3.FOCAL LOSS(retinanet)

4.OHEM(online hard example mining)策略,训练时通常保证正负样本1:3

4. 使用什么手段尽量保证精度不损失压缩模型?

1.模型参数量化:将float32型权重、激活映射到低bit位(int8、fp16,二值、三值...)存储

2.模型剪枝

3.知识蒸馏

4.替换轻量化网络结构(mobilenet系列、shufflenet、squeezenet...)

模型剪枝常用策略?

层剪枝,根据bn层的gamma系数剪枝,bn层的gamma系数代表该层特征的方差,方差越大说明该层特征越明显,保留该层, gamma系数小的网络层可以剪掉。

通道剪枝,根据经验缩小通道系数,多次训练对比实验(------感觉这块回答得有点弱智,可我就是这么弱智地调参。。。。)

5. RetinaNet了解吗?

one-stage和two-stage的表现差异主要原因是大量前景背景类别不平衡导致。在双阶段算法中,候选框阶段,通过得分和nms筛选过滤掉了大量的负样本,然后再分类回归阶段又固定了正负样本比例,或者通过OHEM在线困难挖掘使得前景和背景相对平衡。而one-stage阶段需要产生约100k的候选位置,虽然有类似的采样,但是训练仍然被大量负样本所主导。所以设计了一个简单密集型网络RetinaNet来在保证速度的同时达到了精度最优。

主要创新点:focal loss

alpha系数平衡正负样本的重要性(正负样本本身的比例不均)

gamma系数减少易分类样本的损失。使得更关注于困难的、错分的样本(前景背景类别不平衡导致)

比如:例如gamma为2,对于正类样本而言,预测结果为0.95肯定是简单样本,所以(1-0.95)的gamma次方就会很小,这时损失函数值就变得更小。而预测概率为0.3的样本其损失相对很大。对于负类样本而言同样,预测0.1的结果应当远比预测0.7的样本损失值要小得多。对于预测概率为0.5时,损失只减少了0.25倍,所以更加关注于这种难以区分的样本。这样减少了简单样本的影响,大量预测概率很小的样本叠加起来后的效应才可能比较有效。

6. mobilenet速度快的原因

深度可分离卷积

7. 面试官随便构造一个网络,现场计算感受野

公式记不住不要慌,一层层卷积、pooling计算就好了。我的思路是网络末端用1*1的特征点往上反推。

8. 简述GAN网络原理

生成器判决器协调工作,balabala。。。内容太多,有需求自行百度

9. python中的生成器是做什么的?

不同于其他函数的return,生成器使用yield返回,训练数据可以边迭代边训练。不用一次性地加载所有数据,节省内存空间。

10. 进程和线程的区别,数组和链表的区别

进程:指在系统中正在运行的一个应用程序;程序一旦运行就是进程;进程-----资源分配的最小单位。

线程:系统分配处理器时间资源的基本单元,或者说进程之内独立执行的一个单元执行流。线程——程序执行的最小单位

免费分享一些我整理的人工智能学习资料给大家,整理了很久,非常全面。包括一些人工智能基础入门视频+AI常用框架实战视频、图像识别、OpenCV、NLP、YOLO、机器学习、pytorch、计算机视觉、深度学习与神经网络等视频、课件源码、国内外知名精华资源、AI热门论文等。

下面是部分截图,文末扫码加我免费领取(AI技术问题我也可解答一二)

目录

一、人工智能免费视频课程和项目

二、人工智能必读书籍

三、人工智能论文合集

四、机器学习+计算机视觉基础算法教程

 五、深度学习机器学习速查表(共26张)

学好人工智能,要多看书,多动手,多实践,要想提高自己的水平,一定要学会沉下心来慢慢的系统学习,最终才能有所收获。

点击下方名片,扫码免费下载文中资料。