每天都在汆肉中醒来青梅,好男人www在线观看,少妇无码自慰毛片久久久久久,国产欧美另类久久久精品丝瓜

登錄注冊
新聞 資訊 金融 知識 財經 理財 科技 金融 經濟 產品 系統 連接 科技 聚焦
首頁 > 金融 > > 正文

矩陣乘法計算速度再次突破極限,我煉丹能更快了嗎?|哈佛、MIT

2021-03-27 03:46:06來源:互聯網

夢晨 發自 凹非寺

量子位 報道 | 公眾號 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

矩陣乘法的加速,看來還沒那么容易。

關鍵詞: 矩陣 乘法 計算 速度

熱點
主站蜘蛛池模板: 隆回县| 五家渠市| 红河县| 长海县| 建宁县| 水富县| 武定县| 庄浪县| 息烽县| 合水县| 聂荣县| 红河县| 雷波县| 隆安县| 兰考县| 漳平市| 郸城县| 汤阴县| 文成县| 日喀则市| 阿拉尔市| 连州市| 长乐市| 兴隆县| 读书| 察隅县| 宜春市| 高碑店市| 芒康县| 东宁县| 长武县| 张家港市| 通渭县| 望江县| 屯门区| 南漳县| 山东省| 卢氏县| 弥渡县| 蒙自县| 罗甸县|