By Long Luo
机器学习中需要训练大量数据,涉及大量复杂运算,例如卷积、矩阵等。这些复杂运算不仅多,而且每次计算的数据量很大,如果能针对这些运算进行优化,可以大幅提高性能。
一、矩阵乘法
假设
为
的矩阵,
为
的矩阵,那么称
的矩阵
为矩阵
与
的乘积,
记作
,称为矩阵积(matrix product)。
其中矩阵
中的第
行第
列元素可以表示为:
如下图所示:Figure 1 Matrix Multiplication
假如在矩阵
和矩阵
中,
,那么完成
需要多少次乘法呢?对于每一个行向量
,总共有
行;
对于每一个列向量
,总共有
列;
计算它们的内积,总共有
次乘法计算。
综合可以看出,矩阵乘法的算法复杂度是:
。
二、Strassen算法
那么有没有比