深度可分离卷积

张开发
2026/4/8 23:38:07 15 分钟阅读

分享文章

深度可分离卷积
背景深度可分离卷积最早可追溯到2014 年的 Xception 网络前身相关研究以及更早的轻量化卷积探索。具体内容可以由读者自行探索在本文不再详谈其实是我写的时候我还没读QAQ原理深度可分离卷积就是把传统的CNN“分解”为了深度卷积和逐点卷积下面将具体介绍以上两种卷积。深度卷积所谓深度卷积字面意思可以理解为对图像中更深层次的内容进行卷积操作。传统的CNN处理图像时一般选择不同卷积核大小、相同通道数量的卷积核进行卷积深度卷积则是选择对图像上的每个通道单独进行卷积运算。如图所示原图像为12×12×3我们使用5×5×1的卷积核对每个通道的图像进行卷积随后对每个通道重新拼接最终得到8×8×3的图像。逐点卷积顾名思义我们使用点卷积核对图像进行遍历卷积也就是使用1×1×3的卷积核对图像进行卷积使用256个不同的卷积核最终就能得到8×8×256的图像特征。与传统CNN对比对于传统CNN我们对上图图像进行CNN特征提取我们会选择256个553的卷积核对图像进行卷积操作提取特征显然得到的卷积特征图也是8×8×256。那深度可分离卷积与传统CNN的优势在哪我们为什么要选择深度可分离卷积我们可以由上述内容了解到两种卷积方法都能得到类似的特征图像也就是说两者卷积后的结果其实是类似的那么既然效果是一样的在工程实践中我们另一个考察的指标就是速度我们就可以了解到深度可分离卷积的优势其实是在参数量以及计算量上。我们来计算一下两者的参数量和计算量。传统CNN计算量已知图像大小为12×12×3卷积核大小为5×5×3一共有256个卷积核那么每个卷积核对图像进行卷积得到的参数量为5×5×3×256计算量为5×5×3×256×8×81228800深度可分离卷积计算量已知图像大小为12×12×3深度可分离卷积分为两个阶段使用5×5×1的深度卷积核进行卷积可以得到参数量为5×5×3计算量为5×5×3×8×84800。随后在逐点卷积阶段使用256个1×1×3的卷积核进行逐点卷积参数量为1×1×3×256计算量为1×1×3×256×8×8因此总计算量是5×5×3×8×81×1×3×256×8×8 480049152 53952。显然深度可分离卷积的计算量是极少的。参考内容来源于腾讯云开发者社区参考链接https://cloud.tencent.com/developer/inventory/8193/article/1459538

更多文章