首页 >>  正文

矩阵计算图解

来源:baiyundou.net   日期:2024-09-12

作者 | 李梅、施方圆

编辑 | 陈彩娴

10 月 5 日,AlphaTensor 横空出世,DeepMind 宣布其解决了数学领域 50 年来一个悬而未决的数学算法问题,即矩阵乘法。AlphaTensor 成为首个用于为矩阵乘法等数学问题发现新颖、高效且可证明正确的算法的 AI 系统。论文《Discovering faster matrix multiplication algorithms with reinforcement learning》也登上了 Nature 封面。

然而,AlphaTensor 的记录仅保持了一周,便被人类数学家打破了。

来自奥地利林茨约翰·开普勒大学的研究人员 Manuel Kauers 和 Jakob Moosbauer 在其最新工作中表示,他们已经打破 AlphaTensor 的矩阵乘法记录。他们开发了一种以 95 步执行 5×5 矩阵乘法的方法,比 AlphaTensor 的 96 步记录少了一步,此前的记录为 98 步。论文预印版于 10 月 13 日发布在 arxiv 上。

论文地址:https://arxiv.org/abs/2210.04045

论文标题中的 “FBHHRBNRSSSHK”其实就是 DeepMind 论文所有作者姓氏的首字母组合,这种命名方式也是很有趣了:

数学问题的探索永无止境,如作者所说,DeepMind 算法方案 “still not the end of the story”。不过,他们这次的突破是站在巨人也就是 AI 的肩膀上,作者表示,其解决方案是在 DeepMind 方案的基础上应用一系列的转换,从而消除了一步乘法计算。


1

前进 2 步的 AlphaTensor

我们先来简要回顾一下 AlphaTensor 的成绩。

计算机科学中许多数学任务都是通过矩阵乘法来处理的,例如机器学习、计算机图形的创建,各种模拟或数据压缩。而计算机计算乘法的速度要远远慢于加法,因此,即使矩阵乘法的效率提升得很小,也会产生巨大影响,几十年来,数学家们一直在寻找更有效的矩阵乘法算法。

1969 年,德国数学家 Volker Strassen 开发了一种算法,首次将 4×4 矩阵乘法的求解从 64 步减少到 49 步,震动了数学界。

而 Deepmind 这次发布的 AI 系统 AlphaTensor,发现了一种比 Strassen 算法更快的新算法。Demis Hassabis 称,新算法具备在每天数万亿次计算中将效率提高 10% ~ 20% 的潜力。

AlphaTensor 是一次从游戏到数学的飞跃,它基于 2018 年 Deepmind 发布的通用棋盘游戏 AI 系统 AlphaZero。为了训练 AlphaTensor,Deepmind 研究团队将矩阵乘法问题转化成一种 3D 棋盘游戏,每一步都会产生新算法的构建块。AlphaTensor 每次会在数万次移动中进行选择,以尽可能少的步骤生成新算法而获得奖励。Deepmind 将其称为“张量游戏”。

在 5×5 的输入矩阵中,AlphaTensor 独立发现了 Strassen 算法和其他已知的算法。并且,它还开发了比旧算法更有效的新算法。

例如,5×5 矩阵乘法(n=4)以前要计算 80 步,而 AlphaTensor 新算法只需 76 步;当n=5 时,AlphaTensor 将求解从原来的 98 步减少到 96 步。4×4 矩阵乘法由 Strassen 减少到 49 步,AlphaTensor 则将其优化到 47 步。这样的效率是由 AlphaTensor 生成的 70 多个矩阵乘法的算法实现的。

图注:AlphaTensor 发现的算法复杂性与已知矩阵乘法算法比较

此外,AlphaTensor 还可开发特定硬件的算法,用于机器学习。据说目前运行速度比谷歌 TPU 和英伟达 V100 上的算法快 20%。

自主调整乘法算法以适应硬件的方法对人类来说很困难,所以 AlphaTensor 对 Strassen 算法的改进创造了 4×4 矩阵乘法的新上限,是 AI 进步为其他学科提供助力的一大证明。它也表明,原本为传统游戏开发的 AlphaZero 系统可以解决领域之外的数学问题。

2

人类再向前 1 步

在 Manuel Kauers 和 Jakob Moosbauer 的最新研究中,他们主要有两个新发现,一是对于 4×4 矩阵,他们提出了另一种 47 步乘法的求解算法,但不同于先前的解决方案;二是对于 5×5 矩阵,他们首次提出了一种需要 95 步乘法的方案。

在这篇文章中,作者简单展示了这两个矩阵乘法的方案,不久后将发表正式论文,更详细地介绍求解算法的搜索技术。

4 × 4 矩阵的新方案共包含 47 次乘法,如下:

5×5 矩阵(n=5)的 95 步乘法方案如下:

考虑到 GPU 每天要进行万亿次矩阵计算,所以从 98 步到 96 步以及从 96 步到 95 步这样看起来很小的增量改进,实际上能大大提升计算效率,可以让 AI 应用程序在现有硬件上运行得更快。
作者介绍:
Manuel Kauers,林茨约翰内斯开普勒大学的代数教授,该大学代数研究所的负责人。其研究兴趣是计算机代数、符号求和和积分、特殊函数恒等式等。
Jakob Moosbauer,林茨约翰内斯开普勒大学代数研究所博士生。

参考链接:

1.https://the-decoder.com/deepmind-alphatensor-record-for-matrix-multiplication-held-for-a-good-week/

更多内容,点击下方关注:
扫码添加 AI 科技评论 微信号,投稿&进群:

雷峰网

","force_purephv":"0","gnid":"9d268f7a26bfa4afb","img_data":[{"flag":2,"img":[{"desc":"","height":"162","title":"","url":"https://p0.ssl.img.360kuai.com/t0185b9bcc7b7e23fb5.jpg","width":"606"},{"desc":"","height":"343","title":"","url":"https://p0.ssl.img.360kuai.com/t016bd402cd6fac9fbe.jpg","width":"737"},{"desc":"","height":"181","title":"","url":"https://p0.ssl.img.360kuai.com/t01dfd505e7454b50fe.jpg","width":"480"},{"desc":"","height":"571","title":"","url":"https://p0.ssl.img.360kuai.com/t01867e2a177e81ec10.jpg","width":"470"},{"desc":"","height":"1440","title":"","url":"https://p0.ssl.img.360kuai.com/t011dc64f89346c9e46.jpg","width":"1080"},{"desc":"","height":"3923","title":"","url":"https://p0.ssl.img.360kuai.com/t014c277418f6a124a3.jpg","width":"1080"},{"desc":"","height":"2704","title":"","url":"https://p0.ssl.img.360kuai.com/t01e85ef31b0272599b.jpg","width":"1080"},{"desc":"","height":"7163","title":"","url":"https://p0.ssl.img.360kuai.com/t014c66f6a9a44070dd.jpg","width":"1080"},{"desc":"","height":"7216","title":"","url":"https://p0.ssl.img.360kuai.com/t01b23ed2039fcd1785.jpg","width":"1080"},{"desc":"","height":"3705","title":"","url":"https://p0.ssl.img.360kuai.com/t018e756ce43b696c69.jpg","width":"1080"},{"desc":"","height":"520","title":"","url":"https://p0.ssl.img.360kuai.com/t0140675f51c2b40c5b.jpg","width":"389"},{"desc":"","height":"451","title":"","url":"https://p0.ssl.img.360kuai.com/t01fb84b0caa3b64f32.jpg","width":"330"},{"desc":"","height":"300","title":"","url":"https://p0.ssl.img.360kuai.com/t01720106cf95731d77.jpg","width":"700"}]}],"original":0,"pat":"art_src_1,fts0,sts0","powerby":"hbase","pub_time":1666245183000,"pure":"","rawurl":"http://zm.news.so.com/ebcd39f27faa9b8167df58bf308ac25e","redirect":0,"rptid":"28bd76c78c1680d6","s":"t","src":"雷峰网","tag":[{"clk":"ktechnology_1:开普勒","k":"开普勒","u":""}],"title":"人类反超 AI:DeepMind 用 AI 打破矩阵乘法计算速度 50 年记录一周后,数学家再次刷新

闵放肥2879矩阵该如何运算?
叔乐养18528495158 ______ 你好,很高兴为您解答. 两个矩阵只有在其行数与列数均分别相同,而且所有相应位置的元素均相等时,才能称为相等.只有在两个矩阵的行数与列数均分别相同时,才能...

闵放肥2879矩阵计算ABC=D格式,矩阵A、C、D已知,求矩阵B希望老师能尽量讲解的详细点, -
叔乐养18528495158 ______[答案] ABC=D A^(-1)ABC=A^(-1)D BC=A^(-1)D BCC^(-1)=A^(-1)DC^(-1) 所以 B=A^(-1)DC^(-1) 解出A^(-1),C^(-1) 相乘即可.

闵放肥2879同阶矩阵相乘运算法则
叔乐养18528495158 ______ 矩阵相乘需要前面矩阵的行数与后面矩阵的列数相同方可相乘.第一步先将前面矩阵的每一行分别与后面矩阵的列相乘作为结果矩阵的行列.第二步算出结果即可.第一个...

闵放肥2879四阶矩阵求解 -
叔乐养18528495158 ______ 记 P= 1 1 3 2 Q= 3 -2 0 -1 则:A=diag(P,Q) |A|=|P|*|Q|=3 A^-1=diag(P^-1,Q^-1)= -2 1 0 0 3 -1 0 0 0 0 1/3 -2/3 0 0 0 -1 |A^10|=|A|^10=59049

闵放肥2879矩阵的次方怎么计算
叔乐养18528495158 ______ 矩阵的次方用公式A=Q^(-1)*Λ*Q计算.在数学中,矩阵是一个按照长方阵列排列的复数或实数集合,最早来自于方程组的系数及常数所构成的方阵.这一概念由19世纪英国数学家凯利首先提出.矩阵是高等代数学中的常见工具,也常见于统计分析等应用数学学科中.在物理学中,矩阵于电路学、力学、光学和量子物理中都有应用;计算机科学中,三维动画制作也需要用到矩阵.矩阵的运算是数值分析领域的重要问题.将矩阵分解为简单矩阵的组合可以在理论和实际应用上简化矩阵的运算.

闵放肥2879这个矩阵怎么解 -
叔乐养18528495158 ______ 第一个矩阵表示对X进行1,2行互换,第二个矩阵表示对第一次互换结果矩阵,进行2,3列互换,最后得到右边矩阵.反过来思考一下,就可以求出X.还有一种求解方法是右边乘以相应的逆矩阵,得到的结果也一样.望采纳!

闵放肥2879用线性代数矩阵怎么解?
叔乐养18528495158 ______ 线性方程的未知数系数组成一个矩阵,先求出他行列式的值d 把方程右边的常数依次换到上边矩阵的第一列,第二列...求出d1,d2... x1=d1/d x2=d2/d ...

闵放肥2879矩阵(1234,2345,3456,4567)秩的计算方法 -
叔乐养18528495158 ______[答案] 初等行变换化梯矩阵,非零行数即矩阵的秩 1 2 3 4 2 3 4 5 3 4 5 6 4 5 6 7 r4-r3,r3-r2,r2-r1 1 2 3 4 1 1 1 1 1 1 1 1 1 1 1 1 ri-r2,i=1,3,4 0 1 2 3 1 1 1 1 0 0 0 0 0 0 0 0 矩阵的秩为2.

闵放肥2879二阶矩阵的乘法公式
叔乐养18528495158 ______ 二阶矩阵的乘法公式a*d-b*c.在数学中,矩阵是一个按照长方阵列排列的复数或实数集合,最早来自于方程组的系数及常数所构成的方阵.这一概念由19世纪英国数学家凯利首先提出.矩阵是高等代数学中的常见工具,也常见于统计分析等应用数学学科中.在物理学中,矩阵于电路学、力学、光学和量子物理中都有应用;计算机科学中,三维动画制作也需要用到矩阵.矩阵的运算是数值分析领域的重要问题.将矩阵分解为简单矩阵的组合可以在理论和实际应用上简化矩阵的运算.

闵放肥2879这两个矩阵的乘积怎么算?带步骤!!!! -
叔乐养18528495158 ______ 解:分享一种解法,应用分块矩阵计算【用“[a11,a22;a21,a22]”表示2*2方阵,以此类推】. ①将左边的矩阵分成4个“2*2”矩阵,排成[A,E;0,B],其中A=[1,2;0,1]、E=[1,0;0,1]是单位矩阵、0=[0,0;0,0]是零矩阵、B=[2,1;0,-3]. ②将右边的矩...

(编辑:自媒体)
关于我们 | 客户服务 | 服务条款 | 联系我们 | 免责声明 | 网站地图 @ 白云都 2024