一、判断
1、训练CNN时,可以对输入进行旋转、平移、缩放等预处理提高模型泛化能力。这么说是对,还是不对?(对)
输入进行旋转、平移、缩放等预处理相当于做了数据增强,提升泛化能力
2、深度学习与机器学习算法之间的区别在于,后者过程中无需进行特征提取工作,也就是说,我们建议在进行深度学习过程之前要首先完成特征提取的工作。这种说法是:(错)
机器学习和深度学习都需要特征提取工作
深度学习是直接从数据中自动学习到特征,无需提前人工进行特征提取
二、单选
1、下列哪个函数不可以做激活函数 ( D )
A、y = tanh(x)
B、y = sin(x)
C、y = max(x,0)
D、y = 2x
神经网络的激活函数需要代入非线性性,这样能使神经网络能拟合任何线性和非线性函数的能力。
2、列哪些项所描述的相关技术是错误的 ( C )
A、AdaGrad使用的是一阶差分(first order differentiation)
B、L-BFGS使用的是二阶差分(second order differentiation)
C、AdaGrad使用的是二阶差分
AdaGrad是梯度下降法,用的是一阶导数信息,
L-BFGS是拟牛顿法,在牛顿法的基础上发展而来的,用到了二阶导数信息。
3、假设我们有一个使用ReLU激活函数(ReLU activation function)的神经网络,假如我们把ReLU激活替换为线性激活,那么这个神经网络能够模拟出同或函数(XNOR function)吗?( D )
A、可以
B、不好说
C、不一定
D、不能
加入激活函数,模型具有了模拟非线性函数的作用,如果被替换成了线性,那么模型就不能进行其他非线性函数的模拟。
4、深度学习是当前很热门的机器学习算法,在深度学习中,涉及到大量的矩阵相乘,现在需要计算三个稠密矩阵A,B,C 的乘积ABC,假设三个矩阵的尺寸分别为m∗n,n∗p,p∗q,且m <n < p < q,以下计算顺序效率最高的是 ( A )
A、(AB)C
B、AC(B)
C、A(BC)
D、所以效率都相同
注:不论矩阵大小如何,A选项划分是效率最高的
考查矩阵相乘的效率问题,即需要计算的乘法和加法的次数之和。当m,n,p,q较大时,加法忽略不计。任意两个大小分别为ab,bc的矩阵相乘,需要乘法的次数为a * b * c
A选项的乘法计算次数,m * n * p+m * p * q;
B选项不满足矩阵相乘规则,舍弃;
C选项的乘法计算次数,n * p * q + m * n * q
5、梯度下降算法的正确步骤是什么 ( D )
a.计算预测值和真实值之间的误差
b.重复迭代,直至得到网络权重的最佳值
c.把输入传入网络,得到输出值
d.用随机值初始化权重和偏差
e.对每一个产生误差的神经元,调整相应的(权重)值以减小误差
A、abcde
B、edcba
C、cbaed
D、dcaeb
6、下列哪一项属于特征学习算法(representation learning algorithm)( C )
A、K近邻算法
B、随机森林
C、神经网络
D、都不属于
特征学习能够替代手动特征工程,而只有神经网络是自动学习特征
7、下面哪项操作能实现跟神经网络中Dropout的类似效果 ( B )
A、Boosting
B、Bagging
C、Stacking
D、Mapping
Bagging:独立的集成多个模型,每个模型有一定的差异,最终综合有差异的模型的结果,获得学习最终的结果;
Boosting(增强集成学习):集成多个模型,每个模型都在尝试增强(Boosting)整体的效果;
Stacking(堆叠):集成 k 个模型,得到 k 个预测结果,将 k 个预测结果再传给一个新的算法,得到的结果为集成系统最终的预测结果;
8、caffe中基本的计算单元为 ( B )
A、blob
B、layer
C、net
D、solver
Blob是Caffe的基本存储单元
Layer是Caffe的基本计算单元
9、阅读以下文字:假设我们拥有一个已完成训练的、用来解决车辆检测问题的深度神经网络模型,训练所用的数据集由汽车和卡车的照片构成,而训练目标是检测出每种车辆的名称(车辆共有10种类型)。现在想要使用这个模型来解决另外一个问题,问题数据集中仅包含一种车(福特野马)而目标变为定位车辆在照片中的位置 ( B )
A、除去神经网络中的最后一层,冻结所有层然后重新训练
B、对神经网络中的最后几层进行微调,同时将最后一层(分类层)更改为回归层
C、使用新的数据集重新训练模型
D、所有答案均不对
一个是分类任务,一个是检测任务
10、有关深度学习加速芯片,以下的说法中不正确的是:( C )
A、GPU既可以做游戏图形加速,也可以做深度学习加速
B、用于玩游戏的高配置显卡,也可以用于深度学习计算。
C、Google TPU已经发展了三代,它们只能用于推断(Inference)计算,不能用于训练(Training)计算
D、FPGA最早是作为CPLD的竞争技术而出现的
11、考虑以下问题:假设我们有一个5层的神经网络,这个神经网络在使用一个4GB显存显卡时需要花费3个小时来完成训练。而在测试过程中,单个数据需要花费2秒的时间。 如果我们现在把架构变换一下,当评分是0.2和0.3时,分别在第2层和第4层添加Dropout,那么新架构的测试所用时间会变为多少?( C )
A、少于2s
B、大于2s
C、仍是2s
D、说不准
在架构中添加Dropout这一改动仅会影响训练过程,而并不影响测试过程。
Dropout是在训练过程中以一定的概率使神经元失活,即输出为0,以提高模型的泛化能力,减少过拟合。Dropout 在训练时采用,是为了减少神经元对部分上层神经元的依赖,类似将多个不同网络结构的模型集成起来,减少过拟合的风险。而在测试时,应该用整个训练好的模型,因此不需要dropout。
Batch Normalization(BN),就是在深度神经网络训练过程中使得每一层神经网络的输入保持相近的分布。
对于BN,在训练时,是对每一批的训练数据进行归一化,也即用每一批数据的均值和方差。而在测试时,比如进行一个样本的预测,就并没有batch的概念,因此,这个时候用的均值和方差是全量训练数据的均值和方差,这个可以通过移动平均法求得。
12、关于Attention-based Model,下列说法正确的是 ( A )
A、相似度度量模型
B、是一种新的深度学习网络
C、是一种输入对输出的比例模型
D、都不对
Attention-based Model其实就是一个相似性的度量,当前的输入与目标状态越相似,那么在当前的输入的权重就会越大,说明当前的输出越依赖于当前的输入。严格来说,Attention并算不上是一种新的model,而仅仅是在以往的模型中加入attention的思想,所以Attention-based Model或者Attention Mechanism是比较合理的叫法,而非Attention Model。
13、下列的哪种方法可以用来降低深度学习模型的过拟合问题?( D )
①增加更多的数据
②使用数据扩增技术(data augmentation)
③使用归纳性更好的架构
④ 正规化数据
⑤ 降低架构的复杂度
A、1 4 5
B、1 2 3
C、1 3 4 5
D、所有项目都有用
防止过拟合的几种方法:
引入正则化
Dropout
提前终止训练
增加样本量
14、假设我们有一个如下图所示的隐藏层。隐藏层在这个网络中起到了一定的降纬作用。假如现在我们用另一种维度下降的方法,比如说主成分分析法(PCA)来代替这个隐藏层,那么,这两者的输出效果是一样的吗 ( B )
A、是
B、否
PCA降维的特点在于使用矩阵分解求特征值的方式,提取的是数据分布方差比较大的方向,提取的是主要成分;hidden layer主要是点乘+非线性变换,目的是特征的提取,转换
15、假设你需要调整超参数来最小化代价函数(cost function),会使用下列哪项技术?( D )
A、穷举搜索
B、随机搜索
C、Bayesian优化
D、都可以
穷举搜索法,随机搜索法,贝叶斯优化都可以优化超参数,各有优劣。
所以ABC三种都可实现调整优化超参数。
16、现有一 1920 * 1080 的单通道图像,每个像素用 float32 存储,对其进行 4 个 3 * 3 核的卷积(无 padding),卷积核如下:
1 1 1 1 1 0 0 1 1 0 1 0
1 0 1 1 1 1 1 1 1 1 1 1
1 1 1 0 1 1 1 1 0 0 1 0
1
2
3
若原图像由于量化问题出现了 100 个 INFINITY(无穷),而其他的值都在(-1,1)区间内,则卷积的结果至少有多少个 NaN? ( B )
A、256
B、284
C、296
D、324
因为INFINITY与0相乘为NaN,与除了乘以0以外的任何四则运算,得到的结果仍然是INFINITY。
题目问的是至少有多少个,那么我们就考虑nan最少的情况下的INFINITY分布位置,
17、提升卷积核(convolutional kernel)的大小会显著提升卷积神经网络的性能,这种说法是 ( B )
A、正确的
B、错误的
卷积核的大小是一个超参数,也就意味着改变它有可能增强也可能降低模型的性能。
卷积核越大,特征越多,参数也越多,性能是下降的,因此才有了以多个小卷积核代替大卷积核的做法
18、如果我们用了一个过大的学习速率会发生什么?( D )
A、神经网络会收敛
B、不好说
C、都不对
D、神经网络不会收敛
学习率过小,收敛太慢,学习率过大,震荡不收敛
如果使用自适应优化器,训练到后期学习率是会变小的
19、神经网络模型(Neural Network)因受人类大脑的启发而得名,神经网络由许多神经元(Neuron)组成,每个神经元接受一个输入,对输入进行处理后给出一个输出,如下图所示。请问下列关于神经元的描述中,哪一项是正确的?( E )
A、每个神经元可以有一个输入和一个输出
B、每个神经元可以有多个输入和一个输出
C、每个神经元可以有一个输入和多个输出
D、每个神经元可以有多个输入和多个输出
E、上述都正确
20、BatchNorm 层对于 input batch 会统计出 mean 和 variance 用于计算 EMA。如果input batch 的 shape 为(B, C, H, W),统计出的 mean 和 variance 的 shape 为: ( B )
A、B * 1 * 1 * 1
B、1 * C * 1 * 1
C、B * C * 1 * 1
D、1 * 1 * 1 * 1
B代表图像的batch,即多少张图像一个batch。C代表图像的通道数。
BN是对多张图像的同一通道做Normalization
所以有多少通道就有多少个mean和variance
21、ResNet-50 有多少个卷积层? ( B )
A、48
B、49
C、50
D、51
ResNet-50(50-layer指的是50层网络)首先有个输入7x7x64的卷积,1层
然后经过3 + 4 + 6 + 3 = 16个building block,每个block为3层,所以有16 x 3 = 48层,
最后有个fc层(用于分类) 1层
这50层里只有一个全连接层,剩下的都是卷积层,所以是50-1=49
22、下列哪一项在神经网络中引入了非线性 ( B )
A、随机梯度下降
B、修正线性单元(ReLU)
C、卷积函数
D、以上都不正确
线性修正单元其实是非线性激活函数
卷积运算为线性,单层的神经网络都是线性运算,只有加了激活函数之后,网络才是非线性的运算。
多层神经网络不加激活函数也是线性变换。