论文:Fast Algorithms for Convolutional Neural Networks
本博客关注于论文中Winograd 变换部分
在1D,2D和多维度中,最小算法需要等于输入数量的多次乘法。 换句话说,为了计算F(m,r),我们必须访问m + r-1个数据值的间隔,并且为了计算F(m×n,r×s),我们必须访问(m + r- 1)×(n + s-1)数据值。 因此,最小滤波算法需要每个输入一次乘法。
1、F(2x2,3x3)
F(2,3)的标准算法使用2×3 = 6乘法.Winograd [16,p。 43]记录了以下最小算法:
该算法仅使用4次乘法,因此通过公式μ(F(2,3))= 2 + 3 - 1 = 4最小化。它还使用涉及数据的4个加法,3次加法和2次乘法, 过滤器(总和g0 + g2可以计算一次),另外4个加法将产品减少到最终结果。
快