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