深度学习基础知识总结(面试用,随时更新)

目录

一、基础知识

1、反向传播(BP):

对于反向传播中的第 i 层的参数 w i 和输入 x i 的导数,可以由 z w i = z x i + 1 x i + 1 w i , z x i = z x i + 1 x i + 1 x i 计算。其中 z 为loss。对参数的导数将用于该层参数的更新,对输入的导数则用于误差向前一层的反向传播。

2、激活函数选择:

Sigmoid函数在输入变量 x 两侧取值时,梯度会非常小接近0(梯度的饱和效应),这会导致误差在反向传播过程中很难传到前层。ReLU函数是对于 x >= 0 部分完全消除梯度饱和效应,而且比Sigmoid/Tanh收敛得更快。然而,ReLU很脆弱,很容易死掉,这是因为如果一个非常大的梯度流入,会导致参数变化巨大,容易使得输入的样本大量进入 x < 0 区间,从而获得负数激活变为0,从此ReLU就不再更新了。

3、感受野的计算:

一个全卷积网络(例如有4层CNN,stride=1,KernalSize= 3 × 3 ),则输出的feature map上的一个像素对应前几层CNN的感受野分别是 3 × 3 , 5 × 5 , 7 × 7 , 9 × 9 ;(从网络后层往前层计算,过一个Stride=2的Pooling层需要把感受野 × 2 × 2 ,过一个Stride=1的CNN层需要把感受野 + 1 + 1 )。

4、常用CNN结构:

(1)AlexNet和VGG区别:VGG网络更深,普遍使用小卷积核;AlexNet可以并行运行。
(2)Network-In-Network网络和其他网络的最大差异是用多层感知机(多层全连接层和非线性函数组合)代替原先卷积网络中简单的线性卷积层,并用global average pooling代替全连接层做分类。
(3)GoogLeNet网络:增加Inception Module,对输入(上一层的输出)分别做 1 × 1 , 3 × 3 , 5 × 5 的卷积以及 3 × 3 的max-pooling(还有一些 1 × 1 ),并把它们的结果连接作为下一层的输入(v1版本),可以增加网络的宽度。
(4)ResNet网络:受到LSTM门的启发设计的高速公路网络的一种简特殊情况,能够解决梯度弥散问题(梯度过小使回传的训练误差极小),除了加入了ResBlock,还用global average pooling代替全连接层。

5、数据预处理:

对输入图像做特征归一化的作用:默认一张图像上是一类平稳的数据分布,在每个样本上减去数据的统计平均值可以移除共同部分,凸显不同特征的个体差异。归一化的方法包括:简单缩放特征到[0,1]区间上;逐样本减去数据的统计平均值。

5、TIPS:

(1) Pooling操作可以看作用p-norm作为非线性映射的卷积操作,当p趋近于正无穷时就是Max-Pooling;
(2)此外,选择一堆小kernal卷积运算代替大kernal卷积运算的原因是:a) 增加网络深度和复杂度;b) 减少参数个数;

猜你喜欢

转载自blog.csdn.net/qq_24574309/article/details/81633401
今日推荐