
最新研究发现,谷歌兄弟公司DeepMind的AI系统偶然发现了一种解决现代计算核心基础数学问题的新方法。该公司游戏引擎AlphaZero(以击败国际象棋大师和围棋传奇而闻名)的一个改进版本,竟然胜过一种50多年来一直没有改进的算法。
新的研究集中在被称为数字相乘网格的矩阵上。矩阵乘法是运算许多计算任务的关键,例如处理图像、识别语音命令、训练神经网络、运行模拟以预测天气以及压缩数据以在互联网上共享。
“找到新的矩阵乘法算法可以帮助加快这些应用程序的速度,”该研究的主要作者Alhussein Fawzi说。Alhussein是总部位于伦敦的DeepMind的研究科学家,deep mind是谷歌母公司Alphabet的子公司。
将两个矩阵相乘的标准技术通常是将一个矩阵的行与另一个矩阵的列相乘。然而,1969年,德国数学家Volker Strassen发现了一种更有效的方法,震惊了数学界。当涉及到一对2×2矩阵(每个矩阵有两行和两列)的乘法时,标准算法需要8个步骤。相比之下,Strassen方法只需要7个。
然而,在Strassen取得突破之后的几十年研究中,这个问题的更大版本仍然没有解决。例如,我们仍然不知道如何有效地将一对小到三乘三的矩阵相乘。

这里,我们展示了与Strassen算法相比的标准算法,Strassen算法使用少一个标量乘法(7个而不是8个)来乘以二乘二矩阵。对于整体效率来说,乘法比加法重要得多。
Fawzi从一开始就觉得机器学习可以在这个领域有很大帮助,通过找到最佳模式——也就是说,在矩阵中组合哪些条目以及如何组合它们——来获得正确的结果。
在新的研究中,Fawzi和他的同事探索了AI如何帮助自动发现新的矩阵乘法算法。他们以Strassen的研究为基础,专注于将被称为矩阵乘法张量的3D数字阵列分解为基本元素的方法。
科学家们基于AlphaZero开发了一个名为AlphaTensor的AI系统,他们早些时候开发该系统是为了掌握国际象棋、围棋和其他游戏。他们将分解张量的问题转化为单人游戏,并训练AlphaTensor找到赢得游戏的有效方法。
研究人员指出,这款游戏极具挑战性。AlphaTensor要考虑的可能算法的数量远远大于宇宙中的原子数量,即使是矩阵乘法的小情况。在一个场景中,游戏的每一步有超过1033种可能的走法。
搜索空间是巨大的。在未来几年,我们每天使用的许多基础计算任务的新算法将在机器学习的帮助下被发现。当AlphaTensor启动时,它对矩阵乘法的现有算法一无所知。通过反复玩游戏并从结果中学习,它逐渐得到了改善。
在为矩阵乘法等基本任务发现新颖、高效、可证明正确的算法中,AlphaTensor是第一个AI系统。
AlphaTensor最终发现了多达数千种矩阵乘法算法,适用于检查各种大小的矩阵,揭示出矩阵乘法算法领域比以前想象的更丰富。这些算法比以前任何已知的算法都要快。例如,AlphaTensor发现了一种仅用47步就能运算4×4矩阵乘法的算法,改进了Strassen 50年前的算法,后者用了49步。
这些新算法拥有各种不同的数学性质,具有广泛的潜在应用。科学家们修改了AlphaTensor,以找到在给定硬件设备上的快速算法,如英伟达V100 GPU和谷歌TPU v2。他们发现了在相同硬件上比常用算法快10%到20%的大型矩阵乘法算法。
“AlphaTensor提供了一个重要的概念证明,即通过机器学习,我们可以超越现有的最先进的算法,因此机器学习将在算法发现领域发挥重要作用,”Fawzi说。“我相信在未来几年,我们每天使用的许多基础计算任务的新算法将在机器学习的帮助下被发现。”
Fawzi表示,正在寻求将AlphaTensor应用于计算机科学中使用的其他基本运算,因为计算机科学和数学中的许多问题与研究中构建问题的方式有相似之处。
原文链接:https://spectrum.ieee.org/matrix-multiplication-deepmind
---煤油灯科技victorlamp.com翻译整理---