23、如果增加多层感知机(Multilayer Perceptron)的隐藏层 层数,分类误差便会减小。这种陈述正确还是错误?( B )
A、正确
B、错误
过拟合可能会导致错误增加
24、考虑某个具体问题时,你可能只有少量数据来解决这个问题。不过幸运的是你有一个类似问题已经预先训练好的神经网络。可以用下面哪种方法来利用这个预先训练好的网络? ( C )
A、把除了最后一层外所有的层都冻结,重新训练最后一层
B、对新数据重新训练整个模型
C、只对最后几层进行调参(fine tune)
D、对每一层模型进行评估,选择其中的少数来用
不同数据集下使用微调:
数据集1-数据量少,但数据相似度非常高:在这种情况下,我们所做的只是修改最后几层或最终的softmax图层的输出类别。
数据集2-数据量少,数据相似度低:在这种情况下,我们可以冻结预训练模型的初始层(比如k层),并再次训练剩余的(n-k)层。由于新数据集的相似度较低,因此根据新数据集对较高层进行重新训练具有重要意义。
数据集3-数据量大,数据相似度低:在这种情况下,由于我们有一个大的数据集,我们的神经网络训练将会很有效。但是,由于我们的数据与用于训练我们的预训练模型的数据相比有很大不同,使用预训练模型进行的预测不会有效。因此,最好根据你的数据从头开始训练神经网络(Training from scatch)。
数据集4-数据量大,数据相似度高:这是理想情况。在这种情况下,预训练模型应该是最有效的。使用模型的最好方法是保留模型的体系结构和模型的初始权重。然后,我们可以使用在预先训练的模型中的权重来重新训练该模型。
25、下列哪个神经网络结构会发生权重共享?( D )
A、卷积神经网络
B、循环神经网络
C、全连接神经网络
D、选项A和B
权值共享就是说,给一张输入图片,用一个卷积核去扫这张图,卷积核里面的数就叫权重,这张图每个位置是被同样的卷积核扫的,所以权重是一样的,也就是共享。
26、输入图片大小为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)之后,输出特征图大小为 ( C )
A、95
B、96
C、97
D、98
kernel_size就是卷积核的长度
padding:认为的扩充图片, 在图片外围补充一些像素点,把这些像素点初始化为0
stride是卷积步长
卷积向下取整,池化向上取整,
padding = “value”,N = [(W-K+2P)/S]+1,这里表示的是向下取整再加1
输出高度 = (输入高度 - Kernel高度 + 2 * padding)/ 步长stride + 1
输出宽度 = (输入宽度 - Kernel宽度 + 2 * padding)/ 步长stride + 1
除法都为向下取整
(200 - 5 + 2 * 1)/2+1 为99.5,取99
(99 - 3 +2 * 0)/1+1 为97
(97 - 3 + 2 * 1)/1+1 为97
27、已知:(1)大脑是有很多个叫做神经元的东西构成,神经网络是对大脑的简单的数学表达。(2)每一个神经元都有输入、处理函数和输出。(3)神经元组合起来形成了网络,可以拟合任何函数。(4)为了得到最佳的神经网络,我们用梯度下降方法不断更新模型。给定上述关于神经网络的描述,什么情况下神经网络模型被称为深度学习模型?( A )
A、加入更多层,使神经网络的深度增加
B、有维度更高的数据
C、当这是一个图形识别的问题时
D、以上都不正确
28、下图显示了训练过的3层卷积神经网络准确度,与参数数量(特征核的数量)的关系。从图中趋势可见(先上升,后下降),如果增加神经网络的宽度,精确度会增加到一个特定阈值后,便开始降低。造成这一现象的可能原因是什么?( C )
A、即使增加卷积核的数量,只有少部分的核会被用作预测
B、当卷积核数量增加时,神经网络的预测能力(Power)会降低
C、当卷积核数量增加时,导致过拟合
D、以上都不正确
过拟合在训练过程中不会导致精度下降,只有在验证阶段,用验证集和训练集做对比的时候,会导致训练集的精度高于验证集的精度,导致模型的泛化能力下降。
卷积核的作用为提取图像特征,当卷积核增加时,过多的学习了图象中的特征,会导致过拟合
29、假设你有5个大小为7x7、边界值为0的卷积核,同时卷积神经网络第一层的深度为1。此时如果你向这一层传入一个维度为224x224x3的数据,那么神经网络下一层所接收到的数据维度是多少?( A )
A、218x218x5
B、217x217x8
C、217x217x3
D、220x220x5
(W−F+2P)/S + 1
其中W为输入,F为卷积核,P为pading值,S为步长
(224 - 7 + 2 * 0)/ 1 + 1 为218,取218
30、混沌度(Perplexity)是一种常见的应用在使用深度学习处理NLP问题过程中的评估技术,关于混沌度,哪种说法是正确的?( B)
A、混沌度没什么影响
B、混沌度越低越好
C、混沌度越高越好
D、混沌度对于结果的影响不一定
混沌度(不确定性程度),越低越好。
31、在CNN网络中,图A经过核为3x3,步长为2的卷积层,ReLU激活函数层,BN层,以及一个步长为2,核为2 * 2的池化层后,再经过一个3 * 3 的的卷积层,步长为1,此时的感受野是 ( D )
A、10
B、11
C、12
D、13
感受野:现在的一个像素对应原来的多少个像素
倒推上一层感受野Ln-1 =( Ln -1)* Sn-1+ Kn-1 ,S 和 K分别是stride(步长)和kernel size(卷积核大小)
卷积层3x3,步长1: 1(1-1)+3=3*3;
池化层 2x2,步长2:2(3-1)+2=6*6
卷积层3x3,步长2:2(6-1)+3=13*13
32、在训练神经网络时,损失函数(loss)在最初的几个epochs时没有下降,可能的原因是?( D)
A、学习率(learning rate)太低
B、正则参数太高
C、陷入局部最小值
D、以上都有可能
33、下图是一个利用sigmoid函数作为激活函数的含四个隐藏层的神经网络训练的梯度下降图。这个神经网络遇到了梯度消失的问题。下面哪个叙述是正确的?( A )
A、第一隐藏层对应D,第二隐藏层对应C,第三隐藏层对应B,第四隐藏层对应A
B、第一隐藏层对应A,第二隐藏层对应C,第三隐藏层对应B,第四隐藏层对应D
C、第一隐藏层对应A,第二隐藏层对应B,第三隐藏层对应C,第四隐藏层对应D
D、第一隐藏层对应B,第二隐藏层对应D,第三隐藏层对应C,第四隐藏层对应A
由于梯度反向传播,在梯度消失情况下越接近输入层,其梯度越小;在梯度爆炸的情况下越接近输入层,其梯度越大。
损失函数曲线越平,就说明梯度消失越厉害,在前向传播中,越接近输出层,梯度越接近0,所以最先消失的一定是离输出层最近的。
由于反向传播算法进入起始层,学习能力降低,这就是梯度消失。换言之,梯度消失是梯度在前向传播中逐渐减为0, 按照图标题所说, 四条曲线是4个隐藏层的学习曲线, 那么第一层梯度最高(损失函数曲线下降明显), 最后一层梯度几乎为零(损失函数曲线变成平直线). 所以D是第一层, A是最后一层。
34、基于二次准则函数的H-K算法较之于感知器算法的优点是 ( B )
A、计算量小
B、可以判别问题是否线性可分
C、其解完全适用于非线性可分的情况
HK算法的思想是在最小均方误差准则下求得权矢量。相对于感知器算法的优点在于,它适用于线性可分和非线性可分的情况。
对于线性可分的情况,给出最优权矢量;对于非线性可分的情况,能够判别出来,以退出迭代过程。
35、有关深度神经网络的训练(Training)和推断(Inference),以下说法中不正确的是:( B )
A、将数据分组部署在不同GPU上进行训练能提高深度神经网络的训练速度。
B、TensorFlow使用GPU训练好的模型,在执行推断任务时,也必须在GPU上运行。
C、将模型中的浮点数精度降低,例如使用float16代替float32,可以压缩训练好的模型的大小。
D、GPU所配置的显存的大小,对于在该GPU上训练的深度神经网络的复杂度、训练数据的批次规模等,都是一个无法忽视的影响因素。
GPU是为了大量并行计算,减少训练花费时间。并不存在GPU训练的模型和CPU训练的模型不同的说法,只是计算方式的不同。
36、当在卷积神经网络中加入池化层(pooling layer)时,变换的不变性会被保留,是吗?( C )
A、不知道
B、看情况
C、是
D、否
池化算法比如取最大值/取平均值等, 都是输入数据旋转后结果不变, 所以多层叠加后也有这种不变性。
37、在下面哪种情况下,一阶梯度下降不一定正确工作(可能会卡住)?( B )
38、构建一个神经网络,将前一层的输出和它自身作为输入。( A )
下列哪一种架构有反馈连接?
A、循环神经网络
B、卷积神经网络
C、限制玻尔兹曼机
D、都不是
反馈即是把当前输出回传到输入项,和下一时刻的输入共同决定下一时刻的输出。
39、sigmoid导数为 ( D )
A、f(z)
B、f(1-z)
C、f(1+z)f(1-z)
D、f(z)(1-f(z))
40、下图所示的网络用于训练识别字符H和T,如下所示 ( D )
训练出来的就是个二分类器,简单举例,如果分类器认为中间一列全为黑就是 T,否则就是H,那么输出全黑;如果分类器认为右下角为黑就是 H,否则就是T,那么输出全白,具体还得看分类器权重是怎么学的
41、CNN常见的Loss函数不包括以下哪个 ( D )
A、softmax_loss
B、sigmoid_loss
C、Contrastive_Loss(对比损失)
D、siamese_loss
在传统的siamese network中一般使用Contrastive Loss作为损失函数,这种损失函数可以有效的处理孪生神经网络中的paired data的关系。
42、在感知机中(Perceptron)的任务顺序是什么?( D )
1、随机初始化感知机的权重 2、去到数据集的下一批(batch)
3、如果预测值和输出不一致,则调整权重 4、对一个输入样本,计算输出值
A、1, 2, 3, 4
B、4, 3, 2, 1
C、3, 1, 2, 4
D、1, 4, 3, 2
43、在一个神经网络中,下面哪种方法可以用来处理过拟合?( D )
A、Dropout
B、分批归一化(Batch Normalization)
C、正则化(regularization)
D、都可以
44、在选择神经网络的深度时,下面哪些参数需要考虑? ( C )
1 神经网络的类型(如MLP,CNN) 2 输入数据 3 计算能力(硬件和软件能力决定)
4 学习速率 5 映射的输出函数
A、1,2,4,5
B、2,3,4,5
C、都需要考虑
D、1,3,4,5
45、当数据过大以至于无法在RAM中同时处理时,哪种梯度下降方法更加有效?( A )
A、随机梯度下降法(Stochastic Gradient Descent)
B、不知道
C、整批梯度下降法(Full Batch Gradient Descent)
D、都不是
梯度下降法:随机梯度下降(每次用一个样本)、小批量梯度下降法(每次用一小批样本算出总损失, 因而反向传播的梯度折中)、全批量梯度下降法则一次性使用全部样本。
这三个方法, 对于全体样本的损失函数曲面来说, 梯度指向一个比一个准确. 但是在工程应用中,受到内存/磁盘IO的吞吐性能制约, 若要最小化梯度下降的实际运算时间, 需要在梯度方向准确性和数据传输性能之间取得最好的平衡. 所以, 对于数据过大以至于无法在RAM中同时处理时, RAM每次只能装一个样本, 那么只能选随机梯度下降法。
46、批规范化(Batch Normalization)的好处都有啥 ( A )
A、让每一层的输入的范围都大致固定
B、它将权重的归一化平均值和标准差
C、它是一种非常有效的反向传播(BP)方法
D、这些均不是
BN是对数据进行归一化,而不是权重
batch normalization的作用是将经过activation的输出特征图归一化接近均值为0,方差为1的正太分布。
47、在一个神经网络中,知道每一个神经元的权重和偏差是最重要的一步。如果知道了神经元准确的权重和偏差,便可以近似任何函数,但怎么获知每个神经的权重和偏移呢?( B )
A、搜索每个可能的权重和偏差组合,直到得到最佳值
B、赋予一个初始值,然后检查跟最佳值的差值,不断迭代调整权重
C、随机赋值,听天由命
D、以上都不正确的
深度学习是根据梯度下降优化参数的
三、多选
1、深度学习中的激活函数需要具有哪些属性 ( A B D )
A、计算简单
B、非线性
C、具有饱和区
D、几乎处处可微
非线性:即导数不是常数
几乎处处可微(即仅在有限个点处不可微):保证了在优化中梯度的可计算性
计算简单:激活函数在神经网络前向的计算次数与神经元的个数成正比,因此简单的非线性函数自然更适合用作激活函数。
非饱和性(saturation):饱和指的是在某些区间梯度接近于零(即梯度消失),使得参数无法继续更新的问题。
单调性(monotonic):即导数符号不变。个人理解,单调性使得在激活函数处的梯度方向不会经常改变,从而让训练更容易收敛。
输出范围有限:有限的输出范围使得网络对于一些比较大的输入也会比较稳定,但这导致了前面提到的梯度消失问题,而且强行让每一层的输出限制到固定范围会限制其表达能力。
接近恒等变换(identity):即约等于x。这样的好处是使得输出的幅值不会随着深度的增加而发生显著的增加,从而使网络更为稳定,同时梯度也能够更容易地回传。
参数少:大部分激活函数都是没有参数的。
2、googlenet提出的Inception结构优势有( A D )
A、保证每一层的感受野不变,网络深度加深,使得网络的精度更高
B、使得每一层的感受野增大,学习小特征的能力变大
C、有效提取高层语义信息,且对高层语义进行加工,有效提高网络准确度
D、利用该结构有效减轻网络的权重
3、下列是caffe支持的loss优化的方法的是 ( A B C D )
A、Adam
B、SGD
C、AdaDelta
D、Nesterov
caffe六种优化方法:
Stochastic Gradient Descent (type: “SGD”), 随机梯度下降
AdaDelta (type: “AdaDelta”) 自适应学习率
Adaptive Gradient (type: “AdaGrad”) 自适应梯度
Adam (type: “Adam”) 自适应学习,推荐使用
Nesterov’s Accelerated Gradient (type: “Nesterov”) 加速梯度法
RMSprop (type: “RMSProp”)
4、深度学习中,以下哪些方法可以降低模型过拟合?( A B D )
A、增加更多的样本
B、Dropout
C、增大模型复杂度,提高在训练集上的效果
D、增加参数惩罚
放置模型过拟合:
1.引入正则化(参数范数惩罚)
2.Dropout
3.提前终止训练
4.增加样本量
5.参数绑定与参数共享
6.辅助分类节点(auxiliary classifiers)
7.Batch Normalization