深度学习知识点(面试)3

1.正则化的意义

正则化使用来降低overfitting的,减少过拟合的其他方法有:在数据方面可以增加训练数据,在网络上可以使用drop,另一种降低模型复杂度的方式就是在loss函数中加入正则化项,正则化项可以理解为复杂度,loss是越小越好,但是loss加上了正则项之后,为了使loss小,就不能让正则项变大,也就是不能让模型更复杂,这样就降低了模型复杂度,也就降低了过拟合。正则化有L1和L2两种。

 2.减少过拟合的方法

引入正则化、dropout、提前终止训练、增加样本量、Batch normalization、参数共享

3.输入数据归一化的原因

因为深度学习本质就是为了学习数据分布,一旦训练数据与测试数据分布不同,那么网络的泛化能力就大大降低了,另外,如果每个批次数据分布各不相同,那么网络就需要在每次迭代都去学习适应不同的分布,这样将会大大降低网络的训练速度,

4.batch normlization

BN层出现以前,归一化操作一般都在数据的输入层,对输入数据进行求均值和方差做归一化,深度神经网络训练中,可以再任意一层做归一化处理,加快了模型的收敛速度,一定程度解决了深层网络中的梯度弥散问题。

它主要通过对每一层的输入进行归一化,从而保证每层的输入数据分布是稳定的,从而达到加速训练的目的。BN算法在每一次迭代的过程中都进行了归一化,并且将输入数据的分布归一化为均值为0,方差为1的分布。

虽然每层的数据分布都固定了,但是这种分布不一定是前面一层要学习到的数据分布,这样强行归一化会破坏掉刚刚学习到的特征,BN算法的第二步就解决了这个缺点,用两个可学习的变量去还原上一层应该学习到的数据分布。这样可以还原出上一层需要学习的数据分布,这样BN层就把原来不固定的数据分布全部转换为固定的数据分布,而这种数据分布恰恰就是要学习到的分布,从而加速了网络的训练。

5.池化层的反向传播

由于池化层使得特征图的尺寸发生了变化,使得梯度无法对位的进行传播下去,首要条件就是保证传递的loss总和不变。

对于平均池化而言,反向传播过程就是把某个元素的梯度等分成n份分配给前一层,这样保证池化前后的梯度之和保持不变。

对于最大池化而言,也是要满足梯度之和不变的原则,反向传播也就是把梯度直接传给前一层某一个像素,而其他像素不接受梯度,也就是为0,它需要额外记录下池化操作时那个像素值最大,即max_id,这个变量就是记录最大值所在位置,因为在反向传播中会用到。

6.如何理解卷积、池化、全连接层等操作

卷积:捕获图像相邻像素的依赖性;起到类似滤波器的作用,可以得到不同的纹理特征,不同形态的feature map。

激活函数的作用:引入非线性的因素。

池化的作用:减少特征维度大小,使得特征更加容易控制;减少参数的个数,从而控制过拟合程度;增加网络对略微变换后的图像的鲁棒性;达到一种尺寸不变性,即无论物体在哪个方位都可以检测到。

全连接层:分类的作用

 

你可能感兴趣的:(深度学习知识点(面试)3)