1.简述过拟合和欠拟合的含义。用深度学习训练网络时在什么情况下容易导致过拟合?常见的防止模型过拟合的的方法有哪些(答出3种)?
过拟合是指模型在训练数据上拟合很好,但是在测试数据上较差的现象。欠拟合是指模型在训练数据上的表现和在测试数据上一样差。
在训练数据很少,模型很复杂的情况下容易导致过拟合。
防止过拟合的方法有数据增强、使用正则项、迁移学习、模型剪枝等
2.描述神经网络训练过程中梯度消失和梯度爆炸的含义。梯度爆炸会导致什么样的结果?现在流行的应对这些现象的方法是什么?
梯度爆炸是指在深度网络模型中,梯度在逐层回传的过程中由于累积效应逐渐变大,甚至超出数值表示的范围,使得模型各层训练不均衡,导致模型结果很差。梯度消失则与梯度爆炸刚好相反,是由于逐层回传的过程中梯度逐渐减少至无穷小,同样导致模型训练效果差。
3.简述ResNet相对于直筒型网络的创新点及原因。
ResNet网络认为随着深度神经网络层数的加深,网络的效果不应该比浅层的差,但是实际过程中却出现模型退化的现象,作者分析是因为神经网络很难学习identity map的映射,因此在网络中加速残差块,网络只学习残差,当网络层数增加无法继续提高精度时,网络可以学习0映射(而这是更加容易的),因此解决了深度网络训练过程中随着深度加深的模型退化的现象
4.简述BN( batch normalization)和GN(group normalization)的流程,GN相比于BN的优势在哪里?
5.推导反向传播的流程
6.写出交叉熵的公式
7.假设你在卷积神经网络的第一层中有 5 个卷积核,每个卷积核尺寸为 7×7,具有零填充且步幅为 1。该层的输入图片的维度是 224×224×3。那么该层输出的维度是多少?给出计算的通用公式
218 x 218 x 5
(Width-kernelsize+2*pad)/stride+1
(height-kernelsize+2*pad)/stride+1
8.假如现在有个神经网络,激活函数是 ReLU,若使用线性激活函数代替 ReLU,那么该神经网络还能表征 XNOR 函数吗?解释原因
异或(XNOR)关系是非线性的,线性激活函数只能解决线性问题,不能解决非线性问题。如果用线性激活代替 ReLU,则神经网络失去逼近非线性函数的能力。
9.为什么大家都用卷积核为3的卷积,而不用之前在zfnet和alexnet中出现的11的卷积核
1.网络层数增加了
2.计算量变小了
10.用梯度下降训练神经网络的参数,为什么参数有时会被训练为nan值?有什么办法改善?
输入数据本身存在nan值,或者梯度爆炸了(可以降低学习率、或者设置梯度的阈值)
11.卷积核为1的卷积有什么用?
通道降维,保证卷积神经网络可以接受任何尺寸的输入数据