從計(jì)算機(jī)發(fā)明之初,人們就希望它能夠幫助甚至代替人類完成重復(fù)性勞作。利用巨大的存儲(chǔ)空間和超高的運(yùn)算速度,計(jì)算機(jī)已經(jīng)可以非常輕易地完成一些對(duì)于人類非常困難,但對(duì)計(jì)算機(jī)相對(duì)簡單的問題。比如,統(tǒng)計(jì)一本書中不同單詞出現(xiàn)的次數(shù),存儲(chǔ)一個(gè)圖書館中所有的藏書,或是計(jì)算非常復(fù)雜的數(shù)學(xué)公式,都可以輕松通過計(jì)算機(jī)解決。然而,一些人類通過直覺可以很快解決的問題,目前卻很難通過計(jì)算機(jī)解決。這些問題包括自然語言理解、圖像識(shí)別、語音識(shí)別,等等。而它們就是人工智能需要解決的問題。 計(jì)算機(jī)要像人類一樣完成更多智能的工作,需要掌握關(guān)于這個(gè)世界海量的知識(shí)。比如要實(shí)現(xiàn)汽車自動(dòng)駕駛,計(jì)算機(jī)至少需要能夠判斷哪里是路,哪里是障礙物。這個(gè)對(duì)人類非常直觀的東西,但對(duì)計(jì)算機(jī)卻是相當(dāng)困難的。路有水泥的、瀝青的,也有石子的甚至土路。這些不同材質(zhì)鋪成的路在計(jì)算機(jī)看來差距非常大。如何讓計(jì)算機(jī)掌握這些人類看起來非常直觀的常識(shí),對(duì)于人工智能的發(fā)展是一個(gè)巨大的挑戰(zhàn)。很多早期的人工智能系統(tǒng)只能成功應(yīng)用于相對(duì)特定的環(huán)境(specific domain),在這些特定環(huán)境下,計(jì)算機(jī)需要了解的知識(shí)很容易被嚴(yán)格并且完整地定義。例如,IBM的深藍(lán)(Deep Blue)在1997年打敗了國際象棋冠軍卡斯帕羅夫。設(shè)計(jì)出下象棋軟件是人工智能史上的重大成就,但其主要挑戰(zhàn)不在于讓計(jì)算機(jī)掌握國際象棋中的規(guī)則。國際象棋是一個(gè)特定的環(huán)境,在這個(gè)環(huán)境中,計(jì)算機(jī)只需要了解每一個(gè)棋子規(guī)定的行動(dòng)范圍和行動(dòng)方法即可。雖然計(jì)算機(jī)早在1997年就可以擊敗國際象棋的世界冠軍,但是直到20年后的今天,讓計(jì)算機(jī)實(shí)現(xiàn)大部分成年人都可以完成的汽車駕駛卻仍然依舊十分困難。 為了使計(jì)算機(jī)更多地掌握開放環(huán)境(open domain)下的知識(shí),研究人員進(jìn)行了很多嘗試。其中一個(gè)影響力非常大的領(lǐng)域是知識(shí)圖庫(Ontology)。WordNet是在開放環(huán)境中建立的一個(gè)較大且有影響力的知識(shí)圖庫。WordNet是由普林斯頓大學(xué)(Princeton University)的George Armitage Miller教授和Christiane Fellbaum教授帶領(lǐng)開發(fā)的,它將155287個(gè)單詞整理為了117659個(gè)近義詞集(synsets)?;谶@些近義詞集,WordNet進(jìn)一步定義了近義詞集之間的關(guān)系。比如同義詞集“狗”屬于同義詞集“犬科動(dòng)物”,他們之間存在種屬關(guān)系(hypernyms/hyponyms)。除了WordNet,也有不少研究人員嘗試將Wikipedia中的知識(shí)整理成知識(shí)圖庫。谷歌的知識(shí)圖庫就是基于Wikipedia創(chuàng)建的。 雖然使用知識(shí)圖庫可以讓計(jì)算機(jī)很好地掌握人工定義的知識(shí),但建立知識(shí)圖庫一方面需要花費(fèi)大量的人力物力,另一方面可以通過知識(shí)圖庫方式明確定義的知識(shí)有限,不是所有的知識(shí)都可以明確地定義成計(jì)算機(jī)可以理解的固定格式。很大一部分無法明確定義的知識(shí),就是人類的經(jīng)驗(yàn)。比如我們需要判斷一封郵件是否為垃圾郵件,會(huì)綜合考慮郵件發(fā)出的地址、郵件的標(biāo)題、郵件的內(nèi)容以及郵件收件人的長度,等等。這是收到無數(shù)垃圾郵件騷擾之后總結(jié)出來的經(jīng)驗(yàn)。這個(gè)經(jīng)驗(yàn)很難以固定的方式表達(dá)出來,而且不同人對(duì)垃圾郵件的判斷也會(huì)不一樣。如何讓計(jì)算機(jī)可以跟人類一樣從歷史的經(jīng)驗(yàn)中獲取新的知識(shí)呢?這就是機(jī)器學(xué)習(xí)需要解決的問題。 卡內(nèi)基梅隆大學(xué)(Carnegie Mellon University)的Tom Michael Mitchell教授在1997年出版的書籍Machine Learning中對(duì)機(jī)器學(xué)習(xí)進(jìn)行過非常專業(yè)的定義,這個(gè)定義在學(xué)術(shù)界內(nèi)被多次引用。在這本書中對(duì)機(jī)器學(xué)習(xí)的定義為“如果一個(gè)程序可以在任務(wù)T上,隨著經(jīng)驗(yàn)E的增加,效果P也可以隨之增加,則稱這個(gè)程序可以從經(jīng)驗(yàn)中學(xué)習(xí)”。通過垃圾郵件分類的問題來解釋機(jī)器學(xué)習(xí)的定義。在垃圾郵件分類問題中,“一個(gè)程序”指的是需要用到的機(jī)器學(xué)習(xí)算法,比如邏輯回歸算法;“任務(wù)T”是指區(qū)分垃圾郵件的任務(wù);“經(jīng)驗(yàn)E”為已經(jīng)區(qū)分過是否為垃圾郵件的歷史郵件,在監(jiān)督式機(jī)器學(xué)習(xí)問題中,這也被稱之為訓(xùn)練數(shù)據(jù);“效果P”為機(jī)器學(xué)習(xí)算法在區(qū)分是否為垃圾郵件任務(wù)上的正確率。 在使用邏輯回歸算法解決垃圾郵件分類問題時(shí),會(huì)先從每一封郵件中抽取對(duì)分類結(jié)果可能有影響的因素,比如說上文提到的發(fā)郵件的地址、郵件的標(biāo)題及收件人的長度,等等。每一個(gè)因素被稱之為一個(gè)特征(feature)。邏輯回歸算法可以從訓(xùn)練數(shù)據(jù)中計(jì)算出每個(gè)特征和預(yù)測結(jié)果的相關(guān)度。比如在垃圾郵件分類問題中,可能會(huì)發(fā)現(xiàn)如果一個(gè)郵件的收件人越多,那么郵件為垃圾郵件的概率也就越高。在對(duì)一封未知的郵件做判斷時(shí),邏輯回歸算法會(huì)根據(jù)從這封郵件中抽取得到的每一個(gè)特征以及這些特征和垃圾郵件的相關(guān)度來判斷這封郵件是否為垃圾郵件。 在大部分情況下,在訓(xùn)練數(shù)據(jù)達(dá)到一定數(shù)量之前,越多的訓(xùn)練數(shù)據(jù)可以使邏輯回歸算法對(duì)未知郵件做出的判斷越精準(zhǔn)。也就是說邏輯回歸算法可以根據(jù)訓(xùn)練數(shù)據(jù)(經(jīng)驗(yàn)E)提高在垃圾郵件分類問題(任務(wù)T)上的正確率(效果P)。之所以說在大部分情況下,是因?yàn)檫壿嫽貧w算法的效果除了依賴于訓(xùn)練數(shù)據(jù),也依賴于從數(shù)據(jù)中提取的特征。假設(shè)從郵件中抽取的特征只有郵件發(fā)送的時(shí)間,那么即使有再多的訓(xùn)練數(shù)據(jù),邏輯回歸算法也無法很好地利用。這是因?yàn)猷]件發(fā)送的時(shí)間和郵件是否為垃圾郵件之間的關(guān)聯(lián)不大,而邏輯回歸算法無法從數(shù)據(jù)中習(xí)得更好的特征表達(dá)。這也是很多傳統(tǒng)機(jī)器學(xué)習(xí)算法的一個(gè)共同的問題。 類似從郵件中提取特征,如何數(shù)字化地表達(dá)現(xiàn)實(shí)世界中的實(shí)體,一直是計(jì)算機(jī)科學(xué)中一個(gè)非常重要問題。如果將圖書館中的圖書名稱儲(chǔ)存為結(jié)構(gòu)化的數(shù)據(jù),比如儲(chǔ)存在Excel表格中,那么可以非常容易地通過書名查詢一本書是否在圖書館中。如果圖書的書名都是存在非結(jié)構(gòu)化的圖片中,那么要完成書名查找任務(wù)的難度將大大增加。類似的道理,如何從實(shí)體中提取特征,對(duì)于很多傳統(tǒng)機(jī)器學(xué)習(xí)算法的性能有巨大影響。我們看一個(gè)簡單的例子。 不同的數(shù)據(jù)表達(dá)對(duì)使用直線劃分不同顏色結(jié)點(diǎn)的難度影響 如果通過笛卡爾坐標(biāo)系(cartesian coordinates)來表示數(shù)據(jù),那么不同顏色的結(jié)點(diǎn)無法被一條直線劃分。如果將這些點(diǎn)映射到極角坐標(biāo)系(polar coordinates),那么使用直線劃分就很容易了。同樣的數(shù)據(jù)使用不同的表達(dá)方式會(huì)極大地影響解決問題的難度。一旦解決了數(shù)據(jù)表達(dá)和特征提取,很多人工智能任務(wù)也就解決了90%。 然而,對(duì)許多機(jī)器學(xué)習(xí)問題來說,特征提取不是一件簡單的事情。在一些復(fù)雜問題上,要通過人工的方式設(shè)計(jì)有效的特征集合,需要很多的時(shí)間和精力,有時(shí)甚至需要整個(gè)領(lǐng)域數(shù)十年的研究投入。例如,假設(shè)想從很多照片中識(shí)別汽車?,F(xiàn)在已知的是汽車有輪子,所以希望在圖片中抽取“圖片中是否出現(xiàn)了輪子”這個(gè)特征。但實(shí)際上,要從圖片的像素中描述一個(gè)輪子的模式是非常難的。雖然車輪的形狀很簡單,但在實(shí)際圖片中,車輪上可能會(huì)有來自車身的陰影、金屬車軸的反光,周圍物品也可能會(huì)部分遮擋車輪。實(shí)際圖片中各種不確定的因素讓我們很難直接抽取這樣的特征。 既然人工的方式無法很好地抽取實(shí)體中的特征,那么是否有自動(dòng)的方式呢?答案是肯定的。深度學(xué)習(xí)解決的核心問題之一就是自動(dòng)地將簡單的特征組合成更加復(fù)雜的特征,并使用這些組合特征解決問題。深度學(xué)習(xí)是機(jī)器學(xué)習(xí)的一個(gè)分支,它除了可以學(xué)習(xí)特征和任務(wù)之間的關(guān)聯(lián)以外,還能自動(dòng)從簡單特征中提取更加復(fù)雜的特征。下圖展示了深度學(xué)習(xí)和傳統(tǒng)機(jī)器學(xué)習(xí)在流程上的差異。 傳統(tǒng)機(jī)器學(xué)習(xí)和深度學(xué)習(xí)流程對(duì)比 如圖所示,深度學(xué)習(xí)算法可以從數(shù)據(jù)中學(xué)習(xí)更加復(fù)雜的特征表達(dá),使得最后一步權(quán)重學(xué)習(xí)變得更加簡單且有效。 深度學(xué)習(xí)在圖像分類問題上的算法流程樣例 在上圖中,展示了通過深度學(xué)習(xí)解決圖像分類問題的具體樣例。深度學(xué)習(xí)可以一層一層地將簡單特征逐步轉(zhuǎn)化成更加復(fù)雜的特征,從而使得不同類別的圖像更加可分。比如圖中展示了深度學(xué)習(xí)算法可以從圖像的像素特征中逐漸組合出線條、邊、角、簡單形狀、復(fù)雜形狀等更加有效的復(fù)雜特征。 早期的深度學(xué)習(xí)受到了神經(jīng)科學(xué)的啟發(fā),它們之間有非常密切的聯(lián)系??茖W(xué)家們?cè)谏窠?jīng)科學(xué)上的發(fā)現(xiàn)使得我們相信深度學(xué)習(xí)可以勝任很多人工智能的任務(wù)。神經(jīng)科學(xué)家發(fā)現(xiàn),如果將小白鼠的視覺神經(jīng)連接到聽覺中樞,一段時(shí)間之后小鼠可以習(xí)得使用聽覺中樞“看”世界。這說明雖然哺乳動(dòng)物大腦分為了很多區(qū)域,但這些區(qū)域的學(xué)習(xí)機(jī)制卻是相似的。在這一假想得到驗(yàn)證之前,機(jī)器學(xué)習(xí)的研究者們通常會(huì)為不同的任務(wù)設(shè)計(jì)不同的算法。而且直到今天,學(xué)術(shù)機(jī)構(gòu)的機(jī)器學(xué)習(xí)領(lǐng)域也被分為了自然語言處理、計(jì)算機(jī)視覺和語音識(shí)別等不同的實(shí)驗(yàn)室。因?yàn)樯疃葘W(xué)習(xí)的通用性,深度學(xué)習(xí)的研究者往往可以跨越多個(gè)研究方向甚至同時(shí)活躍于所有的研究方向。 雖然深度學(xué)習(xí)領(lǐng)域的研究人員相比其他機(jī)器學(xué)習(xí)領(lǐng)域更多地受到了大腦工作原理的啟發(fā),而且媒體界也經(jīng)常強(qiáng)調(diào)深度學(xué)習(xí)算法和大腦工作原理的相似性,但現(xiàn)代深度學(xué)習(xí)的發(fā)展并不拘泥于模擬人腦神經(jīng)元和人腦的工作機(jī)理。模擬人類大腦也不再是深度學(xué)習(xí)研究的主導(dǎo)方向。我們不應(yīng)該認(rèn)為深度學(xué)習(xí)是在試圖模仿人類大腦。目前科學(xué)家對(duì)人類大腦學(xué)習(xí)機(jī)制的理解還不足以為當(dāng)下的深度學(xué)習(xí)模型提供指導(dǎo)。 現(xiàn)代的深度學(xué)習(xí)已經(jīng)超越了神經(jīng)科學(xué)觀點(diǎn),它可以更廣泛地適用于各種并不是由神經(jīng)網(wǎng)絡(luò)啟發(fā)而來的機(jī)器學(xué)習(xí)框架。值得注意的是,有一個(gè)領(lǐng)域的研究者試圖從算法層理解大腦的工作機(jī)制,它不同于深度學(xué)習(xí)的領(lǐng)域,被稱為“計(jì)算神經(jīng)學(xué)”(computational neuroscience)。深度學(xué)習(xí)領(lǐng)域主要關(guān)注如何搭建智能的計(jì)算機(jī)系統(tǒng),解決人工智能中遇到的問題。計(jì)算神經(jīng)學(xué)則主要關(guān)注如何建立更準(zhǔn)確的模型來模擬人類大腦的工作。 總的來說,人工智能、機(jī)器學(xué)習(xí)和深度學(xué)習(xí)是非常相關(guān)的幾個(gè)領(lǐng)域。下圖總結(jié)了它們之間的關(guān)系。 人工智能、機(jī)器學(xué)習(xí)以及深度學(xué)習(xí)之間的關(guān)系圖 人工智能是一類非常廣泛的問題,機(jī)器學(xué)習(xí)是解決這類問題的一個(gè)重要手段。深度學(xué)習(xí)則是機(jī)器學(xué)習(xí)的一個(gè)分支。在很多人工智能問題上,深度學(xué)習(xí)的方法突破了傳統(tǒng)機(jī)器學(xué)習(xí)方法的瓶頸,推動(dòng)了人工智能領(lǐng)域的發(fā)展。 部分內(nèi)容參見: Goodfellow I, Bengio Y, Courville A. Deep learning [M]. The MIT Press,2016. Mitchell T M, Carbonell J G, Michalski R S. Machine Learning [M]. McGraw-Hill, 2003. 《TensorFlow:實(shí)戰(zhàn)Google深度學(xué)習(xí)框架》Tensorflow:實(shí)戰(zhàn)Google深度學(xué)習(xí)框架 配套代碼更新為TensorFlow1.0版 已同步推出繁體版在臺(tái)灣發(fā)行 作者:才云科技Caicloud 鄭澤宇、顧思宇 圖書鏈接:http://wqitem.jd.com/item/view?sku=12125572 |
|