从机器学习面经上找的相关知识点,整理如下。
深度学习:
BatchNormalization的作用
深度学习:
1.BatchNormalization的作用
BatchNormalization通常位于卷积层之后、激活函数之前.
神经网络在训练的时候随着网络层数的加深,激活函数的输入值的整体分布逐渐往激活函数的取值区间上下限靠近,从而导致在反向传播时低层的神经网络的梯度消失。而BatchNormalization的作用是通过规范化的手段,将越来越偏的分布拉回到标准化的分布,使得激活函数的输入值落在激活函数对输入比较敏感的区域,从而使梯度变大,加快学习收敛速度,避免梯度消失的问题.
所以在神经网络训练时遇到收敛速度很慢,或梯度爆炸等无法训练的状况时可以尝试BN来解决。另外,在一般使用情况下也可以加入BN来加快训练速度,提高模型精度。
2.循环神经网络为什么好
3.梯度消失
比如在激活函数为sigmoid或者tanh,当输入很大或者很小时,其对应梯度趋近于0。所以在神经网络中,随着隐藏层数的增加,分类准确率反而可能下降。
4.Relu比Sigmoid好在哪里
Sigmoid的导数只有在0的附近时有较好的激活性,而在正负饱和区域的梯度趋向于0,从而产生梯度弥散的现象。而relu在大于0的部分梯度为常数,所以不会有梯度消失现象。
Relu的导数计算的更快。
Relu在负半区的导数为0,所以神经元激活值为负时,梯度为0,此神经元不参与训练,具有稀疏性。
5.VGG使用3x3卷积核的优势是什么
2个3*3的卷积核串联和5*5的卷积核有相同的感知野,前者拥有更少的参数。
多个3*3的卷积核比一个较大尺寸的卷积核有更多层的非线性函数,增加了非线性表达,使判决函数更具有判决性。
6.神经网络中权值共享的是
卷积神经网络、循环神经网络
7.什么是RCNN
一个序列当前的输出与前面的输出也有关,在RNN网络结构中中,隐藏层的输入不仅包括输入层的输出还包含上一时刻隐藏层的输出,网络会对之前的信息进行记忆并应用于当前的输入计算中。
8.什么是Group Convolution
若卷积神将网络的上一层有N个卷积核,则对应的通道数也为N。设群数目为M,在进行卷积操作的时候,将通道分成M份,每个group对应N/M个通道,然后每个group卷积完成后输出叠在一起,作为当前层的输出通道。
9.图像处理中锐化和平滑操作的操作
锐化就是通过增强高频分量来减少图像中的模糊,在增强图像边缘的同时也增加了图像的噪声。
平滑与锐化相反,过滤掉高频分量,减少图像的噪声是图片变得模糊。
10.训练过程中,若一个模型不收敛,那么是否说明这个模型无效?导致模型不收敛的原因有哪些?
并不能说明这个模型无效。
导致模型不收敛的原因可能有:
数据分类的标注不准确,样本的信息量太大导致模型不足以fit整个样本空间。
学习率设置的太大容易产生震荡,太小会导致不收敛。
可能复杂的分类任务用了简单的模型。
数据没有进行归一化的操作。
11.LSTM每个门的计算公式
12.什么是Dropout
在神经网络的训练过程中,对于神经单元按一定的概率将其随机从网络中丢弃,从而达到对于每个mini-batch都是在训练不同网络的效果,防止过拟合。
13.DropConnect的原理
防止过拟合方法的一种。与Dropout不同的是,它不是按概率将隐藏层的节点输出清0,而是对每个节点与之相连的输入权值以一定概率清0。
14.HOG算法原理