于劍
摘要:深度學(xué)習(xí)技術(shù)的應(yīng)用日漸廣泛,在語音、圖像、文本處理、搜索引擎、廣告推薦等領(lǐng)域都取得了巨大的成功。認(rèn)為深度學(xué)習(xí)自身具有盲點(diǎn),無法解決全部的機(jī)器學(xué)習(xí)問題,并指出了深度學(xué)習(xí)的優(yōu)缺點(diǎn),為深度學(xué)習(xí)的使用者提供了一定的理論指導(dǎo)。最后,還展望了深度學(xué)習(xí)的未來發(fā)展趨勢。
關(guān)鍵詞: 深度學(xué)習(xí);傻瓜型學(xué)習(xí)算法;專家型學(xué)習(xí)算法;白箱算法;黑箱算法;相關(guān)性;因果性
機(jī)器學(xué)習(xí)作為單獨(dú)的研究方向,應(yīng)該說是在20世紀(jì)80年代第1屆國際機(jī)器學(xué)習(xí)大會(huì)(ICML)召開之后才有的事情。機(jī)器學(xué)習(xí)存在很多不同的定義,常用的有3個(gè):第1個(gè)常用的機(jī)器學(xué)習(xí)定義是“計(jì)算機(jī)系統(tǒng)能夠利用經(jīng)驗(yàn)提高自身的性能”[1],第2個(gè)常見定義是“學(xué)習(xí)就是一個(gè)基于經(jīng)驗(yàn)數(shù)據(jù)的函數(shù)估計(jì)問題”[2],第3個(gè)常見的機(jī)器學(xué)習(xí)定義是 “提取重要模式、趨勢,并理解數(shù)據(jù),即從數(shù)據(jù)中學(xué)習(xí)”[3]。 這3個(gè)常見定義各有側(cè)重:第1個(gè)聚焦學(xué)習(xí)效果,第2個(gè)亮點(diǎn)是給出了可操作的學(xué)習(xí)定義,第3個(gè)突出了學(xué)習(xí)任務(wù)的分類。
雖然機(jī)器學(xué)習(xí)的定義晚至20世紀(jì)才出現(xiàn),但是廣義上來說,機(jī)器學(xué)習(xí)任務(wù),或者說學(xué)習(xí)任務(wù),在人類出現(xiàn)伊始就已有之。在日常生活中,人們每天都面臨如何從自己采集的數(shù)據(jù)中提取知識(shí)進(jìn)行使用的問題。比如:大的方面,需要觀察環(huán)境的變化來學(xué)習(xí)如何制定政策使得地球可持續(xù)發(fā)展;小的方面,需要根據(jù)生活的經(jīng)驗(yàn)買到一個(gè)可口的柚子或者西瓜,選擇一個(gè)靠譜的理發(fā)師等。在計(jì)算機(jī)出現(xiàn)以前,數(shù)據(jù)采集都是人直接感知或者操作的,采集到的數(shù)據(jù)量較小,人可以直接從數(shù)據(jù)中提取知識(shí),并不需要機(jī)器學(xué)習(xí)。如:對(duì)于回歸問題,高斯在19世紀(jì)早期(1809)就發(fā)表了最小二乘法;對(duì)于數(shù)據(jù)降維問題,卡爾皮爾遜在1901年就發(fā)明了主成分分析(PCA);對(duì)于聚類問題,K-means 算法最早也可追蹤到1953年[4]。但是這些算法和問題被歸入機(jī)器學(xué)習(xí),也只有在機(jī)器收集數(shù)據(jù)能力越來越成熟,導(dǎo)致人類直接從數(shù)據(jù)中提取知識(shí)成為不可能之后才變得沒有異議。
在過去的30年間,機(jī)器學(xué)習(xí)從處理僅包含上百個(gè)樣本數(shù)據(jù)的玩具問題起步,一直發(fā)展到今天,已經(jīng)成為了從科學(xué)研究到商業(yè)應(yīng)用的標(biāo)準(zhǔn)數(shù)據(jù)分析工具,機(jī)器學(xué)習(xí)的研究熱點(diǎn)也幾經(jīng)變遷。
1 機(jī)器學(xué)習(xí)發(fā)展簡史
機(jī)器學(xué)習(xí)最早的目標(biāo)是從數(shù)據(jù)中發(fā)現(xiàn)可以解釋的知識(shí),在追求算法性能的同時(shí),強(qiáng)調(diào)算法的解釋性。早期的線性感知器、決策樹和最近鄰等算法可以說是這方面的典型代表作。但是,1969年Minsky 指出線性感知器算法不能解決異或問題[5]。由于現(xiàn)實(shí)世界的問題大多是非線性問題,而異或問題又可以說是非線性問題中最簡單的問題,由此可以推斷線性感知器算法的實(shí)際用處不大。這對(duì)于以線性感知器算法為代表的神經(jīng)網(wǎng)絡(luò)研究而言可以說是致命一擊, 直接導(dǎo)致了神經(jīng)網(wǎng)絡(luò)甚至人工智能的第1個(gè)冬天。感知器算法的發(fā)明人、神經(jīng)網(wǎng)絡(luò)先驅(qū)Rosenblatt 于1971年因故去世,則更加增添了這個(gè)冬天的寒意。
需要指出的是,很多實(shí)際應(yīng)用并不要求算法具有可解釋性,比如:機(jī)器翻譯、天氣預(yù)報(bào)、打卦算命等。在這種需求下,如果1個(gè)算法的泛化性能能夠超過其他同類算法,即使該算法缺少解釋性,則該算法依然是優(yōu)秀的學(xué)習(xí)算法。20世紀(jì)80年代神經(jīng)網(wǎng)絡(luò)的復(fù)蘇,其基本思路即為放棄解釋性,一心提高算法的泛化性能。神經(jīng)網(wǎng)絡(luò)放棄解釋性的最重要標(biāo)志是其激活函數(shù)不再使用線性函數(shù),而是典型的非線性函數(shù),如Sigmoid函數(shù)和雙曲函數(shù)等,其優(yōu)點(diǎn)是表示能力大幅提高,但相應(yīng)的復(fù)雜性也極度增長。眾所周知,解釋性能好的學(xué)習(xí)算法,其泛化性能也要滿足實(shí)際需求,如果其泛化性能不佳,即使解釋性好,人們也不會(huì)選用。在20世紀(jì)80年代,3層神經(jīng)網(wǎng)絡(luò)的性能超過了當(dāng)時(shí)的分類算法,如:決策樹、最近鄰等,雖然其解釋性不佳,神經(jīng)網(wǎng)絡(luò)依然成為當(dāng)時(shí)最流行的機(jī)器學(xué)習(xí)模型。在神經(jīng)網(wǎng)絡(luò)放棄解釋性之后,其對(duì)于算法設(shè)計(jì)者的知識(shí)儲(chǔ)備要求也放到了最低,因此神經(jīng)網(wǎng)絡(luò)在20世紀(jì)80年代吸引了大批的研究者。
當(dāng)然,也有很多實(shí)際應(yīng)用要求算法具有可解釋性,如因果關(guān)系發(fā)現(xiàn)、控制等。 應(yīng)該說,同時(shí)追求解釋性和泛化性能一直是非神經(jīng)網(wǎng)絡(luò)機(jī)器學(xué)習(xí)研究者設(shè)計(jì)學(xué)習(xí)算法的基本約束。一旦某算法既具有很好的解釋性,其性能又超過神經(jīng)網(wǎng)絡(luò),神經(jīng)網(wǎng)絡(luò)研究就將面臨極大的困境,這樣的事情在歷史上也曾真實(shí)地發(fā)生過。1995年Vapnik提出了支持向量機(jī)分類算法,該算法解釋性好,其分類性能也超過了當(dāng)時(shí)常見的3層神經(jīng)網(wǎng)絡(luò),尤其需要指出的是,其理論的分類錯(cuò)誤率可以通過Valiant的概率近似正確(PAC)理論來估計(jì)。這導(dǎo)致了神經(jīng)網(wǎng)絡(luò)研究的10年沉寂,有人也將其稱為人工智能的第2次冬天。在這期間,大批原先的神經(jīng)網(wǎng)絡(luò)研究者紛紛轉(zhuǎn)向離開,只有少數(shù)人堅(jiān)持研究神經(jīng)網(wǎng)絡(luò)。這個(gè)時(shí)間段對(duì)于機(jī)器學(xué)習(xí)來說,顯然不是冬季。在這10年間,人們提出了概率圖理論、核方法、流形學(xué)習(xí)、稀疏學(xué)習(xí)、排序?qū)W習(xí)等多種機(jī)器學(xué)習(xí)新方向。特別是在20世紀(jì)末和21世紀(jì)初,由于在搜索引擎、字符識(shí)別等應(yīng)用領(lǐng)域取得的巨大進(jìn)展,機(jī)器學(xué)習(xí)的影響力日益興旺。其標(biāo)志事件有:1997年Tom Mitchell 機(jī)器學(xué)習(xí)經(jīng)典教科書的出現(xiàn),2010年和2011年連續(xù)兩年圖靈獎(jiǎng)?lì)C發(fā)給了機(jī)器學(xué)習(xí)的研究者Valiant 和Pearl。
“三十年河?xùn)|,三十年河西”。2006年以后,神經(jīng)網(wǎng)絡(luò)突破了3層網(wǎng)絡(luò)結(jié)構(gòu)限制,即所謂的深度學(xué)習(xí),大幅提高了模型的表示能力,又適逢大數(shù)據(jù)時(shí)代相伴而生的高計(jì)算能力,神經(jīng)網(wǎng)絡(luò)化身為深度學(xué)習(xí),再次將分類能力提高到同時(shí)代其他模型無法匹敵的程度,有人將其稱為人工智能的第3次春天。在機(jī)器學(xué)習(xí)的許多應(yīng)用領(lǐng)域,深度學(xué)習(xí)甚至成為機(jī)器學(xué)習(xí)的代名詞。雖然如此,時(shí)至今日,深度學(xué)習(xí)仍然只是機(jī)器學(xué)習(xí)的分支,無論其沉寂或者過熱,都不可能逆轉(zhuǎn),而只能加速全部機(jī)器學(xué)習(xí)本身應(yīng)用越來越普及,理論越來越深入的發(fā)展趨勢。
2 深度學(xué)習(xí)的適應(yīng)范圍
理論上,神經(jīng)網(wǎng)絡(luò)深度越大,其表示能力越高,但是深度學(xué)習(xí)對(duì)于計(jì)算能力和訓(xùn)練數(shù)據(jù)的規(guī)模提出了極高的要求。2008年以前,計(jì)算機(jī)的計(jì)算能力和訓(xùn)練數(shù)據(jù)規(guī)模不具備大規(guī)模進(jìn)行深度學(xué)習(xí)研究的條件。隨著云計(jì)算、大數(shù)據(jù)的普及,具備了研究深度學(xué)習(xí)的外在技術(shù)條件。在2010年以后,人們通過采用新的激勵(lì)函數(shù),如ReLU,以及Dropout[6],Batch Normalization[7] 等新訓(xùn)練方式,還有特別設(shè)計(jì)的新網(wǎng)絡(luò)結(jié)構(gòu)Deep Residual Networks[8]等,逐漸克服了梯度消失或者發(fā)散問題,研究深度學(xué)習(xí)的內(nèi)在技術(shù)條件也日漸成熟。這使得化名為深度學(xué)習(xí)的神經(jīng)網(wǎng)絡(luò)研究進(jìn)入了另1個(gè)春天。
雖然如此,深度學(xué)習(xí)在理論上并沒有突破以往神經(jīng)網(wǎng)絡(luò)的理論架構(gòu)。所有對(duì)于經(jīng)典神經(jīng)網(wǎng)絡(luò)的理論分析對(duì)于深度學(xué)習(xí)也依然成立。1986年,Rumelhart 等人提出了自編碼器,該模型可以用來對(duì)高維數(shù)據(jù)進(jìn)行降維[9]。2006年,Hinton 等人在Science上發(fā)表了1篇文章,該文章通過改進(jìn)的自編碼器學(xué)習(xí)算法構(gòu)建了1種深層自編碼器[10],自此深度學(xué)習(xí)的影響力日漸增大。常見的幾種典型的深度學(xué)習(xí)網(wǎng)絡(luò)包括:自編碼器、卷積神經(jīng)網(wǎng)絡(luò)、循環(huán)神經(jīng)網(wǎng)絡(luò)、長短時(shí)記憶網(wǎng)絡(luò)等。
感知器算法可能是最早的神經(jīng)網(wǎng)絡(luò)算法,該算法顯然屬于典型的白箱算法,但是其表示能力有限,連異或問題也解決不了。為了解決異或問題,主流的神經(jīng)網(wǎng)絡(luò)技術(shù)放棄了解釋性,在黑箱算法的道路上越走越遠(yuǎn)。實(shí)際上,機(jī)器學(xué)習(xí)算法對(duì)于普通人來說,可粗分為兩類:一類是傻瓜型學(xué)習(xí)算法,即只要輸入一定,任何人都可得到同樣的結(jié)果,如主成分分析等算法;另一類是專家型學(xué)習(xí)算法,即使輸入相同,不同人由于參數(shù)設(shè)置不同,也會(huì)得到大不相同的結(jié)果。顯然,神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)算法是典型的專家型學(xué)習(xí)算法。
總而言之,機(jī)器學(xué)習(xí)有兩個(gè)基本任務(wù)。一是試圖發(fā)現(xiàn)輸入和輸出之間的因果關(guān)系,其主要功用是解釋,最終目的是控制,即一旦發(fā)生問題,必須找出問題發(fā)生的原因,這樣就可以通過控制學(xué)習(xí)算法輸入使得輸出滿足需要。解決此類任務(wù)的學(xué)習(xí)算法是白箱算法,要求解釋能力強(qiáng)。二是力圖發(fā)現(xiàn)輸入輸出的相關(guān)關(guān)系,其主要功用是預(yù)測,最終目的是驗(yàn)證,即一旦做出判斷,就可以根據(jù)外界反應(yīng)判斷預(yù)測是否準(zhǔn)確,但是出現(xiàn)錯(cuò)誤之后,并不要求根據(jù)輸入來追蹤錯(cuò)誤發(fā)生的原因。解決此類任務(wù)的典型學(xué)習(xí)算法是黑箱算法,并不需要解釋能力。
真實(shí)現(xiàn)實(shí)生活中這兩類任務(wù)都是存在的。第1類任務(wù),如各種高風(fēng)險(xiǎn)任務(wù),包括無人駕駛(火車、飛機(jī)、汽車等)、醫(yī)療手術(shù)等,一旦發(fā)生錯(cuò)誤,由于成本巨大,必須能夠分析出發(fā)生錯(cuò)誤的原因,以避免類似錯(cuò)誤再次發(fā)生。完成這類任務(wù),不但需要提高完成任務(wù)的性能,更重要的是能夠發(fā)現(xiàn)輸入與輸出之間的因果關(guān)系,一旦發(fā)生錯(cuò)誤,能追蹤學(xué)習(xí)算法發(fā)生錯(cuò)誤的原因,顯然適宜解決此類問題的學(xué)習(xí)算法是白箱算法。第2類任務(wù),如各種低風(fēng)險(xiǎn)甚至無風(fēng)險(xiǎn)性任務(wù),包括搜素引擎、各種棋牌游戲等,顯然這類任務(wù)即使發(fā)生錯(cuò)誤,后果也不嚴(yán)重,成本可以承擔(dān),因此更重要的是提高其性能,特別是預(yù)測能力,而并不要求算法去解釋這些錯(cuò)誤為什么會(huì)發(fā)生。
顯然,對(duì)于一個(gè)具體的學(xué)習(xí)任務(wù),一旦白箱算法的性能超過黑箱算法,黑箱算法就再也不會(huì)是完成此類任務(wù)的優(yōu)先考慮對(duì)象。但是,許多學(xué)習(xí)任務(wù),由于具有極高的復(fù)雜性,難以設(shè)計(jì)1個(gè)性能滿足需要的白箱算法,黑箱算法由于放棄了解釋能力的約束而可能在性能上有較大優(yōu)勢。如今深度學(xué)習(xí)的表示能力已經(jīng)十分強(qiáng)大,2015年卷積神經(jīng)網(wǎng)絡(luò)已經(jīng)達(dá)到152層[8],2016年卷積神經(jīng)網(wǎng)絡(luò)達(dá)到了1 207層,迄今為止沒有任何一個(gè)白箱算法的表示能力可以與現(xiàn)今的深度學(xué)習(xí)相媲美。故可以預(yù)測,深度學(xué)習(xí)在不需要發(fā)現(xiàn)因果關(guān)系的學(xué)習(xí)任務(wù)上在可見的未來不再有被替代的可能。
另外需要指出的是,相關(guān)性的挖掘是目前大數(shù)據(jù)面臨的典型任務(wù)。甚至有人認(rèn)為,在大數(shù)據(jù)時(shí)代,數(shù)據(jù)相關(guān)性的重要程度遠(yuǎn)超數(shù)據(jù)因果性。由此可知,相關(guān)性任務(wù)在大數(shù)據(jù)時(shí)代應(yīng)用廣泛。當(dāng)前深度學(xué)習(xí)的快速發(fā)展和應(yīng)用領(lǐng)域的日漸擴(kuò)大,從側(cè)面證實(shí)了這一點(diǎn)。當(dāng)然,這并不意味著不需要研究數(shù)據(jù)因果性,更不意味著數(shù)據(jù)因果性的消失。
3 結(jié)束語
深度學(xué)習(xí)不僅是目前熱度最高的人工智能研究方向,也是工業(yè)應(yīng)用最廣泛的學(xué)習(xí)范式。在未來,隨著深度學(xué)習(xí)與特定相關(guān)性學(xué)習(xí)任務(wù)的耦合程度越來越高,可以想像深度學(xué)習(xí)會(huì)有更多的變型出現(xiàn)。但是解釋性的學(xué)習(xí)算法無論在工業(yè)界還是學(xué)術(shù)界同樣也不會(huì)被放棄。
參考文獻(xiàn)
[1] MITCHELL T. Machine Learning[M]. New York: MaGraw Hill, 1997
[2] VAPNIK V N. The Nature of Statistical Learning Theory[M]. New York: Springer, 1995
[3] HASTIE T, TIBSHIRINI R, FRIEDMAN J H. The Elements of Statistical Learning[M]. New York: Springer, 2003
[4] THORNDIKE R L. Who Belongs in the Family[J]. Psychometrika, 1953,18(4):267-276
[5] MINSKY M, PAPERT S. Perceptons[M]. MA: The MIT Press, 1969
[6] HINTON G E, SRIVASTAVA N, KRIZHEVSKY A, et al. Improving Neural Networks by Preventing Co-Adaptation of Feature Detectors[J]. Computer Science, 2012, 3(4): 212-223
[7] IOFFE S, SZEGEDY C. Batch Normalization: Accelerating Deep Network Training by Reducing Internal Covariate Shift[C]// Proceedings of the 32 nd International Conference on Machine Learning, 2015
[8] HE K, ZHANG X, REN S, et al. Deep Residual Learning for Image Recognition[C]// IEEE Conference on Computer Vision and Pattern Recognition. USA:IEEE, 2016:770-778. DOI: 10.1109/CVPR.2016.90
[9] RUMELHART D E, HINTON G E, WILLIAMS R J. Learning Internal Representations by Error Propagation[M]. Neurocomputing: Foundations of Research. MA:MIT Press, 1988:318-362
[10] HINTON G E, SALAHUTDINOV R R. Reducing the Dimensionality of the Data with Neural Networks[J]. Science, 2006, 313(9): 504-507. DOI:10.1126/science.1127647