官术网_书友最值得收藏!

第二章
人工智能的過去

人工智能的概念

提起人工智能,我們會想起在各類影視作品中看到的場景:《她》里讓人類陷入愛情的人工智能操作系統薩曼莎、《超能特工隊》里的充氣醫療機器人大白、《西部世界》里游蕩在公園里逐漸意識覺醒的機器人接待員等等,都是人們對人工智能的美好期待。

時間回到1956年的夏天,在達特茅斯夏季人工智能研究會議上,約翰·麥卡錫、馬文·明斯基、納撒尼爾·羅切斯特和克勞德·香農,以及其余6位科學家,共同討論了當時計算機科學領域尚未解決的問題,第一次提出了人工智能的概念。在這次會議之后,人工智能開始了第一春,但受限于當時的軟硬件條件,那時的人工智能研究多局限于對于人類大腦運行的模擬,研究者只能著眼于一些特定領域的具體問題,出現了幾何定理證明器、西洋跳棋程序、積木機器人等。在那個計算機僅僅被作為數值計算器的時代,這些略微展現出智能的應用,即被視作人工智能的體現。

進入21世紀,隨著深度學習的提出,人工智能又一次掀起浪潮。小到手機里的Apple Siri,大到城市里的智慧安防,層出不窮的應用出現在論文里、新聞里以及人們的日常生活中。而其中最稱得上里程碑事件的是,2016年由谷歌旗下DeepMind公司開發的AlphaGo,在與圍棋世界冠軍、職業九段棋手李世石進行的圍棋人機大戰中,以4比1的總比分獲勝。這一刻,即使是之前對人工智能一無所知的人,也終于開始感受到它的力量。

雖然人工智能技術在近幾年取得了高速的發展,但要給人工智能下個準確的定義并不容易。一般認為,人工智能是研究、開發用于模擬、延伸和擴展人的智能的理論、方法、技術及應用系統的一門新的技術科學。人類日常生活中的許多活動,如數學計算、觀察、對話、學習等,都需要“智能”。“智能”能預測股票、看得懂圖片或視頻,也能和其他人進行文字或語言上的交流,不斷督促自我完善知識儲備,它會畫畫,會寫詩,會駕駛汽車,會開飛機。在人們的理想中,如果機器能夠執行這些任務中的一種或幾種,就可以認為該機器已具有某種性質的“人工智能”。時至今日,人工智能概念的內涵已經被大大擴展,它涵蓋了計算機科學、統計學、腦神經學、社會科學等諸多領域,是一門交叉學科。人們希望通過對人工智能的研究,能將它用于模擬和擴展人的智能,輔助甚至代替人們實現多種功能,包括識別、認知、分析、決策等等。

人工智能的層次

如果要結構化地表述人工智能的話,從下往上依次是基礎設施層、算法層、技術層、應用層(見圖1-16)。基礎設施包括硬件/計算能力和大數據;算法層包括各類機器學習算法、深度學習算法等;再往上是多個技術方向,包括賦予計算機感知/分析能力的計算機視覺技術和語音技術、提供理解/思考能力的自然語言處理技術、提供決策/交互能力的規劃決策系統和大數據/統計分析技術。每個技術方向下又有多個具體子技術;最頂層的是行業解決方案,目前比較成熟的包括金融、安防、交通、醫療、游戲等。

圖1-16 人工智能的層次結構

基礎設施層

回顧人工智能發展史,每次基礎設施的發展都顯著地推動了算法層和技術層的演進。從20世紀70年代的計算機興起、80年代的計算機普及,到90年代計算機運算速度和存儲量的增加、互聯網興起帶來的數據電子化,均產生了較大的推動作用。而到了21世紀,這種推動效果則更為顯著,互聯網大規模服務集群的出現、搜索和電商業務帶來的大數據積累、GPU(圖形處理器)和異構/低功耗芯片興起帶來的運算力提升,促成了深度學習的誕生,點燃了人工智能的這一波爆發浪潮。

這波浪潮之中,數據的爆發增長功不可沒。我們知道,海量的訓練數據是人工智能發展的重要燃料,數據的規模和豐富度對算法訓練尤為重要。如果我們把人工智能看成一個剛出生的嬰兒,某一領域專業的、海量的、深度的數據就是喂養這個天才的奶粉。奶粉的數量決定了嬰兒是否能長大,而奶粉的質量則決定了嬰兒后續的智力發育水平。2000年以來,得益于互聯網、社交媒體、移動設備和傳感器的普及,全球產生及存儲的數據量劇增。根據IDC報告顯示,2020年全球數據總量預計將超過40ZB(相當于4萬億G)Gantz, John, Reinsel, David. IDC Study:Digital Universe in 2020,2012.,這一數據量是2011年的22倍(見圖1-17)。在過去幾年,全球的數據量以每年58%的速度增長,在未來這個速度將會更快。與之前相比,現階段“數據”包含的信息量越來越大、維度越來越多,從簡單的文本、圖像、聲音等數據,到動作、姿態、軌跡等人類行為數據,再到地理位置、天氣等環境數據。有了規模更大、類型更豐富的數據,模型效果自然也能得到提升。

圖1-17 2005—2020年全球總體數據量

而在另一方面,運算力的提升也起到了明顯效果。AI芯片的出現顯著提高了數據處理速度,尤其在處理海量數據時明顯優于傳統CPU。在擅長處理/控制和復雜流程但高功耗的CPU的基礎之上,誕生了擅長并行計算的GPU,以及擁有良好運行能效比、更適合深度學習模型的FPGA和ASIC。芯片的功耗比越來越高,而靈活性則越來越低,甚至可以是為特定功能的深度學習算法量身定做的(見圖1-18)。

圖1-18 不同類型芯片運算能力、功耗對比

算法層

說到算法層,必須先明確幾個概念。所謂“機器學習”,是指利用算法使計算機能夠像人一樣從數據中挖掘出信息;而“深度學習”作為“機器學習”的一個子集,相比其他學習方法,使用了更多的參數、模型也更復雜,從而使得模型對數據的理解更加深入,也更加智能。傳統機器學習是分步驟來進行的,每一步的最優解不一定帶來結果的最優解;另一方面,手工選取特征是一種費時費力且需要專業知識的方法,很大程度上依賴經驗和運氣。而深度學習是從原始特征出發,自動學習高級特征組合,整個過程是端到端的,直接保證最終輸出的是最優解。但中間的隱層是一個黑箱,我們并不知道機器提取出了什么特征(見圖1-19)。

圖1-19 深度學習與傳統機器學習的差別

機器學習中會碰到以下幾類典型問題(見圖1-20)。第一類是無監督學習問題:給定數據,從數據中發現信息。它的輸入是沒有維度標簽的歷史數據,要求的輸出是聚類后的數據。比如給定一籃水果,要求機器自動將其中的同類水果歸在一起。機器會怎么做呢?首先對籃子里的每個水果都用一個向量來表示,比如顏色、味道、形狀。然后將相似向量(向量距離比較近)的水果歸為一類,紅色、甜的、圓形的被劃在了一類,黃色、甜的、條形的被劃在了另一類。人類跑過來一看,原來第一類里的都是蘋果,第二類里的都是香蕉呀。這就是無監督學習,典型的應用場景是用戶聚類、新聞聚類等。

圖1-20 機器學習中的三類典型問題

第二類是監督學習問題:給定數據,預測這些數據的標簽。它的輸出是帶維度標簽的歷史數據,要求的輸出是依據模型所做出的預測。比如給定一籃水果,其中不同的水果都貼上了水果名的標簽,要求機器從中學習,然后對一個新的水果預測其標簽名。機器還是對每個水果進行了向量表示,根據水果名的標簽,機器通過學習發現紅色、甜的、圓形的對應的是蘋果,黃色、甜的、條形的對應的是香蕉。于是,對于一個新的水果,機器按照這個水果的向量表示知道了它是蘋果還是香蕉。監督學習典型的應用場景是推薦、預測相關的問題。

第三類是強化學習問題:給定數據,選擇動作以最大化長期獎勵。它的輸入是歷史的狀態、動作和對應獎勵,要求輸出的是當前狀態下的最佳動作。與前兩類問題不同的是,強化學習是一個動態的學習過程,而且沒有明確的學習目標,對結果也沒有精確的衡量標準。強化學習作為一個序列決策問題,就是計算機連續選擇一些行為,在沒有任何維度標簽告訴計算機應怎么做的情況下,計算機先嘗試做出一些行為,然后得到一個結果,通過判斷這個結果是對還是錯,來對之前的行為進行反饋。舉個例子來說,假設在午飯時間你要下樓吃飯,附近的餐廳你已經體驗過一部分,但不是全部,你可以在已經嘗試過的餐館中選一家最好的(開發,exploitation),也可以嘗試一家新的餐館(探索,exploration),后者可能讓你發現新的更好的餐館,也可能吃到不滿意的一餐。而當你已經嘗試過的餐廳足夠多的時候,你會總結出經驗(“大眾點評”上的高分餐廳一般不會太差;公司樓下近的餐廳沒有遠的餐廳好吃,等等),這些經驗會幫助你更好地發現靠譜的餐館。許多控制決策類的問題都是強化學習問題,比如讓機器通過各種參數調整來控制無人機實現穩定飛行,通過各種按鍵操作在電腦游戲中贏得分數等。

機器學習算法中的一個重要分支是神經網絡算法。雖然直到21世紀才因為AlphaGo的勝利而為人們所熟知,但神經網絡的歷史至少可以追溯到60年前。60年來神經網絡幾經起落,由于各個時代背景下數據、硬件、運算力等的種種限制,一次次因遭遇瓶頸而被冷落,又一次次取得突破重新回到人們的視野中,最近的一次是隨著深度學習的興起而備受關注。

從20世紀40年代起,就有學者開始從事神經網絡的研究:McCulloch和Pitts發布了A Logical Calculus of the Ideas Immanent in Nervous ActivityMcCulloch, Warren, Walter Pitts. A Logical Calculus of the Ideas Immanent in Nervous Activity. Bulletin of Mathematical Biophysics,1943,5(4):115-133.,被認為是神經網絡的第一篇文章;神經心理學家Hebb出版了The Organization of BehaviorHebb, Donald. The Organization of Behavior. New York:Wiley,1949.一書,在書中提出了被后人稱為“Hebb規則”的學習機制。第一個大突破出現于1958年,Rosenblatt在計算機上模擬實現了一種他發明的叫作“感知機”(Perceptron)的模型Rosenblatt, F. The Perceptron:A Probabilistic Model for Information Storage and Organization in the Brain. Psychological Review,1958,65(6):386-408.,這個模型可以完成一些簡單的視覺處理任務,也是后來神經網絡的雛形、支持向量機(一種快速可靠的分類算法)的基礎(見圖1-21)。一時間,這種能夠模擬人腦的算法得到了人們的廣泛追捧,國防部等政府機構紛紛開始贊助神經網絡的研究。神經網絡的風光持續了十余年,1969年,Minsky等人論證了感知機在解決XOR(異或)等基本邏輯問題時能力有限Minsky, Marvin, Papert, Seymour. Perceptrons:An Introduction to Computational Geometry. MIT Press,1969.,這一缺陷的展現澆滅了人們對神經網絡的熱情,原來的政府機構也逐漸停止資助,直接造成了此后長達10年的神經網絡的“冷靜時期”。期間,Werbos在1974年證明了在神經網絡中多加一層Paul Werbos. Beyond regression:New tools for prediction and analysis in the behavioral sciences. PhD thesis, Harvard University,1974.,并且利用“后向傳播”(Back-propagation)算法可以有效解決XOR問題,但由于當時仍處于神經網絡的低潮,這一成果并沒有得到太多關注。

圖1-21 感知機模型圖示

直到80年代,神經網絡才終于迎來復興。物理學家Hopfield在1982年和1984年發表了兩篇關于人工神經網絡研究的論文Hopfield, J. J. Neural networks and physical systems with emergent collective computational abilities//Proceedings of the National Academy of Sciences, National Academy of Sciences,1982:2554-2558; Hopfield, J. J. Neurons with graded response have collective computational properties like those of two-state neurons//Proceedings of the National Academy of Sciences, National Academy of Sciences,1984:3088-3092.,提出了一種新的神經網絡,可以解決一大類模式識別問題,還可以給出一類組合優化問題的近似解。他的研究引起了巨大的反響,人們重新認識到神經網絡的威力以及付諸應用的現實性。1985年,Rumelhart、Hinton等許多神經網絡學者成功實現了使用“后向傳播”BP算法來訓練神經網絡Rumelhart, David E., Hinton, Geoffrey E., Williams, Ronald J. Learning representations by back-propagating errors. Nature,1985,323(6088):533-536.,并在很長一段時間內將BP作為神經網絡訓練的專用算法。在這之后,越來越多的研究成果開始涌現。1995年,Yann LeCun等人受生物視覺模型的啟發,改進了卷積神經網絡(Convolution Neural Network, CNN)(見圖1-22)。Bengio, Y., Lecun, Y. Convolutional networks for images, speech, and time-series,1995.這個網絡模擬了視覺皮層中的細胞(有小部分細胞對特定部分的視覺區域敏感,個體神經細胞只有在特定方向的邊緣存在時才能做出反應),以類似的方式計算機能夠進行圖像分類任務(通過尋找低層次的簡單特征,如邊緣和曲線,然后運用一系列的卷積層建立一個更抽象的概念),在手寫識別等小規模問題上取得了當時的最好結果。2000年之后,Bengio等人開創了神經網絡構建語言模型的先河。Bengio, Y., Vincent, P., Janvin, C. A neural probabilistic language model. Journal of Machine Learning Research,2003,3(6),1137-1155.

圖1-22 卷積神經網絡(CNN)圖示

直到2001年,Hochreiter等人發現使用BP算法時,在神經網絡單元飽和之后會發生梯度損失Hochreiter, S., et al. Gradient flow in recurrent nets:the difficulty of learning long-term dependencies//Kolen, John F., Kremer, Stefan C. A Field Guide to Dynamical Recurrent Networks. John Wiley &Sons,2001.,即模型訓練超過一定迭代次數后容易產生過擬合,就是訓練集和測試集數據分布不一致(就好比上學考試的時候,有的人采取題海戰術,把每道題目都背下來。但是題目稍微一變,他就不會做了。因為機器非常復雜地記住了每道題的做法,卻沒有抽象出通用的規則)。神經網絡又一次被人們所遺棄。然而,神經網絡并未就此沉寂,許多學者仍在堅持不懈地進行研究。2006年,Hinton和他的學生在Science雜志上發表了一篇文章Hinton, Geoffrey, Salakhutdinov, Ruslan. Reducing the Dimensionality of Data with Neural Networks. Science,2006(313):504-507.,從此掀起了深度學習(Deep Learning)的浪潮。深度學習能發現大數據中的復雜結構,也因此大幅提升了神經網絡的效果。2009年開始,微軟研究院和Hinton合作研究基于深度神經網絡的語音識別NIPS Workshop:Deep Learning for Speech Recognition and Related Applications, Whistler, BC, Canada, Dec. 2009(Organizers:Li Deng, Geoff Hinton, D. Yu).,使得相對誤識別率降低25%。2012年,Hinton又帶領學生在目前最大的圖像數據庫ImageNet上,對分類問題取得了驚人成果,將Top5錯誤率由26%降低至15%。Krizhevsky, Alex, Sutskever, Ilya, Hinton, Geoffry. Image Net Classification with Deep Convolutional Neural Networks(PDF).NIPS 2012:Neural Information Processing Systems, Lake Tahoe, Nevada,2012.再往后的一個標志性時間是2014年,Ian Goodfellow等學者發表論文提出題目中的“生成對抗網絡”Goodfellow, Ian J., Pouget-Abadie, Jean, Mirza, Mehdi, Xu, Bing, Warde-Farley, David, Ozair, Sherjil, Courville, Aaron, Bengio,Yoshua. Generative Adversarial Networks,2014.,標志著GANs的誕生,并自2016年開始成為學界、業界炙手可熱的概念,它為創建無監督學習模型提供了強有力的算法框架。時至今日,神經網絡經歷了數次潮起潮落后,又一次站在了風口浪尖,在圖像識別、語音識別、機器翻譯等領域,都隨處可見它的身影(見圖1-23)。

圖1-23 神經網絡發展簡史

而其他淺層學習的算法,也在另一條路線上不斷發展著,甚至一度取代神經網絡成為人們最青睞的算法。直到今天,即使神經網絡的發展如日中天,這些淺層算法也在一些任務中占有一席之地。

1984年,Breiman和Friedman提出決策樹算法Breiman, Leo, Friedman, J. H., Olshen, R. A., Stone, C. J. Classification and regression trees. Monterey, CA: Wadsworth &Brooks/Cole Advanced Books &Software,1984.,作為一個預測模型,代表的是對象屬性與對象值之間的一種映射關系。1995年,Vapnik和Cortes提出支持向量機(SVM)Cortes, C., Vapnik, V. Support-vector networks.Machine Learning,1995,20(3):273-297.,用一個分類超平面將樣本分開從而達到分類效果(見圖1-24)。這種監督式學習的方法,可廣泛地應用于統計分類以及回歸分析。鑒于SVM強大的理論地位和實證結果,機器學習研究也自此分為神經網絡和SVM兩派。1997年,Freund和Schapire提出了另一個堅實的ML模型AdaBoostFreund, Yoav, Schapire, Robert E. A decision-theoretic generalization of on-line learning and an application to boosting. Journal of Computer and System Sciences,1997(55):119.,該算法最大的特點在于組合弱分類器形成強分類器,在臉部識別和檢測方面應用很廣。2001年,Breiman提出可以將多個決策樹組合成為隨機森林Breiman, Leo. Random Forests. Machine Learning,2001,45(1):5-32.,它可以處理大量輸入變量,學習過程快,準確度高(見圖1-25)。隨著該方法的提出,SVM在許多之前由神經網絡占據的任務中獲得了更好的效果,神經網絡已無力和SVM競爭。之后雖然深度學習的興起給神經網絡帶來了第二春,使其在圖像、語音、NLP等領域都取得了領先成果,但這并不意味著其他機器學習流派的終結。深度神經網絡所需的訓練成本、調參復雜度等問題仍備受詬病,SVM則因其簡單性占據了一席之地,在文本處理、圖像處理、網頁搜索、金融征信等領域仍有著廣泛應用。

圖1-24 支持向量機(SVM)圖示

圖1-25 淺層學習算法發展歷史

另一個重要領域是強化學習,這個因AlphaGo而為人所熟知的概念,從60年代誕生以來,一直不溫不火地發展著,直到在AlphaGo中與深度學習的創造性結合讓它重獲新生。

1967年,Samuel發明的下棋程序是強化學習的最早應用雛形。但在六七十年代,人們對強化學習的研究與監督學習、模式識別等問題混淆在一起,導致進展緩慢。進入80年代后,隨著對神經網絡的研究取得進展以及基礎設施的完善,強化學習的研究再現高潮。1983年,Barto通過強化學習使倒立擺維持了較長時間。另一位強化學習大牛Sutton也提出了強化學習的幾個主要算法,包括1984年提出的AHC算法Sutton, Richard S. Temporal Credit Assignment in Reinforcement Learning(PhD thesis). University of Massachusetts, Amherst, MA,1984.,之后又在1988年提出TD方法Sutton, Richard S. Learning to predict by the method of temporal differences. Machine Learning,1988(3):9-44.。1989年,Watkins提出著名的Q-learning算法。Watkins, Christopher J. C. H. Learning from Delayed Rewards(PDF)(PhD thesis). King's College, Cambridge, UK,1989.隨著幾個重要算法被提出,到了90年代,強化學習已逐漸發展成為機器學習領域的一個重要組成部分。

最新也是最大的一個里程碑事件出現在2016年,谷歌旗下DeepMind公司的David Silver創新性地將深度學習和強化學習結合在了一起,打造出圍棋軟件AlphaGo,接連戰勝李世石、柯潔等一眾世界圍棋冠軍,展現了強化學習的巨大威力(見圖1-26)。

圖1-26 強化學習算法發展歷史

技術方向的發展

計算機視覺

“看”是人類與生俱來的能力。剛出生的嬰兒只需要幾天的時間就能學會模仿父母的表情,人們能從復雜結構的圖片中找到關注重點、在昏暗的環境下認出熟人。隨著人工智能的發展,機器也試圖在這項能力上匹敵甚至超越人類。

計算機視覺的歷史可以追溯到1966年,人工智能學家Minsky在給學生布置的作業中,要求學生通過編寫一個程序讓計算機告訴我們它通過攝像頭看到了什么,這也被認為是計算機視覺最早的任務描述。到了七八十年代,隨著現代電子計算機的出現,計算機視覺技術也初步萌芽。人們開始嘗試讓計算機回答出它看到了什么東西,于是首先想到的是從人類看東西的方法中獲得借鑒。借鑒之一是當時人們普遍認為,人類能看到并理解事物,是因為人類通過兩只眼睛可以立體地觀察事物。因此要想讓計算機理解它所看到的圖像,必須先將事物的三維結構從二維的圖像中恢復出來,這就是所謂的“三維重構”的方法。借鑒之二是人們認為人之所以能識別出一個蘋果,是因為人們已經知道了蘋果的先驗知識,比如蘋果是紅色的、圓的、表面光滑的,如果給機器也建立一個這樣的知識庫,讓機器將看到的圖像與庫里的儲備知識進行匹配,是否可以讓機器識別乃至理解它所看到的東西呢,這是所謂的“先驗知識庫”的方法。這一階段的應用主要是一些光學字符識別、工件識別、顯微/航空圖片的識別等等。

到了90年代,計算機視覺技術取得了更大的發展,也開始廣泛應用于工業領域。一方面是由于GPU、DSP等圖像處理硬件技術有了飛速進步;另一方面是人們也開始嘗試不同的算法,包括統計方法和局部特征描述符的引入。在“先驗知識庫”的方法中,事物的形狀、顏色、表面紋理等特征受到視角和觀察環境的影響,在不同角度、不同光線、不同遮擋的情況下會產生變化。因此,人們找到了一種方法,通過局部特征的識別來判斷事物,通過對事物建立一個局部特征索引,即使視角或觀察環境發生變化,也能比較準確地匹配上(見圖1-27)。

圖1-27 基于局部特征識別的計算機視覺技術

進入21世紀,得益于互聯網興起和數碼相機出現帶來的海量數據,加之機器學習方法的廣泛應用,計算機視覺發展迅速。以往許多基于規則的處理方式,都被機器學習所替代,自動從海量數據中總結歸納物體的特征,然后進行識別和判斷。這一階段涌現出了非常多的應用,包括典型的相機人臉檢測、安防人臉識別、車牌識別等等。數據的積累還誕生了許多評測數據集,比如權威的人臉識別和人臉比對識別的平臺——FDDB和LFW等,其中最有影響力的是ImageNet,包含1400萬張已標注的圖片,劃分在上萬個類別里。

到了2010年以后,借助于深度學習的力量,計算機視覺技術得到了爆發增長,實現了產業化。通過深度神經網絡,各類視覺相關任務的識別精度都得到了大幅提升。在全球最權威的計算機視覺競賽ILSVR(ImageNet Large Scale Visual Recognition Competition)上,千類物體識別Top-5錯誤率在2010年和2011年時分別為28.2%和25.8%,從2012年引入深度學習之后,后續4年分別為16.4%、11.7%、6.7%、3.7%,出現了顯著突破。由于效果的提升,計算機視覺技術的應用場景也快速擴展,除了在比較成熟的安防領域應用外,也應用于金融領域的人臉識別身份驗證、電商領域的商品拍照搜索、醫療領域的智能影像診斷、機器人/無人車上作為視覺輸入系統等,包括許多有意思的場景:照片自動分類(圖像識別+分類)、圖像描述生成(圖像識別+理解)等等(見圖1-28)。

圖1-28 計算機視覺發展歷程

語音技術

語言交流是人類最直接最簡潔的交流方式。長久以來,讓機器學會“聽”和“說”,實現與人類的無障礙交流一直是人工智能、人機交互領域的一大夢想。

早在電子計算機出現之前,人們就有了讓機器識別語音的夢想。1920年生產的“Radio Rex”玩具狗可能是世界上最早的語音識別器,當有人喊“Rex”的時候,這只狗能夠從底座上彈出來(見圖1-29)。但實際上它所用到的技術并不是真正的語音識別,而是通過一個彈簧,這個彈簧在接收到500赫茲的聲音時會自動釋放,而500赫茲恰好是人們喊出“Rex”中元音的第一個共振峰。第一個真正基于電子計算機的語音識別系統出現在1952年,AT&T貝爾實驗室開發了一款名為Audrey的語音識別系統,能夠識別10個英文數字,正確率高達98%。70年代開始出現了大規模的語音識別研究,但當時的技術還處于萌芽階段,停留在對孤立詞、小詞匯量句子的識別上。

圖1-29 “Radio Rex”玩具狗

80年代是技術取得突破的時代,一個重要原因是全球性的電傳業務積累了大量文本,這些文本可作為機讀語料用于模型的訓練和統計。研究的重點也逐漸轉向大詞匯量、非特定人的連續語音識別。那時最主要的變化來自用基于統計的思路替代傳統的基于匹配的思路,其中的一個關鍵進展是隱馬爾科夫模型(HMM)的理論和應用都趨于完善。工業界也出現了廣泛的應用,德州儀器研發了名為Speak & Spell語音學習機,語音識別服務商Speech Works成立,美國國防部高級研究計劃局(DARPA)也贊助支持了一系列語音相關的項目。

90年代是語音識別基本成熟的時期,主流的高斯混合模型GMM-HMM框架逐漸趨于穩定,但識別效果與真正實用還有一定距離,語音識別研究的進展也逐漸趨緩。由于80年代末90年代初神經網絡技術的熱潮,神經網絡技術也被用于語音識別,提出了多層感知器-隱馬爾科夫模型(MLP-HMM)混合模型。但是性能上無法超越GMM-HMM框架。

突破的產生始于深度學習的出現。隨著深度神經網絡(DNN)被應用到語音的聲學建模中,人們陸續在音素識別任務和大詞匯量連續語音識別任務上取得突破。基于GMM-HMM的語音識別框架被基于DNN-HMM的語音識別系統所替代,而隨著系統的持續改進,又出現了深層卷積神經網絡和引入長短時記憶模塊(LSTM)的循環神經網絡(RNN),識別效果得到了進一步提升,在許多(尤其是近場)語音識別任務上達到了可以進入人們日常生活的標準。于是我們看到以Apple Siri為首的智能語音助手、以Echo為首的智能硬件入口等等。而這些應用的普及,又進一步擴充了語料資源的收集渠道,為語言和聲學模型的訓練儲備了豐富的燃料,使得構建大規模通用語言模型和聲學模型成為可能(見圖1-30)。

圖1-30 語音技術發展歷程

自然語言處理

人類的日常社會活動中,語言交流是不同個體間信息交換和溝通的重要途徑。因此,對機器而言,能否自然地與人類進行交流、理解人們表達的意思并做出合適的回應,被認為是衡量其智能程度的一個重要參照,自然語言處理也因此成為了繞不開的議題。

早在20世紀50年代,隨著電子計算機的出現,產生了許多自然語言處理的任務需求,其中最典型的就是機器翻譯。當時存在兩派不同的自然語言處理方法:基于規則方法的符號派和基于概率方法的隨機派。受限于當時的數據和算力,隨機派無法發揮出全部的功力,使得符號派的研究略占上風。體現到翻譯上,人們認為機器翻譯的過程是在解讀密碼,試圖通過查詢詞典來實現逐詞翻譯,這種方式產出的翻譯效果不佳、難以實用。當時的一些成果包括1959年賓夕法尼亞大學研制成功的TDAP系統(Transformation and Discourse Analysis Project,最早的、完整的英語自動剖析系統)、布朗美國英語語料庫的建立等。IBM-701計算機進行了世界上第一次機器翻譯試驗,將幾個簡單的俄語句子翻譯成了英文。在這之后,蘇聯、英國、日本等國家也陸續進行了機器翻譯試驗。

1966年,美國科學院的語言自動處理咨詢委員會(ALPAC)發布了一篇題為《語言與機器》的研究報告,報告全面否定了機器翻譯的可行性,認為機器翻譯不足以克服現有困難,難以投入使用。這篇報告澆滅了之前的機器翻譯熱潮,許多國家開始削減這方面的經費投入,許多相關研究被迫暫停,自然語言研究陷入低谷。許多研究者痛定思痛,意識到兩種語言間的差異不僅體現在詞匯上,還體現在句法結構的差異上,為了提升譯文的可讀性,應該加強語言模型和語義分析的研究。里程碑事件出現在1976年,加拿大蒙特利爾大學與加拿大聯邦政府翻譯局聯合開發了名為TAUM-METEO的機器翻譯系統,提供天氣預報服務。這個系統每小時可以翻譯6萬~30萬個詞,每天可翻譯1000~2000篇氣象資料,并能夠通過電視、報紙立即公布。在這之后,歐盟、日本也紛紛開始研究多語言機器翻譯系統,但并未取得預期的成效。

到了90年代,自然語言處理進入了發展繁榮期。隨著計算機的計算速度和存儲量大幅增加、大規模真實文本的積累產生,以及被互聯網發展激發出的、以網頁搜索為代表的基于自然語言的信息檢索和抽取需求出現,人們對自然語言處理的熱情空前高漲。在傳統的基于規則的處理技術中,人們引入了更多數據驅動的統計方法,將自然語言處理的研究推向了一個新高度。除了機器翻譯之外,網頁搜索、語音交互、對話機器人等領域都有自然語言處理的功勞。

進入2010年以后,基于大數據和淺層、深層學習技術,自然語言處理的效果得到了進一步優化。機器翻譯的效果進一步提升,出現了專門的智能翻譯產品。對話交互能力被應用在客服機器人、智能助手等產品中。這一時期的一個重要里程碑事件是IBM研發的Watson系統參加綜藝問答節目Jeopardy。比賽中Watson沒有聯網,但依靠4TB磁盤內200萬頁結構化和非結構化的信息,成功戰勝了人類選手取得冠軍,向世界展現了自然語言處理技術的實力(見圖1-31)。機器翻譯方面,谷歌推出的神經網絡機器翻譯(GNMT)相比傳統的基于詞組的機器翻譯(PBMT),英語到西班牙語的錯誤率下降了87%,英文到中文的錯誤率下降了58%,取得了非常強勁的提升(見圖1-32)。

圖1-31 IBM Watson在綜藝問答節目Jeopardy中獲勝

圖1-32 自然語言處理發展歷程

規劃決策系統

人工智能規劃決策系統的發展,一度是以棋類游戲為載體的。最早在18世紀的時候,就出現過一臺能下棋的機器,擊敗了當時幾乎所有的人類棋手,包括拿破侖和富蘭克林等。不過最終被發現機器里藏著一個人類高手,通過復雜的機器結構以混淆觀眾的視線,只是一場騙局而已。真正基于人工智能的規劃決策系統出現在電子計算機誕生之后,1962年時,Arthur Samuel制作的西洋跳棋程序Checkers經過屢次改進后,終于戰勝了州冠軍。當時的程序雖然還算不上智能,但已經具備了初步的自我學習能力,這場勝利在當時引起了巨大的轟動,畢竟是機器首次在智力的角逐中戰勝人類。這也讓人們發出了樂觀的預言:“機器將在十年內戰勝人類象棋冠軍”。

但人工智能所面臨的困難比人們想象得要大很多,跳棋程序在此之后也敗給了國家冠軍,未能更上一層樓。而與跳棋相比,國際象棋要復雜得多,在當時的計算能力下,機器若想通過暴力計算戰勝人類象棋棋手,每步棋的平均計算時長是以年為單位的。人們也意識到,只有盡可能減少計算復雜度,才可能與人類一決高下。于是,“剪枝法”被應用到了估值函數中,通過剔除掉低可能性的走法,優化最終的估值函數計算。在“剪枝法”的作用下,西北大學開發的象棋程序Chess4.5在1976年首次擊敗了頂尖人類棋手。進入80年代,隨著算法上的不斷優化,機器象棋程序在關鍵勝負手上的判斷能力和計算速度上大幅提升,已經能夠擊敗幾乎所有的頂尖人類棋手。

到了90年代,硬件性能、算法能力等都得到了大幅提升,在1997年那場著名的人機大戰中,IBM研發的深藍(Deep Blue)戰勝國際象棋大師卡斯帕羅夫,人們意識到在象棋游戲中人類已經很難戰勝機器了(見圖1-33)。

圖1-33 IBM深藍戰勝國際象棋大師卡斯帕羅夫

到了2016年,硬件層面出現了基于GPU、TPU的并行計算,算法層面出現了蒙特卡洛決策樹與深度神經網絡的結合。4∶1戰勝李世石;在野狐圍棋對戰頂尖棋手60連勝;3∶0戰勝世界排名第一的圍棋選手柯潔,隨著棋類游戲最后的堡壘——圍棋也被AlphaGo所攻克,人類在完美信息博弈的游戲中已徹底輸給機器,只能在不完美信息的德州撲克和麻將中茍延殘喘。人們從棋類游戲中積累的知識和經驗,也被應用在更廣泛的需要決策規劃的領域,包括機器人控制、無人車等等。棋類游戲完成了它的歷史使命,帶領人工智能到達了一個新的歷史起點(見圖1-34)。

圖1-34 規劃決策系統發展歷程

人工智能的第三次浪潮

自1956年夏天在達特茅斯夏季人工智能研究會議上人工智能的概念被第一次提出以來,人工智能技術的發展已經走過了60年的歷程。在這60年里,人工智能技術的發展并非一帆風順,其間經歷了20世紀50—60年代以及80年代的人工智能浪潮期,也經歷過70—80年代的沉寂期。隨著近年來數據爆發式的增長、計算能力的大幅提升以及深度學習算法的發展和成熟,我們已經迎來了人工智能概念出現以來的第三個浪潮期。然而,這一次的人工智能浪潮與前兩次的浪潮有著明顯的不同。基于大數據和強大計算能力的機器學習算法已經在計算機視覺、語音識別、自然語言處理等一系列領域中取得了突破性的進展,基于人工智能技術的應用也已經開始成熟。同時,這一輪人工智能發展的影響已經遠遠超出學界之外,政府、企業、非營利機構都開始擁抱人工智能技術。AlphaGo對李世石的勝利更使得公眾開始認識、了解人工智能。我們身處的第三次人工智能浪潮僅僅是一個開始。在人工智能概念被提出一個甲子后的今天,人工智能的高速發展為我們揭開了一個新時代的帷幕。

主站蜘蛛池模板: 滦平县| 宾川县| 兴仁县| 丹江口市| 通江县| 长垣县| 普兰店市| 济南市| 恭城| 云龙县| 额济纳旗| 印江| 上虞市| 天镇县| 自治县| 安达市| 信阳市| 巴里| 哈尔滨市| 翁牛特旗| 遂平县| 伊宁县| 辽阳县| 奉新县| 慈利县| 弥渡县| 习水县| 镇沅| 五家渠市| 黔南| 双流县| 垫江县| 玉树县| 台江县| 文水县| 福海县| 封开县| 固始县| 四子王旗| 牟定县| 蒙山县|