赞
踩
Q1:每当看到一个新的网络,总会思考,这个网络提出来有什么意义,解决了什么问题?
Resnet18中的resnet就时网络结构呗,18应该是权重层的数量(参照VGG16的命名方法,应该时这样理解)。
Q2:为什么会出现Resnet18的结构?串联结构的VGG不行吗?不用16,用56行不行?
答:
(1) 随着网络越来越深,训练变得原来越难,网络的优化变得越来越难。理论上,越深的网络,效果应该更好;但实际上,由于训练难度,过深的网络会产生退化问题,效果反而不如相对较浅的网络(随着层数的增多,训练集上的效果变差,这被称为退化问题)
(2) 随着网络越来越深,当堆叠到一定网络深度时,就会出现梯度消失或梯度爆炸问题
所以说也不是不能用56,但是没必要,可能串联起来的效果还不好,那就不用了。
那我就是想要更深的网络结构,怎么办(你这是在为难我胖虎)?何恺明大神来帮你解决!!!
残差网络是由一系列残差块组成的。一个残差块可以用下图表示,输入通过多次卷积,然后与输入相加
图片截取(PyTorch实现ResNet18_一个不想写代码的程序员的博客-CSDN博客)
看看卷积层有17个,FC层1个,所以是18。要计算输入可输出尺寸可以看图片,不清楚计算公式可以参考基础概念:图片的卷积和池化操作_图卷积的池化_呆呆珝的博客-CSDN博客
注意点:
(1)这里有虚线和实线,代表什么呢?实线表示残差块中的通道数没有变化,虚线表示通道数变化,例如64->128。
(2)那通道数变化了怎么办?通过1*1卷积调整一下通道数,然后将步长调整成2就行了呀。
大神提出的东西就是这么朴实,不像有些学者,讲一大堆理论,说名词,还说不清楚(小小吐槽一下)。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。