2016年,圍棋人工智能軟件AlphaGo打敗了韓國圍棋名將李世石。2017年,新一代AlphaGo(AlphaGo Master)的戰(zhàn)斗力升級,又打敗了世界排名第一的柯潔。這樣的人工智能(Artificial Intelligence)系統(tǒng),不再簡單地只靠儲存能力戰(zhàn)勝人類,而是已經(jīng)在一些具體的領(lǐng)域超越了人類的認知,甚至像是擁有了“思考”的能力,更接近大眾對人工智能的想象。
人工智能似乎一直是一個遙遠的科幻的概念,但事實上,當今世界很多應(yīng)用已經(jīng)達到了“人工智能”的標準。除了前文提到的圍棋軟件,還有自動駕駛系統(tǒng)、智能管家,甚至蘋果手機上的語音助手Siri都是一種人工智能。而這些應(yīng)用背后的核心算法就是深度學習(Deep Learning),也是機器學習(Machine Learning)領(lǐng)域最火熱的一個分支。和其他機器學習算法有很大不同,
深度學習依賴大量數(shù)據(jù)的迭代訓練,進而發(fā)現(xiàn)數(shù)據(jù)中內(nèi)在的特征(Feature),然后給出結(jié)果。這些特征中,有很多已經(jīng)超越了人為定義的特征的表達能力,因此得以讓深度學習在很多任務(wù)的表現(xiàn)上大大超越了其他機器學習算法,甚至超越了人類自己。
但是,深度學習還沒能全方面超越人類。相反,它的工作完全依賴于人類對算法的設(shè)計。深度學習從誕生到爆發(fā)用了大約五十年。從其發(fā)展歷程,我們可以窺見計算機科學家們的步步巧思,并從中探討其可能的發(fā)展方向。
一、什么是深度學習
深度學習就是人工神經(jīng)網(wǎng)絡(luò)(Artificial Neural Network)。神經(jīng)網(wǎng)絡(luò)算法得名于其對于動物神經(jīng)元傳遞信息方式的模擬,而深度學習這一“俗稱”又來自于多層級聯(lián)的神經(jīng)元:眾多的層讓信息的傳遞實現(xiàn)了“深度”。
在動物身上,神經(jīng)一端連接感受器,另一端連接大腦皮層,中間通過多層神經(jīng)元傳導信號。神經(jīng)元之間也不是一對一連接,而是有多種連接方式(如輻射式、聚合式等),從而形成了網(wǎng)絡(luò)結(jié)構(gòu)。這一豐富的結(jié)構(gòu)最終不僅實現(xiàn)了信息的提取,也使動物大腦產(chǎn)生了相應(yīng)的認知。動物的學習過程則需要外界信息在大腦中的整合。外界信息進入神經(jīng)系統(tǒng),進而成為大腦皮層可以接收的信號;信號與腦中的已有信息進行比對,也就在腦中建立了完整的認知。
類似地,通過計算機編程,計算機科學家讓一層包含參數(shù)(Parameter)和權(quán)重(Weight)的函數(shù)模擬神經(jīng)元內(nèi)部的操作,用非線性運算的疊加模擬神經(jīng)元之間的連接,最終實現(xiàn)對信息的重新整合,進而輸出分類或預(yù)測的結(jié)果。針對神經(jīng)網(wǎng)絡(luò)輸出結(jié)果與真實結(jié)果之間的差異,神經(jīng)網(wǎng)絡(luò)會通過梯度(Gradient)逐層調(diào)整相應(yīng)的權(quán)重以縮小差異,從而達到深度學習的目的。
二、深度學習的雛形
其實,模擬動物的神經(jīng)活動,并非深度學習的專利。早在1957年,F(xiàn)rank Rosenblatt就提出了感知機(Perceptron)的概念。這是一種只能分出兩類結(jié)果的單層神經(jīng)網(wǎng)絡(luò)。這種模型非常簡單,輸出結(jié)果與輸入信息之間幾乎就是一個“加權(quán)和”的關(guān)系。雖然權(quán)重會直接根據(jù)輸出結(jié)果與真實值之間的差異自動調(diào)整,但是整個系統(tǒng)的學習能力有限,只能用于簡單的數(shù)據(jù)擬合。
幾乎與此同時,神經(jīng)科學界出現(xiàn)了重大進展。神經(jīng)科學家David Hubel和Torsten Wiesel對貓的視覺神經(jīng)系統(tǒng)的研究證實,視覺特征在大腦皮層的反應(yīng)是通過不同的細胞達成的。其中,簡單細胞(Simple Cell)感知光照信息,復雜細胞(Complex Cell)感知運動信息。
受此啟發(fā),1980年,日本學者福島邦彥(Kunihiko Fukushima)提出了一個網(wǎng)絡(luò)模型“神經(jīng)認知機(Neocognitron)”(圖1)用以識別手寫數(shù)字。這種網(wǎng)絡(luò)分成多層,每層由一種神經(jīng)元組成。在網(wǎng)絡(luò)內(nèi)部,兩種神經(jīng)元交替出現(xiàn),分別用以提取圖形信息和組合圖形信息。這兩種神經(jīng)元到后來演化成了重要的卷積層(Convolution Layer)和提取層(Pooling Layer)。但是這個網(wǎng)絡(luò)的神經(jīng)元都是由人工設(shè)計而成,其神經(jīng)元也不會根據(jù)結(jié)果進行自動調(diào)整,因此也就不具有學習能力,只能限制在識別少量簡單數(shù)字的初級階段。
圖1:神經(jīng)認知機Neocognitron的工作原理圖(摘自原文Fukushima, Kunihiko. "Neocognitron: A hierarchical neural network capable of visual pattern recognition."Neural networks1.2 (1988): 119-130)
當學習能力無法被實現(xiàn)的時候,就需要更多的人工設(shè)計來替代網(wǎng)絡(luò)的自主學習。1982年,美國科學家John Hopfield發(fā)明了一種神經(jīng)網(wǎng)絡(luò),在其中加入了諸多限制,讓神經(jīng)網(wǎng)絡(luò)在變化中保持記憶以便學習。同年,芬蘭科學家Teuvo Kohonen在無監(jiān)督算法向量量化神經(jīng)網(wǎng)絡(luò)(Learning Vector Quantization Network)的基礎(chǔ)上提出了自組織映射(Self-Organizing Map),希望通過縮短輸入和輸出之間的歐氏距離,從繁雜的網(wǎng)絡(luò)中學習到正確的關(guān)系。1987年,美國科學家Stephen Grossberg和Gail Carpenter依據(jù)自己早先的理論提出了自適應(yīng)共振理論網(wǎng)絡(luò) (Adaptive resonance theory),也就是讓某個已知信息和未知信息發(fā)生“共振”,從而從已知信息推測未知的信息實現(xiàn)“類比學習”。雖然這些網(wǎng)絡(luò)都加上了“自組織”、“自適應(yīng)”、“記憶”等關(guān)鍵詞,但其學習方式效率不高,而且需要根據(jù)應(yīng)用本身不斷地優(yōu)化設(shè)計,再加上網(wǎng)絡(luò)的記憶容量很小,很難在實際中應(yīng)用。
1986年,計算機科學家David Rumelhart、Geoffrey Hinton和Ronald Williams發(fā)表了反向傳播算法(Backpropagation),才算階段性地解決了神經(jīng)網(wǎng)絡(luò)學習的難題。通過梯度的鏈式法則,神經(jīng)網(wǎng)絡(luò)的輸出結(jié)果和真實值之間的差異可以通過梯度反饋到每一層的權(quán)重中,也就讓每一層函數(shù)都類似感知機那樣得到了訓練。這是Geoffrey Hinton第一個里程碑式的工作。如今的他是Google的工程研究員,曾獲得計算機領(lǐng)域最高榮譽的圖靈(Turing)獎。他曾在采訪中說: “我們并不想構(gòu)建一個模型來模擬大腦的運行方式。我們會觀察大腦,同時會想,既然大腦的工作模式可行,那么如果我們想創(chuàng)造一些其他可行的模型,就應(yīng)該從大腦中尋找靈感。反向傳播算法模擬的正是大腦的反饋機制。
之后的1994年,計算機科學家Yann LeCun在Geoffrey Hinton組內(nèi)做博士后期間,結(jié)合神經(jīng)認知機和反向傳播算法,提出了用于識別手寫郵政編碼的卷積神經(jīng)網(wǎng)絡(luò)LeNet,獲得了99%的自動識別率,并且可以處理幾乎任意的手寫形式。這一算法在當時取得了巨大的成功,并被應(yīng)用于美國郵政系統(tǒng)中。
三、深度學習的爆發(fā)
盡管如此,深度學習并沒有因此而熱門。原因之一,就是神經(jīng)網(wǎng)絡(luò)需要更新大量參數(shù)(僅2012年提出的AlexNet就需要65萬個神經(jīng)元和6000萬個參數(shù)),需要強大的數(shù)據(jù)和算力的支持 (圖2)。而如果想通過降低網(wǎng)絡(luò)的層數(shù)來降低數(shù)據(jù)量和訓練時間,其效果也不如其他的機器學習方法(比如2000年前后大行其道的支持向量機,Support Vector Machine)。2006年Geoffrey Hinton的另一篇論文首度使用了“深度網(wǎng)絡(luò)”的名稱(Deep Belief Nets),為整個神經(jīng)網(wǎng)絡(luò)的優(yōu)化提供了途徑。雖然為后面深度學習的炙手可熱奠定了基礎(chǔ),但是之所以用“深度網(wǎng)絡(luò)”而避開之前“神經(jīng)網(wǎng)絡(luò)”的名字,就是因為主流研究已經(jīng)不認可“神經(jīng)網(wǎng)絡(luò)”,甚至到了看見相關(guān)標題就拒收論文的程度。
深度學習的轉(zhuǎn)折發(fā)生在2012年。在計算機視覺領(lǐng)域,科學家也逐漸注意到了數(shù)據(jù)規(guī)模的重要性。2010年,斯坦福大學的計算機系副教授李飛飛(Li Fei-Fei)發(fā)布了圖像數(shù)據(jù)庫ImageNet,共包含上千萬張經(jīng)過人工標記過的圖片,分屬于1000個類別,涵蓋動物、植物、生活等方方面面。2010—2017年,計算機視覺領(lǐng)域每年都會舉行基于這些圖片的分類競賽,ImageNet也因此成為全世界視覺領(lǐng)域機器學習和深度學習算法的試金石。2012年,Geoffrey Hinton在多倫多大學的學生,Alex Krizhevsky,在ImageNet的分類競賽中,通過在兩塊NVIDIA顯卡(GPU)上編寫神經(jīng)網(wǎng)絡(luò)算法而獲得了冠軍,而且其算法的識別率大幅超過第二名。這個網(wǎng)絡(luò)隨后被命名為AlexNet。這是深度學習騰飛的開始。
圖2:AlexNet的網(wǎng)絡(luò)結(jié)構(gòu)(摘自原文Krizhevsky, Alex, Ilya Sutskever, and Geoffrey E. Hinton."Imagenet classification with deep convolutional neural networks."Advances in neural information processing systems. 2012.)
從AlexNet開始,由ImageNet提供數(shù)據(jù)支持,由顯卡提供算力支持,大量關(guān)于神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)的研究逐漸鋪開。首先,由于大量軟件包的發(fā)布(如Caffe,TensorFlow,Torch等),實現(xiàn)深度學習變得越來越容易。其次,在研究領(lǐng)域,從ImageNet分類競賽和任務(wù)為更加復雜的圖像分割和描述的COCO競賽中,又產(chǎn)生了VGGNet、GoogLeNet、ResNet和DenseNet。這些神經(jīng)網(wǎng)絡(luò)的層數(shù)逐漸增加,從AlexNet的11層到VGGNet的19層,而到ResNet和DenseNet時,深度已經(jīng)達到了150層乃至200層,達成了名副其實的“深度”學習。這些深度神經(jīng)網(wǎng)絡(luò)在一些數(shù)據(jù)集上關(guān)于分類問題的測試,甚至已經(jīng)超過了人類的識別準確率(在ImageNet上人類的錯誤率大約為5%,而SENet的錯誤率可以達到2.25%)。如表1所示:
年份 | 2012 | 2013 | 2014 | 2014 | 2015 | 2016 | 2017 |
網(wǎng)絡(luò) | AlexNet | ZFNet | VGGNet | GoogLeNet | ResNet | ResNeXt | SENet |
Top5錯誤率 | 15.32% | 13.51% | 7.32% | 6.67% | 3.57% | 3.03% | 2.25% |
層數(shù) | 8 | 8 | 16 | 22 | 152 | 152 | 154 |
參數(shù)量 | 60M | 60M | 138M | 7M | 60M | 44M | 67M |
表1:歷年ImageNet圖片分類比賽優(yōu)秀網(wǎng)絡(luò)匯總(由原始論文計算,并參考https://github.com/sovrasov/flops-counter.pytorch)
自此,計算機科學家們越來越多地利用神經(jīng)網(wǎng)絡(luò)算法來解決問題。除了上述在二維圖像上的分類、分割、檢測等方面的應(yīng)用,神經(jīng)網(wǎng)絡(luò)還被用在時序信號甚至是無監(jiān)督的機器學習中。循環(huán)神經(jīng)網(wǎng)絡(luò)(Recurrent Neural Network)可以按照時間順序接受信號的輸入。一方面,它的每層神經(jīng)元可以壓縮并儲存記憶;另一方面,它可以從記憶中提取有效的維度進行語音識別和文字理解。而把神經(jīng)網(wǎng)絡(luò)用在無監(jiān)督學習上,就跳出了“提取主成分”或者“提取特征值”的窠臼,簡單地用一個包含了多層網(wǎng)絡(luò)的自編碼器(Autoencoder),就可以把原始信息自動地實現(xiàn)降維和提取。再結(jié)合向量量化網(wǎng)絡(luò),可以實現(xiàn)對特征的聚類,進而在沒有太多標記數(shù)據(jù)的情況下得到分類結(jié)果??梢哉f,神經(jīng)網(wǎng)絡(luò)無論是效果還是應(yīng)用范圍上,都成為了無可爭議的王者。
四、深度學習的發(fā)展現(xiàn)狀和趨勢
2017年,ImageNet圖像分類競賽宣布完成了最后一屆。但這并不意味著深度學習偃旗息鼓,恰恰相反,深度學習的研究和應(yīng)用脫離了之前以“分類問題”為研究主題的階段,進入了廣泛發(fā)展的階段。同時,與深度學習相關(guān)的國際會議投稿量逐年呈指數(shù)式地增加,也說明有越來越多的研究者和工程師投身于深度學習算法的研發(fā)和應(yīng)用。筆者認為,深度學習近年來的發(fā)展呈現(xiàn)出以下幾個趨勢。
第一,從結(jié)構(gòu)上看,神經(jīng)網(wǎng)絡(luò)的類型會變得更加多樣。其中,可以執(zhí)行卷積神經(jīng)網(wǎng)絡(luò)逆向過程的生成對抗網(wǎng)絡(luò)(Generative Adversarial Network)從2016年被提出以來發(fā)展迅速,成為了深度學習一個重要的“增長點”。由于深度學習算法可以從原始信息(如圖像)中提取特征,那么其逆過程邏輯上也是可行的,即利用一些雜亂的信號通過特定神經(jīng)網(wǎng)絡(luò)來生成相應(yīng)的圖像。于是,計算機科學家Ian Good fellow提出了生成對抗網(wǎng)絡(luò)。這個網(wǎng)絡(luò)除了能生成圖像的生成器(Generator)之外,還提供了一個判別器(Discriminator)。在訓練過程中,生成器趨于學習出一個讓計算機難以分辨的、極度逼近真實的生成圖片,判別器趨于學習出強大的判定真實圖片和生成圖片的能力。二者對抗學習,生成圖片做得越真實,判別器就會越難分辨;判別器能力越強,也就促使生成器生成新的、更加真實的圖片。生成對抗網(wǎng)絡(luò)在人臉生成和識別、圖像分辨率提升、視頻幀率提升、圖像風格遷移等領(lǐng)域中都有著廣泛的應(yīng)用。
第二,研究的問題趨于多樣。一方面,一些在機器學習其他分支中的概念,如強化學習(Reinforcement Learning)、遷移學習(Transfer Learning),在深度學習中找到了新的位置。另一方面,深度學習本身的研究也從“工程試錯”向“理論推導”發(fā)展。深度學習一直因其缺少理論基礎(chǔ)而飽受詬病,在訓練過程中幾乎完全依賴數(shù)據(jù)科學家的經(jīng)驗。為了減少經(jīng)驗對結(jié)果的影響,以及減少選擇超參數(shù)的時間,除了對最初經(jīng)典網(wǎng)絡(luò)結(jié)構(gòu)的修改,研究者們也在從根本上修正深度學習的效率。一些研究者在試圖聯(lián)系其他機器學習的方法(比如壓縮感知、貝葉斯理論等),用以使深度學習從工程的試錯變?yōu)橛欣碚撝笇碌膶嵺`。還有一些研究在試圖解釋深度學習算法的有效性,而不只是把整個網(wǎng)絡(luò)當做一個黑盒子。與此同時,研究者也在針對超參數(shù)建立另一個機器學習的問題,即元學習(Meta Learning),以降低選擇超參數(shù)過程的難度和隨機性。
第三,隨著大量研究成果的新鮮出爐,更多的算法也被應(yīng)用于產(chǎn)品中。除了一些小規(guī)模的公司陸續(xù)開發(fā)了圖像生成小程序,大公司們也在競相搶占深度學習這一高地。互聯(lián)網(wǎng)巨頭Google、Facebook和Microsoft都先后成立了深度學習的發(fā)展中心,中國的互聯(lián)網(wǎng)公司百度、阿里巴巴、騰訊、京東以及字節(jié)跳動等也都各自成立了自己的深度學習研究中心。一些基于深度學習技術(shù)的獨角獸公司,如DeepMind、商湯、曠視等,也從大量競爭者中脫穎而出。2019年以來,產(chǎn)業(yè)界的深度學習研究也漸漸地從關(guān)注論文發(fā)表轉(zhuǎn)變到了落地的項目。比如騰訊AI Lab對視頻播放進行優(yōu)化,比如依圖制作的肺結(jié)節(jié)篩查已經(jīng)在國內(nèi)的一些醫(yī)院試點。
第四,隨著5G技術(shù)的逐漸普及,深度學習會跟云計算一起嵌入日常生活。深度學習這項技術(shù)一直難以落地的原因是計算資源的匱乏。一臺配備顯卡的超級計算機的成本可以達到50萬人民幣,而并不是所有公司都有充足的資金和能夠充分使用這些設(shè)備的人才。而隨著5G技術(shù)的普及,以及云技術(shù)的加持,公司可以通過租用的方式,低成本地從云中直接獲得計算資源。公司可以將數(shù)據(jù)上傳到云端,并且?guī)缀鯇崟r地收到云端傳回的計算結(jié)果。一大批新興的創(chuàng)業(yè)公司正在想辦法利用這些基礎(chǔ)設(shè)施:他們召集了一批計算機科學家和數(shù)據(jù)科學家,為其他公司提供深度學習算法支持和硬件支持。這使得一些之前跟計算機技術(shù)關(guān)系不大的行業(yè)(比如制造業(yè)、服務(wù)業(yè)、娛樂業(yè),甚至法律行業(yè)),不再需要自己定義問題、研發(fā)方案,而是通過與算法公司合作便利地享受到計算機技術(shù)行業(yè)的專業(yè)支持,也因此更容易獲得深度學習的賦能。
五、總結(jié)與討論
在五十多年的歷程中,深度學習經(jīng)過了從雛形到成熟、從簡單到復雜的發(fā)展,在學術(shù)界和業(yè)界積累了大量理論和技術(shù)?,F(xiàn)在的發(fā)展方向趨向于多元化。這一方面是因為大量產(chǎn)品正處于研發(fā)階段,另一方面計算機科學家也在做一些關(guān)于深度學習的更加細致的研究。
當然,作為一個綜合性的學科,除了以圖像識別為核心的發(fā)展歷程,深度學習在語音分析和自然語言處理上也有其各自的發(fā)展過程。同時,多種神經(jīng)網(wǎng)絡(luò)、多媒體形態(tài)的結(jié)合,正在成為研究的熱點。比如結(jié)合圖像和語言處理的自動給圖片配字幕(Image Captioning)就是一個具有挑戰(zhàn)的課題。
需要指出的是,神經(jīng)網(wǎng)絡(luò)的實現(xiàn)并非只有上述這一種方法,一些現(xiàn)階段沒有得到廣泛使用的網(wǎng)絡(luò)結(jié)構(gòu),比如如自適應(yīng)共振理論網(wǎng)絡(luò)、Hopfield網(wǎng)絡(luò)以及受限玻爾茲曼機(Restricted Boltzmann Machine)也可能在未來提供整個行業(yè)的前行動力。可以肯定,雖然現(xiàn)在深度學習還是一個似乎縈繞著高級和神秘光環(huán)的存在,但在不久的將來,這件超級武器將會成為大小公司的基本技術(shù)。
審核編輯:郭婷
-
人工智能
+關(guān)注
關(guān)注
1796文章
47791瀏覽量
240574 -
機器學習
+關(guān)注
關(guān)注
66文章
8446瀏覽量
133124 -
深度學習
+關(guān)注
關(guān)注
73文章
5518瀏覽量
121608
發(fā)布評論請先 登錄
相關(guān)推薦
詳解深度學習、神經(jīng)網(wǎng)絡(luò)與卷積神經(jīng)網(wǎng)絡(luò)的應(yīng)用
![詳解<b class='flag-5'>深度</b><b class='flag-5'>學習</b>、<b class='flag-5'>神經(jīng)網(wǎng)絡(luò)</b>與卷積<b class='flag-5'>神經(jīng)網(wǎng)絡(luò)</b>的應(yīng)用](https://file1.elecfans.com/web2/M00/BC/12/wKgZomWfWCyAZ4XzAAA3NhNbohk378.png)
評論