Tensor Networks Meet Neural Networks: A Survey
https://www.researchgate.net/publication/368652722_Tensor_Networks_Meet_Neural_Networks_A_Survey
DOI: 10.48550/arXiv.2302.09019
摘要
張量網(wǎng)絡(luò)(TNs)和神經(jīng)網(wǎng)絡(luò)(NNs)是兩種基本的數(shù)據(jù)建模方法。TNs通過(guò)將指數(shù)級(jí)的維度轉(zhuǎn)化為多項(xiàng)式復(fù)雜度,被提出作為解決大規(guī)模張量維度詛咒的方法,因此在量子物理和機(jī)器學(xué)習(xí)領(lǐng)域吸引了眾多研究。另一方面,NNs是受人類(lèi)大腦生物神經(jīng)網(wǎng)絡(luò)啟發(fā)的計(jì)算系統(tǒng)。近年來(lái),NNs及其變體在多種應(yīng)用中取得了卓越的表現(xiàn),例如計(jì)算機(jī)視覺(jué)、自然語(yǔ)言處理和機(jī)器人研究。有趣的是,盡管這兩種網(wǎng)絡(luò)源于不同的觀察,它們通過(guò)共同的內(nèi)在多線性結(jié)構(gòu)緊密相連,這種結(jié)構(gòu)是TNs和NNs的基礎(chǔ)。因此,關(guān)于TNs與NNs結(jié)合的大量智力火花迸發(fā)出來(lái)。本文將這種描述為“張量網(wǎng)絡(luò)迎接神經(jīng)網(wǎng)絡(luò)”的結(jié)合稱(chēng)為張量神經(jīng)網(wǎng)絡(luò)(TNNs)。本調(diào)查從三個(gè)方面介紹TNNs。1) 網(wǎng)絡(luò)壓縮。TNs可以大大減少NNs中的參數(shù),滿(mǎn)足構(gòu)建高效NNs的理念。2) 信息融合。TNs憑借其建模多模態(tài)、多視角或多種數(shù)據(jù)源之間交互的能力,可以自然且有效地增強(qiáng)NNs。3) 量子電路仿真。TNs可以協(xié)助設(shè)計(jì)和仿真量子神經(jīng)網(wǎng)絡(luò)(QNNs)。本調(diào)查還探討了改進(jìn)TNNs的方法,審查了實(shí)現(xiàn)TNNs的有用工具箱,并嘗試記錄TNN的發(fā)展歷程并突出其潛在的未來(lái)方向。據(jù)我們所知,這是首個(gè)全面橋接NNs、TNs和量子電路之間聯(lián)系的調(diào)查。我們?cè)?https://github.com/tnbar/awesome-tensorial-neural-networks 提供了一個(gè)精選的TNNs列表。
索引術(shù)語(yǔ)—張量網(wǎng)絡(luò),神經(jīng)網(wǎng)絡(luò),網(wǎng)絡(luò)壓縮,信息融合,量子電路仿真
1 引言
張量是表示多個(gè)模態(tài)源之間多向交互的高階數(shù)組。相比之下,向量(即一階張量)和矩陣(即二階張量)分別只在一種或兩種模態(tài)下訪問(wèn)。作為一種常見(jiàn)的數(shù)據(jù)類(lèi)型,張量在多種場(chǎng)景中被廣泛觀察到[1]、[2]、[3]、[4]。例如,功能磁共振成像(fMRI)樣本本質(zhì)上是隨時(shí)間變化的三維體素構(gòu)成的四階張量[5]、[6]、[7]。在量子物理中,用于研究多體量子系統(tǒng)的變分波函數(shù)也是高階張量[8]、[9]。對(duì)于時(shí)空交通分析,從多條道路收集數(shù)周的道路流量/速度信息也可以被結(jié)構(gòu)化為三階張量(路段×天×一天中的時(shí)間)[10]。然而,對(duì)于更高階的張量,當(dāng)模態(tài)數(shù)量增加時(shí),張量中的元素總數(shù)呈指數(shù)級(jí)增長(zhǎng),導(dǎo)致存儲(chǔ)和處理張量時(shí)發(fā)生災(zāi)難。這種現(xiàn)象也被稱(chēng)為“維度詛咒”[11]。
張量網(wǎng)絡(luò)(TNs)張量網(wǎng)絡(luò)(TNs)[8]、[11]、[12]通常是由通過(guò)張量收縮相互連接的小規(guī)模張量的可數(shù)集合。這些小規(guī)模張量被稱(chēng)為“組件”、“塊”、“因子”或“核心”。通過(guò)TNs,超大規(guī)模張量可以以極度壓縮和分布式格式近似表示。因此,可以實(shí)現(xiàn)以前無(wú)法處理的高階張量的分布式存儲(chǔ)和高效處理。通過(guò)使用TN方法,維度詛咒可以被緩解甚至完全克服[11]。常用的TN格式包括CANDECOMP/PARAFAC(CP)[13]、[14]、[15]、Tucker分解[16]、[17]、塊項(xiàng)Tucker(BTT)分解[18]、[19]、[20]、矩陣乘積態(tài)(MPS)/張量列車(chē)(TT)分解[21]、[22]、[23]、[24]、矩陣乘積算子(MPO)/矩陣張量列車(chē)(mTT)分解[21]、[22]、[23]、[24]、張量環(huán)(TR)分解[25]、樹(shù)形TN/層次Tucker(HT)分解[26]、投影糾纏對(duì)態(tài)(PEPS)/張量網(wǎng)格分解[8]、[27]、[28]、多尺度糾纏重整化[29]等。為了理解TNs的互連結(jié)構(gòu),開(kāi)發(fā)了TN圖作為一種直觀的圖形表示(將在第2.2節(jié)討論)。TN可以為一些計(jì)算上不可接受的任務(wù)提供理論和計(jì)算框架。例如,基于TNs的低秩結(jié)構(gòu),Pan 等人[30]使用512個(gè)圖形處理單元(GPU)在15小時(shí)內(nèi)解決了量子隨機(jī)電路采樣問(wèn)題;這個(gè)問(wèn)題此前被認(rèn)為在最強(qiáng)大的經(jīng)典電子超級(jí)計(jì)算機(jī)上需要超過(guò)10,000年,并有效挑戰(zhàn)了谷歌量子計(jì)算機(jī)“Sycamore”的量子霸權(quán)。其他應(yīng)用包括大腦分析[31]、量子化學(xué)計(jì)算[32]、人臉聚類(lèi)[33]、降維[34]、缺失值估計(jì)[35]、潛在因子分析[36]、子空間學(xué)習(xí)[37]等。
神經(jīng)網(wǎng)絡(luò)(NNs)神經(jīng)網(wǎng)絡(luò)(NNs)是受生物學(xué)啟發(fā)的學(xué)習(xí)范式,通過(guò)反向傳播使機(jī)器能夠從觀測(cè)數(shù)據(jù)中學(xué)習(xí)知識(shí)[38]、[39]。多層堆疊的神經(jīng)網(wǎng)絡(luò),即深度神經(jīng)網(wǎng)絡(luò)(DNNs)[40]、[41],因其從深層結(jié)構(gòu)中捕獲豐富信息的強(qiáng)大能力而在人工智能領(lǐng)域得到廣泛應(yīng)用。典型的DNNs類(lèi)型包括受限玻爾茲曼機(jī)(RBMs)[42]、卷積神經(jīng)網(wǎng)絡(luò)(CNNs)[41]、[43]、循環(huán)神經(jīng)網(wǎng)絡(luò)(RNNs)[44]、[45]以及Transformers[46]、[47]。DNNs目前在計(jì)算機(jī)視覺(jué)[48]和自然語(yǔ)言處理[49]的廣泛應(yīng)用中達(dá)到了最先進(jìn)的性能。例如,許多CNN架構(gòu),如AlexNet[50]、VGGNet[51]、GoogLeNet[52]和ResNet[53],在ImageNet數(shù)據(jù)集[54]上贏得了冠軍,顯示出解決圖像分類(lèi)任務(wù)的良好潛力。特別是Alphafold[55]、[56],一種Transformer架構(gòu),可以在幾天內(nèi)識(shí)別蛋白質(zhì)結(jié)構(gòu),而這在過(guò)去需要研究人員數(shù)年時(shí)間。最近,Alphafold2[55]、[56]以平均原子精度預(yù)測(cè)了幾乎所有已知蛋白質(zhì)的結(jié)構(gòu)。深度學(xué)習(xí)技術(shù)仍在推動(dòng)多個(gè)學(xué)科的進(jìn)步,包括語(yǔ)音識(shí)別[57]、DNA突變檢測(cè)[58]、結(jié)構(gòu)生物學(xué)[55]、[56]、藥物發(fā)現(xiàn)[59]、食品安全[60]等。
張量網(wǎng)絡(luò)迎接神經(jīng)網(wǎng)絡(luò) 正如上文所述,張量網(wǎng)絡(luò)(TNs)和神經(jīng)網(wǎng)絡(luò)(NNs)是兩種起源不同且在不同方面取得成功的網(wǎng)絡(luò)。有趣的是,它們通過(guò)多線性數(shù)學(xué)特性緊密聯(lián)系在一起,而不是彼此正交[11]。因此,一個(gè)有前景的方法是通過(guò)多線性特性將它們整合,以實(shí)現(xiàn)“整體大于部分之和”的目標(biāo)。TNs的主要優(yōu)勢(shì)在于其緊湊結(jié)構(gòu)、多入口特性以及與量子力學(xué)的密切關(guān)系,而NNs則以其廣泛應(yīng)用而聞名[8]、[12]。基于這些觀察,可以通過(guò)以下三種方式將TNs與NNs結(jié)合:
(1) 網(wǎng)絡(luò)壓縮。NNs在各種任務(wù)中取得了許多成功[40]、[41]。然而,NNs仍然受到大量維度線性乘積計(jì)算和維度詛咒的困擾[78]。解決這一問(wèn)題的一個(gè)有前景的方案是利用TNs的輕量化和多線性特性[68]、[78]、[79]。具體來(lái)說(shuō),TNs可以將NNs中的任何張量分解為較小的塊,從而將維度降低到線性復(fù)雜度[61]、[62]。例如,與使用樸素長(zhǎng)短期記憶(LSTM)進(jìn)行動(dòng)作識(shí)別任務(wù)相比,利用TN技術(shù)分解權(quán)重張量的TR-LSTM[79]模型可以將參數(shù)數(shù)量壓縮約34,000倍,同時(shí)優(yōu)于樸素LSTM。
(2) 信息融合。在現(xiàn)實(shí)世界數(shù)據(jù)分析案例中,建模來(lái)自多模態(tài)源數(shù)據(jù)的高階交互對(duì)于獲得更好性能至關(guān)重要[8]。然而,NNs通常用于處理單模向量的輸入,因此缺乏足夠的表達(dá)能力來(lái)建模這類(lèi)高階交互[101]。為解決這一問(wèn)題,一個(gè)有前景的方法是將TNs嵌入NNs作為高效融合單元,利用其多入口特性處理多模態(tài)數(shù)據(jù)[97]、[98]、[100]。以視覺(jué)問(wèn)答(VQA)任務(wù)[142]為例,多模態(tài)Tucker融合(MUTAN)[101]可以通過(guò)Tucker格式框架學(xué)習(xí)文本表示和視覺(jué)表示之間的高級(jí)交互。因此,MUTAN以高效參數(shù)化的低秩結(jié)構(gòu)實(shí)現(xiàn)了最先進(jìn)的性能。
(3) 量子電路仿真。TNs可以作為模擬器,并在經(jīng)典N(xiāo)Ns與量子電路之間架起橋梁。首先,許多研究建議在量子電路上實(shí)現(xiàn)NNs,以通過(guò)量子計(jì)算方案的超并行性加速其運(yùn)行速度[143]、[144]。然而,目前量子計(jì)算機(jī)的能力不足以直接部署NNs,這使得驗(yàn)證量子神經(jīng)網(wǎng)絡(luò)(QNNs)的潛在性能變得困難[143]。幸運(yùn)的是,TNs可以作為電子計(jì)算機(jī)中的有效量子模擬器,因?yàn)門(mén)Ns與量子電路之間存在等價(jià)性[8]、[145]。具體來(lái)說(shuō),量子電路中的輸入量子比特和幺正操作門(mén)可以視為張量,門(mén)連接也可以視為T(mén)N方案中的張量收縮[145]。通過(guò)利用TNs實(shí)現(xiàn)NNs的量子電路仿真,可以在真正強(qiáng)大的量子計(jì)算機(jī)制造之前開(kāi)啟QNNs探索的新時(shí)代。
我們將這類(lèi)連接TNs與NNs的方法家族稱(chēng)為張量神經(jīng)網(wǎng)絡(luò)(TNNs)。據(jù)我們所知,這是首次全面橋接NNs、TNs和量子電路之間聯(lián)系的調(diào)查。TNNs及其效用的概覽如表1所示。
本調(diào)查的其余部分組織如下。第2節(jié)提供張量符號(hào)、張量圖和TN格式的基礎(chǔ)知識(shí)。第3節(jié)討論使用TNs構(gòu)建緊湊TNNs。第4節(jié)探討使用TNNs進(jìn)行高效信息融合過(guò)程。第5節(jié)討論TNs在量子電路和TNNs中的一些基本應(yīng)用。第6節(jié)解釋TNNs的一些訓(xùn)練和實(shí)現(xiàn)技術(shù)。第7節(jié)介紹可用于處理TNNs的通用且強(qiáng)大的工具箱。
2 張量基礎(chǔ)
2.1 張量符號(hào)
2.2 張量圖
在本小節(jié)中,我們介紹張量網(wǎng)絡(luò)(TN)圖及其對(duì)應(yīng)的數(shù)學(xué)運(yùn)算。張量網(wǎng)絡(luò)圖最初由Roger Penrose在20世紀(jì)70年代初開(kāi)發(fā)[148],現(xiàn)在常用于描述量子算法[8]、[9]和機(jī)器學(xué)習(xí)算法[12]、[61]、[105]。在這些圖中,張量通過(guò)帶邊的節(jié)點(diǎn)來(lái)圖形化表示[22]。張量網(wǎng)絡(luò)圖是用于直觀展示和方便表示復(fù)雜張量的實(shí)用工具,因此在張量領(lǐng)域得到了廣泛應(yīng)用。由于深度學(xué)習(xí)中的數(shù)據(jù)和權(quán)重都是張量,張量圖也有望成為該領(lǐng)域通用的網(wǎng)絡(luò)分析工具。張量的基本符號(hào)如圖1所示。
2.2.1 張量節(jié)點(diǎn)
張量收縮指的是兩個(gè)張量沿著它們相關(guān)的一對(duì)索引被收縮成一個(gè)張量。結(jié)果是,相應(yīng)的連接邊消失,而懸空的邊保持不變。張量收縮可以表示為張量積:
多個(gè)張量(例如,張量網(wǎng)絡(luò))之間的張量收縮可以通過(guò)依次對(duì)每對(duì)張量執(zhí)行張量收縮來(lái)計(jì)算。值得注意的是,必須確定收縮順序以實(shí)現(xiàn)更好的計(jì)算效率。
2.2.3 虛擬張量
最近,Hayashi等人設(shè)計(jì)了一種新提出的虛擬張量,用于表示卷積操作。如圖1所示,帶有星號(hào)和箭頭符號(hào)的節(jié)點(diǎn)表示虛擬張量。這一操作的公式為:
2.2.5 張量展開(kāi)
2.3 張量分解格式
常用的術(shù)語(yǔ)“張量分解”(TD)在某種程度上等同于“張量網(wǎng)絡(luò)”(TN)。以前,TD主要用于信號(hào)處理領(lǐng)域[150],[151]。TN最初主要在物理和量子電路領(lǐng)域使用[8],[148]。傳統(tǒng)的TD模型,如CP分解[13],[14],[15]和Tucker分解[16],[17],可以被視為T(mén)N的基本類(lèi)型。在信號(hào)處理領(lǐng)域,一些用于量子分析的強(qiáng)大TN架構(gòu)也被引入。例如,MPS分解[152]被定義為T(mén)T分解[21],并在許多應(yīng)用中取得了巨大成功[12]。經(jīng)過(guò)多年不同研究領(lǐng)域的合作和進(jìn)展,這兩個(gè)術(shù)語(yǔ)之間沒(méi)有顯著區(qū)別。因此,在本文中,TD和TN以統(tǒng)一的方式處理。我們通過(guò)TN圖簡(jiǎn)要介紹一些基本的TD。
2.3.1 CANDECOMP/PARAFAC
2.3.2 Tucker分解
2.3.3 BTT分解
CP和Tucker分解都將張量分解為核心張量與每個(gè)模態(tài)上的矩陣的乘積,而CP通過(guò)在核心張量上施加超對(duì)角約束來(lái)簡(jiǎn)化核心張量的結(jié)構(gòu)信息。為了在CP和Tucker方法之間做出折中,提出了一種稱(chēng)為BTT分解[18]的更一般的分解方法,它通過(guò)在Tucker的核心張量上施加塊對(duì)角約束來(lái)實(shí)現(xiàn)。BTT分解的張量網(wǎng)絡(luò)圖如圖3(c)所示。
BTT分解的主要優(yōu)勢(shì)在于其與CP和Tucker方法的優(yōu)點(diǎn)兼容。原因在于,當(dāng)Tucker秩等于1時(shí),BTT分解退化為CP分解;而當(dāng)CP秩等于1時(shí),它退化為T(mén)ucker分解。
2.3.4 TT分解
2.3.5 TR 分解
TT 具有快速收斂的優(yōu)勢(shì),但它存在端點(diǎn)問(wèn)題,限制了基于 TT 的模型的表示能力和靈活性。因此,為了釋放線性架構(gòu)的潛力,研究人員將其端點(diǎn)連接起來(lái),形成了一種稱(chēng)為 TR 的環(huán)形格式 [25]。張量 X ∈ R I 1 × I 2 × ? × I N 的 TR 分解可以表示為:
3 使用張量網(wǎng)絡(luò)的神經(jīng)網(wǎng)絡(luò)壓縮
深度神經(jīng)網(wǎng)絡(luò)(DNNs)具有極高的空間和時(shí)間復(fù)雜度,因?yàn)樯疃榷询B的層包含大規(guī)模的矩陣乘法運(yùn)算。因此,DNNs 通常需要幾天時(shí)間來(lái)訓(xùn)練,同時(shí)在推理過(guò)程中占用大量?jī)?nèi)存。此外,已有研究證明 DNNs 存在大量的權(quán)重冗余 [158],表明可以在保持性能的前提下對(duì) DNNs 進(jìn)行壓縮。受此啟發(fā),研究人員開(kāi)發(fā)了多種壓縮技術(shù),包括剪枝 [159][160]、量化 [161][162]、蒸餾 [163][164] 和低秩分解 [79][165][166]。其中,將張量網(wǎng)絡(luò)(TNs)應(yīng)用于 DNNs 構(gòu)建張量化神經(jīng)網(wǎng)絡(luò)(TNNs)是一個(gè)不錯(cuò)的選擇,因?yàn)?TNNs 能夠用更少的參數(shù)近似原始權(quán)重 [113]。在這一方向上,研究人員已完成大量研究,特別是針對(duì)卷積層和全連接層的重構(gòu),采用了多種張量分解格式 [61][67][69][79]。通過(guò)緊湊的架構(gòu),這些 TNNs 能在減少冗余的同時(shí)提升性能。
在本節(jié)中,我們將介紹五種常見(jiàn)的 TNN 類(lèi)型,即第 3.1 節(jié)的張量化 CNN(TCNNs)、第 3.2 節(jié)的張量化 RNN(TRNNs)、第 3.3 節(jié)的張量化 Transformer、第 3.4 節(jié)的張量化圖神經(jīng)網(wǎng)絡(luò)(TGNN)和第 3.5 節(jié)的張量化受限玻爾茲曼機(jī)(TRBMs)。
3.1 張量化 CNNs(TCNNs)
近年來(lái),CNNs 取得了巨大成功。然而,CNNs 的龐大規(guī)模導(dǎo)致了權(quán)重冗余和過(guò)多的計(jì)算,影響了其性能和效率。張量分解方法可以有效解決這一問(wèn)題。通常,用張量格式表示的 CNN 被稱(chēng)為張量化 CNN(TCNNs)。在介紹 TCNNs 之前,我們首先形式化描述一個(gè)基礎(chǔ) CNN,如圖 4(a) 所示。
為了加速卷積神經(jīng)網(wǎng)絡(luò)(CNN)的訓(xùn)練和推理過(guò)程,CP-CNN[61],[62],[63]通過(guò)將卷積權(quán)重分解為CP格式來(lái)構(gòu)建,如圖4(d)所示。CP-CNN僅包含向量作為子組件,從而形成了極其緊湊的結(jié)構(gòu),并實(shí)現(xiàn)了最高的壓縮比。與CP-CNN類(lèi)似,通過(guò)將張量格式(如圖3中的示例)應(yīng)用于卷積權(quán)重,可以實(shí)現(xiàn)其他張量卷積神經(jīng)網(wǎng)絡(luò)(TCNNs)。Tucker分解是一種廣泛使用的張量格式,通常被應(yīng)用于CNNs以形成Tucker-CNNs[64],[65]。與簡(jiǎn)單的Tucker格式不同,BTT-CNN具有一個(gè)超邊 Rc ,可以表示Tucker分解的求和。其他BTT-CNNs[69]也已被提出。與Tucker CNNs相比,BTT-CNNs更為強(qiáng)大,并且通常能夠獲得更好的結(jié)果[69]。高度緊湊的TT格式也被引入到CNNs中以實(shí)現(xiàn)TT-CNNs[66]。與TTs相比,TR格式通常更為緊湊[68],而TR-CNNs[68]比TT-CNNs更強(qiáng)大。
還有一些張量卷積神經(jīng)網(wǎng)絡(luò)不僅分解卷積核。張量化網(wǎng)絡(luò)(T-Net)[73]將整個(gè)網(wǎng)絡(luò)視為單層架構(gòu),然后對(duì)其進(jìn)行分解。因此,T-Net以更輕的結(jié)構(gòu)實(shí)現(xiàn)了更好的結(jié)果。CP高階卷積(CP-HOConv)[76]利用CP格式處理更高階數(shù)據(jù)的任務(wù),例如時(shí)空情感估計(jì)。對(duì)于多任務(wù)任務(wù),Yang等人[74]分別使用TT和Tucker格式提出了張量列車(chē)多任務(wù)(TTMT)和Tucker多任務(wù)(TMT)模型,以緩解硬共享架構(gòu)中的負(fù)遷移問(wèn)題,并減少軟結(jié)構(gòu)中的參數(shù)量。還提出了用于多任務(wù)任務(wù)的PEPS類(lèi)連接張量網(wǎng)絡(luò)層[75]。與TTMT和TMT模型不同,后者由于其硬共享架構(gòu)而受到負(fù)遷移問(wèn)題的影響,PEPS結(jié)構(gòu)僅包含一個(gè)軟共享層,從而實(shí)現(xiàn)了更好的性能。
3.2 TRNNs
循環(huán)神經(jīng)網(wǎng)絡(luò)(RNNs),如普通RNN和長(zhǎng)短期記憶網(wǎng)絡(luò)(LSTM),在處理序列數(shù)據(jù)方面已經(jīng)取得了令人鼓舞的性能。然而,在處理高維輸入數(shù)據(jù)(例如視頻和文本數(shù)據(jù))時(shí),RNN中的輸入到隱藏層和隱藏層到隱藏層的轉(zhuǎn)換會(huì)導(dǎo)致高內(nèi)存使用率和計(jì)算成本。為了解決這一問(wèn)題,低秩張量分解在實(shí)際中被證明是壓縮轉(zhuǎn)換過(guò)程的有效方法。首先,我們將RNN公式化為:
最直接且簡(jiǎn)單的壓縮方法是僅對(duì)龐大的輸入到隱藏層矩陣W 進(jìn)行分解。CP-RNN和Tucker-RNN[64]可以分別直接使用CP格式和Tucker格式構(gòu)建。憑借極其緊湊的低秩結(jié)構(gòu),CP-RNN與其他張量格式相比總能實(shí)現(xiàn)最小的尺寸。TT-RNN[77]在RNN上實(shí)現(xiàn)了TT格式以獲得較高的參數(shù)壓縮比。然而,TT-RNN受到線性結(jié)構(gòu)和兩個(gè)較小端點(diǎn)的限制,這阻礙了基于TT模型的表示能力和靈活性。為了釋放線性架構(gòu)的潛力,提出了TR來(lái)連接端點(diǎn)以創(chuàng)建一個(gè)環(huán)狀結(jié)構(gòu)[25]。TR-RNN[79]通過(guò)使用TR形成了一個(gè)更緊湊的網(wǎng)絡(luò)。BTT-RNN[69],[78]是基于廣義張量分解方法構(gòu)建的:BTT分解[19]。BTT-RNN可以自動(dòng)學(xué)習(xí)參數(shù)間的相關(guān)性,以隱式地修剪冗余的密集連接,同時(shí)實(shí)現(xiàn)更好的性能。
此外,研究正在利用張量分解來(lái)壓縮RNN的兩個(gè)轉(zhuǎn)換層,甚至一些研究已經(jīng)開(kāi)發(fā)出適用于RNN和CNN的分解方法。TT-GRU[82]和HT-RNN[80]通過(guò)分解 [WU] 來(lái)實(shí)現(xiàn)更高的壓縮比。具體來(lái)說(shuō),TT-GRU[82]應(yīng)用TT進(jìn)行分解,而HT-RNN[80]采用HT分解。與以往分解隱藏矩陣的工作不同,Conv-TT-LSTM[84]利用TT的思想來(lái)表示卷積操作。如圖5所示,通過(guò)類(lèi)似TT的卷積,Conv-TT-LSTM可以用更少的參數(shù)替換卷積LSTM,同時(shí)在動(dòng)作基準(zhǔn)測(cè)試中取得良好結(jié)果。
為了同時(shí)適應(yīng)CNN和RNN,采用了一種結(jié)合HT和TT分解的混合張量分解方法(稱(chēng)為HT-TT)來(lái)壓縮CNN和RNN的 [WU] 矩陣。此外,設(shè)計(jì)了張量收縮層(TC-Layer)[71]以替換全連接層,因此可以作為CNN的最后一層和RNN中的隱藏層使用。有趣的是,TC-Layer是通過(guò)將秩設(shè)置為1而獲得的基于TT的層的一個(gè)特例。
3.3 張量化的Transformer
Transformer[46],[168]因其在處理序列數(shù)據(jù)方面的出色表現(xiàn)而聞名。與CNN和RNN相比,Transformer可以堆疊成大規(guī)模結(jié)構(gòu)以實(shí)現(xiàn)顯著的性能提升[47]。然而,與傳統(tǒng)的DNN類(lèi)似,Transformer仍然存在冗余,可以通過(guò)壓縮變得更小且更高效[88]。因此,張量分解(TD)作為一種靈活的壓縮工具,可以用于減少Transformer中的參數(shù)數(shù)量[85],[86],[87]。
因此,大多數(shù)壓縮研究都集中在消除這些矩陣的參數(shù)上。例如,MPO結(jié)構(gòu)被提出用于分解Transformer中的每個(gè)矩陣[86],生成中心張量(包含核心信息)和小輔助張量。進(jìn)一步采用了一種調(diào)整策略,繼續(xù)訓(xùn)練輔助張量以實(shí)現(xiàn)性能提升,同時(shí)凍結(jié)中心張量的權(quán)重以保留原始矩陣的主要信息。此外,觀察到低秩MPO結(jié)構(gòu)可能導(dǎo)致嚴(yán)重的性能下降,基于混合TT分解的Hypoformer[89]被提出;這種方法將一個(gè)密集矩陣部分與一個(gè)低秩MPO部分連接起來(lái)。Hypoformer在減少所需操作和參數(shù)數(shù)量以壓縮和加速基礎(chǔ)Transformer的同時(shí),保留了滿(mǎn)秩特性。此外,通過(guò)將所有矩陣連接成一個(gè)更大的張量,Tucker-Bert[88]使用Tucker分解來(lái)大幅減少參數(shù)數(shù)量,從而實(shí)現(xiàn)極端壓縮并保持相當(dāng)好的結(jié)果。有趣的是,Tuformer[87]將多頭自注意力(MHSA)推廣到Tucker形式,因此具有更強(qiáng)的表達(dá)能力,并取得了更好的結(jié)果,如圖6所示。
3.4 TGNNs
圖神經(jīng)網(wǎng)絡(luò)(GNNs)在多種應(yīng)用和領(lǐng)域中取得了突破性的表現(xiàn)[169]。一個(gè)經(jīng)典的GNN層包括一個(gè)用于聚合鄰居節(jié)點(diǎn)信息的聚合函數(shù)和一個(gè)用于更新當(dāng)前節(jié)點(diǎn)信息的更新函數(shù)。例如,GNN第k層中節(jié)點(diǎn)v的處理步驟可以表述為
其中, 是一個(gè)聚合嵌入向量, 是一個(gè)節(jié)點(diǎn)嵌入向量,N(v) 是一個(gè)鄰居節(jié)點(diǎn)集合。更新函數(shù)的典型選擇是一個(gè)單層感知器,而簡(jiǎn)單的求和/最大化通常被選作聚合函數(shù)。經(jīng)典的GNNs由于錯(cuò)過(guò)了節(jié)點(diǎn)間的高階非線性信息,其模型表達(dá)能力較低[90]。由于在表達(dá)能力與計(jì)算效率之間權(quán)衡的優(yōu)點(diǎn),使用TGNNs處理圖數(shù)據(jù)非常有益。
為了高效地參數(shù)化置換不變的多線性映射,以建模無(wú)向圖結(jié)構(gòu)中鄰居之間的交互,TGNN[90]利用了對(duì)稱(chēng)CP層作為其節(jié)點(diǎn)聚合函數(shù)。已經(jīng)證明,TGNN具有表示任何置換不變的多線性多項(xiàng)式的強(qiáng)大能力,包括求和和均值池化函數(shù)。與無(wú)向圖處理相比,TGNNs更自然適用于高階圖結(jié)構(gòu),例如知識(shí)圖譜。傳統(tǒng)的關(guān)系圖卷積網(wǎng)絡(luò)忽略了知識(shí)圖譜中的三線性交互關(guān)系,并以加法方式組合實(shí)體所擁有的信息。TGCN[91]通過(guò)使用低秩Tucker層作為聚合函數(shù)被提出,以提高多線性建模的效率和計(jì)算空間需求。TGNNs也適用于動(dòng)態(tài)時(shí)空?qǐng)D處理情況下的高階相關(guān)性建模。例如,DSTGNN[92]應(yīng)用可學(xué)習(xí)的TTG和STG模塊分別發(fā)現(xiàn)動(dòng)態(tài)時(shí)間關(guān)系和空間關(guān)系。然后,DSTGNN通過(guò)PEPS層探索STG和TTG模塊之間的動(dòng)態(tài)糾纏相關(guān)性,從而減少DSTGNN的參數(shù)數(shù)量。
其中 Z 是一個(gè)歸一化函數(shù)。隨后,可以通過(guò)可學(xué)習(xí)的分布公式定義某種損失函數(shù)來(lái)優(yōu)化參數(shù)。RBM的參數(shù)似乎主要基于映射權(quán)重矩陣。
因此,大多數(shù)壓縮研究集中在減少權(quán)重矩陣變量的數(shù)量上。例如,Tv-RBM[95]探索了使用RBM處理更高階輸入。在這個(gè)模型中,權(quán)重矩陣被轉(zhuǎn)換為一個(gè)CP層結(jié)構(gòu),其中每個(gè)可見(jiàn)層被表示為張量,而每個(gè)隱藏層仍然是一個(gè)向量。在另一個(gè)更高階的RBM中,即Mv-RBM[96],其可見(jiàn)層和隱藏層都被表示為矩陣,而其權(quán)重被表示為一個(gè)TC層[71]。MPO-RBM[170]和TT-RBM[93]使用TT層來(lái)表示權(quán)重矩陣,從而大幅壓縮所需的參數(shù)數(shù)量。此外,TR-RBM[94]對(duì)其RBM執(zhí)行TR分解,其中TR-RBM的可見(jiàn)層和隱藏層都被推廣為張量。
注:緊湊的張量神經(jīng)網(wǎng)絡(luò)(TNNs)已經(jīng)展示了在保持模型性能的同時(shí)實(shí)現(xiàn)極高壓縮比的潛力。然而,與它們的壓縮比相比,它們的計(jì)算加速率并不十分顯著,這主要是由于收縮操作。因此,這需要進(jìn)一步研究以改進(jìn)所使用的收縮策略,因?yàn)槲唇?jīng)優(yōu)化的收縮策略可能導(dǎo)致不滿(mǎn)意的運(yùn)行內(nèi)存消耗。
4 通過(guò)TNNs進(jìn)行信息融合
在現(xiàn)實(shí)世界的數(shù)據(jù)分析中,收集的數(shù)據(jù)可能來(lái)自多個(gè)來(lái)源;例如,視頻數(shù)據(jù)可能包含視覺(jué)、聲音和文本等多種來(lái)源[142]。例如,在視覺(jué)問(wèn)答(VQA)任務(wù)中,關(guān)鍵點(diǎn)在于有效建模兩種模態(tài)之間的交互,即文本和圖像信息。在處理這類(lèi)數(shù)據(jù)時(shí),以相同形式考慮不同的來(lái)源是不可行的。因此,希望通過(guò)多個(gè)入口混合這些信息,以在特殊構(gòu)建結(jié)構(gòu)中處理多模態(tài)來(lái)源。這種具有入口的方法被稱(chēng)為信息融合方法。特征級(jí)融合[171]和決策級(jí)融合[172]是早期使用的流行方法。然而,這些方法是簡(jiǎn)單的線性方法,無(wú)法有效建模模態(tài)內(nèi)部的動(dòng)態(tài)。為了解決這一問(wèn)題,TNNs被用于融合任務(wù)中,基于其自然的多線性屬性來(lái)建模模態(tài)內(nèi)部的動(dòng)態(tài)。此外,TNNs能夠處理高階數(shù)據(jù),這是一種廣泛應(yīng)用的能力。總之,TNs為張量操作提供了有效的框架,通過(guò)TNs表達(dá)和泛化深度學(xué)習(xí)中遇到的信息融合模塊(例如注意力模塊和向量拼接模塊)是自然且有意義的。因此,許多研究采用TNNs來(lái)捕獲數(shù)據(jù)或參數(shù)之間的高階交互。在本節(jié)中,我們介紹用于信息融合的兩種主要TNN結(jié)構(gòu)系列:第4.1節(jié)中的張量融合層和第4.2節(jié)中的多模態(tài)池化。
4.1 基于張量融合層的方法
多模態(tài)情感分析是一項(xiàng)包含三種通信模態(tài)的任務(wù),即文本模態(tài)、視覺(jué)模態(tài)和聽(tīng)覺(jué)模態(tài)[97]。為解決多模態(tài)情感分析,Zadeh 等人[97]提出了具有深度信息融合層的新型TNNs,稱(chēng)為張量融合層(TFLs),這些層可以輕松學(xué)習(xí)模態(tài)內(nèi)部動(dòng)態(tài)和模態(tài)間動(dòng)態(tài),并能夠聚合多模態(tài)交互,從而高效融合三種通信模態(tài)。具體來(lái)說(shuō),TFL首先采用嵌入網(wǎng)絡(luò)生成的嵌入特征向量 zt、zv 和 za,而不是原始的三種數(shù)據(jù)類(lèi)型。然后,TFL將標(biāo)量 1 與每個(gè)嵌入特征向量拼接:
最后,TFL處理特征張量 Z,通過(guò)一個(gè)兩層全連接神經(jīng)網(wǎng)絡(luò)獲得預(yù)測(cè) y。與僅考慮單模態(tài)交互的直接拼接融合相比[97],TFL的優(yōu)勢(shì)在于能夠捕獲單模態(tài)交互和多模態(tài)交互。
其中,是權(quán)重矩陣,而 是一個(gè)可學(xué)習(xí)的對(duì)角矩陣。PTP(Polynomial Tensor Product)的結(jié)構(gòu)也等同于深度多項(xiàng)式神經(jīng)網(wǎng)絡(luò)(Deep Polynomial Neural Network)[173]。PTP能夠模擬所有非線性的高階交互作用。對(duì)于多模態(tài)時(shí)間序列數(shù)據(jù),一種方法是使用“窗口”來(lái)表征局部相關(guān)性,并將PTP模塊堆疊成多層結(jié)構(gòu)。這種模型被稱(chēng)為層次多項(xiàng)式融合網(wǎng)絡(luò)(Hierarchical Polynomial Fusion Network,HPFN)[100]。HPFN可以遞歸地處理局部時(shí)序模態(tài)模式,以實(shí)現(xiàn)更好的信息融合效果。
單層PTP模塊的結(jié)構(gòu)類(lèi)似于淺層卷積算術(shù)電路(Convolutional Arithmetic Circuit,ConvAC)網(wǎng)絡(luò)[107](見(jiàn)第5.3節(jié))。PTP與標(biāo)準(zhǔn)ConvAC網(wǎng)絡(luò)的唯一區(qū)別在于,標(biāo)準(zhǔn)的ConvAC網(wǎng)絡(luò)處理量子位置特征,而PTP處理時(shí)序模態(tài)模式和多項(xiàng)式連接的多模態(tài)特征。HPFN幾乎等同于一個(gè)更深的ConvAC網(wǎng)絡(luò),其強(qiáng)大的表達(dá)能力可能暗示了它們之間的聯(lián)系。深度多項(xiàng)式神經(jīng)網(wǎng)絡(luò)中的遞歸關(guān)系也已被發(fā)現(xiàn)并實(shí)現(xiàn),使得多項(xiàng)式輸入可以通過(guò)層次化神經(jīng)網(wǎng)絡(luò)高效計(jì)算[100]。Chrysos等人[173]也發(fā)現(xiàn)了類(lèi)似的結(jié)果。
4.2 基于多模態(tài)池化的信息融合方法
另一類(lèi)信息融合方法源自視覺(jué)問(wèn)答(Visual Question Answering,VQA)任務(wù) [142]。在VQA任務(wù)中,最重要的方面是參數(shù)化視覺(jué)和文本表示之間的雙線性交互。為了解決這一問(wèn)題,該領(lǐng)域已經(jīng)發(fā)現(xiàn)了一些張量融合方法。多模態(tài)緊湊雙線性池化(Multimodal Compact Bilinear Pooling,MCB)[102] 是一種著名的VQA任務(wù)融合方法,可以被視為一種基于Tucker分解的神經(jīng)網(wǎng)絡(luò)。MCB試圖優(yōu)化簡(jiǎn)單的雙線性融合操作。
其中, 是權(quán)重向量,\(R\) 是秩的數(shù)量。MUTAN可以通過(guò)將交互張量分解為可解釋的元素,同時(shí)保持合理的模型大小,從而表示全面的雙線性交互。
注: 在許多多模態(tài)任務(wù)中進(jìn)行信息融合時(shí),張量神經(jīng)網(wǎng)絡(luò)(Tensor Neural Networks,TNNs)可以通過(guò)自然的多線性框架和緊湊的結(jié)構(gòu)取得有希望的結(jié)果。然而,TNNs中使用的高階外積操作可能導(dǎo)致意外的計(jì)算復(fù)雜性增加,甚至出現(xiàn)不穩(wěn)定的數(shù)值特性。因此,考慮一種高效的算法以減少內(nèi)存消耗,并應(yīng)用可行的初始化算法(例如)以實(shí)現(xiàn)良好的穩(wěn)定性是非常重要的。
5 用張量網(wǎng)絡(luò)模擬量子電路
在過(guò)去的幾年中,量子計(jì)算理論的發(fā)展引起了廣泛關(guān)注、、。量子系統(tǒng)在并行性方面優(yōu)于經(jīng)典電子計(jì)算機(jī),因此它們可以實(shí)現(xiàn)時(shí)間復(fù)雜度更低的算法。例如,基于量子系統(tǒng)的Shor算法理論上比經(jīng)典質(zhì)因數(shù)分解算法快指數(shù)級(jí)。量子電路是量子系統(tǒng)的計(jì)算硬件實(shí)現(xiàn),它們?cè)诶碚撋蠈?duì)應(yīng)于張量網(wǎng)絡(luò)(Tensor Networks,TNs)和張量神經(jīng)網(wǎng)絡(luò)(Tensor Neural Networks,TNNs)、。量子態(tài)是量子系統(tǒng)的數(shù)學(xué)實(shí)體,與具有某些約束的高階張量一致。因此,張量神經(jīng)網(wǎng)絡(luò)可以在經(jīng)典計(jì)算機(jī)中用作模擬器,以模擬真實(shí)的量子電路、。利用量子計(jì)算的超高并行性,一些特殊的張量神經(jīng)網(wǎng)絡(luò)可以在小型、近期的量子設(shè)備上實(shí)現(xiàn)。在張量網(wǎng)絡(luò)上進(jìn)行量子電路模擬主要關(guān)注張量網(wǎng)絡(luò)作為經(jīng)典神經(jīng)網(wǎng)絡(luò)和量子神經(jīng)網(wǎng)絡(luò)之間的橋梁的作用,而不是更一般的基于張量網(wǎng)絡(luò)的量子電路模擬范式。如果讀者對(duì)通過(guò)張量網(wǎng)絡(luò)進(jìn)行一般電路模擬感興趣,請(qǐng)參考其他論文、、。在本節(jié)中,我們使用“經(jīng)典數(shù)據(jù)”一詞來(lái)表示經(jīng)典電子計(jì)算機(jī)中的數(shù)據(jù)。我們?cè)诘?.1節(jié)介紹通過(guò)張量網(wǎng)絡(luò)將經(jīng)典數(shù)據(jù)映射到量子態(tài)的方法,然后在第5.2節(jié)介紹對(duì)映射后的量子態(tài)進(jìn)行基本監(jiān)督和無(wú)監(jiān)督處理的方法,最后在第5.3節(jié)介紹著名的量子張量神經(jīng)網(wǎng)絡(luò)模型,即卷積算術(shù)電路(Convolutional Arithmetic Circuit,ConvAC)。
5.1 經(jīng)典數(shù)據(jù)的量子態(tài)嵌入
為了在量子系統(tǒng)中處理機(jī)器學(xué)習(xí)任務(wù),輸入數(shù)據(jù)應(yīng)被轉(zhuǎn)換為一些量子態(tài)的線性組合,作為正交基:
5.2 嵌入式量子數(shù)據(jù)處理
在設(shè)計(jì)和優(yōu)化可以在實(shí)際量子電路上實(shí)現(xiàn)的張量網(wǎng)絡(luò)(TNNs)方面,有兩種學(xué)習(xí)方法具有重要意義和潛力。一種是應(yīng)用密度矩陣重正化群(DMRG)算法來(lái)訓(xùn)練監(jiān)督模型;另一種是采用Born機(jī)的思想,通過(guò)無(wú)監(jiān)督過(guò)程學(xué)習(xí)數(shù)據(jù)分布。以下將詳細(xì)介紹這兩種方法。
5.2.1 監(jiān)督式TNN模型
監(jiān)督式模型用于根據(jù)示例輸入輸出對(duì),建模給定輸入特征下標(biāo)簽(輸出)的條件概率分布。以嵌入式量子數(shù)據(jù)為輸入,Stoudenmire和Schwab提出了類(lèi)似矩陣乘積態(tài)(MPS)的監(jiān)督式張量多線性模型,并采用類(lèi)似DMRG的算法來(lái)優(yōu)化模型權(quán)重。在具體實(shí)現(xiàn)之前,他們的模型首先需要被表述為一種優(yōu)化由不同標(biāo)簽索引的一組函數(shù)的過(guò)程。優(yōu)化過(guò)程通過(guò)隨機(jī)梯度下降分階段進(jìn)行,以最小化成本函數(shù):
5.2.2 無(wú)監(jiān)督張量網(wǎng)絡(luò)模型
無(wú)監(jiān)督生成建模的目標(biāo)是建模給定數(shù)據(jù)的聯(lián)合概率分布。生成對(duì)抗網(wǎng)絡(luò)(GANs)和變分自編碼器(VAE)是成功的神經(jīng)網(wǎng)絡(luò)模型,用于處理經(jīng)典數(shù)據(jù)分布。嵌入量子數(shù)據(jù)是訓(xùn)練和設(shè)計(jì)量子張量網(wǎng)絡(luò)(TNNs)以通過(guò)張量網(wǎng)絡(luò)生成概率分布的關(guān)鍵。受量子力學(xué)中量子態(tài)的概率解釋的啟發(fā),提出了一種基于矩陣乘積態(tài)(MPS)的生成模型,稱(chēng)為 Born 機(jī)器。Born 機(jī)器是一個(gè)源自量子力學(xué)的能量基模型。Born 機(jī)器的分布函數(shù)如下所示:
5.3 卷積算術(shù)電路(ConvAC)網(wǎng)絡(luò)
之前開(kāi)發(fā)的量子數(shù)據(jù)處理模型(例如第5.2.1節(jié)中的矩陣乘積態(tài)模型和第5.2.2節(jié)中的Born機(jī)器)的表達(dá)能力受到缺乏非線性的限制。經(jīng)典非線性算子,例如激活函數(shù)(如修正線性單元ReLU函數(shù))和平均/最大池化,可以顯著提升模型性能。然而,經(jīng)典非線性無(wú)法直接在量子電路上實(shí)現(xiàn)。
為了解決這一問(wèn)題,卷積算術(shù)電路(ConvAC)網(wǎng)絡(luò)被提出,采用量子可部署的乘積池化作為非線性算子,并證明了ConvAC可以轉(zhuǎn)化為具有ReLU激活和平均/最大池化的卷積神經(jīng)網(wǎng)絡(luò)。
ConvAC的整體結(jié)構(gòu)可以用層次張量網(wǎng)絡(luò)(HT)格式表示,并已被證明理論上可以在實(shí)際量子系統(tǒng)中部署。ConvAC的一個(gè)張量圖示例如圖12所示,其隱藏層采用CP格式。此外,ConvAC還可以通過(guò)公式(37)將自然語(yǔ)言句子映射到量子態(tài)來(lái)處理語(yǔ)言數(shù)據(jù)。ConvAC是一個(gè)里程碑,因?yàn)樗鼘?shí)現(xiàn)了在量子電路上部署深度卷積網(wǎng)絡(luò)及其非線性模塊,為更多神經(jīng)網(wǎng)絡(luò)融入量子系統(tǒng)提供了靈感。例如,張等人提出了張量空間語(yǔ)言模型(TSLM),該模型已被證明是n元語(yǔ)言模型的推廣。
注: 量子張量神經(jīng)網(wǎng)絡(luò)的實(shí)現(xiàn)是一個(gè)象征性的里程碑,通過(guò)張量網(wǎng)絡(luò)在量子神經(jīng)網(wǎng)絡(luò)(QNNs)和經(jīng)典神經(jīng)網(wǎng)絡(luò)之間架起了一座橋梁。然而,模擬量子TNNs與實(shí)際物理系統(tǒng)之間的嚴(yán)格映射算法仍需探索。此外,由于高性能量子計(jì)算機(jī)的開(kāi)發(fā)仍需時(shí)日,因此在近期驗(yàn)證量子TNNs的性能是不可行的。盡管存在這些問(wèn)題,但專(zhuān)注于量子神經(jīng)網(wǎng)絡(luò)的映射算法和性能驗(yàn)證仍然是重要且有意義的。
6 張量網(wǎng)絡(luò)的訓(xùn)練策略
盡管上述張量網(wǎng)絡(luò)(TNNs)在各種任務(wù)和機(jī)器上表現(xiàn)出色,但探索更具穩(wěn)定性、更好性能和更高效率的訓(xùn)練策略仍然值得研究。在本節(jié)中,我們將這些策略分為三類(lèi):(1)第6.1節(jié)介紹了用于穩(wěn)定TNNs訓(xùn)練過(guò)程的策略;(2)第6.2節(jié)提供了用于選擇和搜索TNNs秩的策略;(3)第6.3節(jié)展示了如何應(yīng)用硬件加速的策略。
6.1 穩(wěn)定訓(xùn)練的方法
盡管取得了多種成功,但由于其多線性特性,張量網(wǎng)絡(luò)(TNNs)仍然存在訓(xùn)練問(wèn)題。與簡(jiǎn)單的線性操作(如矩陣乘法)相比,張量收縮在模式線性增加時(shí)會(huì)產(chǎn)生指數(shù)級(jí)規(guī)模的數(shù)據(jù)流,即前向傳播中的特征和反向傳播中的梯度。一種解決方案是使用全精度f(wàn)loat64格式來(lái)表示較大的權(quán)重,這可以在一定程度上緩解這些數(shù)值問(wèn)題。然而,與低精度格式(如float16)相比,全精度格式會(huì)導(dǎo)致更多的計(jì)算和更高的時(shí)間消耗。盡管如此,低精度可能會(huì)導(dǎo)致數(shù)值穩(wěn)定性問(wèn)題。為了解決這些問(wèn)題,Panagakis等人提出了一種混合精度策略,以形成一種權(quán)衡。這種動(dòng)態(tài)精度策略在減少內(nèi)存占用和促進(jìn)訓(xùn)練穩(wěn)定性方面是有效的。
另一種解決訓(xùn)練問(wèn)題的可行方法是開(kāi)發(fā)合適的初始化方法。常用的自適應(yīng)初始化方法包括Xavier初始化和Kaiming初始化,它們調(diào)節(jié)了各層中數(shù)據(jù)流的方差。然而,這兩種初始化方法無(wú)法計(jì)算出張量網(wǎng)絡(luò)(TNNs)的正確尺度,以忽略張量收縮中的交互作用。此外,張量格式各不相同,這使得開(kāi)發(fā)一種適用于多種張量層的通用適配初始化方法變得困難。為了解決這兩個(gè)問(wèn)題,Yu初始化提出了一種基于Xavier的統(tǒng)一初始化范式,以適應(yīng)性地初始化任意張量卷積神經(jīng)網(wǎng)絡(luò)(TCNNs)。具體來(lái)說(shuō),Pan等人從張量卷積超圖中提取了一個(gè)骨干圖(Backbone Graph, BG),然后使用這個(gè)BG將任意TCNN編碼為鄰接矩陣。最后,可以直接通過(guò)鄰接矩陣計(jì)算出TCNN的合適初始方差。我們?cè)趫D13中展示了使用統(tǒng)一初始化的三種情況。盡管Yu初始化是為T(mén)CNNs提出的,但它也可以廣泛應(yīng)用于其他神經(jīng)網(wǎng)絡(luò),包括卷積神經(jīng)網(wǎng)絡(luò)(CNNs)、循環(huán)神經(jīng)網(wǎng)絡(luò)(RNNs)和Transformer,因?yàn)檫@些模型的基本層,即卷積層和線性層,屬于TCNNs的范疇。
6.2 秩的選擇與搜索
早期研究 專(zhuān)注于尋找高效的張量網(wǎng)絡(luò)(TN)格式(例如TT格式和TR格式),以壓縮神經(jīng)網(wǎng)絡(luò)(NNs),并因其自然的緊湊結(jié)構(gòu)而取得了顯著的效率提升。然而,盡管取得了這些顯著的成功,由于秩的選擇是一個(gè)NP-hard問(wèn)題,目前仍缺乏高效的算法來(lái)調(diào)整或選擇適合張量網(wǎng)絡(luò)的秩。因此,許多方法 只能手動(dòng)設(shè)置所有秩的值,這嚴(yán)重影響了模型的訓(xùn)練過(guò)程。
幸運(yùn)的是,秩選擇問(wèn)題可以通過(guò)啟發(fā)式策略進(jìn)行優(yōu)化,例如貝葉斯優(yōu)化、強(qiáng)化學(xué)習(xí)(RL)和進(jìn)化算法(EAs)。以下介紹一些用于張量網(wǎng)絡(luò)的秩選擇方法。
深度神經(jīng)網(wǎng)絡(luò)(DNNs)利用神經(jīng)架構(gòu)搜索(NAS)來(lái)搜索最優(yōu)的網(wǎng)絡(luò)超參數(shù),并取得了顯著的成功。由于秩可以被視為架構(gòu)超參數(shù),NAS同樣適用于搜索具有更好秩設(shè)置的張量層。基于這一思路,漸進(jìn)式搜索TR網(wǎng)絡(luò)(PSTRN)采用進(jìn)化算法(EA)進(jìn)行NAS,以選擇適合TR網(wǎng)絡(luò)(TRN)的秩。具體來(lái)說(shuō),PSTRN采用了一個(gè)啟發(fā)式假設(shè)進(jìn)行搜索:“當(dāng)一個(gè)形狀固定的TRN表現(xiàn)良好時(shí),其部分或全部秩元素是敏感的,并且每個(gè)秩元素傾向于聚集在一個(gè)狹窄的區(qū)域內(nèi),稱(chēng)為興趣區(qū)域”。在興趣區(qū)域假設(shè)的指導(dǎo)下,PSTRN比普通的EA方法有更高的概率達(dá)到最優(yōu)解。PSTRN包括一個(gè)進(jìn)化階段和一個(gè)漸進(jìn)階段。在進(jìn)化階段,該方法在基準(zhǔn)測(cè)試中驗(yàn)證搜索空間中的秩,并選擇表現(xiàn)最佳的秩。然后,在漸進(jìn)階段,PSTRN圍繞之前選擇的秩采樣新的秩,并將其插入到新的搜索空間中。經(jīng)過(guò)幾輪迭代后,啟發(fā)式EA可以找到高性能的解決方案。憑借這種高效的設(shè)計(jì),PSTRN成功地實(shí)現(xiàn)了比手動(dòng)設(shè)置更好的性能,證明了其假設(shè)的實(shí)用性。
除了NAS,還有其他一些高效的方法可用于秩選擇。Zhao等人通過(guò)在大秩值上實(shí)施變分貝葉斯優(yōu)化過(guò)程來(lái)推斷CP秩。Hawkins和Zhang將這種CP過(guò)程擴(kuò)展到基于TT的張量網(wǎng)絡(luò),并采用了Stein變分梯度下降方法,該方法結(jié)合了馬爾可夫鏈蒙特卡洛(MCMC)方法的靈活性和變分貝葉斯推斷的速度,以構(gòu)建貝葉斯優(yōu)化方法。在預(yù)訓(xùn)練網(wǎng)絡(luò)中,Kim等人和Gusak等人通過(guò)貝葉斯矩陣分解(BMF)對(duì)展開(kāi)的權(quán)重張量進(jìn)行近似秩估計(jì)。與貝葉斯方法不同,Cheng等人將秩搜索任務(wù)視為一個(gè)搜索空間不規(guī)則的游戲過(guò)程,因此應(yīng)用強(qiáng)化學(xué)習(xí)來(lái)為訓(xùn)練好的CNN找到相對(duì)合適的秩。然而,這種算法依賴(lài)于時(shí)間差分(TD)方法,表明其性能可能受到所選TD方法的影響。Yin等人利用交替方向乘子法(ADMM)逐步將原始權(quán)重轉(zhuǎn)移到低秩表示(即TT)。
6.3 硬件加速
加速TNNs的訓(xùn)練和推理過(guò)程可以減少資源消耗并優(yōu)化實(shí)驗(yàn)調(diào)整,從而實(shí)現(xiàn)經(jīng)濟(jì)收益和綠色研究。一個(gè)直接且有效的方法是優(yōu)化TNNs中張量操作的速度以實(shí)現(xiàn)硬件加速。由于推理TT格式的TNNs不可避免地會(huì)產(chǎn)生大量冗余計(jì)算,TIE方案[122]被提出,通過(guò)將工作SRAM分割成多個(gè)組并配備精心設(shè)計(jì)的數(shù)據(jù)選擇機(jī)制來(lái)加速TT層。Huang 等人[123]設(shè)計(jì)了一種具有更高I/O帶寬的并行計(jì)算方案,提升了張量收縮的速度。隨后,他們提出了LTNN[123],將TT格式的TNNs映射到基于CMOS-RRAM的3D加速器上,通過(guò)垂直I/O連接顯著增加了帶寬。因此,他們同時(shí)實(shí)現(xiàn)了TNNs的高吞吐量和低功耗。最近,Qu 等人[124]提出了一個(gè)空間二維處理單元(PE)陣列架構(gòu),并構(gòu)建了一個(gè)由片外DRAM組成的硬件TT引擎。Kao 等人[125]提出了一種用于CP卷積的節(jié)能硬件加速器,采用結(jié)合沃爾什-哈達(dá)瑪變換和離散余弦變換的混合方法。還有更多引人注目的方法被開(kāi)發(fā)用于加速通用張量操作,這些操作與TNNs相關(guān)。例如,Huang 等人[199]觀察到張量矩陣化操作通常消耗大量資源,因?yàn)槠銬RAM訪問(wèn)基于隨機(jī)讀取地址;因此,他們提出了一個(gè)具有順序地址設(shè)計(jì)的張量存儲(chǔ)方案,以改善DRAM的可訪問(wèn)性。T2s-tensor[200]和Tensaurus[201]主要專(zhuān)注于為稠密和稀疏張量數(shù)據(jù)設(shè)計(jì)通用計(jì)算內(nèi)核。Xie 等人[149]和Liang 等人[202]加速了獲取張量收縮最佳序列的搜索過(guò)程。Xie 等人[149]解決了量子分析中雙層TN收縮的巨大計(jì)算復(fù)雜度問(wèn)題,并將此類(lèi)雙層TN映射到一個(gè)交叉的單層TN上。Liang 等人[202]實(shí)現(xiàn)了多線程優(yōu)化以提高收縮的并行性。Fawzi 等人[203]還展示了強(qiáng)化學(xué)習(xí)(RL)在構(gòu)建高效通用張量操作方面的潛力。未來(lái),預(yù)計(jì)將開(kāi)發(fā)更多基于張量操作的通用硬件加速方案,以實(shí)現(xiàn)存儲(chǔ)和時(shí)間消耗更小的TNNs。
備注。評(píng)論分為三個(gè)部分。(1) 為實(shí)現(xiàn)訓(xùn)練穩(wěn)定性,可以借鑒有關(guān)保持身份轉(zhuǎn)換的思路來(lái)構(gòu)建更穩(wěn)定的初始化。此外,添加對(duì)抗樣本以增強(qiáng)網(wǎng)絡(luò)魯棒性也是可行的。(2) 秩搜索對(duì)于進(jìn)一步提升TNNs性能至關(guān)重要。然而,由于這是一個(gè)NP難問(wèn)題,秩搜索尚未被充分探索。未來(lái),可以通過(guò)梯度大小的指導(dǎo)和進(jìn)化算法(EAs)搜索適合的秩以?xún)?yōu)化TNN架構(gòu)。(3) 最后,硬件研究在速度加速和內(nèi)存減少方面取得了一些成功。然而,這些方法幾乎是為特定TD格式設(shè)計(jì)的臨時(shí)方案,因此缺乏對(duì)其他TNN結(jié)構(gòu)的適用性。
7 TNN工具箱
1973年,Pereyra和Scherer[204]作為該領(lǐng)域的先驅(qū),開(kāi)發(fā)了一種用于基本張量操作的編程技術(shù)。最近,隨著現(xiàn)代計(jì)算機(jī)的發(fā)展,許多基本張量操作工具箱被開(kāi)發(fā)出來(lái),同時(shí)也提出了一系列強(qiáng)大的TNN工具箱,用于網(wǎng)絡(luò)壓縮和量子電路仿真,這是TNN的兩個(gè)主要應(yīng)用領(lǐng)域。在本節(jié)中,TNN工具箱根據(jù)其設(shè)計(jì)目的分為三類(lèi)介紹:(1) 用于基本張量操作的工具箱包含TNN中重要且基礎(chǔ)的操作(例如張量收縮和排列)(第7.1節(jié));(2) 用于網(wǎng)絡(luò)壓縮的工具箱是基于其他基本操作工具的高級(jí)TNN架構(gòu)工具箱(第7.2節(jié));(3) 用于量子電路仿真的工具箱是從量子視角使用TNs進(jìn)行量子電路仿真或量子機(jī)器學(xué)習(xí)過(guò)程的軟件包(第7.3節(jié))。
7.1 用于基本張量操作的工具箱
用于基本張量操作的工具箱旨在實(shí)現(xiàn)一些特定的張量分解(TD)算法。基于不同編程語(yǔ)言和后端的許多基本張量工具箱已被設(shè)計(jì)用于此目的。例如,基于在線隨機(jī)框架的TD(OSTD)[130]和Tensor Toolbox[128]是為低秩分解而構(gòu)建的,并使用MATLAB實(shí)現(xiàn)。對(duì)于基于Python的工具箱,基于NumPy的TensorTools[205]僅實(shí)現(xiàn)CP分解,而T3F[136]是為T(mén)ensorFlow[206]上的TT分解明確設(shè)計(jì)的。類(lèi)似地,基于TensorFlow的TensorD[131]支持CP和Tucker分解。Tntorch[133]是基于PyTorch的用于CP、Tucker和TT格式張量建模的庫(kù)。TorchMPS[134]、TT-Toolbox[132]和Scikit-TT[138]都是功能強(qiáng)大的基于Python的特定TT求解器,能高效實(shí)現(xiàn)DMRG算法。Tensorly是一個(gè)支持多種分解格式和多種Python后端(包括CuPy、PyTorch、TensorFlow和MXNet)的強(qiáng)大通用TD庫(kù)[207]。TensorNetwork[137]是一個(gè)支持多種Python后端(包括JAX、TensorFlow、PyTorch和NumPy)的強(qiáng)大通用TN庫(kù)。
此外,還有一些基于C++的工具箱可用。TenDeC++[208]利用C++中稱(chēng)為PointerDeformer的獨(dú)特指針技術(shù),支持高效計(jì)算TD函數(shù)。ITensor[135]是一個(gè)高效且靈活的C++庫(kù),用于通用TN計(jì)算。
7.2 用于網(wǎng)絡(luò)壓縮的工具箱
特定的TNN工具箱用于協(xié)助開(kāi)發(fā)張量層。盡管一些通用張量工具箱(如Tensorly[126])在TD處理方面功能強(qiáng)大,并能在一定程度上使用其TD操作幫助初始化TNN模塊,但它們?nèi)匀蝗狈χ苯訕?gòu)建TNN的應(yīng)用程序編程接口(API)支持。因此,基于Tensorly開(kāi)發(fā)了一個(gè)TNN庫(kù)(Tensorly-Torch),用于在任何PyTorch網(wǎng)絡(luò)中構(gòu)建一些張量層。Pan等人還開(kāi)發(fā)了一個(gè)強(qiáng)大的TNN庫(kù)TedNet[64]。TedNet可以通過(guò)直接調(diào)用API快速設(shè)置TNN層。此外,TedNet支持通過(guò)單行代碼構(gòu)建TCNNs和TRNNs。
7.3 用于量子電路仿真的工具箱
已經(jīng)設(shè)計(jì)了許多量子電路仿真工具箱。例如,一些TT工具箱,如Scikit-TT和TorchMPS,雖然并非專(zhuān)為量子電路仿真設(shè)計(jì),但能在一定程度上部分模擬量子電路。相比之下,通用TN工具箱,如TensorNetwork和ITensor,可以模擬任何量子電路。此外,通過(guò)優(yōu)化的張量收縮,TeD-Q[141]是一個(gè)增強(qiáng)型的開(kāi)源量子機(jī)器學(xué)習(xí)軟件框架,能夠模擬大型量子電路。此外,Yao[139]是一個(gè)可擴(kuò)展且高效的量子算法設(shè)計(jì)庫(kù),可以支持將量子電路導(dǎo)出為T(mén)N。盡管目前沒(méi)有量子TNN的實(shí)際實(shí)現(xiàn),但這些量子電路仿真對(duì)量子TNN的仿真具有潛在用途。
備注。盡管當(dāng)前工具箱取得了成功,但仍有一些改進(jìn)空間。(1) 現(xiàn)有的基本張量操作工具箱使用高級(jí)軟件框架構(gòu)建,限制了它們充分利用張量計(jì)算固有能力的能力。(2) 現(xiàn)有的TNN深度模型實(shí)現(xiàn)工具箱只能包含有限的預(yù)定義TNN結(jié)構(gòu),無(wú)法讓用戶(hù)自由設(shè)計(jì)結(jié)構(gòu)。(3) 現(xiàn)有的量子仿真工具箱更專(zhuān)注于使用TNs模擬量子電路,而不支持通過(guò)TNNs處理嵌入的量子數(shù)據(jù)。
8 結(jié)論與未來(lái)展望
本調(diào)查探討了張量網(wǎng)絡(luò)(TNs)與神經(jīng)網(wǎng)絡(luò)(NNs)之間的聯(lián)系,總結(jié)了壓縮NN參數(shù)、建模數(shù)據(jù)不同維度之間交互以及連接量子神經(jīng)網(wǎng)絡(luò)(QNNs)與經(jīng)典N(xiāo)Ns的技術(shù)。正如之前所述,TNNs具有顯著的優(yōu)勢(shì)和巨大的潛力,使其在許多領(lǐng)域具有適用性。未來(lái),TNNs的研究將受益于張量友好型硬件的優(yōu)化與實(shí)現(xiàn);我們相信,TNNs將在涉及量子物理和量子計(jì)算機(jī)的研究中產(chǎn)生重大影響。
基于硬件設(shè)計(jì)的加速 盡管許多TNNs在理論上具有較低的計(jì)算復(fù)雜度,但由于其眾多的排列操作[64]和缺乏足夠的并行性[123],實(shí)際硬件部署通常無(wú)法達(dá)到這一目標(biāo)。可以開(kāi)發(fā)用于通用張量加速或TNN加速的高效硬件和匹配軟件。如第6.3節(jié)所述,現(xiàn)有的張量加速軟件和硬件結(jié)構(gòu)都針對(duì)特定的TN結(jié)構(gòu)或基于并行矩陣加速。通用TN操作的加速對(duì)于TNNs的實(shí)現(xiàn)是必要且迫切的。
在量子物理中的應(yīng)用 在一些需要處理大規(guī)模張量的特定物理應(yīng)用中,例如波函數(shù)仿真[209],可以研究專(zhuān)門(mén)設(shè)計(jì)的TNNs,以高效解決涉及高階交互的問(wèn)題。受通用逼近定理的啟發(fā),一些簡(jiǎn)單的NNs已被用于波函數(shù)仿真任務(wù),例如自由玻色子和費(fèi)米子系統(tǒng)[210]。然而,由于維度詛咒,簡(jiǎn)單的NNs難以應(yīng)用于超大規(guī)模波函數(shù)仿真任務(wù),而TNNs憑借TNs的緊湊特性可以輕松處理具有大規(guī)模張量的任務(wù)。
在量子力學(xué)中的實(shí)現(xiàn) 現(xiàn)有的TNNs主要采用TNs的數(shù)學(xué)形式,很少考慮這些TNs描述的量子系統(tǒng)的物理屬性[12]、[113]。由于TNNs與量子電路結(jié)構(gòu)高度相關(guān),通過(guò)應(yīng)用量子力學(xué)中TNs的概念和理論,可以獲得更高效和有效的TNNs。例如,從糾纏熵理論[211]的視角優(yōu)化和解釋TNNs可能是一個(gè)有意義的方向,以生成可解釋且高效的NNs。
原文鏈接:https://www.researchgate.net/publication/368652722_Tensor_Networks_Meet_Neural_Networks_A_Survey
特別聲明:以上內(nèi)容(如有圖片或視頻亦包括在內(nèi))為自媒體平臺(tái)“網(wǎng)易號(hào)”用戶(hù)上傳并發(fā)布,本平臺(tái)僅提供信息存儲(chǔ)服務(wù)。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.