深度学习算法面试题总结

1.  什么是凸集、凸函数、凸学习问题?

凸集:若对集合C中任意两点u和v,连接他们的线段仍在集合C中,那么集合C是凸集。

公式表示为:αu+(1-α)v∈C α∈[0, 1]

凸函数:凸集上的函数是凸函数。凸函数的每一个局部极小值也是全局极小值( f(x) = 0.5x^2 )。

公式表示为:f(αu + (1-α)v) ≤ αf(u)+ (1-α)f(v)

2.  L0、L1、L2正则化?

L0范数:计算向量中非0元素的个数。

L1范数:计算向量中各元素绝对值之和。

L2范数:计算向量中各元素平方和的开方。

L0范数和L1范数目的是使参数稀疏化。L1范数比L0范数容易优化求解。

L2范数是防止过拟合,提高模型的泛化性能。

3.  无监督学习方法有哪些?

强化学习、K-means 聚类、自编码、受限波尔兹曼机

4.  空洞卷积(dilated convolution)的理解?

基于FCN的语义分割问题中,需保持输入图像与输出特征图的size相同。

若使用池化层,则降低了特征图size,需在高层阶段使用上采样,由于池化会损失信息,所以此方法会影响导致精度降低;

若使用较小的卷积核尺寸,虽可以实现输入输出特征图的size相同,但输出特征图的各个节点感受野小;

若使用较大的卷积核尺寸,由于需增加特征图通道数,此方法会导致计算量较大;

所以,引入空洞卷积(dilatedconvolution),在卷积后的特征图上进行0填充扩大特征图size,这样既因为有卷积核增大感受野,也因为0填充保持计算点不变。

5.  增大感受野的方法?

空洞卷积、池化操作、较大卷积核尺寸的卷积操作

6.  卷积层中感受野大小的计算?

卷积层的感受野大小与其之前层的卷积核尺寸和步长有关,与padding无关。基于从深层向浅层递归计算的方式。

计算公式为:Fj-1 = Kj + (Fj - 1)*Sj(最后一层特征图的感受野大小是其计算卷积核大小)

7.  梯度下降法和牛顿法的优缺点?

优点:梯度下降法:可用于数据量较大的情况;

牛顿法:收敛速度更快;

缺点:梯度下降法:每一步可能不是向着最优解的方向;

牛顿法:每次迭代的时间长;需要计算一阶和二阶导数;

8.  解决训练样本类别不平衡问题?

现象:训练样本中,正负样本数量的比例较大。

a. 过采样。增加正例样本数量,使得正负样本数量接近,然后再进行学习。

b. 欠采样。去除反例样本数量,使得正负样本数量接近,然后再进行学习。

c. 设置阈值。基于原始数据集学习,当使用已训练好的分类器进行预测时,将正负样本数量的比例作为阈值嵌入到决策过程中。

9.  各个激活函数的优缺点?

Sigmoid激活函数 缺点:

a. 不是关于原点对称;

b. 需要计算exp

Tanh 激活函数 优点:

a. 关于原点对称

b. 比sigmoid梯度更新更快

ReLU激活函数 优点:

a.神经元输出为正时,没有饱和区

b.计算复杂度低,效率高

c.在实际应用中,比sigmoid、tanh更新更快

d.相比于sigmoid更加符合生物特性

ReLU激活函数 缺点:

a.神经元输出为负时,进入了饱和区

b.神经元的输出在非0中心

c.使得数据存在Active ReLU、Dead ReLU(当wx+b<0时,将永远无法进行权值更新,此时的神经元将死掉)的问题

Leaky ReLU激活函数 优点:

a. 解决了ReLU激活函数Dead ReLU问题;

Maxout激活函数max(w1*x+b1,w2*x+b2)  缺点:

a. 参数较多;

10. 神经网络的正则化方法?/过拟合的解决方法?

数据增强(镜像对称、随机裁剪、旋转图像、剪切图像、局部弯曲图像、色彩转换)

early stopping(比较训练损失和验证损失曲线,验证损失最小即为最优迭代次数)

L2正则化(权重参数的平方和)

L1正则化(权重参数的绝对值之和)

dropout 正则化(设置keep_pro参数随机让当前层神经元失活)

11. 目标检测领域的常见算法?

两阶段检测器:R-CNN、Fast R-CNN、Faster R-CNN

单阶段检测器:YOLO、YOLO9000、SSD、DSSD、RetinaNet

12. Batch Normalization如何实现?作用?

实现过程:计算训练阶段mini_batch数量激活函数前结果的均值和方差,然后对其进行归一化,最后对其进行缩放和平移。

作用:a.限制参数对隐层数据分布的影响,使其始终保持均值为0,方差为1的分布;

b.削弱了前层参数和后层参数之间的联系,使得当前层稍稍独立于其他层,加快收敛速度;

c.有轻微的正则化效果。

13. Momentum优化算法原理?作用?

原理:在梯度下降算法中引入指数加权平均数,在更新梯度方向的过程中,在一定程度上保留了之前梯度更新的方向,同时利用当前mini_batch的梯度方向微调最终的更新方向。

作用:在一定程度上增加梯度更新方向的稳定性,从而使得收敛速度更快。

14. 群卷积?

假设上一层的特征图通道数为N,群卷积数目为M,则每个群卷积层上的特征图通道数为N/M,然后将其分配在不同的GPU上,待卷积完成后将输出叠加在一起。

15. 反卷积?

卷积的逆过程,GANs基于反卷积操作生成图片。

16. 梯度消失和梯度爆炸?

原因:激活函数的选择。

梯度消失:令bias=0,则神经网络的输出结果等于各层权重参数的积再与输入数据集相乘,若参数值较小时,则权重参数呈指数级减小。

梯度爆炸:令bias=0,则神经网络的输出结果等于各层权重参数的积再与输入数据集相乘,若参数值较大时,则权重参数呈指数级增长。


猜你喜欢

转载自blog.csdn.net/attitude_yu/article/details/80963323