我是靠谱客的博主 强健夏天,最近开发中收集的这篇文章主要介绍深度学习笔试、面试题 一,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

1、神经网络模型(Neural Network)因受人类大脑的启发而得名,神经网络由许多神经元(Neuron)组成,每个神经元接受一个输入,对输入进行处理后给出一个输出,如下图所示。请问下列关于神经元的描述中,哪一项是正确的?

 

A 每个神经元可以有一个输入和一个输出

B 每个神经元可以有多个输入和一个输出

C 每个神经元可以有一个输入和多个输出

D 每个神经元可以有多个输入和多个输出

E 上述都正确

正确答案是:E

解析:   每个神经元可以有一个或多个输入,和一个或多个输出。

2、在一个神经网络中,知道每一个神经元的权重和偏差是最重要的一步。如果知道了神经元准确的权重和偏差,便可以近似任何函数,但怎么获知每个神经的权重和偏移呢?

A 搜索每个可能的权重和偏差组合,直到得到最佳值

B 赋予一个初始值,然后检查跟最佳值的差值,不断迭代调整权重

C 随机赋值,听天由命

D 以上都不正确的

正确答案是:B

解析: 选项B是对梯度下降的描述。

3、基于二次准则函数的H-K算法较之于感知器算法的优点是()?

A 计算量小

B 可以判别问题是否线性可分

C 其解完全适用于非线性可分的情况

正确答案是: B

解析:HK算法思想很朴实,就是在最小均方误差准则下求得权矢量. 他相对于感知器算法的优点在于,他适用于线性可分和非线性可分得情况,对于线性可分的情况,给出最优权矢量,对于非线性可分得情况,能够判别出来,以退出迭代过程。

4、输入图片大小为200×200,依次经过一层卷积(kernel size 5×5,padding 1,stride 2),pooling(kernel size 3×3,padding 0,stride 1),又一层卷积(kernel size 3×3,padding 1,stride 1)之后,输出特征图大小为

A 95

B 96

C 97

D 98

正确答案是:C,您的选择是:C

解析:

设输入图像尺寸为W,卷积核尺寸为F,步幅为S,Padding使用P,经过该卷积层后输出的图像尺寸为(W−F+2P)/S + 1

首先长宽一般大,所以我们只需要计算一个维度即可,这样,经过第一次卷积后的大小为: 本题 (200-5+2*1)/2+1 为99.5,取99

经过第一次池化后的大小为: (99-3)/1+1 为97

经过第二次卷积后的大小为: (97-3+2*1)/1+1 为97

5、深度学习是当前很热门的机器学习算法,在深度学习中,涉及到大量的矩阵相乘,现在需要计算三个稠密矩阵A,B,C的乘积ABC,假设三个矩阵的尺寸分别为m∗n,n∗p,p∗q,且m < n < p < q,以下计算顺序效率最高的是()

A (AB)C

B AC(B)

C A(BC)

D 所以效率都相同

正确答案是:A

解析:首先,根据简单的矩阵知识,因为 A*B , A 的列数必须和 B 的行数相等。因此,可以排除 B 选项, 然后,再看 A 、 C 选项。在 A 选项中,m∗n 的矩阵 A 和n∗p的矩阵 B 的乘积,得到 m∗p的矩阵 A*B ,而 A∗B的每个元素需要 n 次乘法和 n-1 次加法,忽略加法,共需要 m∗n∗p次乘法运算。同样情况分析 A*B 之后再乘以 C 时的情况,共需要 m∗p∗q次乘法运算。因此, A 选项 (AB)C 需要的乘法次数是 m∗n∗p+m∗p∗q 。同理分析, C 选项 A (BC) 需要的乘法次数是 n∗p∗q+m∗n∗q。 由于m∗n∗p

6、当在卷积神经网络中加入池化层(pooling layer)时,变换的不变性会被保留,是吗?

A 不知道

B看情况

C 是

D 否

正确答案是:C

解析:池化算法比如取最大值/取平均值等, 都是输入数据旋转后结果不变, 所以多层叠加后也有这种不变性。

7、当数据过大以至于无法在RAM中同时处理时,哪种梯度下降方法更加有效?

A 随机梯度下降法(Stochastic Gradient Descent)

B 不知道

C 整批梯度下降法(Full Batch Gradient Descent)

D 都不是

正确答案是:A

解析:梯度下降法分随机梯度下降(每次用一个样本)、小批量梯度下降法(每次用一小批样本算出总损失, 因而反向传播的梯度折中)、全批量梯度下降法则一次性使用全部样本。这三个方法, 对于全体样本的损失函数曲面来说, 梯度指向一个比一个准确. 但是在工程应用中,受到内存/磁盘IO的吞吐性能制约, 若要最小化梯度下降的实际运算时间, 需要在梯度方向准确性和数据传输性能之间取得最好的平衡. 所以, 对于数据过大以至于无法在RAM中同时处理时, RAM每次只能装一个样本, 那么只能选随机梯度下降法。

8、在选择神经网络的深度时,下面哪些参数需要考虑?
1 神经网络的类型(如MLP,CNN)
2 输入数据
3 计算能力(硬件和软件能力决定)
4 学习速率
5 映射的输出函数

A 1,2,4,5

B 2,3,4,5

C 都需要考虑

D 1,3,4,5

正确答案是:C

解析:所有上述因素对于选择神经网络模型的深度都是重要的。特征抽取所需分层越多, 输入数据维度越高, 映射的输出函数非线性越复杂, 所需深度就越深. 另外为了达到最佳效果, 增加深度所带来的参数量增加, 也需要考虑硬件计算能力和学习速率以设计合理的训练时间。

9、考虑某个具体问题时,你可能只有少量数据来解决这个问题。不过幸运的是你有一个类似问题已经预先训练好的神经网络。可以用下面哪种方法来利用这个预先训练好的网络?

A 把除了最后一层外所有的层都冻结,重新训练最后一层

B 对新数据重新训练整个模型

C 只对最后几层进行调参(fine tune)

D 对每一层模型进行评估,选择其中的少数来用

正确答案是:C

解析:果有个预先训练好的神经网络, 就相当于网络各参数有个很靠谱的先验代替随机初始化. 若新的少量数据来自于先前训练数据(或者先前训练数据量很好地描述了数据分布, 而新数据采样自完全相同的分布), 则冻结前面所有层而重新训练最后一层即可; 但一般情况下, 新数据分布跟先前训练集分布有所偏差, 所以先验网络不足以完全拟合新数据时, 可以冻结大部分前层网络, 只对最后几层进行训练调参(这也称之为fine tune)。

10、下图是一个利用sigmoid函数作为激活函数的含四个隐藏层的神经网络训练的梯度下降图。这个神经网络遇到了梯度消失的问题。下面哪个叙述是正确的?

 

A 第一隐藏层对应D,第二隐藏层对应C,第三隐藏层对应B,第四隐藏层对应A

B 第一隐藏层对应A,第二隐藏层对应C,第三隐藏层对应B,第四隐藏层对应D

C 第一隐藏层对应A,第二隐藏层对应B,第三隐藏层对应C,第四隐藏层对应D

D 第一隐藏层对应B,第二隐藏层对应D,第三隐藏层对应C,第四隐藏层对应A

正确答案是:A

解析:由于反向传播算法从后向前传播的过程中,学习能力降低,这就是梯度消失。换言之,梯度消失是梯度在反向传播中逐渐减为 0, 按照图标题所说,四条曲线是 4 个隐藏层的学习曲线,那么最后一层梯度最高(损失函数曲线下降明显),第一层梯度几乎为零(损失函数曲线变成平直线)。所以 D 是第一层,A 是最后一层。

1、增加卷积核的大小对于改进卷积神经网络的效果是必要的吗?

A 没听说过

B 是

C 否

D 不知道

正确答案是:C

解析:C,增加核函数的大小不一定会提高性能。这个问题在很大程度上取决于数据集

2、假设我们已经在ImageNet数据集(物体识别)上训练好了一个卷积神经网络。然后给这张卷积神经网络输入一张全白的图片。对于这个输入的输出结果为任何种类的物体的可能性都是一样的,对吗?

A 对的

B 不知道

C 看情况

D 不对

正确答案是:D

解析:D,已经训练好的卷积神经网络, 各个神经元已经精雕细作完工, 对于全白图片的输入, 其j层层激活输出给最后的全连接层的值几乎不可能恒等, 再经softmax转换之后也不会相等, 所以"输出结果为任何种类的等可能性一样"也就是softmax的每项均相等, 这个概率是极低的。

3、对于一个分类任务,如果开始时神经网络的权重不是随机赋值的,而是都设成0,下面哪个叙述是正确的?

A 其他选项都不对

B 没啥问题,神经网络会正常开始训练

C 神经网络可以训练,但是所有的神经元最后都会变成识别同样的东西

D 神经网络不会开始训练,因为没有梯度改变

正确答案是:C

解析:令所有权重都初始化为0这个一个听起来还蛮合理的想法也许是一个我们假设中最好的一个假设了, 但结果是错误的,因为如果神经网络计算出来的输出值都一个样,那么反向传播算法计算出来的梯度值一样,并且参数更新值也一样(w=w−α∗dw)。更一般地说,如果权重初始化为同一个值,网络即是对称的, 最终所有的神经元最后都会变成识别同样的东西。

4、下图显示,当开始训练时,误差一直很高,这是因为神经网络在往全局最小值前进之前一直被卡在局部最小值里。为了避免这种情况,我们可以采取下面哪种策略?

A 改变学习速率,比如一开始的几个训练周期不断更改学习速率

B 一开始将学习速率减小10倍,然后用动量项(momentum)

C 增加参数数目,这样神经网络就不会卡在局部最优处

D 其他都不对

正确答案是:A

解析:选项A可以将陷于局部最小值的神经网络提取出来。

5、对于一个图像识别问题(在一张照片里找出一只猫),下面哪种神经网络可以更好地解决这个问题?

A 循环神经网络

B 感知机

C 多层感知机

D 卷积神经网络

正确答案是:D

解析:卷积神经网络将更好地适用于图像相关问题,因为考虑到图像附近位置变化的固有性质

6、假设在训练中我们突然遇到了一个问题,在几次循环之后,误差瞬间降低

你认为数据有问题,于是你画出了数据并且发现也许是数据的偏度过大造成了这个问题。

你打算怎么做来处理这个问题?

A 对数据作归一化

B 对数据取对数变化

C 都不对

D 对数据作主成分分析(PCA)和归一化

正确答案是:D

解析:首先您将相关的数据去掉,然后将其置零。具体来说,误差瞬间降低, 一般原因是多个数据样本有强相关性且突然被拟合命中, 或者含有较大方差数据样本突然被拟合命中. 所以对数据作主成分分析(PCA)和归一化能够改善这个问题。

7、下面那个决策边界是神经网络生成的?

A A

B D

C C

D B

E 以上都对

正确答案是:E

解析:神经网络可以逼近方式拟合任意函数, 所以以上图都可能由神经网络通过监督学习训练得到决策边界。

8、在下图中,我们可以观察到误差出现了许多小的"涨落"。 这种情况我们应该担心吗?

 

A 需要,这也许意味着神经网络的学习速率存在问题

B 不需要,只要在训练集和交叉验证集上有累积的下降就可以了

C 不知道

D 不好说

正确答案是: B

解析:选项B是正确的,为了减少这些“起伏”,可以尝试增加批尺寸(batch size)。具体来说,在曲线整体趋势为下降时, 为了减少这些“起伏”,可以尝试增加批尺寸(batch size)以缩小batch综合梯度方向摆动范围. 当整体曲线趋势为平缓时出现可观的“起伏”, 可以尝试降低学习率以进一步收敛. “起伏”不可观时应该提前终止训练以免过拟合

9、对于神经网络的说法, 下面正确的是 :
1. 增加神经网络层数, 可能会增加测试数据集的分类错误率
2. 减少神经网络层数, 总是能减小测试数据集的分类错误率
3. 增加神经网络层数, 总是能减小训练数据集的分类错误率

A 1

B 1 和 3

C 1 和 2

D 2

正确答案是:A

解析: 深度神经网络的成功, 已经证明, 增加神经网络层数, 可以增加模型范化能力, 即, 训练数据集和测试数据集都表现得更好. 但更多的层数, 也不一定能保证有更好的表现(https://arxiv.org/pdf/1512.03385v1.pdf). 所以, 不能绝对地说层数多的好坏, 只能选A

10、假定你在神经网络中的隐藏层中使用激活函数 X。在特定神经元给定任意输入,你会得到输出「-0.0001」。X 可能是以下哪一个激活函数?

A ReLU

B tanh

C SIGMOID

D 以上都不是

正确答案是: B

解析:答案为:B,该激活函数可能是 tanh,因为该函数的取值范围是 (-1,1)。

1、深度学习与机器学习算法之间的区别在于,后者过程中无需进行特征提取工作,也就是说,我们建议在进行深度学习过程之前要首先完成特征提取的工作。这种说法是:

A 正确的

B 错误的

正确答案是: B

解析:正好相反,深度学习可以自行完成特征提取过程而机器学习需要人工来处理特征内容

2、下列哪一项属于特征学习算法(representation learning algorithm)?

A K近邻算法

B 随机森林

C 神经网络

D 都不属于

正确答案是:C

解析:神经网络会将数据转化为更适合解决目标问题的形式,我们把这种过程叫做特征学习。

3、下列哪些项所描述的相关技术是错误的?

A AdaGrad使用的是一阶差分(first order differentiation)

B L-BFGS使用的是二阶差分(second order differentiation)

C AdaGrad使用的是二阶差分

正确答案是:C

4、提升卷积核(convolutional kernel)的大小会显著提升卷积神经网络的性能,这种说法是

A 正确的

B 错误的

正确答案是: B

解析:卷积核的大小是一个超参数(hyperparameter),也就意味着改变它既有可能提高亦有可能降低模型的表现。

5、阅读以下文字:
假设我们拥有一个已完成训练的、用来解决车辆检测问题的深度神经网络模型,训练所用的数据集由汽车和卡车的照片构成,而训练目标是检测出每种车辆的名称(车辆共有10种类型)。现在想要使用这个模型来解决另外一个问题,问题数据集中仅包含一种车(福特野马)而目标变为定位车辆在照片中的位置。

A 除去神经网络中的最后一层,冻结所有层然后重新训练

B 对神经网络中的最后几层进行微调,同时将最后一层(分类层)更改为回归层

C 使用新的数据集重新训练模型

D 所有答案均不对

正确答案是: B

6、假设你有5个大小为7x7、边界值为0的卷积核,同时卷积神经网络第一层的深度为1。此时如果你向这一层传入一个维度为224x224x3的数据,那么神经网络下一层所接收到的数据维度是多少?

A 218x218x5

B 217x217x8

C 217x217x3

D 220x220x5

正确答案是:A

7、假设我们有一个使用ReLU激活函数(ReLU activation function)的神经网络,假如我们把ReLU激活替换为线性激活,那么这个神经网络能够模拟出同或函数(XNOR function)吗?

A 可以

B 不好说

C 不一定

D 不能

正确答案是:D

解析:使用ReLU激活函数的神经网络是能够模拟出同或函数的。 但如果ReLU激活函数被线性函数所替代之后,神经网络将失去模拟非线性函数的能力。

8、考虑以下问题:
假设我们有一个5层的神经网络,这个神经网络在使用一个4GB显存显卡时需要花费3个小时来完成训练。而在测试过程中,单个数据需要花费2秒的时间。 如果我们现在把架构变换一下,当评分是0.2和0.3时,分别在第2层和第4层添加Dropout,那么新架构的测试所用时间会变为多少?

A 少于2s

B 大于2s

C 仍是2s

D 说不准

正确答案是:C

解析:在架构中添加Dropout这一改动仅会影响训练过程,而并不影响测试过程。

9、下列的哪种方法可以用来降低深度学习模型的过拟合问题?
1 增加更多的数据
2 使用数据扩增技术(data augmentation)
3 使用归纳性更好的架构
4 正规化数据
5 降低架构的复杂度

A 1 4 5

B 1 2 3

C 1 3 4 5

D 所有项目都有用

正确答案是:D

0、混沌度(Perplexity)是一种常见的应用在使用深度学习处理NLP问题过程中的评估技术,关于混沌度,哪种说法是正确的?

A 混沌度没什么影响

B 混沌度越低越好

C 混沌度越高越好

D 混沌度对于结果的影响不一定

正确答案是: B

解析:该指标用来表示预测出的词性的准确度,混沌度越低,表明该词预测的更准确

参考这篇博客:博客

1、假设下方是传入最大池化层的一个输入,该层中神经元的池化大小为(3,3)。
那么,该池化层的输出是多少?

A 3

B 7

C 5

D 5.5

正确答案是: B

解析:最大池化是这样运作的:它首先使用我们预先定义的池化尺寸来获取输入内容,然后给出有效输入中的最大值。

2、假设有一个如下定义的神经网络:
如果我们去掉ReLU层,这个神经网络仍能够处理非线性函数,这种说法是:

A 正确的

B 错误的

正确答案是: B

3、深度学习可以用在下列哪些NLP任务中?

A 情感分析

B 问答系统

C 机器翻译

D 所有选项

正确答案是:D

4、请阅读以下情景:
情景1:你拥有一份阿卡迪亚市(Arcadia city)地图的数据,数据中包含市内和郊区的航拍图片。你的任务是将城市划分为工业区、农场以及山川河流等自然区域等等。
情景2:你拥有一份阿卡迪亚市(Arcadia city)地图的数据,数据中包含详细的公路网和各个地标之间的距离,而这些都是以图表的形式呈现的。你的任务是找出任意两个地标之间的最短距离。
深度学习可以在情景1中应用但无法应用在情景2中,这种说法是:

A 正确的

B 错误的

正确答案是: B

解析:情景1基于欧几里得数据(Euclidean data)而情景2基于图形数据,这两种类型的数据深度学习均可处理。

5、下列哪些项目是在图像识别任务中使用的数据扩增技术(data augmentation technique)?
1 水平翻转(Horizontal flipping)
2 随机裁剪(Random cropping)
3 随机放缩(Random scaling)
4 颜色抖动(Color jittering)
5 随机平移(Random translation)
6 随机剪切(Random shearing)

A 1,3,5,6

B 1,2,4

C 2,3,4,5,6

D 所有项目

正确答案是:D

6、给定一个长度为n的不完整单词序列,我们希望预测下一个字母是什么。比如输入是“predictio”(9个字母组成),希望预测第十个字母是什么。下面哪种神经网络结构适用于解决这个工作?

A 循环神经网络

B 全连接神经网络

C 受限波尔兹曼机

D 卷积神经网络

正确答案是:A

解析:循环神经网络对于序列数据最有效,因此适用于这个问题。

7、当构建一个神经网络进行图片的语义分割时,通常采用下面哪种顺序?

A 先用卷积神经网络处理输入,再用反卷积神经网络得到输出

B 先用反卷积神经网络处理输入,再用卷积神经网络得到输出

C 不能确定

正确答案是:A

8、Sigmoid是神经网络中最常用到的一种激活函数,除非当梯度太大导致激活函数被弥散,这叫作神经元饱和。
这就是为什么ReLU会被提出来,因为ReLU可以使得梯度在正向时输出值与原始值一样。
这是否意味着在神经网络中ReLU单元永远不会饱和?

A 正确的

B 错误的

正确答案是: B

解析:ReLU也可能会造成饱和,当输出为负的时候。

9、Dropout率和正则化有什么关系?
提示:我们定义Dropout率为保留一个神经元为激活状态的概率

A Dropout率越高,正则化程度越低

B Dropout率越高,正则化程度越高

正确答案是:A,您的选择是:A

解析: 高dropout率意味着更多神经元是激活的,所以这亦为之正则化更少。

10、普通反向传播算法和随时间的反向传播算法(BPTT)有什么技术上的不同?

A 与普通反向传播不同的是,BPTT会在每个时间步长内减去所有对应权重的梯度

B 与普通反向传播不同的是,BPTT会在每个时间步长内叠加所有对应权重的梯度

正确答案是: B

解析:与普通反向传播不同的是,BPTT会在每个时间步长内叠加所有对应权重的梯度。

最后

以上就是强健夏天为你收集整理的深度学习笔试、面试题 一的全部内容,希望文章能够帮你解决深度学习笔试、面试题 一所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(45)

评论列表共有 0 条评论

立即
投稿
返回
顶部