算法面试---深度学习面试题

  • CNN为什么可以在CV/NLP/Speech等领域都可以使用?

1. 卷积是因为输入数据的局部相关性;

2. 权值共享是因为输入数据的局部特征具有平移不变性,即在不同位置具有共性的局部特征。这样,经过多层次堆叠,低层局部特征可以抽取成高层全局特征。

3. 权值共享能够降低参数量,而且降低了网络的训练难度。

note: 如果权值不共享,那就是局部连接层了。在某些应用,如人脸在不同的区域存在不同的特征(眼睛/鼻子/嘴的分布位置相对固定),当不存在全局的局部特征分布时,局部连接层更适合特征的提取。


  • 什么样的资料集不适合用深度学习?

数据集太小,数据样本不足时,深度学习相对其它机器学习算法,没有明显优势。

数据集没有局部相关特性,目前深度学习表现比较好的领域主要是图像/语音/自然语言处理等领域,这些领域的一个共性是局部相关性。图像中像素组成物体,语音信号中音位组合成单词,文本中单词组合成句子,这些特征元素的组合一旦被打乱,表示的含义同时也被改变。对于没有这样的局部相关性的数据集,不适于使用深度学习算法进行处理。举个例子:预测一个人的健康状况,相关的参数会有年龄、职业、收入、家庭状况等各种元素,将这些元素打乱,并不会影响相关的结果。


  • 何为共线性, 跟过拟合有啥关联?

多变量线性回归中,变量之间由于存在高度相关关系而使回归估计不准确。

共线性会造成冗余,导致过拟合。

解决方法:排除变量的相关性/加入权重正则。


  • 什么造成梯度消失问题?

前馈神经网络(包括全连接层、卷积层等)可以表示为 F=f_3(f_2(f_1(\mathbf{x}W_1)W_2)W_3),那么网络输出对 W_1 求偏导 \frac{\partial{F}}{\partial{W_1}}=\mathbf{x}*f'_1*W_2*f'_2*W_3*f'_3,这里 W_1,W_2,W_3是相互独立的,一般不会有数值问题,主要问题在于激活函数的导数 f'在饱和区接近于零,导致梯度消失。

循环神经网络的状态循环部分可以表示为 \mathbf{h}_3=f_3(f_2(f_1(\mathbf{h}_0W)W)W),这里的问题不仅在于激活函数的导数,还有 W 在不同时刻是共享的,网络输出对 W 的偏导包含 W 的连乘项,稍有不慎( W值偏小或偏大)就会出现梯度消失或爆炸。


  • 交叉熵和相对熵(KL散度)?

KL散度是两个概率分布P和Q差别的非对称性的度量。典型情况下,P表示数据的真实分布,Q表示数据的理论分布,模型分布,或P的近似分布。

D_{KL}(P||Q)=\sum_iP(i)\log\frac{P(i)}{Q(i)}=\sum_iP(i)\log{P(i)}-\sum_iP(i)\log{Q(i)}

这里注意:由于P和Q在公式中的地位不是相等的,所以 D_{KL}(P||Q)\neq D_{KL}(Q||P)。在机器学习中,由于真实的概率分布是固定的,前半部分是个常数。那么对KL散度的优化就相当于优化后半部分。

相对熵公式的后半部分就是交叉熵

CrossEntropy=-\sum_iP(i)\log{Q(i)}

猜你喜欢

转载自blog.csdn.net/qq_38906523/article/details/80556936