ESPNet系列的外围在于空洞卷积金字塔,每层具备不同的dilation rate,在参数量不减少的状况下,可能交融多尺度特色,绝对于深度可拆散卷积,深度可拆散空洞卷积金字塔性价比更高。另外,HFF的多尺度特色交融办法也很值得借鉴
起源:晓飞的算法工程笔记 公众号
ESPNet
论文: ESPNet: Efficient Spatial Pyramid of Dilated Convolutions for Semantic Segmentation
- 论文地址:https://arxiv.org/abs/1803.06815
- 论文代码:https://github.com/sacmehta/ESPNet
Introduction
ESPNet是用于语义宰割的轻量级网络,外围在于ESP模块,该模块蕴含point-wise卷积和空洞卷积金字塔,别离用于升高计算复杂度以及重采样各无效感触域的特色。ESP模块比其它卷积合成办法(mobilenet/shufflenet)更高效,ESPNet能在GPU/笔记本/终端设备上达到112FPS/21FPS/9FPS。
ESP module
ESP模块将规范卷积分解成point-wise卷积和空洞卷积金字塔(spatial pyramid of dilated convolutions),point-wise卷积将输出映射到低维特色空间,空洞卷积金字塔应用$K$组$n\times n$空洞卷积同时重采样低维特色,每个空洞卷积的dilation rate为$2^{k-1}$,$k=\{1, \cdots, K\}$。这种合成办法可能大量缩小ESP模块的参数量和内存,并且放弃较大的无效感触域。
Width divider K
对于输入输出维度为$M$和$N$,卷积核大小为$n\times n$的规范卷积,须要学习的参数量为$n^2MN$,无效感触域为$n^2$。超参数$K$用来调节ESP模块的计算复杂度,首先应用point-wise卷积将输出维度从$M$降为$\frac{N}{K}$(reduce),而后将低维特色别离应用上述的空洞卷积金字塔进行解决(split and transform),最初将K组空洞卷积的输入合并(merge)。ESP模块蕴含$\frac{MN}{K}+\frac{(nN)^2}{K}$参数,无效感触域为$[(n-1)2^{K-1} + 1]^2$,在参数和感触域方面都有肯定的晋升。
Hierarchical feature fusion (HFF) for de-gridding
论文发现,只管空洞卷积金字塔带来更大的感触域,但间接concate输入却会带来奇怪网格纹路,如图2所示。为了解决这个问题,在concate之前先将输入进行层级相加,绝对于增加额定的卷积来进行后处理,HFF可能无效地解决网格纹路而不带来过多的计算量。另外,为了保障网络的梯度传递,在ESP模块增加了一条从输出到输入的shortcut连贯。
Relationship with other CNN modules
论文列举了局部轻量级网络的外围模块进行了比照,能够看到ESP模块在参数量/内存/感触域方面都有很不错的数值。
ESPNet
图4为ESPNet的演进过程,$l$为特色图大小,雷同$l$的模块具备雷同大小的特色图,红色和绿色模块别离为下采样和上采样模块,个别无阐明即$\alpha_2=2$、$\alpha_3=8$。
Experiments
这里只列举了局部试验,具体的其它试验能够去看看论文。
替换图4d中的ESP模块进行试验比照。
与其它语义宰割模型进行比照。
Conclusion
ESPNet是语义宰割的轻量级网络,在保障轻量化的同时,针对语义宰割的场景进行了外围模块的设计,应用空洞卷积金字塔进行多感触域的特征提取以及参数量的缩小,并且应用HFF来奇妙打消网格纹路,非常值得借鉴。
ESPNetV2
论文: ESPNetv2: A Light-weight, Power Efficient, and General Purpose Convolutional Neural Network
- 论文地址:https://arxiv.org/abs/1811.11431
- 论文代码:https://github.com/sacmehta/ESPNetv2
Introduction
模型轻量化共蕴含3种办法,别离为模型压缩,模型量化以及轻量化设计。论文设计了轻量级网络ESPNetv2,次要奉献如下:
- 通用的轻量化网络结构,可能反对视觉数据以及序列化数据,即能反对视觉工作和自然语言解决工作。
- 在ESPNet根底上,退出深度可拆散空洞卷积进行拓展,绝对于ESPNet领有更好的精度以及更少的参数。
- 从试验来看,ESPNetv2在多个视觉工作上有较好的准确率和较低的参数量,工作包含图像分类、语义宰割、指标检测。
- 设计了cyclic learning rate scheduler,比个别的固定学习率的scheduler要好。
Depth-wise dilated separable convolution
假如输出为$X\in \mathbb{R}^{W\times H\times c}$,卷积核为$X\in \mathbb{K}^{n\times n\times c \times \hat{c}}$,输入为$Y\in \mathbb{R}^{W\times H\times \hat{c}}$,规范卷积、分组卷积,深度拆散卷积以及深度可拆散空洞卷积的参数量和无效感触域如表1所示。
EESP unit
论文基于深度可拆散空洞卷积以及分组point-wise卷积改良ESP模块,提出了EESP(Extremely Efficient Spatial Pyramid)模块。原始的ESP模块构造如图1a所示,论文首先将point-wise卷积替换为分组point-wise卷积,而后将计算量较大的空洞卷积替换为深度可拆散空洞卷积,最初仍然应用HFF来打消网格纹路,构造如图1b所示,可能升高$\frac{Md+n^2d^2K}{\frac{Md}{g}+(n^2+d)dK}$倍计算复杂度,$K$为空洞卷积金字塔层数。思考到独自计算$K$个point-wise卷积等同于单个分组数为$K$的point-wise分组卷积,而分组卷积的在实现上更高效,于是改良为图1c的最终构造。
为了更高效地学习多尺度特色,论文提出下采样版本的EESP模块(Strided EESP with shortcut connection to an input image),次要进行以下改良:
- 批改深度可拆散空洞卷积为stride=2的版本。
- 为模块本来的shortcut增加均匀池化操作。
- 将element-wise相加操作替换为concate操作,这样能减少输入的特色维度。
- 为避免随着下采样产生的信息失落,增加一条连贯输出图像的shortcut,该门路应用多个池化操作来使其空间大小与模块输入的特色图统一,而后应用两个卷积来提取特色并调整维度,最初进行element-wise相加。
Network architecture
ESPNetv2的网络结构如表2所示,ESSP模块的每个卷积前面都接BN层以及PReLU,模块最初的分组卷积的PReLU在element-wise相加后进行,$g=K=4$,其它与ESPNet相似。
Cyclic learning rate scheduler
在图像分类的训练中,论文设计了循环学习率调度器,在每个周期$t$,学习率的计算为:
$\eta_{max}$和$\eta_{min}$别离为最大和最小学习率,$T$为循环周期。
循环学习率调度器的可视化如图4所示。
Experiments
图像分类性能比照。
语义宰割性能比照。
指标检测性能比照。
文本生成性能比照。
Conclusion
ESPNetv2在ESPNet的根底上联合深度拆散卷积的设计办法,进行了进一步的模型轻量化,联合了更丰盛的特色交融,模型可能拓展到多种工作中,具备很不错的性能。
CONCLUSION
ESPNet系列的外围在于空洞卷积金字塔,每层具备不同的dilation rate,在参数量不减少的状况下,可能交融多尺度特色,绝对于深度可拆散卷积,深度可拆散空洞卷积金字塔性价比更高。另外,HFF的多尺度特色交融办法也很值得借鉴。
如果本文对你有帮忙,麻烦点个赞或在看呗~
更多内容请关注 微信公众号【晓飞的算法工程笔记】