ResNet
残差连接
这篇【模型解读】resnet中的残差连接,你确定真的看懂了?的后半部分十分有意义,在李沐老师的视频中也有相关的讨论,截图保存一下。
Bottleneck
为什么可以减少计算量?
上面涉及到了多通道卷积的参数数量计算,参考以下几篇即可:
即,对于一次卷积操作或某一卷积层,会有输入特征图(多通道)作为该次卷积的输入,并输出进行完卷积操作后的特征图(多通道)。
输出特征图的通道数为多少,则该卷积层就会有多少个卷积核,每个卷积核相互独立,分别负责输出最终特征图的某一通道。
而输入特征图的通道数目则决定了每个卷积核的通道数,也就是说,假设输入特征图的通道数为3,则每个卷积核会有3个通道,并对应输入特征图的通道,一一对应进行卷积运算。
接下来就是计算该卷积层的参数数量:
假设输入特征图通道为3,输出通道为2,卷积核大小为3×3,不额外设置padding和stride参数。
则在不考虑偏置项的前提下,该卷积层的参数数量为:
3(输入特征图的通道数,对应于一个卷积核的通道数)×(3×3)(某个卷积核的某一层的参数数量)×2(输出通道数)=54
即,3×(3×3)×2=54
在加上偏置项后,则为:
(3×(3×3)+1)×2=56
总结:
- 输入特征图的通道个数 = 每个卷积核的通道个数(每个卷积核有多少层)
- 卷积核个数 = 输出通道个数