當(dāng)前位置: 首頁 > 工業(yè)控制產(chǎn)品 > 自動化控制 > 人工智能
發(fā)布日期:2022-10-09 點(diǎn)擊率:55
這篇文章討論了張量方法,它們是如何在 NVIDIA 中使用的,以及它們是如何成為下一代人工智能算法的核心。
現(xiàn)代機(jī)器學(xué)習(xí)中的張量
張量將矩陣推廣到二維以上,在現(xiàn)代機(jī)器學(xué)習(xí)中無處不在。從深層神經(jīng)網(wǎng)絡(luò)特征到視頻或功能磁共振成像數(shù)據(jù),這些高階張量的結(jié)構(gòu)往往至關(guān)重要。
深度神經(jīng)網(wǎng)絡(luò)通常在高階張量之間映射。事實(shí)上,正是深層卷積神經(jīng)網(wǎng)絡(luò)保持和利用局部結(jié)構(gòu)的能力,使得當(dāng)前的性能水平以及大數(shù)據(jù)集和高效硬件成為可能。張量方法使您能夠?yàn)閱蝹€層或整個網(wǎng)絡(luò)進(jìn)一步保留和利用該結(jié)構(gòu)。
圖 1 深張量網(wǎng)絡(luò)圖
將張量方法與深度學(xué)習(xí)相結(jié)合可以產(chǎn)生更好的模型,包括:
通過更好的歸納偏差,實(shí)現(xiàn)更好的性能和通用性
通過隱式(低秩結(jié)構(gòu))或顯式(張量衰減)正則化改進(jìn)魯棒性
簡約模型,參數(shù)數(shù)量大幅減少
通過直接有效地操作因式化張量,提高了計算速度
一個例子是因式卷積。使用 CP 結(jié)構(gòu),可以分解卷積的核并將其高效地表示為可分離的核。這將解耦尺寸標(biāo)注并使您能夠轉(zhuǎn)換,例如在二維上進(jìn)行培訓(xùn),并在利用二維中學(xué)習(xí)到的信息的同時將其推廣到三維。
圖 2 分解卷積的過程:二維信息如何轉(zhuǎn)化為三維信息。
基于張量的深度神經(jīng)網(wǎng)絡(luò)的正確實(shí)現(xiàn)可能很棘手。主要的神經(jīng)網(wǎng)絡(luò)庫,如 PyTorch 或 TensorFlow 不提供基于張量代數(shù)方法的層,并且對稀疏張量的支持有限。在 NVIDIA 中,我們通過 TensorLy 項(xiàng)目和 Minkowski 引擎,領(lǐng)導(dǎo)開發(fā)了一系列工具,以使張量方法在深度學(xué)習(xí)中無縫使用。
張力生態(tài)系統(tǒng)
TensorLy 為張量方法提供了一個高級 API ,包括分解和代數(shù)。
它使您能夠輕松地使用張量方法,而不需要大量的背景知識。您可以選擇并無縫集成您選擇的計算后端( NumPy 、 PyTorch 、 MXNet 、 TensorFlow 、 CuPy 或 JAX ),而無需更改代碼。
圖 3 張力火炬層圖
TensorLy Torch 是一個新的庫,它構(gòu)建在 TensorLy 之上,并提供實(shí)現(xiàn)這些 tensor 操作的 PyTorch 層。它們可以開箱即用,并且很容易集成到任何深度神經(jīng)網(wǎng)絡(luò)中。它的核心是因式分解張量的概念:張量以分解形式直接表示、存儲和操作。只要可能,操作就直接對這些分解的張量進(jìn)行操作。
這些因子化張量可用于有效地參數(shù)化深層神經(jīng)網(wǎng)絡(luò)層,如因子化卷積和線性層。最后,張量掛鉤使您能夠無縫地應(yīng)用諸如廣義套索和張量衰減等技術(shù),以提高泛化和健壯性。
空間稀疏張量與 Minkowski 引擎
在許多高維問題中,隨著空間體積的增加,數(shù)據(jù)變得稀疏。稀疏性主要嵌入在空間維度中,您可以在其中計算距離。這種稀疏性最著名的例子是 3D 數(shù)據(jù),如網(wǎng)格和掃描。
下面是一個有兩張床的房間的三維重建示例。它所占用的三維邊界體積可能相當(dāng)大,但數(shù)據(jù)或三維曲面重建只占用空間的一小部分。在本例中, 95.5% 的空間為空,小于 5% 的空間包含有效曲面。如果要處理此類數(shù)據(jù),使用稠密張量表示此類數(shù)據(jù)不僅會浪費(fèi)大量內(nèi)存,還會浪費(fèi)計算量。
在這種情況下,您可以使用稀疏表示法來構(gòu)建神經(jīng)網(wǎng)絡(luò)或?qū)W習(xí)算法,該表示法不會在空白空間浪費(fèi)內(nèi)存和計算。具體來說,您可以使用稀疏張量表示此類數(shù)據(jù),這是稀疏數(shù)據(jù)最廣泛使用的表示形式之一。稀疏張量使用一對非零值的位置和值表示數(shù)據(jù)。
Minkowski 發(fā)動機(jī)是 PyTorch 的擴(kuò)展,它為稀疏張量提供了一組廣泛的神經(jīng)網(wǎng)絡(luò)層。 Minkowski 發(fā)動機(jī)中的所有功能都支持 CPU 和 CUDA 操作,其中 CUDA 操作在 CPU s 生產(chǎn)線頂部加速超過 100 倍。
圖 5 稀疏表示圖:隨時間變化的非零元素數(shù)量,加速比上的非零元素數(shù)。
關(guān)于作者
Jean Kossaifi 是 NVIDIA 的高級研究科學(xué)家。在此之前,他是劍橋三星人工智能中心的研究科學(xué)家。他在自然條件下的面部分析和面部情感評估方面做了大量工作,這是一個彌合計算機(jī)視覺和機(jī)器學(xué)習(xí)之間差距的領(lǐng)域。他目前的重點(diǎn)是機(jī)器學(xué)習(xí)的張量方法。特別是,將這些方法與深度學(xué)習(xí)有效地結(jié)合起來,開發(fā)出更好的模型,這些模型在內(nèi)存和計算效率方面都是高效的,同時對噪聲、隨機(jī)或?qū)剐砸约坝蜣D(zhuǎn)移更具魯棒性。他是 TensorLy 的創(chuàng)建者, TensorLy 是 Python 中張量方法和深度張量化神經(jīng)網(wǎng)絡(luò)的高級 API ,旨在使張量學(xué)習(xí)變得簡單易懂。 Jean 在倫敦帝國理工學(xué)院獲得博士和碩士學(xué)位,并與 Maja Pantic 教授一起工作。他還擁有法國工程文憑和應(yīng)用數(shù)學(xué)、計算和金融理學(xué)碩士學(xué)位,并同時獲得高等數(shù)學(xué)理學(xué)學(xué)士學(xué)位。
審核編輯:郭婷
下一篇: PLC、DCS、FCS三大控
上一篇: KUKA C4更換機(jī)器人的2