<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          人工智能揭示矩陣乘法的新可能性

          共 6962字,需瀏覽 14分鐘

           ·

          2024-04-15 10:05

          點(diǎn)擊上方小白學(xué)視覺”,選擇加"星標(biāo)"或“置頂

          重磅干貨,第一時(shí)間送達(dá)


          編者薦語

           

          如果機(jī)器學(xué)習(xí)能夠發(fā)現(xiàn)一種全新的算法理念,這將改變游戲規(guī)則。

          轉(zhuǎn)載自丨ScienceAI


          數(shù)學(xué)家酷愛漂亮的謎題。當(dāng)你嘗試找到最有效的方法時(shí),即使像乘法矩陣(二維數(shù)字表)這樣抽象的東西也會(huì)感覺像玩一場(chǎng)游戲。這有點(diǎn)像嘗試用盡可能少的步驟解開魔方——具有挑戰(zhàn)性,但也很誘人。除了魔方,每一步可能的步數(shù)為 18;對(duì)于矩陣乘法,即使在相對(duì)簡(jiǎn)單的情況下,每一步都可以呈現(xiàn)超過 10^12 個(gè)選項(xiàng)。

          在過去的 50 年里,研究人員以多種方式解決了這個(gè)問題,所有這些都是基于人類直覺輔助的計(jì)算機(jī)搜索。2022 年 10 月,人工智能公司 DeepMind 的一個(gè)團(tuán)隊(duì)展示了如何從一個(gè)新的方向解決這個(gè)問題,在《Nature》雜志的一篇論文中報(bào)告說,他們已經(jīng)成功地訓(xùn)練了一個(gè)神經(jīng)網(wǎng)絡(luò)來發(fā)現(xiàn)新的快速矩陣乘法算法。就仿佛 AI 找到了解決極其復(fù)雜的魔方的未知策略。

          論文鏈接:https://www.nature.com/articles/s41586-022-05172-4

          「這是一個(gè)非常巧妙的結(jié)果。」哥倫比亞大學(xué)計(jì)算機(jī)科學(xué)家 Josh Alman 說,但他和其他矩陣乘法專家也強(qiáng)調(diào),這種人工智能輔助將補(bǔ)充而不是取代現(xiàn)有方法——至少在短期內(nèi)是這樣?!高@就像對(duì)可能成為突破的事物的概念驗(yàn)證?!笰lman 說。結(jié)果只會(huì)幫助研究人員完成他們的任務(wù)。

          仿佛是為了證明這一點(diǎn),《自然》雜志的論文發(fā)表三天后,兩位奧地利研究人員展示了新舊方法如何相互補(bǔ)充。他們使用傳統(tǒng)的計(jì)算機(jī)輔助搜索來進(jìn)一步改進(jìn)神經(jīng)網(wǎng)絡(luò)發(fā)現(xiàn)的一種算法。

          論文鏈接:https://arxiv.org/pdf/2210.04045.pdf

          結(jié)果表明,就像解決魔方的過程一樣,通往更好算法的道路將充滿曲折。

          乘法矩陣

          矩陣乘法是所有數(shù)學(xué)中最基本和最普遍的運(yùn)算之一。要將一對(duì) n×n 矩陣相乘,每個(gè)矩陣都有 n^2 個(gè)元素,你可以將這些元素以特定組合相乘并相加以生成乘積,即第三個(gè) n×n 矩陣。將兩個(gè) n×n 矩陣相乘的標(biāo)準(zhǔn)方法需要 n^3 次乘法運(yùn)算,因此,例如,一個(gè) 2×2 矩陣需要八次乘法。


          對(duì)于具有數(shù)千行和列的較大矩陣,此過程很快就會(huì)變得麻煩。但在 1969 年,數(shù)學(xué)家 Volker Strassen 發(fā)現(xiàn)了一種使用七個(gè)而不是八個(gè)乘法步驟將一對(duì) 2×2 矩陣相乘的過程,代價(jià)是引入了更多的加法步驟。


          如果你只想乘以一對(duì) 2×2 矩陣,則 Strassen 算法不必要地復(fù)雜化。但他意識(shí)到它也適用于更大的矩陣。那是因?yàn)榫仃嚨脑乇旧砜梢允蔷仃嚒@?,可以將具?20,000 行和 20,000 列的矩陣重新設(shè)想為一個(gè) 2×2 矩陣,其四個(gè)元素各為 10,000×10,000 矩陣。然后可以將這些矩陣中的每一個(gè)細(xì)分為四個(gè) 5,000×5,000 塊,依此類推。Strassen 可以應(yīng)用他的方法在此嵌套層次結(jié)構(gòu)的每一層上乘以 2×2 矩陣。隨著矩陣大小的增加,減少乘法所節(jié)省的成本也會(huì)增加。

          Strassen 的發(fā)現(xiàn)促使人們開始尋找高效的矩陣乘法算法,此后啟發(fā)了兩個(gè)不同的子領(lǐng)域。一個(gè)側(cè)重于一個(gè)原則問題:如果你想象將兩個(gè) n×n 矩陣相乘并讓 n 趨于無窮大,那么最快的算法中的乘法步驟數(shù)如何與 n 成比例?

          最佳縮放比例的當(dāng)前記錄 n^2.3728596 屬于麻省理工學(xué)院計(jì)算機(jī)科學(xué)家 Alman 和 Virginia Vassilevska Williams。(最近發(fā)布的預(yù)印本報(bào)告了使用新技術(shù)的微小改進(jìn)。)但這些算法純粹是理論上的興趣,僅在荒謬的大矩陣上勝過 Strassen 等方法。

          論文鏈接:https://arxiv.org/abs/2210.10173


          第二個(gè)子領(lǐng)域的思考規(guī)模較小。在 Strassen 的工作之后不久,以色列裔美國(guó)計(jì)算機(jī)科學(xué)家 Shmuel Winograd 表明 Strassen 已經(jīng)達(dá)到了理論極限:不可能用少于七個(gè)乘法步驟來乘以 2×2 矩陣。但對(duì)于所有其他矩陣大小,所需乘法的最小數(shù)量仍然是一個(gè)懸而未決的問題。小矩陣的快速算法可能會(huì)產(chǎn)生巨大的影響,因?yàn)楫?dāng)乘以合理大小的矩陣時(shí),這種算法的重復(fù)迭代可能會(huì)擊敗 Strassen 的算法。

          論文鏈接:https://www.sciencedirect.com/science/article/pii/0024379571900097

          不幸的是,可能性的數(shù)量是巨大的。即使對(duì)于 3×3 矩陣,「可能的算法數(shù)量也超過了宇宙中的原子數(shù)量,」DeepMind 研究員兼新工作的負(fù)責(zé)人之一 Alhussein Fawzi 說。

          面對(duì)這些令人眼花繚亂的選項(xiàng),研究人員通過將矩陣乘法轉(zhuǎn)化為一個(gè)看起來完全不同的數(shù)學(xué)問題——一個(gè)計(jì)算機(jī)更容易處理的問題——取得了進(jìn)展??梢詫蓚€(gè)矩陣相乘的抽象任務(wù)表示為一種特定類型的數(shù)學(xué)對(duì)象:稱為張量的三維數(shù)字?jǐn)?shù)組。然后,研究人員可以將這個(gè)張量分解為基本分量的總和,稱為「rank-1」張量;這些中的每一個(gè)都代表相應(yīng)矩陣乘法算法中的不同步驟。這意味著找到一個(gè)有效的乘法算法相當(dāng)于最小化張量分解中的項(xiàng)數(shù)——項(xiàng)越少,涉及的步驟就越少。

          通過這種方式,研究人員發(fā)現(xiàn)了新的算法,可以使用比標(biāo)準(zhǔn) n^3 更少的乘法步驟來乘以許多小矩陣大小的 n×n 矩陣。但是,不僅優(yōu)于標(biāo)準(zhǔn)而且優(yōu)于 Strassen 小矩陣算法的算法仍然遙不可及——直到現(xiàn)在。

          Game On

          DeepMind 團(tuán)隊(duì)通過將張量分解變成單人游戲來解決這個(gè)問題。他們從 AlphaGo 的深度學(xué)習(xí)算法入手——AlphaGo 是另一個(gè) DeepMind AI,它在 2016 年學(xué)會(huì)了玩棋盤游戲 Go,足以擊敗頂尖的人類棋手。

          所有的深度學(xué)習(xí)算法都是圍繞神經(jīng)網(wǎng)絡(luò)構(gòu)建的:人工神經(jīng)元網(wǎng)絡(luò)被分類成層,連接強(qiáng)度可以變化,代表每個(gè)神經(jīng)元對(duì)下一層神經(jīng)元的影響程度。這些連接的強(qiáng)度在訓(xùn)練過程的多次迭代中得到調(diào)整,在此期間神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)將它接收到的每個(gè)輸入轉(zhuǎn)換為有助于算法實(shí)現(xiàn)其總體目標(biāo)的輸出。

          在 DeepMind 的新算法(稱為 AlphaTensor)中,輸入代表通往有效矩陣乘法方案的步驟。神經(jīng)網(wǎng)絡(luò)的第一個(gè)輸入是原始矩陣乘法張量,其輸出是 AlphaTensor 為其第一步選擇的 rank-1 張量。該算法從初始輸入中減去這個(gè) rank-1 張量,產(chǎn)生一個(gè)更新的張量,該張量作為新輸入反饋到網(wǎng)絡(luò)中。重復(fù)該過程,直到最終起始張量中的每個(gè)元素都減少為零,這意味著沒有更多的 rank-1 張量可以取出。

          在這一點(diǎn)上,神經(jīng)網(wǎng)絡(luò)發(fā)現(xiàn)了一個(gè)有效的張量分解,因?yàn)樗跀?shù)學(xué)上保證了所有 rank-1 張量的總和恰好等于起始張量。到達(dá)那里所采取的步驟可以轉(zhuǎn)換回相應(yīng)的矩陣乘法算法的步驟。

          游戲是這樣的:AlphaTensor 反復(fù)將張量分解為一組 rank-1 分量。每次,如果 AlphaTensor 找到減少步數(shù)的方法,它就會(huì)獲得獎(jiǎng)勵(lì)。但勝利的捷徑一點(diǎn)也不直觀,就像你有時(shí)必須在魔方上拼湊出一張完美有序的臉,然后才能解決整個(gè)問題。

          該團(tuán)隊(duì)現(xiàn)在有了一種算法,理論上可以解決他們的問題。他們只需要先訓(xùn)練它。

          新路徑

          與所有神經(jīng)網(wǎng)絡(luò)一樣,AlphaTensor 需要大量數(shù)據(jù)進(jìn)行訓(xùn)練,但張量分解是一個(gè)眾所周知的難題。研究人員可以為網(wǎng)絡(luò)提供有效分解的例子很少。相反,他們通過在更簡(jiǎn)單的逆問題上進(jìn)行訓(xùn)練來幫助算法開始:將一堆隨機(jī)生成的 rank-1 張量相加。

          布朗大學(xué)計(jì)算機(jī)科學(xué)家 Michael Littman 說:「他們正在使用簡(jiǎn)單的問題為困難的問題生成更多數(shù)據(jù)?!箤⑦@種向后訓(xùn)練過程與強(qiáng)化學(xué)習(xí)相結(jié)合,其中 AlphaTensor 在尋找有效分解時(shí)會(huì)產(chǎn)生自己的訓(xùn)練數(shù)據(jù),其效果比單獨(dú)使用任何一種訓(xùn)練方法都要好得多。

          DeepMind 團(tuán)隊(duì)訓(xùn)練 AlphaTensor 來分解代表矩陣乘法的張量,最高可達(dá) 12×12。它尋求用于將普通實(shí)數(shù)矩陣相乘的快速算法,以及特定于更受約束的設(shè)置(稱為模 2 運(yùn)算)的算法。(這是僅基于兩個(gè)數(shù)字的數(shù)學(xué),因此矩陣元素只能是 0 或 1,并且 1 + 1 = 0。)研究人員通常從這個(gè)更受限制但仍然廣闊的空間開始,希望這里發(fā)現(xiàn)的算法可以適用于實(shí)數(shù)矩陣。

          訓(xùn)練后,AlphaTensor 在幾分鐘內(nèi)重新發(fā)現(xiàn)了 Strassen 的算法。然后,它針對(duì)每種矩陣大小發(fā)現(xiàn)了多達(dá)數(shù)千種新的快速算法。這些與最著名的算法不同,但乘法步驟數(shù)相同。

          在少數(shù)情況下,AlphaTensor 甚至打破了現(xiàn)有記錄。它最令人驚訝的發(fā)現(xiàn)發(fā)生在模 2 運(yùn)算中,它發(fā)現(xiàn)了一種新算法,可以在 47 個(gè)乘法步驟中將 4×4 矩陣相乘,比 Strassen 算法兩次迭代所需的 49 個(gè)步驟有所改進(jìn)。它還打破了最著名的 5×5 模 2 矩陣算法,將所需的乘法次數(shù)從之前的 98 次記錄減少到 96 次。(但這個(gè)新記錄仍然落后于使用 5×5 矩陣擊敗 Strassen 算法所需的 91 步。)

          這一引人注目的新結(jié)果引起了很多興奮,一些研究人員對(duì)基于 AI 的現(xiàn)狀改進(jìn)大加贊賞。但并非矩陣乘法領(lǐng)域中的每個(gè)人都對(duì)此印象深刻?!肝矣X得它有點(diǎn)被夸大了,」Vassilevska Williams 說?!高@是另一種工具。這不像是,[哦,計(jì)算機(jī)打敗了人類,] 你知道嗎?」

          研究人員還強(qiáng)調(diào),破紀(jì)錄的 4×4 算法的直接應(yīng)用將受到限制:它不僅只在模 2 算法中有效,而且在現(xiàn)實(shí)生活中,除了速度之外還有其他重要的考慮因素。

          Fawzi 也認(rèn)為,這僅僅是個(gè)開始?!赣泻艽蟮母倪M(jìn)和研究空間,這是一件好事,」他說。

          最后的轉(zhuǎn)折

          相對(duì)于成熟的計(jì)算機(jī)搜索方法,AlphaTensor 的最大優(yōu)勢(shì)也是它最大的弱點(diǎn):它不受人類直覺的約束,無法判斷好的算法是什么樣子的,因此它無法解釋自己的選擇。這使得研究人員很難從其成就中學(xué)習(xí)。

          但這可能并沒有看上去那么大的缺點(diǎn)。在 AlphaTensor 結(jié)果公布幾天后,奧地利林茨大學(xué)(JKU)的數(shù)學(xué)家 Manuel Kauers 和他的研究生 Jakob Moosbauer 報(bào)告說又向前邁進(jìn)了一步。

          Manuel Kauers 調(diào)整了 DeepMind 的方法以產(chǎn)生進(jìn)一步的改進(jìn)?!狫akob Moosbauer

          當(dāng) DeepMind 論文發(fā)表時(shí),Kauers 和 Moosbauer 正在使用傳統(tǒng)的計(jì)算機(jī)輔助搜索來尋找新的乘法算法。但與大多數(shù)以新的指導(dǎo)原則重新開始的此類搜索不同,他們的方法通過反復(fù)調(diào)整現(xiàn)有算法來工作,希望從中節(jié)省更多的乘法。以 AlphaTensor 的 5×5 模 2 矩陣算法為起點(diǎn),他們驚奇地發(fā)現(xiàn),他們的方法在短短幾秒鐘的計(jì)算之后,就將乘法步驟從 96 步減少到了 95 步。

          AlphaTensor 還間接幫助他們進(jìn)行了另一項(xiàng)改進(jìn)。此前,Kauers 和 Moosbauer 并沒有費(fèi)心去探索 4×4 矩陣的空間,他們認(rèn)為不可能擊敗 Strassen 算法的兩次迭代。AlphaTensor 的結(jié)果促使他們重新考慮,在從頭開始計(jì)算一周后,他們的方法出現(xiàn)了另一種 47 步算法,與 AlphaTensor 發(fā)現(xiàn)的算法無關(guān)。「如果有人告訴我們 4×4 有什么值得發(fā)現(xiàn)的東西,我們本可以早點(diǎn)做到這一點(diǎn),」Kauers 說?!傅?,好吧,這就是它的工作原理?!?/span>

          Littman 預(yù)計(jì)會(huì)有更多這樣的驚喜,他將這種情況比作跑步者第一次在四分鐘內(nèi)跑完一英里,這一壯舉曾被廣泛認(rèn)為是不可能的?!溉藗兙拖?,[哦,等等,我們可以做到這一點(diǎn),] 現(xiàn)在很多人都可以做到,」他說。

          展望未來,F(xiàn)awzi 希望推廣 AlphaTensor 以解決更廣泛的數(shù)學(xué)和計(jì)算任務(wù),就像它的祖先 AlphaGo 最終擴(kuò)展到其他游戲一樣。

          Kauers 認(rèn)為這是將機(jī)器學(xué)習(xí)應(yīng)用于發(fā)現(xiàn)新算法的真正試金石。他指出,尋求快速矩陣乘法算法是一個(gè)組合問題,無論有無人工協(xié)助,計(jì)算機(jī)搜索都非常適合。但并不是所有的數(shù)學(xué)問題都那么容易確定。他說,如果機(jī)器學(xué)習(xí)能夠發(fā)現(xiàn)一種全新的算法理念,「這將改變游戲規(guī)則。」

          相關(guān)報(bào)道:https://www.quantamagazine.org/ai-reveals-new-possibilities-in-matrix-multiplication-20221123/

          編輯:黃繼彥
                 
          下載1:OpenCV-Contrib擴(kuò)展模塊中文版教程
          在「小白學(xué)視覺」公眾號(hào)后臺(tái)回復(fù):擴(kuò)展模塊中文教程,即可下載全網(wǎng)第一份OpenCV擴(kuò)展模塊教程中文版,涵蓋擴(kuò)展模塊安裝、SFM算法、立體視覺、目標(biāo)跟蹤、生物視覺、超分辨率處理等二十多章內(nèi)容。

          下載2:Python視覺實(shí)戰(zhàn)項(xiàng)目52講
          小白學(xué)視覺公眾號(hào)后臺(tái)回復(fù):Python視覺實(shí)戰(zhàn)項(xiàng)目,即可下載包括圖像分割、口罩檢測(cè)、車道線檢測(cè)、車輛計(jì)數(shù)、添加眼線、車牌識(shí)別、字符識(shí)別、情緒檢測(cè)、文本內(nèi)容提取、面部識(shí)別等31個(gè)視覺實(shí)戰(zhàn)項(xiàng)目,助力快速學(xué)校計(jì)算機(jī)視覺。

          下載3:OpenCV實(shí)戰(zhàn)項(xiàng)目20講
          小白學(xué)視覺公眾號(hào)后臺(tái)回復(fù):OpenCV實(shí)戰(zhàn)項(xiàng)目20講,即可下載含有20個(gè)基于OpenCV實(shí)現(xiàn)20個(gè)實(shí)戰(zhàn)項(xiàng)目,實(shí)現(xiàn)OpenCV學(xué)習(xí)進(jìn)階。

          交流群


          歡迎加入公眾號(hào)讀者群一起和同行交流,目前有SLAM、三維視覺、傳感器、自動(dòng)駕駛、計(jì)算攝影、檢測(cè)、分割、識(shí)別、醫(yī)學(xué)影像、GAN、算法競(jìng)賽等微信群(以后會(huì)逐漸細(xì)分),請(qǐng)掃描下面微信號(hào)加群,備注:”昵稱+學(xué)校/公司+研究方向“,例如:”張三 + 上海交大 + 視覺SLAM“。請(qǐng)按照格式備注,否則不予通過。添加成功后會(huì)根據(jù)研究方向邀請(qǐng)進(jìn)入相關(guān)微信群。請(qǐng)勿在群內(nèi)發(fā)送廣告,否則會(huì)請(qǐng)出群,謝謝理解~


          瀏覽 153
          10點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          10點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  亚洲AV无码一区二区三区动漫 | 爆操熟妇在线视频 | 精品99视频 | 五月天婷婷综合 | 波多野结衣被干 |