经典CNN网络:Resnet18网络结构输入和输出

前言

      Q1:每当看到一个新的网络,总会思考,这个网络提出来有什么意义,解决了什么问题?

      Resnet18中的resnet就时网络结构呗,18应该是权重层的数量(参照VGG16的命名方法,应该时这样理解)。

     Q2:为什么会出现Resnet18的结构?串联结构的VGG不行吗?不用16,用56行不行?

答:

    (1)   随着网络越来越深,训练变得原来越难,网络的优化变得越来越难。理论上,越深的网络,效果应该更好;但实际上,由于训练难度,过深的网络会产生退化问题,效果反而不如相对较浅的网络(随着层数的增多,训练集上的效果变差,这被称为退化问题)

   (2)  随着网络越来越深,当堆叠到一定网络深度时,就会出现梯度消失或梯度爆炸问题

    所以说也不是不能用56,但是没必要,可能串联起来的效果还不好,那就不用了。

   那我就是想要更深的网络结构,怎么办(你这是在为难我胖虎)?何恺明大神来帮你解决!!!

经典CNN网络:Resnet18网络结构输入和输出_第1张图片

Resnet18

1.残差网络

     残差网络是由一系列残差块组成的。一个残差块可以用下图表示,输入通过多次卷积,然后与输入相加

经典CNN网络:Resnet18网络结构输入和输出_第2张图片

2.网络结构图

图片截取(https://blog.csdn.net/weixin_36979214/article/details/108879684?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522162374909216780265420718%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=162374909216780265420718&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduend~default-1-108879684.first_rank_v2_pc_rank_v29&utm_term=pytorch+resnet18&spm=1018.2226.3001.4187)

经典CNN网络:Resnet18网络结构输入和输出_第3张图片

     看看卷积层有17个,FC层1个,所以是18。要计算输入可输出尺寸可以看图片,不清楚计算公式可以参考https://blog.csdn.net/weixin_43999691/article/details/117565500?spm=1001.2014.3001.5501

注意点:

(1)这里有虚线和实线,代表什么呢?实线表示残差块中的通道数没有变化,虚线表示通道数变化,例如64->128。

(2)那通道数变化了怎么办?通过1*1卷积调整一下通道数,然后将步长调整成2就行了呀。

 

大神提出的东西就是这么朴实,不像有些学者,讲一大堆理论,说名词,还说不清楚(小小吐槽一下)。

经典CNN网络:Resnet18网络结构输入和输出_第4张图片

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

你可能感兴趣的:(计算机视觉(分类/检测/分割),神经网络,计算机视觉)