残差块(Residual Block)
残差块是 ResNet(深度残差网络) 的核心创新,解决了深层网络训练时的 梯度消失/梯度爆炸问题
核心思想是 “跳过连接”(Skip Connection) :让输入特征“直接跨越”一个或多个卷积层,与输出特征相加,从而缓解深层网络的训练难度。
结构:
- ResNet沿⽤了VGG全3 × 3卷积层的设计。
- 每个卷积层后接BN层和ReLU激活函数,将输⼊直接加在最后的ReLU激活函数。 (这种结构⽤于层数较少的神经⽹络中,⽐如ResNet34。)
- 若输⼊通道数⽐较多,就需要引⼊1 × 1卷积层来调整输⼊的通道数。(瓶颈模块)
BN层用于标准输出,提高模型输出的准确率。
ResNet模型
第⼀个模块前使⽤了步幅为2的最⼤池化层,所以⽆须减⼩⾼和宽
之后的每个模块在第⼀个残差块⾥将上⼀个模块的通道数翻倍,并将⾼和宽减半(通过使用1x1的卷积和实现)
代码实现: