深度学习——ResNet残差网络

151 阅读1分钟

残差块(Residual Block)

残差块是 ResNet(深度残差网络) 的核心创新,解决了深层网络训练时的 梯度消失/梯度爆炸问题

核心思想是 “跳过连接”(Skip Connection) :让输入特征“直接跨越”一个或多个卷积层,与输出特征相加,从而缓解深层网络的训练难度。

结构:

  • ResNet沿⽤了VGG全3 × 3卷积层的设计。
  • 每个卷积层后接BN层和ReLU激活函数,将输⼊直接加在最后的ReLU激活函数。 (这种结构⽤于层数较少的神经⽹络中,⽐如ResNet34。)
  • 若输⼊通道数⽐较多,就需要引⼊1 × 1卷积层来调整输⼊的通道数。(瓶颈模块)

image.png

image.png

BN层用于标准输出,提高模型输出的准确率。

ResNet模型

image.png

第⼀个模块前使⽤了步幅为2的最⼤池化层,所以⽆须减⼩⾼和宽

之后的每个模块在第⼀个残差块⾥将上⼀个模块的通道数翻倍,并将⾼和宽减半(通过使用1x1的卷积和实现)

代码实现:

image.png

image.png

image.png

image.png