5月10號的一場發布會,讓英偉達的股票瘋漲了18個點。在公布和豐田合作方案、GPU云平臺、機器人AI虛擬訓練系統Isaac等等表因背后,更深層的還應該是英偉達新一代Volta架構在硬件上取得的突破。
Volta架構擁有全新的張量運算指令Tensor Core,能夠將深度學習神經網絡的訓練速度提高12倍,同時也將提高深度學習的推理速度。
可能很多人對于這條新聞的理解就停留于股票瘋漲,下面就分別來談談深度學習神經網絡、深度學習訓練和深度學習推理這三個看似復雜,實則簡單的名詞。
深度學習神經網絡
神經網絡四個字之所以讓人覺得高深,或許是因為它聽起來很像是用機器模仿生物。實際上,神經網絡并非是在物理上用某種材料模仿人的神經,而是從抽象層面去模仿人的思維方式。
人類的思維方式有兩種,一種是邏輯思維——簡單來說是通過一步步的推論得出對事物的結論。另一種則是形象思維——對事物的客觀形象進行感知并儲存,通過事物的特征去把握規律,最終通過聯想、想象的方式進行表達。
從生物學上來講,人體的大量神經元、細胞、觸點等等連接構成神經網絡,對信息進行感知、分析和判斷。注意,當我們用這種思維方式處理信息時,主要依靠的是神經元之間的互相作用。
而我們所提到深度學習神經網絡,就是在模仿人體神經元之間的互相作用。
深度學習訓練
當我們在購買了一個自認為美味的蘋果時,或許取決于它的飽滿程度、它的顏色和氣味。我們所認識到蘋果的種種特征與蘋果是否美味之間的關系,就是神經元之間的相互作用的結果。
當我們用機器模仿人腦運作時,我們希望看到的是機器擁有輸入(蘋果的特征)和輸出(蘋果是否好吃)兩個元素時,自己就能夠總結出規則(什么樣子的蘋果好吃或難吃)。
本質上來說,這是一個學習的過程,所以神經網絡和深度學習常常相伴出現。
如果我們希望機器能夠分辨蘋果的味道,我們應該做什么?顯然是讓它像品鑒師一樣,“品嘗”大量不同的蘋果。這一過程,就是深度學習神經網絡的“訓練”。
我們“輸入”給機器一個蘋果,詢問它這個蘋果是否好吃,機器看到的不僅僅是一個蘋果,而是蘋果的顏色、大小甚至于表皮上有多少斑點這一類人腦無法識別的特征。當它錯誤的輸出好吃或不好吃的結論時,它會根據蘋果的種種特征向上回溯,思考自己究竟是在顏色、大小還是哪一種特征中出了錯誤。當我們給它足夠多的蘋果時,它就會領悟到好吃的蘋果應該是什么樣。
深度學習神經網絡的訓練就像是在走迷宮,“輸入”的蘋果是迷宮的入口,而其中蘋果的千百種顏色、千百種形狀是迷宮中復雜的岔路,而出口只有一個,那就是好吃。機器發現在青色蘋果這一條岔路中碰了壁,就會回到岔路口,嘗試紅色、黃色等等路口能不能走出去。當機器走遍所有岔路,走出迷宮時,它自然學會了那種蘋果是好吃的。
深度學習推理
在訓練過程中,深度學習神經網絡已經做的很偉大了——它沒有味蕾卻能判斷蘋果的味道。目前不斷發展的硬件技術,也可以讓這一計算過程所需時間逐步減少。
可問題在于,即使深度學習神經網絡“可以”找到迷宮正確的出口,可他每一次尋找同一個迷宮出口的方式都是將整個迷宮行走一遍。那所謂“訓練”二字的意義就不復存在。
這也是為什么,神經網絡需要推理。
當機器領悟到:紅色、有香氣的蘋果=好吃,給它一個綠色的蘋果,它將不再去“聞”綠蘋果是否有香氣,而是直接給出不好吃這個答案。說白了,訓練是機器在迷宮中找到正確路線,而推理則是把迷宮中所有錯誤的岔路都堵住。
這時我們再回頭看英偉達Tensor Core提到的訓練速度提高和推理速度提高就能明白,Tensor Core讓機器提高了“找到”迷宮出口的速度——這一部分主要應用的是并行計算,讓機器擁有“分身”,可以同時出現在數個岔路口判斷此路通否,也讓機器提高了在迷宮正確路線上行走的速度——也是對GPU性能最大的考驗。
在英偉達專注的自動駕駛領域,深度學習神經網絡是被應用極多的技術之一,駕駛系統要不斷的被輸入行駛時的多種情況——從天氣到路況再到周邊車輛,再輸出自身的反應——是否加速、是否停車等等。
相比判斷蘋果的美味與否,我們可以這樣形容雙方計算量的差異,判斷蘋果的美味與否是讓機器在二維平面中走出迷宮,而深度學習神經網絡于自動駕駛的應用,恐怕是讓機器走出一個五維立體的舉行迷宮,其中也許還分布著幾個蟲洞。
對于英偉達這樣的硬件廠商而言,能做到的就是不斷增強硬件的計算能力,提高機器在迷宮中的移動速度。幫助我們更快的找到新世界的出路,大概這也是一切技術的價值所在吧。