今日PNAS:利用新型存儲器陣列一步解線性方程組和特徵向量

2020-12-12 騰訊網

海歸學者發起的公益學術平臺

分享信息,整合資源

交流學術,偶爾風月

線性代數存在於幾乎所有的科學和工程領域,比如統計學、物理學、信號處理,和機器學習。線性代數中最核心的一個操作是解不同的矩陣方程,包括解線性方程組和特徵向量等。在傳統計算機上,解矩陣方程需要一些精心設計的算法,如高斯消元法、LU分解法,然後在多項式時間內(比如O(N3),N是矩陣行/列數)獲得方程解。

在大數據時代,人們要處理的數據呈爆發式增長,而很多數據處理本質是一個矩陣方程問題,如谷歌的網頁排序(PageRank算法)、利用超級計算機模擬量子效應(解薛丁格方程)。隨著摩爾定律的失效,以及由於馮諾依曼架構存儲、計算分離的固有限制,想更快、更省地完成數據處理變得越來越難,而計算的時間和能耗效率在大數據時代顯得尤為重要。

近年來,存內計算(in-memory computing)興起,通過在存儲單元內完成計算將顯著提高計算效率。一個典型的存內計算例子是利用阻變存儲器(或稱憶阻器)的交叉陣列一步完成矩陣-向量乘法的運算,從而快速完成包括訓練神經網絡在內的大數據任務。然而,一步解矩陣方程,如線性方程組Ax = b,仍然是一個挑戰。在我們最新的PNAS文章裡,我們報導了利用交叉存儲陣列,通過引入反饋電路,可以一步解線性方程組和矩陣的特徵向量,進而實現一步解微分方程,包括傅立葉方程、薛丁格方程,和一步完成谷歌的網頁排序。

對於解線性方程組Ax = b,我們採用的電路如圖1(a)所示。電路中包含了一個交叉存儲陣列,陣列中每一個行線和列線之間有一個阻變存儲器件,它的電導值一一對應於矩陣中的一個元素值。已知向量b由行線的輸入電流表示,通過運算放大器(運放)引入的負反饋機制將使行線虛接地,從而列線上運放的輸出電壓可以表示未知向量x的解值。由於矩陣A以非易失的形式存儲在交叉陣列中,一旦施加輸入電流,相應的線性方程組就能一步得到解答。實驗中,我們存儲的矩陣A如圖1(a)所示。圖1(b)給出了一個相應的線性方程組的實驗解,以及它的解析解。可以看到,實驗解十分接近解析解(相對誤差在3%),從而證明了我們方案的可行性。逆矩陣也是線性代數中一項非常重要的內容,它也可以通過求解多個線性方程組獲得,實驗解和解析解的比較如圖1(c)所示。

圖1. 線性方程組求解電路及求解結果。

阻變存儲器件的電導值只能為正數,因此圖1(a)的電路只適用於解係數為正的線性方程組。為了使我們的方案具有普適性,即,解任意實數的線性方程組,我們進一步拓展了電路,如圖2(a)所示。圖中利用了兩個交叉陣列和反相器,實現了兩個正矩陣之間的差,從而能夠代表任意實數矩陣。基於該普適的線性方程組求解電路,利用有限差分法,我們求解了一個微分方程。如圖2(b)所示,在兩個電極之間施加一個電壓,電極之間導線上的溫度分布可以用一維靜態傅立葉方程來描述。圖2(c)給出了該微分方程的電路解,可以發現與方程的解析解完美重合,從而證明了我們的電路用於快速求解實際問題的可靠性。

圖2. 針對任意實數矩陣的線性方程組求解電路,及求解熱傳導的一維傅立葉方程。

基於交叉存儲陣列和運放的負反饋機制,我們還能求解矩陣方程Ax =λx,λ為矩陣的特徵值,x為相應的特徵向量。電路如圖3(a)所示,矩陣A依然由交叉陣列表示,λ由跨阻放大器的跨導表示,反相器的輸出電壓即為待解的x,從而實現一步求解特徵向量。需要注意的是,圖3(a)電路用於求解正特徵值的特徵向量,而假如求解負特徵值的特徵向量,將反相器移去即可,負特徵值的絕對值依然由跨阻放大器的跨導表示。和線性方程組求解電路一樣,特徵向量求解電路也可以拓展到任意實數矩陣。谷歌公司的網頁排序算法(PageRank)本質上就是求解一個隨機矩陣的最大特徵值的特徵向量,因此,我們的電路可以用於一步實現網頁排序,而不需要繁複的迭代算法,從而為搜尋引擎提供加速。圖3(b)表示了各科技巨頭公司的Wikipedia網頁之間的連接情況(網頁i指向網頁j代表網頁i引用網頁j),圖3(c)則給出了電路解的排序結果和解析解之間的比較,可以發現二者排序一致。

圖3. 特徵向量求解電路及PageRank。

薛丁格方程HΨ= EΨ是量子力學的基礎,為了獲得一個量子系統的波函數分布,必須求解相應的薛丁格方程。作為一個微分方程,薛丁格方程可以通過有限差分法轉化為一個特徵向量問題。圖4(a)是一個一維量子勢阱,為了求解它的基態波函數,我們將待求解的波函數離散化,從而將哈密頓量H轉化為一個矩陣,基態能量E則是最小特徵值(負數),而離散化Ψ則是待求解的特徵向量。圖4(b)給出了該波函數的電路解,可以看到它很好地描述了一維量子勢阱基態的波函數分布,因此證明了我們的電路具有很大的潛力用於加速模擬量子系統,比如在新型材料合成和新型藥物開發等領域。

圖4. 利用特徵向量求解電路解一維量子勢阱的基態波函數。

在我們的工作中,通過利用非易失的阻變存儲器(憶阻器)交叉陣列和引入負反饋機制,常見的線性代數問題,包括解線性方程組、解特徵向量、解微分方程可以在一步內完成,從而顯著提高計算速度,同時降低計算能耗,為未來的存內計算系統應用於實際的大數據問題中打下了堅實基礎。

該工作由來自義大利米蘭理工大學的一支團隊完成,團隊專注於利用新型存儲器件加速傳統計算和機器學習的開發。孫仲博士為論文的第一作者,Daniele Ielmini教授為論文的通訊作者。

相關焦點

  • 高等代數|第七章 線性變換--特徵值和特徵向量與對角矩陣
    本文主要介紹特徵值和特徵向量與對角矩陣的基礎知識,希望大家重視這一塊知識點,這一塊也是考研中很重要的一個版塊,也是線性變換的一個過渡,希望大家能夠予以重視,本文的同步思考題都是考研真題,希望大家能夠自主完成.一.特徵值和特徵向量定義1.
  • 線性代數拾遺(一):線性方程組、向量方程和矩陣方程
    線性方程組、向量方程和矩陣方程一、線性方程組線性代數,最基本的問題,就是解線性方程組了。線性方程組就是一組形如 a1x1+a2x2+⋯+anxn=ba1x1+a2x2+⋯+anxn=b的方程。比如這個線性方程組和一開始的方程組是等價的,只是處於不同的狀態,它們的解也是相同的,而顯然行最簡形式的方程組最容易解,所以我們一般都將線性方程組的増廣矩陣轉化為行最簡形式繼而求解。1.3 解的存在性和唯一性還記得線性代數時經常討論的「無解「「唯一解」「無窮多解」吧?首先來看剛才的方程組,經過行變換後,方程組的解已經很顯然了:
  • 特徵值和特徵向量計算證明題
    得二個線性無關的特徵向量:  ; 因為有三個不同的特徵值, 所以對應的特徵向量線性無關 ; 因為有三個不同的特徵值, 所以對應的特徵向量線性無關 的線性無關的特徵向量,
  • 線性代數精華——向量的線性相關
    我們可以把若干個向量組合到一起,這樣的組合稱為向量組,其實就是矩陣。我們可以把一個m * n的矩陣,看成是n個m維的列向量組合而成的向量組。之前我們介紹的Ax=0的齊次線性方程組的解,當R(A) < n時,它是無限多個n維列向量的向量組。有了向量組之後,我們看下一個概念。
  • MATLAB入門之MATLAB求線性方程組的解
    求解多元一次線性方程組的解,可以轉化為求解矩陣解的問題。例如:求下列線性方程組的解解:此方程可列成兩組不同的矩陣方程形式。一是,設X=[x1;x2;x3;x4]為列向量,矩陣A= [1 4 –7 6;0 2 1 1;0 1 1 3;1 0 1 –1],B=[0;-8;-2;1]為列向量,則方程形式為AX=B,其求解過程用左除:由此可見,A\B 的確與inv(A)*B 相等。
  • 2017考研數學線性代數方程組高頻考點
    關於線性代數關於解方程這部分的出題一般是會出一道大題,而向量的線性相關性問題一般轉化為線性方程組有無解的問題,因此同學們可以把兩者串聯在一起進行複習。下面為大家梳理線性代數方程組的相關知識與應用。
  • 高等代數之線性方程組
    二個向量的線性相關在幾何上表示為共線的向量,三個向量的線性相關表示為向量之間的共面。含有零向量的向量組一定線性相關,因為零向量可以由任意向量線性表示,係數全部取0即可。一個向量的極大線性無關組並不唯一,但是每個極大線性無關組所含向量的個數是一樣的,所含向量的個數就叫做向量組的秩。並且含有非零向量的向量組一定有極大無關組並且每一個線性無關的部分組都可以擴充為極大線性無關組,但是全是零向量的向量組沒有極大線性無關組。極大線性無關組的概念就是後面線性空間的基,也是齊次線性方程組解空間的基礎解系。
  • 2020考研數學衝刺:線性代數重點(齊不齊線性方程組)
    1、齊次線性方程組有無零解和非齊次線性方程組是否有解的判定。   對於齊次線性方程組,當方程組的方程個數和未知量的個數不等時,可以按照係數矩陣的秩和未知量個數的大小關係來判定;   還可以利用係數矩陣的列向量組是否相關來判定;當方程組的方程個數和未知量個數相同時,可以利用係數行列式與零的大小關係來判定,還可以利用係數矩陣有無零特徵值來判定;   對於非齊次線性方程組,可以利用係數矩陣的秩和增廣矩陣的秩是否相等即有關矛盾方程來判定
  • 2017考研線代重點:高斯消元法解線性方程組
    解線性方程組是線性代數的複習重點,高斯消元法是最基礎和最直接的求解線性方程組的方法,2017考生必須要掌握,下面我們就具體來談談如何把這部分的基礎打好。   線性方程組的三種形式包括原始形式、矩陣形式、向量形式,高斯消元法是最基礎和最直接的求解線性方程組的方法,其中涉及到三種對方程的同解變換:   (1)把某個方程的k倍加到另外一個方程上去;   (2)交換某兩個方程的位置;   (3)用某個常數k乘以某個方程。我們把這三種變換統稱為線性方程組的初等變換。
  • 2019考研數學線性代數重點:齊不齊線性方程組
    爭取做好衝刺提分的工作:   1、齊次線性方程組有無零解和非齊次線性方程組是否有解的判定。   對於齊次線性方程組,當方程組的方程個數和未知量的個數不等時,可以按照係數矩陣的秩和未知量個數的大小關係來判定;   還可以利用係數矩陣的列向量組是否相關來判定;當方程組的方程個數和未知量個數相同時,可以利用係數行列式與零的大小關係來判定,還可以利用係數矩陣有無零特徵值來判定;   對於非齊次線性方程組,可以利用係數矩陣的秩和增廣矩陣的秩是否相等即有關矛盾方程來判定
  • 2016考研數學之解線性方程組的方法
    常數項全為零的線性方程稱為齊次方程組,齊次方程組必有零解。齊次方程組的方程組個數若小於未知量個數,則方程組一定有非零解。利用高斯消元法和解的判別定理,以及能夠回答前述的基本問題(1)解的存在性問題和(2)如何求解的問題,利用高斯消元法和解的判別定理,以及能夠回答前述的基本問題(1)解的存在性問題和(2)如何求解的問題,這是以線性方程組為出發點建立起來的最基本理論。
  • 考研數學考前預測重點題型之齊次線性方程組的基礎解系與通解
    線性方程組是線性代數的核心部分,是線性代數重要的基礎理論之一,這部分主要討論了方程組的解的存在性,定義了齊次線性方程組的基礎解系,給出了解的性質和通解的結構和求解方法.在考試中肯定每年必考,它會以客觀題的方式進行考查,也會以解答題的方式進行考查.
  • 線性代數學習的核心——從雞兔同籠到線性方程組
    筆者曾在網上見過一些段子,往往鼓吹這類巧解、妙解,甚至加上一些「目瞪口呆的老師」「大驚失色的博士」作為陪襯,其實,這些巧妙的流程,都是方程組加減消元罷了,配上一套更容易被小學生理解的流程。各類巧妙解法,其實都是解方程組消元過程的等價描述。追求精緻而不求普適,其實是與數學思維背道而馳的,數學是高度抽象的,小時候思維能力不足時,也無妨在巧妙解法中體會數學之趣,但也要在普適解法中領略數學之美、之深刻,這才是奧數教育的真諦,沉迷於前者而否認後者,是走了邪路。
  • 線性方程組(矩陣)的直觀幾何圖形是什麼?
    求解線性方程組是我們經常遇到的問題。當我們將線性方程組表示矩陣的形式Ax=b, 該方程組就蘊藏著兩張圖像:行圖和列圖。這兩張圖能提供給我們求解方程組的兩種視角。我們首先將Ax=b劃分為兩類問題:1、已知Ax, 如何理解b;2、已知A和b,如何求解x。可以看到2是我們要解決的問題,問題1是解決問題2的鋪墊。x=[x1 x2 ……]',b=[b1 b2 ……]',x和b均為列向量。
  • 2018考研數學抽象線性方程組求解問題
    今天小編就針對2017考研數學中抽象線性方程組的求解問題,為大家進行詳細的解答,幫助2018年的考研學子把握複習備考的命題方向!   一、2017考研數學對於線性方程組的考試要求   2017考研數學對於線性方程組的考試要求是:   1.會用Cramer法則;   2.理解齊次線性方程組有非零解的充分必要條件及非齊次線性方程組有解的充分必要條件;   3.理解齊次線性方程組的基礎解系及通解的概念
  • 數學四考試提綱(線性代數)
    掌握行列式的性質,會應用行列式的性質和行列式按行(列)展開定理計算行列式。會用克萊姆法則解線性方程組。三、向量〈考試內容〉向量的概念向量的和數與向量的積向量的線性組合與線性表示,向量組線性相關與線性無關的概念、性質和判別法向量組的極大線性無關組向量組的秩〈考試要求〉了解向量的概念。
  • 「特徵向量新公式」不能改變數學,但也許能改變你的解題方法
    好了,你理解了,這是一個可以對實對稱陣求特徵向量的公式。無論你大學老師還是你的考研輔導班的名師都會告訴你求方陣A特徵向量的流程:第二步:對剛才每個特徵值λ,解線性方程組(λI-A)X=0,找到每個方程的線性無關的的解,得到的解就是特徵值λ對應的特徵向量。
  • 考研數學之——線性代數解析!
    例如方陣的行列式、逆矩陣、向量組的線性相關性、矩陣的秩、線性方程組、特徵值、正定二次型與正定矩陣等問題中都會涉及到行列式。如果試卷中沒有獨立的行列式的試題,必然會在其他章、節的試題中得以體現。所以要熟練掌握行列式常用的計算方法。
  • 透過近幾年考研數學大綱看線性代數六大命題點
    總體來說,線性代數主要包含行列式、矩陣、向量、線性方程組、矩陣的特徵值與特徵向量、二次型六章內容。    總體來說,線性代數主要包含行列式、矩陣、向量、線性方程組、矩陣的特徵值與特徵向量、二次型六章內容。
  • 2017考研數學:討論關於線性方程組的解的問題
    線性方程組是線性代數的考研數學線性代數重難點,也是考察重點,尤其是求解的問題,下面新東方網考研頻道和大家一起來討論下。   線性方程組的特點:方程是未知數的一次齊次式,方程組的數目s和未知數的個數n可以相同,也可以不同。