《动手学深度学习》---卷积神经网络复习

《动手学深度学习》---卷积神经网络复习_第1张图片

使用多通道可以拓展卷积层的模型参数。
假设将通道维当作特征维,将高和宽维度上的元素当成数据样本,那么1×1卷积层的作用与全连接层等价。
1×1卷积层通常用来调整网络层之间的通道数,并控制模型复杂度。
《动手学深度学习》---卷积神经网络复习_第2张图片

一方面,ReLU激活函数的计算更简单,例如它并没有sigmoid激活函数中的求幂运算。另一方面,ReLU激活函数在不同的参数初始化方法下使模型更容易训练。这是由于当sigmoid激活函数输出极接近0或1时,这些区域的梯度几乎为0,从而造成反向传播无法继续更新部分模型参数;而ReLU激活函数在正区间的梯度恒为1。

《动手学深度学习》---卷积神经网络复习_第3张图片
《动手学深度学习》---卷积神经网络复习_第4张图片

1×1卷积层的作用主要是实现了跨通道信息交互,利用1×1卷积核实现降维和升维的操作其实就是channel间的信息的线性变化。

《动手学深度学习》---卷积神经网络复习_第5张图片

NiN种利用卷积层+1×1卷积层来等价于mlpconv网络层,用它来代替传统的convolution层。mlp层实际上是卷积加传统的mlp(多层感知器),因为convolution是线性的,而mlp是非线性的,后者能够得到更高的抽象,泛化能力更强。

NiN去掉了AlexNet最后的三个全连接层,选择了输出通道数等于标签类别数的NiN块,然后使用了全剧平均池化层对每个通道中的所有元素求平均并用于分类。这是因为全连接存在的问题:参数量过大,降低了训练的速度,且很容易过拟合。而全剧平均池化对整个网路在结构上做正则化防止过拟合。其直接剔除了全连接层中黑箱的特征,直接赋予了每个channel实际的类别意义。

《动手学深度学习》---卷积神经网络复习_第6张图片

《动手学深度学习》---卷积神经网络复习_第7张图片
《动手学深度学习》---卷积神经网络复习_第8张图片

之所以卷积核大小为1,3和5,是因为可以通过设置padding=0,1,2来让卷积之后的特征维度相等,便于拼接。

传统卷积层是输入数据只和一种尺度卷积核卷积(如3×3),输出固定维度数据(256个特征),所有输出特征(256)基本上是均匀分布在尺寸上的(3×3)。但是inception把在多个尺度上面提取特征,输出的特征就不再是均匀分布,而是相关性强的聚集起来(比如1×1的96个特征聚集,5×5的64个特征聚集),这可以理解成多个密集分布的子特征集。这样同样输出256个特征时,inception就可以把相关性强的特征聚集起来,非关键特征被弱化,输出的“冗余”信息较少。

批量归一化操作如下:
《动手学深度学习》---卷积神经网络复习_第9张图片

引入了这个可学习重构参数γ、β,让我们的网络可以学习恢复出原始网络所要学习的特征分布。

《动手学深度学习》---卷积神经网络复习_第10张图片
《动手学深度学习》---卷积神经网络复习_第11张图片

梯度消失问题在网络深度越深的时候越容易出现,原因就是输入信息和梯度信息在很多层之间传递导致的,而现在这种dense connection相当于每一层都直接连接input和loss,因此就可以减轻梯度消失现象,这样更深网络不是问题。

这种dense connection有正则化的效果,因此对于过拟合有一定的抑制作用,可能是因为参数减少了,所以过拟合现象减轻。

《动手学深度学习》---卷积神经网络复习_第12张图片

《动手学深度学习》---卷积神经网络复习_第13张图片

将DenseNet分成多个dense
block,原因是希望各个dense block内的feature
map的size统一,这样在做concatenation就不会有size的问题。

在处理特征图数量或尺寸不匹配的问题上,ResNet采用零填充或者使用1x1的Conv来扩充特征图数量,而DenseNet是在两个Dense Block之间使用Batch+1x1Conv+2x2AvgPool作为transition layer的方式来匹配特征图的尺寸。 这样就充分利用了学习的特征图,而不会使用零填充来增加不必要的外在噪声,或者使用1x1Conv+stride=2来采样已学习到的特征(stride=2会丢失部分学习的特征)。

你可能感兴趣的:(《动手学深度学习》)