美文网首页
深度可分离卷积与传统卷积

深度可分离卷积与传统卷积

作者: 懒生活 | 来源:发表于2022-12-26 20:40 被阅读0次

    这两种卷积可以达到相似的目的,但运算量和参数容量不同,可分离卷积具有占用运算资源小的优势。


    image.png

    比如一个Df x Df x M的图片,M个通道,像素值Df x Df。要对这个图片进行N维度的转换,最终得到Df x Df x N的张量。这样一个相同的目的,可以用普通卷积实现,也可以用深度可分离卷积实现

    普通卷积实现

    要在N维上观察图片,对于普通卷积,必须有N个卷积核。并且每个卷积核必须有M个通道。因为普通卷积的运算过程是3x3xM卷积核的每个通道与图片的每个通道做每个区域的点积,最后M个通道的点积和在想加,也就是说对于普通卷积图片有几个通道,卷积核必须有几个通道,最后的运算结果只有一维,如果要多维必须得有多个卷积核
    所以对于普通卷积他的参数量(假定卷积核是Dk x Dk大小:
    Dk x Dk x M x N
    普通卷积涉及的乘法数量:
    ((Df x Df) x (Dk x Dk x M)) x N
    其中一个卷积核在一个区域上的运算量是 Dk x Dk x M, 总共有Df x Df个区域。 并且有N个卷积核。

    深度可分离卷积实现

    要把M通道的图片变成N维的张量来分析,深度可分离采用的做法是分两步完成。

    第一步

    一个通道只和一个卷积核运算,且卷积核只有一个通道。M个通道使用M个卷积核。这样输入是Df x Df x M 输出也是Df x Df x M。使用的参数量Dk x Dk x M
    运算量是Df x Df x Dk x Dk x M

    第二步

    继续和一个单点核进行普通卷积生成N维张量。此时单点核必须是M通道,且必须有N个。普通卷积后得到Df x Df x N的张量
    使用的参数量1 x M x N
    运算量是Df x Df x 1 x M x N

    深度卷积+点卷积 相对于传统卷积的优缺点

    深度卷积+点卷积,可以知道在多个维度上提取特征的时候, 不同维度间提取窗口是通过点卷积的1*1核来区别, 而普通卷积多个通道之间的融合可以用更多的参数进行调整的. 相当于可分离卷积牺牲了一些参数的调整方向. 优点就是减少了参数和计算量

    相关文章

      网友评论

          本文标题:深度可分离卷积与传统卷积

          本文链接:https://www.haomeiwen.com/subject/kmrnqdtx.html