深度学习面试题总结

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

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

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

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

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

二、CNN最成功的应用是在CV,那为什么NLP和Speech的很多问题也可以用CNN解出来?为什么AlphaGo里也用了CNN?这几个不相关的问题的相似性在哪里?CNN通过什么手段抓住了这个共性?

以上几个不相关问题的相关性在于,都存在局部与整体的关系,由低层次的特征经过组合,组成高层次的特征,并且得到不同特征之间的空间相关性。如下图:低层次的直线/曲线等特征,组合成为不同的形状,最后得到汽车的表示。

  • CNN抓住此共性的手段主要有四个:局部连接/权值共享/池化操作/多层次结构。
  • 局部连接使网络可以提取数据的局部特征;权值共享大大降低了网络的训练难度,一个Filter只提取一个特征,在整个图片(或者语音/文本) 中进行卷积;池化操作与多层次结构一起,实现了数据的降维,将低层次的局部特征组合成为较高层次的特征,从而对整个图片进行表示。
  • 如果每一个点的处理使用相同的Filter,则为全卷积,如果使用不同的Filter,则为Local-Conv

为什么很多做人脸的Paper会最后加入一个Local Connected Conv?

    • DeepFace 先进行了两次全卷积+一次池化,提取了低层次的边缘/纹理等特征。
    • 后接了3个Local-Conv层,这里是用Local-Conv的原因是,人脸在不同的区域存在不同的特征(眼睛/鼻子/嘴的分布位置相对固定),当不存在全局的局部特征分布时,Local-Conv更适合特征的提取
  • 三、什麽样的资料集不适合用深度学习?
    • 数据集太小,数据样本不足时,深度学习相对其它机器学习算法,没有明显优势。
    • 数据集没有局部相关特性,目前深度学习表现比较好的领域主要是图像/语音/自然语言处理等领域,这些领域的一个共性是局部相关性。图像中像素组成物体,语音信号中音位组合成单词,文本数据中单词组合成句子,这些特征元素的组合一旦被打乱,表示的含义同时也被改变。对于没有这样的局部相关性的数据集,不适于使用深度学习算法进行处理。举个例子:预测一个人的健康状况,相关的参数会有年龄、职业、收入、家庭状况等各种元素,将这些元素打乱,并不会影响相关的结果。

猜你喜欢

转载自blog.csdn.net/qq_37249672/article/details/80578742