中文

间接卷积算法

计算机视觉与模式识别 2019-07-05 v1 机器学习 神经与进化计算

摘要

深度学习框架通常用基于 GEMM 的算法实现卷积算子。在这些算法中,卷积构建于高度优化的 BLAS 库所提供的矩阵-矩阵乘法(GEMM)函数之上。1x1 核的卷积可直接表示为一次 GEMM 调用,但更大核的卷积需要一种特殊的记忆体布局变换——im2col 或 im2row——以适配 GEMM 接口。间接卷积算法提供了 GEMM 原语的效率,却无需 im2col 变换的开销。与基于 GEMM 的算法不同,间接卷积不对数据进行重排以适配 GEMM 原语,而是引入一个间接缓冲区——一个指向图像像素每一行起始位置的指针缓冲区。这将我们修改后的 GEMM 函数的应用扩展到任意核大小、填充、步长和膨胀的卷积。间接卷积算法按输入通道数成比例地减少记忆体开销,并在基于 GEMM 的算法中涉及 im2col 变换的卷积参数上比后者快至多 62%。然而,这在 1x1 步长-1 卷积上以轻微性能下降为代价。

关键词

引用

@article{arxiv.1907.02129,
  title  = {The Indirect Convolution Algorithm},
  author = {Marat Dukhan},
  journal= {arXiv preprint arXiv:1907.02129},
  year   = {2019}
}

备注

Presented on Efficient Deep Learning for Computer Vision workshop at CVPR 2019