论文: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个加法将产品减少到最终结果。
快

本文深入探讨了Winograd变换在卷积神经网络中的应用,以减少计算复杂性。具体讨论了F(2x2, 3x3)、F(3x3, 2x2)和F(4x4, 3x3)的快速滤波算法,这些算法通过减少乘法次数来提高效率。对于F(2x2, 3x3),实现了从6乘法到4乘法的转换,而F(3x3, 2x2)和F(4x4, 3x3)同样展示了乘法次数的显著减少。然而,随着瓷砖尺寸的增加,变换的复杂性和数值精度问题也随之增加。"
135562438,7912726,MATLAB实现最小二乘法拟合与消除多项式趋势,"['MATLAB', '数值计算', '数据拟合', '编程语言']
最低0.47元/天 解锁文章
320

被折叠的 条评论
为什么被折叠?



