ResNet研读的的一些杂记

网络结构的亮点(源于VGG19)

  • 超深的网络结构
  • 提出residual模块和短路连接,有效解决深层网络的退化问题
  • 使用Batch Normalization进行批归一化,有效解决梯度消失或者梯度爆炸的现象。

两种不同的block(维度匹配和参数减小的杀手锏)

在这里插入图片描述
右侧的NeckBottle,先使用1*1卷积用来升维或降维。

BasicBlock(左侧)

在这里插入图片描述

使用两层卷积完成。

BottleNeck(右侧)

在这里插入图片描述

使用三层卷积完成。第一层卷积大小33,stride为2,进行降维。最主要的是,对于shortcut捷径分支,也使用11卷积操作。方便了主干分支和捷径分支的维度匹配,因为不同维度是无法相加的。

ResNet18、34、152网络的输出(对原输入32倍下采样,最后平均池化拍平)

网络结构如下图所示

在这里插入图片描述

虚线残差结构

相比普通的残差结构,虚线残差结构通过1*1卷积改变维度。

残差学习有效解决深层网络退化问题(通过短路连接实现)

对于深层网络的学习,可以从浅层进行堆叠,极差的情况是什么也不学习,仅仅复制浅层特征,称为恒等映射

短路连接的注意事项

对于短路连接,残差映射F(x)和x进行相加的时候,特征维度很重要,因此需要1*1的卷积做升维和降维,实现维度匹配。

但是对于1*1卷积去做维度的匹配会出现参数增加,计算量增大的情况。此时可以先用pooling进行下采样,在进行zero-padding

Batch Normalization的实现过程(更高维度的理解,求的是谁的均值谁的方差)

下面对于BN的理解纯属个人见解。首先需要知道通道是什么,其实卷积之后的feature map就是一个一个的通道。我们放入网络的输入,是一批一批的图片,那么经过卷积之后会生成多个feature map(即通道)。假设batch0,batch1的通道各有4个,那么对两个batch的channel0的所有元素求和、除以channel0的元素总数,就得到了这个通道的均值ui;对于方差的求解同理,之后对channel0进行归一化,以此类推完成channel2、3、4的归一化。这就是对batch0和batch1完成批归一化。
Batch Normalization详解(原理+实验分析)

  • 18
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值