机器学习、深度学习常见面试题—第二波

1.神经网络中Dropout的作用?具体是怎么实现的?

防止过拟合。每次训练,都对每个神经网络单元,按一定概率临时丢弃。

2.利用梯度下降法训练神经网络,发现模型loss不变,可能有哪些问题?怎么解决?

很有可能是梯度消失了,它表示神经网络迭代更新时,有些权值不更新的现象。

改变激活函数,改变权值的初始化等。

3.如何解决不平衡数据集的分类问题?

可以扩充数据集,对数据重新采样,改变评价指标等。

4.残差网络为什么能做到很深层?

神经网络在反向传播过程中要不断地传播梯度,而当网络层数加深时,梯度在逐层传播过程中会逐渐衰减,导致无法对前面网络层的权重进行有效的调整。 残差网络中, 加入了short connections 为梯度带来了一个直接向前面层的传播通道,缓解了梯度的减小问题。

5.相比sigmoid激活函数ReLU激活函数有什么优势?

(1) 防止梯度消失 ( sigmoid的导数只有在0附近的时候有比较好的激活性,在正负饱和区的梯度都接近于0)

(2) ReLU的输出具有稀疏性

(3) ReLU函数简单计算速度快

6.卷积神经网络中空洞卷积的作用是什么?

空洞卷积也叫扩张卷积,在保持参数个数不变的情况下增大了卷积核的感受野,同时它可以保证输出的特征映射(feature map)的大小保持不变。一个扩张率为2的3×3卷积核,感受野与5×5的卷积核相同,但参数数量仅为9个。

7.解释下卷积神经网络中感受野的概念?

在卷积神经网络中,感受野 (receptive field)的定义是 卷积神经网络每一层输出的特征图(feature map)上的像素点在原始图像上映射的区域大小。

8.模型欠拟合什么情况下会出现?有什么解决方案?

模型复杂度过低,不能很好的拟合所有的数据

增加模型复杂度,如采用高阶模型(预测)或者引入更多特征(分类)等

9. 适用于移动端部署的网络结构都有哪些?

Mobilenet(https://arxiv.org/abs/1704.04861)

Shufflenet(https://arxiv.org/abs/1707.01083)

Xception(https://arxiv.org/abs/1610.02357)

10.梯度爆炸的解决方法?

针对梯度爆炸问题,解决方案是引入Gradient Clipping(梯度裁剪)。通过Gradient Clipping,将梯度约束在一个范围内,这样不会使得梯度过大。

11.深度学习模型参数初始化都有哪些方法?

(1)Gaussian 满足mean=0,std=1的高斯分布x∼N(mean, std^{2} )

(2)Xavier 满足x∼U(−a,+a)x∼U(−a,+a)的均匀分布, 其中 a = sqrt(3/n)

(3)MSRA 满足x∼N(0, \sigma^{2} )x∼N(0,\sigma^{2})的高斯分布,其中σ = sqrt(2/n)

(4)Uniform 满足min=0,max=1的均匀分布。x∼U(min,max)x∼U(min,max)

等等

12.注意力机制在深度学习中的作用是什么?有哪些场景会使用?

深度学习中的注意力机制从本质上讲和人类的选择性视觉注意力机制类似,核心目标是从大量信息中有选择地筛选出少量重要信息并聚焦到这些重要信息上,忽略大多不重要的信息。目前在神经机器翻译(Neural Machine Translation)、图像理解(Image caption)等场景都有广泛应用。

13.卷积神经网络为什么会具有平移不变性?

MaxPooling能保证卷积神经网络在一定范围内平移特征能得到同样的激励,具有平移不变形。

14.神经网络参数共享(parameter sharing)是指什么?

所谓的权值共享就是说,用一个卷积核去卷积一张图,这张图每个位置是被同样数值的卷积核操作的,权重是一样的,也就是参数共享。

15.什么是神经网络的梯度消失问题,为什么会有梯度消失问题?有什么办法能缓解梯度消失问题?

在反向传播算法计算每一层的误差项的时候,需要乘以本层激活函数的导数值,如果导数值接近于0,则多次乘积之后误差项会趋向于0,而参数的梯度值通过误差项计算,这会导致参数的梯度值接近于0,无法用梯度下降法来有效的更新参数的值。

改进激活函数,选用更不容易饱和的函数,如ReLU函数。

16.列举你所知道的神经网络中使用的损失函数

欧氏距离,交叉熵,对比损失,合页损失

17.对于多分类问题,为什么神经网络一般使用交叉熵而不用欧氏距离损失?

交叉熵在一般情况下更容易收敛到一个更好的解。

18.1x1卷积有什么用途?

通道降维,保证卷积神经网络可以接受任何尺寸的输入数据

19.随机梯度下降法,在每次迭代时能保证目标函数值一定下降吗?为什么?

不能,每次迭代时目标函数不一样

20.梯度下降法,为什么需要设置一个学习率?

使得迭代之后的值在上次值的邻域内,保证可以忽略泰勒展开中的二次及二次以上的项

猜你喜欢

转载自blog.csdn.net/ZHAO1995ZHAO/article/details/89184222