校招算法面试中一些常见问题

Posted 羽峰码字

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了校招算法面试中一些常见问题相关的知识,希望对你有一定的参考价值。

大家好,我是羽峰,今天整理了一下校招面试中常见算法题,看看目录中这些问题你是否了解呢,能完整的答出来吗?

 

1. 权值初始化方法

  1. 常量初始化(constant)

  2. 高斯分布初始化(gaussian)

  3. positive_unitball初始化

  4. 均匀分布初始化(uniform)

  5. xavier初始化

  6. msra初始化

  7. 双线性初始化(bilinear)

2. BatchNormalization、LayerNormalization、InstanceNorm、GroupNorm、SwitchableNorm区别与理解

区别:

batchNorm是在batch上,对NHW做归一化,对小batchsize效果不好;

layerNorm在通道方向上,对CHW归一化,主要对RNN作用明显;

instanceNorm在图像像素上,对HW做归一化,用在风格化迁移;

GroupNorm将channel分组,然后再做归一化;

SwitchableNorm是将BN、LN、IN结合,赋予权重,让网络自己去学习归一化层应该使用什么方法。

理解:

请参考https://blog.csdn.net/liuxiao214/article/details/81037416

3. 卷积神经网络优点

1.在卷积层所用的权重和偏置的参数较少,两个原因:(1)参数共享;( 2)稀疏连接。

2. 具有平移不变性,即使图片中的目标位置平移到图片另一个地方,卷积神经网络仍然能很好地识别出这个目标,输出的结果也和原来未平移之前是一致的。

4. 激活函数有哪些

  1. Sigmoid函数

  2. Tanh函数

  3. ReLu函数

  4. Swish函数(Google大脑团队)

  5. Leaky ReLU函数(PReLU)

  6. MaxOut函数

  7. Gated linear units(GLU)激活函数(facebook提出)

  8. 还有很多,一些最新的也要了解一下

5. 残差网络的作用

1. 防止梯度消失和梯度弥散

2. 恒等映射,使网络结构更深

3. 使网络更容易被优化,并且能够通过增加深度来提高准确率

可能还有,可在自行百度

6. 空洞卷积的理解

1. 实际卷积核大小:k = k +(k-1)*(r-1)  其中k是原始核大小,r为空洞率

2. 解决问题:

    a. 上采样层是确定性的

    b. 内部数据结构丢失,空间层极化信息丢失

    c. 小物体无法重建

3. 优点:扩大感受野,捕获多尺度上下文信息

4. 缺点:局部信息丢失,该层卷积结果没有局部相关性;远距离获取信息没有相关性,影响分类结果。

7. DenseNet的优点

  1. 减轻了梯度消失

  2. 加强了特征传递

  3. 更有效的利用了feature

  4. 一定程度上使用了较少的参数数量

 

8. 混淆矩阵相关知识

一级指标(最底层的):

真实值是positive,模型认为是positive的数量(True Positive=TP)

真实值是positive,模型认为是negative的数量(False Negative=FN):这就是统计学上的第二类错误(Type II Error)

真实值是negative,模型认为是positive的数量(False Positive=FP):这就是统计学上的第一类错误(Type I Error)

真实值是negative,模型认为是negative的数量(True Negative=TN)

将这四个指标一起呈现在表格中,就能得到如下这样一个矩阵,我们称它为混淆矩阵(Confusion Matrix):

二级指标

三级指标:F1 Score

9. k折交叉验证

K折交叉验证用于模型调优,所有的数据都被用来训练,会导致过拟合,K折交叉验证可以缓解过拟合。

将数据分为k组,每次从训练集中,抽取出k份中的一份数据作为验证集,剩余数据作为测试集。测试结果采用k组数据的平均值。

若训练集较大,则k较小,降低训练成本,若训练集较小,则k较大,增加训练数据。其他交叉验证也得了解一下:K折、留一、留p、随机

10. 分类损失函数

  1. 0-1 Loss

  2. Cross Entropy Loss

  3. Hinge Loss

  4. Exponential Loss

  5. Modified Huber Loss

  6. Softmax Loss

11.什么是感受野,增大感受野方法

感受野:指的是神经网络中神经元“看到的”输入区域,在卷积神经网络中,feature map上某个元素的计算受输入图像上某个区域的影响,这个区域即为该元素的感受野。

增大感受野的方法

a. pooling 池化

池化主要任务是对数据降维,减小网络参数,提升网络的计算效率,同时,池化也是增加感受野的方法之一,但在增加感受野的同时,伴随着分辨率的降低,图像细节损失

b. dilated conv空洞卷积

空洞卷积的出现为了解决pooling层增大感受野之后进行上采样(增加图像的分辨率)过程中,图像信息缺失问题。

12.各种优化器

1. 随机梯度下降(SGD)

2. Momentum

3. Adam

4. RMSProp

5. Nadam

6. Nesterov

7. Adagrad

8. 牛顿法

9. 拟牛顿法

关于这部分,每个都能讲很多,这几天也在整理,这一部分我会单独拿出一篇文章来讲。可以自己总结一下,看看每种优化器的原理,优缺点等。

 

13. 如何解决样本不均衡问题

  1.  样本的过采样和欠采样

  2. 使用多个分类器进行分类

  3. 将二分类问题转换成其他问题

  4. 改变正负样本在模型中的权重

14. 图像增强有哪些操作

1. 图像反转

2. 对比度拉伸

3. 动态范围压缩

4. 灰度切片

5. 图像相减

6. 图像平均

7. 直方图

8. 掩模算子

9. 图像平滑

10. 中值滤波

11. 图像锐化

12. 偏导算子

等等

15. 图像去噪算法分类

  1.  空域滤波:邻域平均法,中值滤波,低通滤波等

  2.  变换域滤波:傅立叶变换,小波变换

  3. 偏微分方程

  4. 变分法

  5. 形态噪声滤波器

 

以上问题是一些比较常见问题,当然还有很多问题,后续在补充。这里建议看看《百面深度学习》《百面机器学习》等。当然有些问题答案可能不是很全,或者很对,欢迎批评指正。

这些问题一般是按照你的简历来提问的,或者通过你项目介绍来提问的,他会一直问下去,直到你不怎么会了。所以对自己项目介绍一定要认真仔细,最好有逐字稿,把自己提到的知识都做好准备。

我是羽峰,有任何问题,欢迎关注“羽峰码字”公众号,我们一起来聊哈。

以上是关于校招算法面试中一些常见问题的主要内容,如果未能解决你的问题,请参考以下文章

2019校招Android面试题解(算法篇)

涤生校招算法系列5:数组基本操作必掌握

涤生校招算法系列5:数组基本操作必掌握

涤生校招算法系列5:数组基本操作必掌握

快速串讲校招高频面试题——排序算法和复杂度

最新校招京东百度头条算法面试真题分享