ResNet34理解及其可视化

ResNet34 understanding and its visualization

Posted by Henry on February 28, 2022

ResNet所解决的问题:

深度学习网络在网络深度过高的时候,很容易出现梯度消失的问题。而当梯度消失时(即损失函数求导为0时),权值将不再会更新,对于网络性能也不会再有改善。

而后ResNet被提出,它利用了一个非常简单的思路,通过跳过一些网络层,而直接连接至比较初始的层,从而实现缓解梯度消失的问题。

ResNet34结构

ResNet的主体网络结构是来自VGG-19改进:

image1

而ResNet的提出使得网络层数可以变得很高,而不同深度的网络结构基本一致(ResNet18、34与ResNet50、101、152有略微的差别),只是网络层数不一样而已,其结构对应层数如论文中所述:

image2

ResNet34结构可视化

ResNet34输入的图片为(224, 224, 3)(输入图片的长、输入图片的宽、输入通道(RGB)),整体结构如下图所示:

image3

输入的图片为224*224尺寸的图片,然后先经过第一层卷积Conv1,降维处理:

image4

接着再经过一次maxpool池化层,继续降维:

image5

在图片从224→56时(缩小了4倍),开始进行ResNet处理,其中ResNet网络实现思想如下:

先进行一轮卷积核为kernal=3padding=1stride=1的卷积,输入输出保持不变:

image6

然后继续重复这一结构,并且因为输入输出的维度保持不变,最后直接相加获得具有『深层网络』和『浅层网络』的特征输出:

image7

ResNet34按照论文中,在Layer1中有3个这样的残差结构:

image8

而在Layer1→Layer2的过程中,维度是从56→28,所应用在Layer2中的残差结构也是包含了一个降维的卷积过程:

image9

而其中的Shortcut实现如下:

image10

最终这一个含有降维的残差网络如下:

image12

Layer2实现如下:

image13

Layer3Layer4Layer2实现的方法一致:

image14

接着后面需要再连接一个池化层,继续降维:

image15

最后再经过全连接层+softmax获得各种物体的预测概率:

image16

ResNet34结构就完成啦~!

Reference