在之前的一篇文章中,我們介紹過如何將矩陣&概率畫成圖,讀者表示妙不可言。最近,該文作者又動手實現了新的想法:將矩陣畫成張量網路圖。
選自math3ma,作者:Algebra,機器之心編譯,參與:李志偉、張倩。
今天,我想分享一種不同的方法來描繪矩陣,它不僅用於數學,也用於物理、化學和機器學習。基本想法是:一個帶有實數項的 m×n 矩陣 M 可以表示從 R^n→R^m 的線性映射。這樣的映射可以被描繪成具有兩條邊的節點。一條邊表示輸入空間,另一條邊表示輸出空間。
我們可以用這個簡單的想法做很多事情。但首先,要指定 m×n 的矩陣 M,必須指定所有 mn 項 M_ij。索引 i 的範圍從 1 到 m,表示輸出空間的維數;j 的範圍從 1 到 n,表示輸入空間的維數。換言之,i 表示 M 的行數,j 表示其列數。如果我們願意,這些符號可以包括在圖中:
這個想法很容易概括。矩陣是一個二維的數組,而一個 n 維的數組被稱為一個 n 階張量或一個 n-張量。像矩陣一樣,一個 n 張量可以用一個節點來表示,每個維度有一個邊。
矩陣乘法是張量的縮並
在上圖中,具有相同索引 j 的邊是縮並的邊。這與兩個矩陣只有在輸入/輸出維度匹配時才能相乘的事實是一致的。你還會注意到結果圖片有兩個自由索引,即 i 和 k,它們確實定義了一個矩陣。
這讓我想起雨水從窗戶滴下來:當兩個雨滴接觸時,它們融合成更大的雨滴。這是矩陣乘法。對於矩陣向量乘法,也有類似的情況:一個矩陣 M 乘以一個向量 v,得到另一個向量 Mv,它是一個具有一個自由邊的節點。
更通俗地說,兩個或更多張量的乘積由一組節點和邊表示,其中具有相同索引的邊發生縮並。
節點形狀可以表示不同的屬性
然後矩陣的轉置可以通過反轉其圖像來表示:
所以對稱矩陣的對稱性保留在圖中!
我也喜歡將等距嵌入(isometric embedding)繪製為三角形的想法:
等距嵌入 U 是從空間 V 到更大維度空間 W 的線性映射,它保留了向量的長度。這樣的圖滿足 U^?U=id_v,但 UU^?≠id_w。換句話說,你可以將小空間 V 嵌入到大空間,然後再投影回 V 中,而不扭曲 V 中的向量(與拓撲中的回縮映射(retraction map)不同)。但是將所有的 W 都壓縮到小 V 上後,你不能指望在將 V 轉回 W 的過程中修復損壞。三角形暗示了這種大與小的特徵。(三角形的底邊比它的尖端大!)一般來說,如下圖所示,單位線性運算元被畫成直線:
矩陣分解也可以畫出很好的圖
這裡,U 和 V 是一元矩陣,所以是等距矩陣,也是三角形。矩陣 D 是一個對角矩陣,我喜歡用一個菱形來表示。總之,矩陣分解是將一個節點分解為多個節點;矩陣乘法是將多個節點融合為一個節點。
上圖說明了這些圖的另一個特點:節點的空間位置並不重要。我可以畫黃色、藍色、綠色和粉色的節點,在水平線、垂直線或之字形等任何我想畫的形狀上。唯一重要的是圖有兩個自由邊。矩陣的乘積是另一個矩陣!
這串圖沒有自由邊。這是一個循環。這與跡是一個數字的事實是一致的,它是一個 0 張量,所以它沒有自由索引。這裡有一個證明,在循環排列下,跡是不變的:
把珠子沿著項鏈滑。好簡潔!
另一方面,一些物理學家和機器學習研究者使用張量網路來計算事物。一個典型的情況可能是這樣的。你有一個量子系統。你想找到一個特殊的線性運算元的主特徵向量,稱為哈密頓量。這個特徵向量存在於一個大得不可思議的希爾伯特空間中,所以你需要一種技術來以壓縮的方式找到這個向量。輸入:Tensor Networks。
的向量空間。現在想像在這個空間上有一個線性運算元。這是一個包含
個項的矩陣。這比可見宇宙中原子的數目還要多,後者只有 10^80 個!要想把這個矩陣存在電腦上,那麼只能祝你好運。總之,張量網路有助於我們以一種原則性的、易於處理的方式處理大量參數。
我一直在做一個項目,在一個更具計算性/物理性的環境中使用這些圖。因此,我傾向於把它們看作張量網路圖,而不是字元串圖。
原文鏈接:https://www.math3ma.com/blog/matrices-as-tensor-network-diagrams