电商网站设计图片素材,福州网站排名提升,shift wordpress,网站设计自己申请文章目录 一、什么是ResNet#xff1f;二、残差结构#xff08;Residual Structure#xff09;三、Batch Normalization#xff08;BN----批归一化#xff09; 一、什么是ResNet#xff1f; ResNet 网络是在 2015年 由微软实验室中的何凯明等几位大神提出#xff0c;斩获… 文章目录 一、什么是ResNet二、残差结构Residual Structure三、Batch NormalizationBN----批归一化 一、什么是ResNet ResNet 网络是在 2015年 由微软实验室中的何凯明等几位大神提出斩获当年ImageNet竞赛中分类任务第一名目标检测第一名。获得COCO数据集中目标检测第一名图像分割第一名。 ResNet 网络中的两个核心组成部分 残差结构Residual StructureBatch Normalization批归一化 为什么要提出残差结构 在ResNet 网络没有提出来之前所有的神经网络都是通过卷积层和池化层的叠加组成的。 很多人认为卷积层和池化层的层数越多模型的效果会越好 在实际的试验中发现随着卷积层和池化层的叠加学习效果不会逐渐变好反而出现2个问题 1.梯度消失和梯度爆炸 梯度消失若每一层的误差梯度小于1反向传播时网络越深梯度越趋近于0 梯度爆炸若每一层的误差梯度大于1反向传播时网络越深梯度越来越大 2.退化问题 随着层数的增加预测效果反而越来越差, 下面是何凯明他们论文中实验的可视化图可以看出模型层数多的反而没有少的效果好 为了解决梯度消失或梯度爆炸问题论文提出通过数据的预处理以及在网络中使用 BNBatch Normalization层来解决。 为了解决深层网络中的退化问题可以人为地让神经网络某些层跳过下一层神经元的连接隔层相连弱化每层之间的强联系。这种神经网络被称为 残差网络 ResNets ResNet论文提出了 residual结构残差结构来减轻退化问题下图是使用residual结构的卷积网络可以看到随着网络的不断加深效果并没有变差而是变的更好了 ResNet 网络有不同数量的网络层模型下图为 ResNet18、ResNet34、ResNet50、ResNet101、ResNet152 网络的表格化结构图
二、残差结构Residual Structure 如下图所示残差块包含两条路径一条是主路径通常包含多个卷积层用于提取特征另一条是恒等快捷连接允许输入直接跳过主路径的某些层与输出相加 所谓相加是特征矩阵相同位置上的数字进行相加 两条路径的输出在特征维度上需要保持一致以便进行相加操作。这通常通过调整卷积层的步长stride、使用1x1卷积核进行升维或降维等方式来实现。 以ResNet 18网络为例 下面是 ResNet 18网络完整的图形化结构图 部分残差块如下 非残差结构-第一层时(左边结构) 经过卷操作得到输出为[56,56,64]: 通过设置步长stride1、3x3卷积和卷积核64使得高宽与卷积核不变激活函数relu处理通过设置步长stride1、3x3卷积和卷积核64重复特征提取 残差结构-第二层(右边结构) 由上一层的输入为[56,56,64]——输出为[28,28,128] 通过设置步长stride2、3x3卷积和卷积核128使得高宽从56缩减一半到28卷积核从64个更改为128个激活函数relu处理通过设置步长stride1、3x3卷积和卷积核128重复特征提取 快捷连接的输入为[56,56,64]——[1x1x128]——输出为[28,28,128]: 通过设置步长stride2、1x1卷积和卷积核更改使得高宽从56缩减一半到28卷积核从64个更改为128个。与经过卷积层处理后的输出值相加
三、Batch NormalizationBN----批归一化
参考博客 所谓Feature Map特征图是卷积核卷出来的,你用各种情况下的卷积核去乘以原图会得到各种各样的feature map。 在输入一张图片时往往会使用预处理来使得图片满足某一个分布规律以加快特征提取。然后进行一次卷积得到一个feature map而这个feature map就不一定还满足之前所要求的分布规律。 Batch Normalization是指批标准化处理将一批数据的feature map满足均值为0方差为1的分布规律。注意不是对某一张图片的feature map而是一整批的feature map因为BN需要计算整个batch的均值和方差。 如下图 原理 标准化处理在训练过程中对每个小批量数据进行标准化处理即对每个特征维度进行归一化操作。这有助于缓解内部协变量偏移Internal Covariate Shift问题即网络在训练过程中由于参数更新导致的数据分布变化问题。可学习参数为了恢复出原始网络所要学习的特征分布BN引入了可学习的缩放因子γ和偏移因子β使得网络可以通过学习这些参数来调整标准化后的数据分布。训练与测试在训练阶段BN使用当前小批量数据的均值和方差进行标准化处理在测试阶段则使用训练过程中所有小批量数据的均值和方差的移动平均进行标准化处理。 使用注意 1训练时要将traning参数设置为True进行统计在验证时将trainning参数设置为False对统计的值进行验证。在pytorch中可通过创建模型的model.train()和model.eval()方法控制。 2batch_size 每次迭代中模型同时处理多少个数据点尽可能设置大点设置小后表现可能很糟糕设置的越大求的均值和方差越接近整个训练集的均值和方差。 3建议将BN层放在卷积层Conv和激活层例如Relu之间