本文摘自《深度學(xué)習(xí)》,Ian Goodfellow ,Yoshua Bengio 著,Aaron Courville 譯,人民郵電出版社, 2017年7月
圖源于網(wǎng)絡(luò)
遠(yuǎn)在古希臘時(shí)期,發(fā)明家就夢(mèng)想著創(chuàng)造能自主思考的機(jī)器。神話(huà)人物皮格馬利翁(Pygmalion)、代達(dá)羅斯(Daedalus)和赫淮斯托斯(Hephaestus)可以被看作傳說(shuō)中的發(fā)明家,而加拉蒂亞(Galatea)、塔洛斯(Talos)和潘多拉(Pandora)則可以被視為人造生命 (Ovid and Martin, 2004; Sparkes,1996; Tandy,1997)。
當(dāng)人類(lèi)第一次構(gòu)思可編程計(jì)算機(jī)時(shí),就已經(jīng)在思考計(jì)算機(jī)能否變得智能 (盡管這距造出第一臺(tái)計(jì)算機(jī)還有一百多年)(Lovelace, 1842)。如今,人工智能(artificial intelligence, AI) 已經(jīng)成為一個(gè)具有眾多實(shí)際應(yīng)用和活躍研究課題的領(lǐng)域,并且正在蓬勃發(fā)展。我們期望通過(guò)智能軟件自動(dòng)地處理常規(guī)勞動(dòng)、理解語(yǔ)音或圖像、幫助醫(yī)學(xué)診斷和支持基礎(chǔ)科學(xué)研究。
在人工智能的早期,那些對(duì)人類(lèi)智力來(lái)說(shuō)非常困難、但對(duì)計(jì)算機(jī)來(lái)說(shuō)相對(duì)簡(jiǎn)單的問(wèn)題得到迅速解決,比如,那些可以通過(guò)一系列形式化的數(shù)學(xué)規(guī)則來(lái)描述的問(wèn)題。人工智能的真正挑戰(zhàn)在于解決那些對(duì)人來(lái)說(shuō)很容易執(zhí)行、但很難形式化描述的任務(wù),如識(shí)別人們所說(shuō)的話(huà)或圖像中的臉。對(duì)于這些問(wèn)題,我們?nèi)祟?lèi)往往可以憑借直覺(jué)輕易地解決。
針對(duì)這些比較直觀的問(wèn)題,大牛們找到一種解決方案。該方案可以讓計(jì)算機(jī)從經(jīng)驗(yàn)中學(xué)習(xí),并根據(jù)層次化的概念體系來(lái)理解世界,而每個(gè)概念則通過(guò)與某些相對(duì)簡(jiǎn)單的概念之間的關(guān)系來(lái)定義。讓計(jì)算機(jī)從經(jīng)驗(yàn)獲取知識(shí),可以避免由人類(lèi)來(lái)給計(jì)算機(jī)形式化地指定它需要的所有知識(shí)。層次化的概念讓計(jì)算機(jī)構(gòu)建較簡(jiǎn)單的概念來(lái)學(xué)習(xí)復(fù)雜概念。如果繪制出表示這些概念如何建立在彼此之上的圖,我們將得到一張“深”(層次很多) 的圖?;谶@個(gè)原因,我們稱(chēng)這種方法為AI深度學(xué)習(xí)(deep learning)。
AI許多早期的成功發(fā)生在相對(duì)樸素且形式化的環(huán)境中,而且不要求計(jì)算機(jī)具備很多關(guān)于世界的知識(shí)。例如,IBM的深藍(lán) (Deep Blue) 國(guó)際象棋系統(tǒng)在 1997 年擊敗了世界冠軍Garry Kasparov(Hsu, 2002)。顯然國(guó)際象棋是一個(gè)非常簡(jiǎn)單的領(lǐng)域,因?yàn)樗鼉H含有 64 個(gè)位置并只能以嚴(yán)格限制的方式移動(dòng) 32 個(gè)棋子。設(shè)計(jì)一種成功的國(guó)際象棋策略是巨大的成就,但向計(jì)算機(jī)描述棋子及其允許的走法并不是這一挑戰(zhàn)的困難所在。國(guó)際象棋完全可以由一個(gè)非常簡(jiǎn)短的、完全形式化的規(guī)則列表來(lái)描述,并可以容易地由程序員事先準(zhǔn)備好。
具有諷刺意義的是,抽象和形式化的任務(wù)對(duì)人類(lèi)而言是最困難的腦力任務(wù)之一,但對(duì)計(jì)算機(jī)而言卻屬于最容易的。計(jì)算機(jī)早就能夠打敗人類(lèi)最好的國(guó)際象棋選手,但直到最近計(jì)算機(jī)才在識(shí)別對(duì)象或語(yǔ)音任務(wù)中達(dá)到人類(lèi)平均水平。一個(gè)人的日常生活需要關(guān)于世界的巨量知識(shí)。很多這方面的知識(shí)是主觀的、直觀的,因此很難通過(guò)形式化的方式表達(dá)清楚。計(jì)算機(jī)需要獲取同樣的知識(shí)才能表現(xiàn)出智能。人工智能的一個(gè)關(guān)鍵挑戰(zhàn)就是如何將這些非形式化的知識(shí)傳達(dá)給計(jì)算機(jī)。
一些人工智能項(xiàng)目力求將關(guān)于世界的知識(shí)用形式化的語(yǔ)言進(jìn)行硬編碼 (hard-code)。計(jì)算機(jī)可以使用邏輯推理規(guī)則來(lái)自動(dòng)地理解這些形式化語(yǔ)言中的聲明。這就是眾所周知的人工智能的知識(shí)庫(kù)(knowledge base) 方法。然而,這些項(xiàng)目最終都沒(méi)有取得重大的成功。其中最著名的項(xiàng)目是 Cyc (Lenat and Guha, 1989)。Cyc 包括一個(gè)推斷引擎和一個(gè)使用 CycL 語(yǔ)言描述的聲明數(shù)據(jù)庫(kù)。這些聲明是由人類(lèi)監(jiān)督者輸入的。這是一個(gè)笨拙的過(guò)程。人們?cè)O(shè)法設(shè)計(jì)出足夠復(fù)雜的形式化規(guī)則來(lái)精確地描述世界。例如,Cyc 不能理解一個(gè)關(guān)于名為 Fred 的人在早上剃須的故事 (Linde, 1992)。它的推理引擎檢測(cè)到故事中的不一致性:它知道人體的構(gòu)成不包含電氣零件,但由于 Fred 正拿著一個(gè)電動(dòng)剃須刀,它認(rèn)為實(shí)體 ——“正在剃須的 Fred”(“FredWhileShaving”) 含有電氣部件。因此,它產(chǎn)生了這樣的疑問(wèn) ——Fred在刮胡子的時(shí)候是否仍然是一個(gè)人。
依靠硬編碼的知識(shí)體系面臨的困難表明,AI系統(tǒng)需要具備自己獲取知識(shí)的能力,即從原始數(shù)據(jù)中提取模式的能力。這種能力稱(chēng)為機(jī)器學(xué)習(xí)(machine learning)。引入機(jī)器學(xué)習(xí)使計(jì)算機(jī)能夠解決涉及現(xiàn)實(shí)世界知識(shí)的問(wèn)題,并能做出看似主觀的決策。比如,一個(gè)稱(chēng)為邏輯回歸(logistic regression)的簡(jiǎn)單機(jī)器學(xué)習(xí)算法可以決定是否建議剖腹產(chǎn)(Mor-Yosef et al.,1990)。而同樣是簡(jiǎn)單機(jī)器學(xué)習(xí)算法的樸素貝葉斯(naive Bayes)則可以區(qū)分垃圾電子郵件和合法電子郵件。
這些簡(jiǎn)單的機(jī)器學(xué)習(xí)算法的性能在很大程度上依賴(lài)于給定數(shù)據(jù)的表示(representation)。例如,當(dāng)邏輯回歸用于判斷產(chǎn)婦是否適合剖腹產(chǎn)時(shí),AI系統(tǒng)不會(huì)直接檢查患者。相反,醫(yī)生需要告訴系統(tǒng)幾條相關(guān)的信息,諸如是否存在子宮疤痕。表示患者的每條信息稱(chēng)為一個(gè)特征。邏輯回歸學(xué)習(xí)病人的這些特征如何與各種結(jié)果相關(guān)聯(lián)。然而,它絲毫不能影響該特征定義的方式。如果將病人的MRI(核磁共振) 掃描而不是醫(yī)生正式的報(bào)告作為邏輯回歸的輸入,它將無(wú)法做出有用的預(yù)測(cè)。MRI掃描的單一像素與分娩過(guò)程中并發(fā)癥之間的相關(guān)性微乎其微。
在整個(gè)計(jì)算機(jī)科學(xué)乃至日常生活中,對(duì)表示的依賴(lài)都是一個(gè)普遍現(xiàn)象。在計(jì)算機(jī)科學(xué)中,如果數(shù)據(jù)集合被精巧地結(jié)構(gòu)化并被智能地索引,那么諸如搜索之類(lèi)的操作的處理速度就可以成指數(shù)級(jí)地加快。人們可以很容易地在阿拉伯?dāng)?shù)字的表示下進(jìn)行算術(shù)運(yùn)算,但在羅馬數(shù)字的表示下,運(yùn)算會(huì)比較耗時(shí)。因此,毫不奇怪,表示的選擇會(huì)對(duì)機(jī)器學(xué)習(xí)算法的性能產(chǎn)生巨大的影響。圖 1 展示了一個(gè)簡(jiǎn)單的可視化例子。
圖1
圖 1 不同表示的例子:假設(shè)我們想在散點(diǎn)圖中畫(huà)一條線(xiàn)來(lái)分隔兩類(lèi)數(shù)據(jù)。在左圖中,我們使用笛卡兒坐標(biāo)表示數(shù)據(jù),這個(gè)任務(wù)是不可能的。在右圖中,我們用極坐標(biāo)表示數(shù)據(jù),可以用垂直線(xiàn)簡(jiǎn)單地解決這個(gè)任務(wù)(與David Warde-Farley 合作繪制此圖)許多人工智能任務(wù)都可以通過(guò)以下方式解決:先提取一個(gè)合適的特征集,然后將這些特征提供給簡(jiǎn)單的機(jī)器學(xué)習(xí)算法。例如,對(duì)于通過(guò)聲音鑒別說(shuō)話(huà)者的任務(wù)來(lái)說(shuō),一個(gè)有用的特征是對(duì)其聲道大小的估計(jì)。這個(gè)特征為判斷說(shuō)話(huà)者是男性、女性還是兒童提供了有力線(xiàn)索。
然而,對(duì)于許多任務(wù)來(lái)說(shuō),我們很難知道應(yīng)該提取哪些特征。例如,假設(shè)我們想編寫(xiě)一個(gè)程序來(lái)檢測(cè)照片中的車(chē)。我們知道,汽車(chē)有輪子,所以我們可能會(huì)想用車(chē)輪的存在與否作為特征。遺憾的是,我們難以準(zhǔn)確地根據(jù)像素值來(lái)描述車(chē)輪看上去像什么。雖然車(chē)輪具有簡(jiǎn)單的幾何形狀,但它的圖像可能會(huì)因場(chǎng)景而異,如落在車(chē)輪上的陰影、太陽(yáng)照亮的車(chē)輪的金屬零件、汽車(chē)的擋泥板或者遮擋的車(chē)輪一部分的前景物體等。
解決這個(gè)問(wèn)題的途徑之一是使用機(jī)器學(xué)習(xí)來(lái)發(fā)掘表示本身,而不僅僅把表示映射到輸出。
這種方法我們稱(chēng)之為表示學(xué)習(xí)(representation learning)。學(xué)習(xí)到的表示往往比手動(dòng)設(shè)計(jì)的表示表現(xiàn)得更好。并且它們只需最少的人工干預(yù),就能讓AI系統(tǒng)迅速適應(yīng)新的任務(wù)。表示學(xué)習(xí)算法只需幾分鐘就可以為簡(jiǎn)單的任務(wù)發(fā)現(xiàn)一個(gè)很好的特征集,對(duì)于復(fù)雜任務(wù)則需要幾小時(shí)到幾個(gè)月。手動(dòng)為一個(gè)復(fù)雜的任務(wù)設(shè)計(jì)特征需要耗費(fèi)大量的人工、時(shí)間和精力,甚至需要花費(fèi)整個(gè)社群研究人員幾十年的時(shí)間。
表示學(xué)習(xí)算法的典型例子是自編碼器(autoencoder)。自編碼器由一個(gè)編碼器(encoder)函數(shù)和一個(gè)解碼器(decoder)函數(shù)組合而成。編碼器函數(shù)將輸入數(shù)據(jù)轉(zhuǎn)換為一種不同的表示,而解碼器函數(shù)則將這個(gè)新的表示轉(zhuǎn)換回原來(lái)的形式。我們期望當(dāng)輸入數(shù)據(jù)經(jīng)過(guò)編碼器和解碼器之后盡可能多地保留信息,同時(shí)希望新的表示有各種好的特性,這也是自編碼器的訓(xùn)練目標(biāo)。為了實(shí)現(xiàn)不同的特性,我們可以設(shè)計(jì)不同形式的自編碼器。
當(dāng)設(shè)計(jì)特征或設(shè)計(jì)用于學(xué)習(xí)特征的算法時(shí),我們的目標(biāo)通常是分離出能解釋觀察數(shù)據(jù)的變差因素(factors of variation)。在此背景下,“因素”這個(gè)詞僅指代影響的不同來(lái)源;因素通常不是乘性組合。這些因素通常是不能被直接觀察到的量。相反,它們可能是現(xiàn)實(shí)世界中觀察不到的物體或者不可觀測(cè)的力,但會(huì)影響可觀測(cè)的量。為了對(duì)觀察到的數(shù)據(jù)提供有用的簡(jiǎn)化解釋或推斷其原因,它們還可能以概念的形式存在于人類(lèi)的思維中。它們可以被看作數(shù)據(jù)的概念或者抽象,幫助我們了解這些數(shù)據(jù)的豐富多樣性。當(dāng)分析語(yǔ)音記錄時(shí),變差因素包括說(shuō)話(huà)者的年齡、性別、他們的口音和他們正在說(shuō)的詞語(yǔ)。當(dāng)分析汽車(chē)的圖像時(shí),變差因素包括汽車(chē)的位置、它的顏色、太陽(yáng)的角度和亮度。
在許多現(xiàn)實(shí)的人工智能應(yīng)用中,困難主要源于多個(gè)變差因素同時(shí)影響著我們能夠觀察到的每一個(gè)數(shù)據(jù)。比如,在一張包含紅色汽車(chē)的圖片中,其單個(gè)像素在夜間可能會(huì)非常接近黑色。汽車(chē)輪廓的形狀取決于視角。大多數(shù)應(yīng)用需要我們理清變差因素并忽略我們不關(guān)心的因素。
顯然,從原始數(shù)據(jù)中提取如此高層次、抽象的特征是非常困難的。許多諸如說(shuō)話(huà)口音這樣的變差因素,只能通過(guò)對(duì)數(shù)據(jù)進(jìn)行復(fù)雜的、接近人類(lèi)水平的理解來(lái)辨識(shí)。這幾乎與獲得原問(wèn)題的表示一樣困難,因此,乍一看,表示學(xué)習(xí)似乎并不能幫助我們。
深度學(xué)習(xí)(deep learning) 通過(guò)其他較簡(jiǎn)單的表示來(lái)表達(dá)復(fù)雜表示,解決了表示學(xué)習(xí)中的核心問(wèn)題。
……
作品簡(jiǎn)介
《深度學(xué)習(xí)》,Ian Goodfellow ,Yoshua Bengio 著,Aaron Courville 譯,人民郵電出版社, 2017年7月
《深度學(xué)習(xí)》由全球知名的三位專(zhuān)家Ian Goodfellow、Yoshua Bengio 和Aaron Courville撰寫(xiě),是深度學(xué)習(xí)領(lǐng)域奠基性的經(jīng)典教材。全書(shū)的內(nèi)容包括3個(gè)部分:第1部分介紹基本的數(shù)學(xué)工具和機(jī)器學(xué)習(xí)的概念,它們是深度學(xué)習(xí)的預(yù)備知識(shí);第2部分系統(tǒng)深入地講解現(xiàn)今已成熟的深度學(xué)習(xí)方法和技術(shù);第3部分討論某些具有前瞻性的方向和想法,它們被公認(rèn)為是深度學(xué)習(xí)未來(lái)的研究重點(diǎn)。
《深度學(xué)習(xí)》適合各類(lèi)讀者閱讀,包括相關(guān)專(zhuān)業(yè)的大學(xué)生或研究生,以及不具有機(jī)器學(xué)習(xí)或統(tǒng)計(jì)背景、但是想要快速補(bǔ)充深度學(xué)習(xí)知識(shí),以便在實(shí)際產(chǎn)品或平臺(tái)中應(yīng)用的軟件工程師。