DeepMind攻克50年数学难题!AlphaZero史上最快矩阵乘法算法登Nature封面(1)

简介: DeepMind攻克50年数学难题!AlphaZero史上最快矩阵乘法算法登Nature封面
【新智元导读】DeepMind碾压人类高手的AI围棋大师AlphaZero,下一个目标是数学算法!现已发现50年以来最快的矩阵乘法算法。


下围棋碾压人类的AlphaZero,开始搞数学算法了,先从矩阵乘法开始!

在昨天DeepMind团队发表在Nature上的论文中,介绍了 AlphaTensor,这是第一个用于为矩阵乘法等基本计算任务发现新颖、高效、正确算法的AI系统。

论文链接:https://www.nature.com/articles/s41586-022-05172-4.pdfAlphaTensor为一个 50 年来的悬而未决的数学问题找到了新答案:找到两个矩阵相乘的最快方法。先看看这研究都说的啥。提高基础计算算法的效率一直都是学界热点,因为它会影响大量计算的整体速度,从而对智能计算领域产生多米诺骨牌式的效应。上一张图,来看看AlphaTensor有多「能干」。图a,b为AlphaTensor发现的算法在GPU (a) 和 TPU (b)上的加速百分比表现,针对大小为 8,192 × 8,192的矩阵乘法进行了优化矩阵乘法就是这样一项原始任务,从神经网络到科学计算程序,它都是不可或缺的部分。然而,算法发现过程的自动化是复杂的,因为可能的算法空间是巨大的。DeepMind这次发布了一种基于AlphaZero的深度强化学习方法,用于发现任意矩阵乘法的有效且可证明正确的算法。这个算法空间包含标准矩阵乘法算法和递归算法。DeepMind将矩阵乘法算法发现过程(即张量分解问题)制定为一个单人游戏——TensorGame。

AlphaTensor 建立在 AlphaZero 之上,训练了一个神经网络来指导规划过程,以搜索有效的矩阵乘法算法。

我们的框架使用单个智能体来分解各种大小的矩阵乘法张量,从而产生跨各种张量的学习分解技术的转移。为了解决游戏的挑战性,AlphaTensor 使用专门的神经网络架构,利用问题的对称性并利用合成训练游戏。AlphaTensor可扩展到比人工或组合搜索所能达到的算法空间大得多的算法空间。事实上,AlphaTensor 从零开始发现了许多可证明正确的矩阵乘法算法,这些算法在标量乘法的数量方面改进了现有算法。结果表明,AlphaTensor发现的算法在许多矩阵规模上都优于最先进的方法。

从围棋到矩阵乘法:AlphaZero「出圈」


矩阵乘法,学过线性代数的都熟悉,作为矩阵变换的基础运算之一,矩阵乘法是线性代数的基础工具,不仅在数学中有大量应用,在应用数学物理学工程学等领域也有广泛使用。作为构成数学算法的基础运算之一,矩阵乘法的应用史长达数千年。早在古埃及时代,人们就创造了一种无需乘法表的两个数字相乘的算法,希腊数学家欧几里德描述了一种计算最大公约数的算法,这种算法至今仍在使用。在伊斯兰黄金时代,波斯数学家Muhammad ibn Musa al-Khwarizmi设计了新的算法来解决线性和二次方程。事实上,al-Khwarizmi的名字被翻译成拉丁文为Algoritmi,这就是今天英文「算法」一词的前身。但是,尽管今天人们对算法非常熟悉,但是,发现新算法的过程是非常困难的。在我们今天发表在《自然》杂志上的论文中,我们介绍了AlphaTensor,这是第一个用于发现新的、高效的、可证明正确的矩阵乘法等基本任务算法的AI系统。这为数学领域一个长达50年的开放性问题——如何寻找两个矩阵相乘的最快方法——给出了答案。这是DeepMind推动科学发展和利用AI解开最基本问题的又一次实践。AlphaTensor建立在AlphaZero的基础上,后者是一个在国际象棋、围棋和象棋等棋类游戏上表现超出人类的智能体,从下棋,到解决半个世纪以来的数学算法,AlphaZero是如何做到的?

打破矩阵乘法50年最快记录


矩阵乘法是代数中最简单的操作之一,通常在高中数学课上教授。但在课堂之外,这个不起眼的数学运算在当代数字世界有着巨大的影响力,在现代计算机中无处不在。3*3矩阵相乘的计算矩阵乘法被用于处理智能手机上的图像,识别语音命令,为计算机游戏生成图形,运行模拟以预测天气,压缩数据和视频以在互联网上共享等,应用极为广泛。世界各地的公司花费了大量的时间和金钱来开发计算硬件,以有效地进行矩阵乘法。因此,即使是对矩阵乘法效率的微小改进也会产生广泛的影响。几个世纪以来,数学家们认为,标准的矩阵乘法算法是人们在效率方面所能达到的最佳状态。但在1969年,德国数学家Volken Strassen震惊了数学界,他表明确实存在更好的算法。  此前的矩阵乘法的标准算法与Strassen的算法相比,后者在乘2x2矩阵时少用了一个标量乘法(7次而不是8次)。就整体计算效率而言,乘法比加法重要得多。通过研究非常小的矩阵(大小为2x2),他发现了一种巧妙的方法来组合矩阵的条目,从而产生一种更快的算法。尽管经过几十年的研究,这个问题的更大版本仍然没有得到解决--以至于人们不知道如何有效地将两个小到3x3的矩阵相乘。在Nature的新论文中,我们探讨了现代人工智能技术如何推进新矩阵乘法算法的自动发现。AlphaTensor发现了在许多矩阵大小上比现有技术水平更有效的算法。我们的人工智能设计的算法优于人类设计的算法,这是在算法发现领域的一个重大进步。


相关文章
|
18天前
|
机器学习/深度学习 人工智能 算法
当AI提示词遇见精密算法:TimeGuessr如何用数学魔法打造文化游戏新体验
TimeGuessr融合AI与历史文化,首创时间与空间双维度评分体系,结合分段惩罚、Haversine距离计算与加权算法,辅以连击、速度与完美奖励机制,实现公平且富挑战性的游戏体验。
|
8月前
|
机器学习/深度学习 算法
扩散模型=进化算法!生物学大佬用数学揭示本质
在机器学习与生物学交叉领域,Tufts和Harvard大学研究人员揭示了扩散模型与进化算法的深刻联系。研究表明,扩散模型本质上是一种进化算法,通过逐步去噪生成数据点,类似于进化中的变异和选择机制。这一发现不仅在理论上具有重要意义,还提出了扩散进化方法,能够高效识别多解、处理高维复杂参数空间,并显著减少计算步骤,为图像生成、视频合成及神经网络优化等应用带来广泛潜力。论文地址:https://arxiv.org/pdf/2410.02543。
209 21
|
9月前
|
机器学习/深度学习 算法 PyTorch
深度强化学习中SAC算法:数学原理、网络架构及其PyTorch实现
软演员-评论家算法(Soft Actor-Critic, SAC)是深度强化学习领域的重要进展,基于最大熵框架优化策略,在探索与利用之间实现动态平衡。SAC通过双Q网络设计和自适应温度参数,提升了训练稳定性和样本效率。本文详细解析了SAC的数学原理、网络架构及PyTorch实现,涵盖演员网络的动作采样与对数概率计算、评论家网络的Q值估计及其损失函数,并介绍了完整的SAC智能体实现流程。SAC在连续动作空间中表现出色,具有高样本效率和稳定的训练过程,适合实际应用场景。
2450 7
深度强化学习中SAC算法:数学原理、网络架构及其PyTorch实现
|
9月前
|
机器学习/深度学习 人工智能 算法
Transformer打破三十年数学猜想!Meta研究者用AI给出反例,算法杀手攻克数学难题
《PatternBoost: Constructions in Mathematics with a Little Help from AI》提出了一种结合传统搜索算法和Transformer神经网络的PatternBoost算法,通过局部搜索和全局优化交替进行,成功应用于组合数学问题。该算法在图论中的Ramsey数研究中找到了更小的反例,推翻了一个30年的猜想,展示了AI在数学研究中的巨大潜力,但也面临可解释性和通用性的挑战。论文地址:https://arxiv.org/abs/2411.00566
198 13
|
10月前
|
算法
|
12月前
|
并行计算 算法 IDE
【灵码助力Cuda算法分析】分析共享内存的矩阵乘法优化
本文介绍了如何利用通义灵码在Visual Studio 2022中对基于CUDA的共享内存矩阵乘法优化代码进行深入分析。文章从整体程序结构入手,逐步深入到线程调度、矩阵分块、循环展开等关键细节,最后通过带入具体值的方式进一步解析复杂循环逻辑,展示了通义灵码在辅助理解和优化CUDA编程中的强大功能。
|
12月前
|
机器学习/深度学习 算法 搜索推荐
django调用矩阵分解推荐算法模型做推荐系统
django调用矩阵分解推荐算法模型做推荐系统
162 4
|
机器学习/深度学习 人工智能 自然语言处理
深度学习还不如浅层网络?RL教父Sutton持续反向传播算法登Nature
【9月更文挑战第24天】近年来,深度学习在人工智能领域取得巨大成功,但在连续学习任务中面临“损失可塑性”问题,尤其在深度强化学习中更为突出。加拿大阿尔伯塔大学的研究人员提出了一种名为“持续反向传播”的算法,通过选择性地重新初始化网络中的低效用单元,保持模型的可塑性。该算法通过评估每个连接和权重的贡献效用来决定是否重新初始化隐藏单元,并引入成熟度阈值保护新单元。实验表明,该算法能显著提升连续学习任务的表现,尤其在深度强化学习领域效果明显。然而,算法也存在计算复杂性和成熟度阈值设置等问题。
215 2
|
12月前
|
存储 算法
动态规划算法学习一:DP的重要知识点、矩阵连乘算法
这篇文章是关于动态规划算法中矩阵连乘问题的详解,包括问题描述、最优子结构、重叠子问题、递归方法、备忘录方法和动态规划算法设计的步骤。
747 0
|
算法 Java
LeetCode经典算法题:矩阵中省份数量经典题目+三角形最大周长java多种解法详解
LeetCode经典算法题:矩阵中省份数量经典题目+三角形最大周长java多种解法详解
151 6

热门文章

最新文章