自從2012年以來,深度學習(DeepLearning)就以一種勢如破竹之勢突破了一個個經(jīng)典的人工智能問題。面對人工智能的快速發(fā)展,你不想了解它的基本工作原理嗎?
想搞清楚什么是深度學習,要先從人工智能說起,自從1956年計算機科學家們在達特茅斯會議(DartmouthConferences)上確認人工智能這個術(shù)語以來,人們就不乏關(guān)于人工智能奇思妙想,我們夢想著擁有人類五感(甚至更多)、推理能力以及人類思維方式的神奇機器。如今,雖然夢想的局面還沒有出現(xiàn),但是稍微弱一點的人工智能已經(jīng)大行其道了,比如:圖像識別、語音識別、多語言翻譯等。
機器學習是實現(xiàn)人工智能的一種重要方法。機器學習的概念來自早期的人工智能研究者,簡單來說,機器學習就是使用算法分析數(shù)據(jù),從中學習并自動歸納總結(jié)成模型,最后使用模型做出推斷或預測。與傳統(tǒng)的編程語言開發(fā)軟件不同,我們使用大量的數(shù)據(jù)送給機器學習,這個過程叫做“訓練”。
深度學習(DeepLearning)是機器學習中近年來備受重視的一支,深度學習根源于類神經(jīng)網(wǎng)絡模型,但今日深度學習的技術(shù)和它的前身已截然不同,目前最好的語音識別和影像辨識系統(tǒng)都是以深度學習技術(shù)來完成,像各手機廠商宣傳的AI拍照功能,以及此前紅遍大街小巷的AlphaGo都是基于深度學習技術(shù),僅僅是應用場景不同。
深度學習的基礎(chǔ)是大數(shù)據(jù),實現(xiàn)的路徑是云計算。只要有充足的數(shù)據(jù)、足夠快的算力,得出的“結(jié)果”(宏觀上呈現(xiàn)機器的某種智能化功能),就會更加準確。目前,基于大數(shù)據(jù)、云計算這種智能化操作路徑,可以在深度神經(jīng)網(wǎng)絡框架下來更好解釋。
深度神經(jīng)網(wǎng)絡也被稱為深度學習,是人工智能領(lǐng)域的重要分支,深度神經(jīng)網(wǎng)絡目前是很多現(xiàn)代AI應用實現(xiàn)的基礎(chǔ)。自從深度神經(jīng)網(wǎng)絡在語音和圖像識別任務中展現(xiàn)出突破性成果后,使用深度神經(jīng)網(wǎng)絡的應用數(shù)量就呈爆炸式增長。
目前這些深度神經(jīng)網(wǎng)絡方法被大量應用在自動駕駛、語音識別、圖像識別、AI游戲等領(lǐng)域。在很多領(lǐng)域,深度神經(jīng)網(wǎng)絡跟早期的專家手動提取特征或制定規(guī)則不同,深度神經(jīng)網(wǎng)絡的優(yōu)越性能來自于在大量數(shù)據(jù)上使用統(tǒng)計學習方法,從原始數(shù)據(jù)中提取高級特征的能力,從而對輸入空間進行有效的表示。
實際上,這種表示的過程就包含對大量數(shù)據(jù)計算的過程,因為針對某種特定功能的最終呈現(xiàn)的超高的準確性,是以超高的計算復雜度為代價的。
而通常我們所說的計算引擎,尤其是GPU,就是深度神經(jīng)網(wǎng)絡的基礎(chǔ)。因此,能夠在不犧牲準確性和增加硬件成本的前提下,提高深度神經(jīng)網(wǎng)絡的能量效率和吞吐量的方法,對于深度神經(jīng)網(wǎng)絡在AI系統(tǒng)中更廣泛的應用是至關(guān)重要的。
目前,國內(nèi)一些知名大公司近些年的研究人員已經(jīng)更多的將關(guān)注點放在針對深度神經(jīng)計算開發(fā)專用的加速方法,并著手研發(fā)人工智能專用芯片,也就是真正的人工智能芯片。
所謂人工智能芯片,一般是指針對人工智能算法設(shè)計的ASIC(專用芯片)。雖然傳統(tǒng)的CPU、GPU也都可以拿來執(zhí)行人工智能算法,但是這些芯片要么計算速度慢,要么功耗大,這么多缺點使得它們在很多場合是不能用的。
比如,自動駕駛的汽車需要人工智能芯片,因為汽車在行駛過程中需要識別道路行人以及紅綠燈的變化狀況,這些情況有時候是突發(fā)的,如果我們利用傳統(tǒng)的CPU去做這個突發(fā)路況計算,因為CPU不是專職干人工智能計算的,所以它的計算速度慢,很可能綠燈已經(jīng)變成紅燈了,我們的自動駕駛汽車還沒有剎車。
如果換成用GPU,計算速度確實要快很多,但這個時候的計算功耗非常大,電動汽車的車載電池無法長時間支撐這個功能,而且大功率芯片會導致車體發(fā)熱,容易引發(fā)油箱自燃。而且GPU一般價格昂貴,普通消費者也很少能買得起這種使用大量GPU芯片的自動駕駛汽車。因此,在人工智能領(lǐng)域,開發(fā)專用芯片成了必然趨勢。
(行業(yè)針對不同場景開發(fā)的專用芯片技術(shù)實現(xiàn)路徑)
目前市場上可以買到的人工智能芯片按照處理任務的不同可以分為兩類。
——面向訓練和推斷(Inference),這個工作GPU可以干,CPU也可以干,F(xiàn)PGA也可以干。但如果開發(fā)人工智能的芯片,則干得更好。因為人工智能芯片是專業(yè)干這個的,相當于是“專家”。
——推斷加速芯片。這類芯片就是把神經(jīng)網(wǎng)絡訓練好的模型放在芯片上跑。比如寒武紀的神經(jīng)網(wǎng)絡芯片,深鑒科技的DPU,地平線機器人的BPU都是這類產(chǎn)品。
如果按使用場景劃分,人工智能芯片主要分為云端和終端芯片。
目前主流的深度學習人工神經(jīng)網(wǎng)絡算法包括訓練和推斷兩個環(huán)節(jié)。由于訓練需要大量數(shù)據(jù)去訓練人工神經(jīng)網(wǎng)絡,因此訓練主要在云端進行。比如百度在2018年的AI開發(fā)者大會上推出的昆侖芯片——這是中國首款云端全功能AI芯片。而終端芯片更側(cè)重低成本和低功耗,目前中國的人工智能芯片初創(chuàng)企業(yè)主要布局在這個領(lǐng)域。
那么,人工智能芯片是如何工作的呢?在神經(jīng)網(wǎng)絡領(lǐng)域,一個子領(lǐng)域被稱為深度學習。最初的神經(jīng)網(wǎng)絡通常只有幾層的網(wǎng)絡。而深度網(wǎng)絡通常有更多的層數(shù),今天的網(wǎng)絡一般在五層以上,甚至達到一千多層。
目前在視覺應用中使用深度神經(jīng)網(wǎng)絡的解釋是:將圖像所有像素輸入到網(wǎng)絡的第一層之后,該層的加權(quán)和可以被解釋為表示圖像不同的低階特征。隨著層數(shù)的加深,這些特征被組合,從而代表更高階的圖像特征。
當然,一片在指甲蓋大小的面積上集成了超過55億個晶體管的AI芯片不可能只用來拍拍照這么簡單。目前手機上已經(jīng)有語音服務、機器視覺識別、圖像處理等智能應用,未來還會增加包含醫(yī)療、AR、游戲AI等更多元化的應用類型。
那么語音服務、機器識別、圖像自動處理這些功能,在微觀層面的機制如何運行的?
以AI拍照拍攝一只在混亂背景中的貓咪為例,當圖片進入攝像頭中的圖片在表層時,該層的加權(quán)可能被“認定”為一直老虎,但當隨著加權(quán)層數(shù)的不斷增加,顯現(xiàn)的結(jié)果就會越來越精確,不僅能識別圖片中是一只貓,而且還能進一步識別出貓的周圍環(huán)境:有一片草地,天空是藍的,貓站在臺階上等等更高階的圖像特征。
深度學習網(wǎng)絡在近些年得到巨大成功,主要是由三個因素導致的。
首先是訓練網(wǎng)絡所需的海量信息。學習一個有效的表示需要大量的訓練數(shù)據(jù)。目前Facebook每天收到超過3.5億張圖片,沃爾瑪每小時產(chǎn)生2.5Pb的用戶數(shù)據(jù),YouTube每分鐘有300小時的視頻被上傳。因此,云服務商和許多公司有海量的數(shù)據(jù)來訓練算法。
其次是充足的計算資源。半導體和計算機架構(gòu)的進步提供了充足的計算能力,使得在合理的時間內(nèi)訓練算法成為可能。
最后,算法技術(shù)的進化極大地提高了準確性并拓寬了DNN的應用范圍。早期的DNN應用打開了算法發(fā)展的大門。它激發(fā)了許多深度學習框架的發(fā)展(大多數(shù)都是開源的),這使得眾多研究者和從業(yè)者能夠很容易的使用DNN網(wǎng)絡。
目前,DNN已經(jīng)廣泛應用到各個領(lǐng)域,包括圖像和視頻、語音和語言、醫(yī)藥、游戲、機器人、自動駕駛等領(lǐng)域??梢灶A見的是,深度神經(jīng)網(wǎng)絡必將也會在金融(例如交易,能源預測和風險評估),基礎(chǔ)設(shè)施建設(shè)(例如結(jié)構(gòu)安全性,交通控制),天氣預報和事件檢測中有更多深入的應用。