1、relu优点

1、可以使网络训练更快
2、增加网络的非线性
3、防止梯度消失(弥散)
4、使网络具有稀疏性(可以使一些神经元输出为0)

  • 激活函数tanh(x)或sigmoid(x),这些饱和的非线性激活函数比非饱和非线性激活函数relu训练更慢。采用relu的深度卷积神经网络训练时间比等价的tanh单元要快几倍。

2、dropout

作用:随机将一定比例的神经元置为0。
对于一个有N个节点的神经网络,有了dropout后,就可以看作是2n个模型的集合了。

3、softmax与cross entropy

softmax作用:
将神经网络的输出变为概率分布
数据之和为1,负数变为正数。
[2,0.5,-3]----->约等于[0.81,0.18,0.01]

cross entropy:
交叉熵衡量两个概率分布的距离
1、值越小,两个概率越接近
2、值越大,两个概率越不接近
如模型预测的概率分布为[0.81,0.18,0.01]
loss1 = -[1log(0.81) + 0log(0.18) + 0log(0.01)] = 0.21
模型2预测的概率分布为[0.5,0.3,0.2]
loss= -[1
log(0.5) + 0log(0.3) + 0log(0.2)] = 0.69

4、模型衡量标准

top-1错误率,top-5错误率
top-1错误率:
取概率向量里面最大的那一个作为预测结果,如果分类正确,则预测正确否则预测错误。
top-5:
取概率向量里面前五个大的作为预测结果,预测结果中只要出现了正确类别即为预测正确,否则预测错误。

5、feature map

输入特征图的通道数是多少,卷积核的通道就是多少;
有多少个卷积核就有多少个输出的特征图。

6、网络参数计算

ReLU适合怎么的数据 relu优势_概率分布


Fin输入特征图,Fo输出特征图,Foc输出特征图的通道数。

7、感受野

感受野的定义时卷积神经网络每一层输出的特征图上的像素点在输入图片上映射的区域大小。再通俗点就是,特征图上的一个点跟原图上有关系的点的区域。

SSD,Faster RCNN 等中prior box 和Anchor box的设计都是以感受野为依据做的设计。

ReLU适合怎么的数据 relu优势_ReLU适合怎么的数据_02


ReLU适合怎么的数据 relu优势_ReLU适合怎么的数据_03

8、卷积核

一、为什么使用33的卷积核?
01 深度增加并增加了非线性
3个3
3的卷积核感受野与一个77卷积核感受野等效,但是三个33卷积之间加入了激活函数,与仅使用一个77卷积相比,深度增加增加了非线性。
02 参数量减少
假设输入数据通道大小为C
3个C通道的3
3卷积核参数量为

  • 3*(C33C) = 27CC
    一个C通道的7*7卷积核参数量为
  • C77C = 49CC
    二、11的卷积核的作用
    一种为决策增加非线性因素的方式
    调整网络维度扩维或缩小维度
    eg:mobilienet 使用1
    1卷积核扩维,ResNet使用1*1卷积核减少维度。

9、fine-tuning

微调的作用:
神经网络浅层学习的是通用特征即基础特征,比如边缘,轮廓颜色等特征。深层是针对特定数据的更抽象特征,对于人脸来说可能就是某个人的脸。全连接层就是对特征进行组合并评分分类。
我们可以利用网络前几层学习到的通用特征,仅让网络学习数据的抽象特征,节省资源和时间。

微调:迁移学习策略取决于多种因素,但是最重要的两个是新数据集的大小以及新数据集与原数据集的相似度。分四个主要情景:

  • 新数据集小,内容相似:这种情况下,通常我们只需要训练最后的输出层,及最后一层,因为可能的分类的数量不同,最后一层需要做修改。
  • 新数据集大,内容上相似:这是最理想的情况,我们可以微调整个网络,因为数据集足够大不用担心过拟合。
  • 新数据集量小,内容不相同:由于数据集小,且相似度低,这种情况使用微调效果不是很好,可以尝试冻结大部分卷积层,重新训练网络的高层卷积层及全连接层。
  • 新数据集大,内容不相同:由于数据集大,且相似度比较低,最好不要使用预训练模型,从头开始训练整个网络。

10、same与valid

一般深度学习框架有两种padding模式:same和valid。
在tensorflow/keras框架中,same是默认的,在图像边缘填充0像素;
在pytorch框架中,是自定义地,需要手动设置,如kernel_size = 3,则padding=1:
计算如下:(3-1)/ 2 = 1,因为padding大小不能超过kernel_size 的一半
valid为不填充0像素的模式。卷积核的滑动窗口直接遍历feature map。