计算机视觉深度学习面试题总结

1.常见的lose损失函数?

1.交叉熵损失函数:与softmax回归一起使用,输出为概率分布。

2.指数损失函数

3.平方损失函数(最小二乘法)

2.说清楚精确率与召回率:

精确率(precision)的公式是,它计算的是所有"正确被检索的item(TP)"占所有"实际被检索到的(TP+FP)"的比例.

召回率(recall)的公式是,它计算的是所有"正确被检索的item(TP)"占所有"应该检索到的item(TP+FN)"的比例。

3.MobileNet

mobilenet是Google提出的。
优点:体积小,计算量小,适用于移动设备的卷积神经网络。
可以实现分类/目标检测/语义分割;

小型化:

  1. 卷积核分解,使用1xN和Nx1的卷积核替换NxN的卷积核。
  2. 采用bottleneck结构 ,以SqueezeNet为代表
  3. 以低精度浮点数保存,例如Deep Compression
  4. 冗余卷积核剪枝及哈弗曼编码。

mobilenet v1:

参考了传统的VGGNet等链式架构,都以层叠卷积层的方式提高网络深度,从而提高识别精度。缺点:梯度弥散现象。
(梯度弥散:导数的链式法则,连续多层小于1的梯度会使梯度越来越小,最终导致某层梯度为0)

要解决什么问题?
在现实场景中,诸如移动设备,嵌入式设备,自动驾驶等等,计算能力会受到限制,所以目标就是构建一个小且快速的模型。

用了什么方法解决问题(实现):

  1. 在MobileNet架构中,使用了深度可分离卷积替代传统卷积。
  2. 在MobileNet网络中引入两个收缩超参数:宽度因子,分辨率乘子。

还存在什么问题:

  1. MobileNet v1的结构过于简单,是类似于VGG的直筒结构,导致这个网络的性价比其实不高。如果引入后续的一系列ResNet,DenseNet等结构(复用图像特征,添加shortcuts)可以大幅提升网络的性能。
  2. 深度卷积存在潜在问题,训练后部分kernel权值为零。

深度可分卷积思想?
实质上就是将标准卷积分成了两步:depthwise卷积和pointwise卷积,其输入和输出都是相同的。
depthwise卷积:对每个输入通道单独使用一个卷积核处理。
pointwise卷积:1×1卷积,用于将depthwise的卷积的输出组合起来。

MoblieNet的大多数计算量(约95%)和参数(75%)都在1×1卷积中,剩余的大多数参数(约24%)都在全连接层中。由于模型较小,可以减少正则化手段和数据增强,因为小模型相对不容易过拟合。

关于mobilenet v2:

mobileNet v2主要引进了两个改动:Linear Bottleneck和Inverted Residual Blocks.
关于 Inverted Residual Blocks:
MobileNet v2结构基于inverted residual.其本质是一个残差网络设计,传统Residual block是block的两端channel通道数多,中间少;
而本文设计的inverted residual是block的两端channel通道数少,block内通道数多。另外保留了深度可分离卷积

关于Linear Bottlenecks:
感兴趣区域在ReLU之后保持非零,近似认为是线性变换;
ReLU能够保持输入信息的完整性,但仅限于输入特征位于输入空间的低维子空间。
对于低纬度空间处理,把ReLU近似为线性转换。

v1与v2对比:
在这里插入图片描述
相同点:

  1. 都采用Depth-wise(DW)卷积搭配Point-wise(PW)卷积的方式来提取特征。这两个操作合起来被称为Depth-wise Separable Convolution,之前在Xception中被广泛使用。这样做的好处就是理论上可以成倍减少卷积层的时间复杂度和空间复杂度。

不同点:
2. v2在DW卷积之前新加了一个PW卷积。这么做的原因是,因为DW卷积由于本身的计算特性决定它自己没有改变通道数的能力。上一层给它多少通道,它就要输出多少通道。所以如果上一层给的通道数本身很少的话,DW就只能在低维空间提取特征,因此效果不够好。
现在v2为了改善这个问题,给每个DW之前都匹配了一个PW,专门用来升维,定义升维系数为6,这样不管输入通道数是多是少,经过第一个PW升维之后,DW都是在相对的更高维进行辛勤工作的。
v2去掉了第二个pw的激活函数,作者称之为Linear Bottleneck。原因是作者认为激活函数在高维空间能够有效的增加非线性,而在低维空间则会破坏特征值,不如线性效果好。第二个PW主要功能就是降维,因此按照上面的理论,降维之后不宜再使用ReLU6.

总结mobileNet v2:
最难理解的就是Linear Bottlenecks,实现起来非常简单,就是在MobileNetv2机构中第二个PW后无ReLU6.对于低纬空间而言,进行线性映射会保留特征,而非线性映射会破坏特征。

mobileNet v3

高效的网络构建模块:
v3是神经架构搜索得到的模型,其内部使用的模块有:
1. v1模型引进的是深度可分离卷积;
2. v2引进的是具有线性瓶颈的倒残差结构;
3. 基于squeeze and excitation结构的轻量级注意力模型;

互补搜索:
在网络结构搜索中,作者结合两种技术:资源受限的NAS与NetAdapt,前者用于在计算和参数数量受限的前提下搜索网络的各个模块,所以称之为模块级搜索。

4.yolo

猜你喜欢

转载自blog.csdn.net/sazass/article/details/112146957