当前位置:首页 > 引流 > 正文内容

矩阵相乘什么时候可以交换顺序(矩阵乘法最快算法)

admin3年前 (2022-10-23)引流991

梦晨 发自 凹非寺 量子位 报道 | 公众账号 QbitAI

n阶矩阵乘法最优解的期间复杂度再次被突破,达到了O(n^2.3728596)。

按定义直接算的话,期间复杂度是O(n³)。

光这么说可能不太直观,从图上可以看出,n足够大时优化后的算法就开始表现出明显优势。

矩阵乘法在深度学习中有着广泛的应用,像卷积神经网络(CNN)中最耗期间的卷积计算,就经常被映射成矩阵乘法。

△图源:DOI 10.3390/electronics8010065

虽然在具体实现上还有非常多障碍,但矩阵相乘底层算法的优化,至少在理论上为深度学习节节省时间间提供了可能相关性。

而科学家们努力的目标,是使n阶矩阵乘法的期间复杂度尽可能接近理论上的最超快度O(n²)。

本次研究共同作者是一对师徒。

△左:Alman 右:Vassilevska Williams

Josh Alman目前是哈佛大学的博士后研究员,主要研究方向是算法设计和复杂度理论。

Virginia Vassilevska Williams是他在MIT读博士期间的导师,研究方向是组合数学和图论在计算领域的应用。

Strassen:用加法替代乘法矩阵乘法的期间复杂度直到1969年才初次被Volker Strassen降至O(n³)以下。

看过《算法导论》的同学应该很熟悉Strassen算法。

以2阶矩阵相乘为例,总共需要进行2³=8次乘法,而2ⁿ的高阶矩阵相乘可以用分块法不断迭代细分解成若干个2阶子矩阵相乘。

Strassen巧妙地通过构造7个中间变量,用增加14次加法为代价省去了一次乘法。

对于

定义

则有

像这样,在M₁-M₇的计算中只有7次乘法操作。由于矩阵乘法计算中乘法的复杂度是O(n³),而加法的复杂度只有O(n²),n越大时此方法的收益就越大。

且分块后每个子矩阵相乘都可以省去一次乘法操作,最终把期间复杂度降低到O(n^2.807)。

这么绕的算法到底怎么想出来的?可惜Strassen在论文中并没有说明这一点。

Strassen算法在实际应用时受到很大限制,如运行时会创建大量的临时变量,在n不够大时反倒更耗费期间。

还有只适合用于稠密矩阵,针对稀疏矩阵有更快的专门算法。

但最重要的是,Strassen的办法让学界意识到,原来矩阵乘法问题还有优化空间啊!

激光法:用张量替代矩阵20世纪70年代末期,科学家们找到知道决问题的新思路,将矩阵计算转换为张量计算。

1981年,Schonhage将此方法优化到O(n^2.522)后,Strassen把这个方法命名为“激光法(Laser Method)”,因为和正交偏振激光有差不多一样之处。

在后来的几十年中,矩阵乘法的每次优化都来自激光法的优化,即如何更有效地把矩阵问题转换成张量问题。

Alman和Williams的优化算法只比14年LeGall的O(n^2.3728639)减少了4e^(-6)。

从历次优化的幅度来看,似乎已逼近激光法的极限。

能算得更快了吗?激光法很少在实际中应用,因为它只在n足够大,大到现代计算机硬件几乎无法处理的时候才能提供优势。

这样的算法被称作“银河算法(Galatic Algorithm)”。

在业界使用最多的还是通过分块法和并行处理控制矩阵的规模。当n不大时,再通过循环展开,内存布局优化等办法针对直觉算法的优化。

还有一点,现实中由于浮点数精度的限制,Strassen法和激光法在计算大规模矩阵时都会产生不小的误差。

△图源:DOI 10.1109/ICPADS.2011.130

矩阵乘法的加速,看来还没那么容易。

扫描二维码推送至手机访问。

版权声明:本文中部分文字、图片、音频、视频来源于互联网及公开渠道,仅供学习参考,版权归原创者所有! 如侵犯到您的权益,请及时通知我们!我们将在第一时间内删除。

本文链接:http://www.73ya.com/yinliu/6067.html

分享给朋友:

“矩阵相乘什么时候可以交换顺序(矩阵乘法最快算法)” 的相关文章

抖音视频剪辑软件推荐 适合抖音视频剪辑的软件

很多人都想在抖音上发布作品,但不会剪辑,也不知道应该用什么剪辑软件。今天我们就一起来看看关于抖音视频剪辑软件推荐,适合抖音视频剪辑的软件的相关内容。 抖音视频剪辑软件推荐  01、《剪映》 剪映大家都知道...

抖音拍摄技巧 抖音拍摄技巧教程

我们在拍摄抖音视频的时候,是不是常常觉得平平无奇,拍摄画面没有哪啊么的丰富。其实拍摄上是有着许多的小技巧的,今天我们就一起来看看关于抖音拍摄技巧,抖音拍摄技巧教程的相关内容。 抖音拍摄技巧  要知道被压缩后的视频相同的分辨率下,除了提升码流外就是色彩和光线了,所以我们要从这两个角度入手...

抖音视频怎么上热门,学会这四个步骤你也行

当你尝到了制作短视频的一点甜头之后,你就更希望自己能不断的精进自己的技巧。自己制作的视频可以被更多的人知道和喜欢。而且你自己也会有一种由内而外的成就感。那么抖音视频其实上热门并没有那么容易。不知道的人以为很轻松,但是其实需要下苦功,那么接下来就跟着小编一起来看看抖音视频怎么上热门吧。...

抖音充值抖音币还有分,充值抖音币的方法有哪些

自从抖音火了之后吗,不仅是在国内还是在国外都享誉盛名,越多的人喜欢抖音短视频,直播也是帅哥美女,那么我们国内想要充值抖音币只要注册一下直接充值就好了,但是对于海外的华人来说却是不太容易,那么就然后我们来看看充值抖音币的方法有哪些? 抖音充值抖音币还有分? 最常见的方法是以下三种: 一...

快手极速版怎么挣钱,邀请好友得更多

快手极速版怎么挣钱?快手一直以来有个挣钱的渠道,但是很多人都不知道,不仅看视频可以挣钱,而且观看的多挣得也多,不仅如此,邀请新用户来看也能获取奖励。听到这里,是不是有点后悔错过了这个赚钱的渠道。那么接下来就跟着小编一起来看看吧。 邀请新朋友奖励 邀请好友当日奖励为最高8元,用户没使用过...

短视频直播带货怎么操作,有哪些技巧

疫情当前,短视频直播领域的发展仍旧如火如荼。短视频直播带货不断发力,短视频播主的成功,也不断让我们发现直播的魅力。直播不仅可以让人买到自己想要的东西,而且还会有很多优惠可言,所以很多人都想去尝试短视频直播带货,我们研究了几千场快手、抖音、淘宝等大平台的直播,找到了直播带货的一些规律和技巧...