簡單讀懂人工智能:機器學習與深度學習是什麼關係

引言:隨着AlphaGo打敗李世石。人工智能和深度學習這些概念已經成爲一個很火的話題。算法

人工智能、機器學習與深度學習這幾個關鍵詞時常出現在媒體新聞中,並錯誤地被以爲是等同的概念。本文將介紹人工智能、機器學習以及深度學習的概念。並着重解析它們之間的關係。本文將從不一樣領域需要解決的問題入手。依次介紹這些領域的基本概念以及解決領域內問題的主要思路。
本文選自《Tensorflow:實戰Google深度學習框架》。微信

  從計算機發明之初,人們就但願它可以幫助甚至取代人類完畢反覆性勞做。利用巨大的存儲空間和超高的運算速度,計算機已經可以很輕易地完畢一些對於人類很困難,但對計算機相對簡單的問題。比方,統計一本書中不一樣單詞出現的次數。存儲一個圖書館中所有的藏書。或是計算很複雜的數學公式,都可以輕鬆經過計算機解決。然而。一些人類經過直覺可以很快解決的問題,眼下卻很難經過計算機解決。網絡

這些問題包含天然語言理解、圖像識別、語音識別。等等。而它們就是人工智能需要解決的問題。
  計算機要像人類同樣完畢不少其它智能的工做,需要掌握關於這個世界海量的知識。比方要實現汽車本身主動駕駛。計算機至少需要能夠推斷哪裏是路,哪裏是障礙物。這個對人類很直觀的東西,但對計算機倒是至關困難的。框架

路有水泥的、瀝青的,也有石子的甚至土路。這些不一樣材質鋪成的路在計算機看來差距很大。怎樣讓計算機掌握這些人類看起來很直觀的常識。對於人工智能的發展是一個巨大的挑戰。dom

不少早期的人工智能系統僅僅能成功應用於相對特定的環境(specific domain),在這些特定環境下,計算機需要了解的知識很easy被嚴格並且完整地定義。好比。IBM的深藍(Deep Blue)在1997年戰勝了國際象棋冠軍卡斯帕羅夫。設計出下象棋軟件是人工智能史上的重大成就。但其主要挑戰不在於讓計算機掌握國際象棋中的規則。機器學習

國際象棋是一個特定的環境,在這個環境中,計算機僅僅需要了解每一個棋子規定的行動範圍和行動方法就能夠。post

儘管計算機早在1997年就可以擊敗國際象棋的世界冠軍,但是直到20年後的今天,讓計算機實現大部分紅年人都可以完畢的汽車駕駛卻仍然依然十分困難。
  爲了使計算機不少其它地掌握開放環境(open domain)下的知識,研究人員進行了很是多嘗試。當中一個影響力很是大的領域是知識圖庫(Ontology)。WordNet是在開放環境中創建的一個較大且有影響力的知識圖庫。WordNet是由普林斯頓大學(Princeton University)的George Armitage Miller教授和Christiane Fellbaum教授帶領開發的。它將155287個單詞整理爲了117659個近義詞集(synsets)。基於這些近義詞集,WordNet進一步定義了近義詞集之間的關係。性能

比方同義詞集「狗」屬於同義詞集「犬科動物」。他們之間存在種屬關係(hypernyms/hyponyms)。除了WordNet,也有很多研究人員嘗試將Wikipedia中的知識整理成知識圖庫。谷歌的知識圖庫就是基於Wikipedia建立的。
  儘管使用知識圖庫可以讓計算機很是好地掌握人工定義的知識。但創建知識圖庫一方面需要花費大量的人力物力,還有一方面可以經過知識圖庫方式明白定義的知識有限。不是所有的知識都可以明白地定義成計算機可以理解的固定格式。很是大一部分沒法明白定義的知識,就是人類的經驗。學習

比方咱們需要推斷一封郵件是否爲垃圾郵件。會綜合考慮郵件發出的地址、郵件的標題、郵件的內容以及郵件收件人的長度。等等。這是收到無數垃圾郵件騷擾以後總結出來的經驗。這個經驗很是難以固定的方式表達出來。而且不一樣人對垃圾郵件的推斷也會不同。怎樣讓計算機可以跟人類同樣從歷史的經驗中獲取新的知識呢?這就是機器學習需要解決的問題。人工智能


  卡內基梅隆大學(Carnegie Mellon University)的Tom Michael Mitchell教授在1997年出版的書籍Machine Learning中對機器學習進行過很專業的定義,這個定義在學術界內被屢次引用。在這本書中對機器學習的定義爲「假設一個程序可以在任務T上。隨着經驗E的添加。效果P也可以隨之添加。則稱這個程序可以從經驗中學習」。經過垃圾郵件分類的問題來解釋機器學習的定義。在垃圾郵件分類問題中。「一個程序」指的是需要用到的機器學習算法。比方邏輯迴歸算法。「任務T」是指區分垃圾郵件的任務;「經驗E」爲已經區分過是否爲垃圾郵件的歷史郵件,在監督式機器學習問題中。這也被稱之爲訓練數據;「效果P」爲機器學習算法在區分是否爲垃圾郵件任務上的正確率。
  在使用邏輯迴歸算法解決垃圾郵件分類問題時。會先從每一封郵件中抽取對分類結果可能有影響的因素,比方說上文提到的發郵件的地址、郵件的標題及收件人的長度。等等。每一個因素被稱之爲一個特徵(feature)。邏輯迴歸算法可以從訓練數據中計算出每一個特徵和預測結果的相關度。比方在垃圾郵件分類問題中,可能會發現假設一個郵件的收件人越多。那麼郵件爲垃圾郵件的機率也就越高。在對一封未知的郵件作推斷時,邏輯迴歸算法會依據從這封郵件中抽取獲得的每一個特徵以及這些特徵和垃圾郵件的相關度來推斷這封郵件是否爲垃圾郵件。
  在大部分狀況下,在訓練數據達到必定數量以前。越多的訓練數據可以使邏輯迴歸算法對未知郵件作出的推斷越精準。也就是說邏輯迴歸算法可以依據訓練數據(經驗E)提升在垃圾郵件分類問題(任務T)上的正確率(效果P)。之因此說在大部分狀況下,是因爲邏輯迴歸算法的效果除了依賴於訓練數據。也依賴於從數據中提取的特徵。若是從郵件中抽取的特徵僅僅有郵件發送的時間。那麼即便有再多的訓練數據,邏輯迴歸算法也沒法很是好地利用。

這是因爲郵件發送的時間和郵件是否爲垃圾郵件之間的關聯不大。而邏輯迴歸算法沒法從數據中習得更好的特徵表達。這也是很是多傳統機器學習算法的一個共同的問題。
  相似從郵件中提取特徵。怎樣數字化地表達現實世界中的實體,一直是計算機科學中一個很重要問題。假設將圖書館中的圖書名稱儲存爲結構化的數據,比方儲存在Excel表格中,那麼可以很easy地經過書名查詢一本書是否在圖書館中。假設圖書的書名都是存在非結構化的圖片中,那麼要完畢書名查找任務的難度將大大添加。

相似的道理。怎樣從實體中提取特徵,對於許多傳統機器學習算法的性能有巨大影響。咱們看一個簡單的樣例。
          【圖1】
                不一樣的數據表達對使用直線劃分不一樣顏色結點的難度影響

  假設經過笛卡爾座標系(cartesian coordinates)來表示數據。那麼不一樣顏色的結點沒法被一條直線劃分。假設將這些點映射到極角座標系(polar coordinates),那麼使用直線劃分就很是easy了。

相同的數據使用不一樣的表達方式會極大地影響解決這個問題的難度。一旦攻克了數據表達和特徵提取,很是多人工智能任務也就攻克了90%。


  然而,對不少機器學習問題來講。特徵提取不是一件簡單的事情。在一些複雜問題上,要經過人工的方式設計有效的特徵集合,需要很是多的時間和精力。有時甚至需要整個領域數十年的研究投入。

好比,若是想從很是多照片中識別汽車。現在已知的是汽車有輪子。因此但願在圖片中抽取「圖片中是否出現了輪子」這個特徵。但實際上。要從圖片的像素中描寫敘述一個輪子的模式是很是難的。

儘管車輪的形狀很是easy,但在實際圖片中,車輪上可能會有來自車身的陰影、金屬車軸的反光,周圍物品也可能會部分遮擋車輪。

實際圖片中各類不肯定的因素讓咱們很是難直接抽取這種特徵。


  既然人工的方式沒法很是好地抽取實體中的特徵。那麼是否有本身主動的方式呢?答案是確定的。深度學習解決的核心問題之中的一個就是本身主動地將簡單的特徵組合成更加複雜的特徵。並使用這些組合特徵解決這個問題。深度學習是機器學習的一個分支,它除了可以學習特徵和任務之間的關聯之外。還能本身主動從簡單特徵中提取更加複雜的特徵。下圖展現了深度學習和傳統機器學習在流程上的差別。


       【圖2】
                     傳統機器學習和深度學習流程對照
                     
  如圖所看到的,深度學習算法可以從數據中學習更加複雜的特徵表達,使得最後一步權重學習變得更加簡單且有效。


         【圖3】
                   深度學習在圖像分類問題上的算法流程例子
                   
  在上圖中,展現了經過深度學習解決圖像分類問題的詳細例子。深度學習可以一層一層地將簡單特徵逐步轉化成更加複雜的特徵,從而使得不一樣類別的圖像更加可分。

比方圖中展現了深度學習算法可以從圖像的像素特徵中逐漸組合出線條、邊、角、簡單形狀、複雜形狀等更加有效的複雜特徵。


  早期的深度學習受到了神經科學的啓示。它們之間有很是密切的聯繫。科學家們在神經科學上的發現使得咱們相信深度學習可以勝任很是多人工智能的任務。神經科學家發現。假設將小白鼠的視覺神經鏈接到聽覺中樞,一段時間以後小鼠可以習得使用聽覺中樞「看」世界。這說明儘管哺乳動物大腦分爲了很是多區域。但這些區域的學習機制倒是類似的。在這一假想獲得驗證以前,機器學習的研究者們通常會爲不一樣的任務設計不一樣的算法。而且直到今天。學術機構的機器學習領域也被分爲了天然語言處理、計算機視覺和語音識別等不一樣的實驗室。因爲深度學習的通用性,深度學習的研究者每每可以跨越多個研究方向甚至同一時候活躍於所有的研究方向。
  儘管深度學習領域的研究人員相比其它機器學習領域不少其它地受到了大腦工做原理的啓示,而且媒體界也經常強調深度學習算法和大腦工做原理的類似性。但現代深度學習的發展並不拘泥於模擬人腦神經元和人腦的工做機理。模擬人類大腦也再也不是深度學習研究的主導方向。咱們不該該以爲深度學習是在試圖模仿人類大腦。眼下科學家對人類大腦學習機制的理解還不足覺得當下的深度學習模型提供指導。


  現代的深度學習已經超越了神經科學觀點,它可以更普遍地適用於各類並不是由神經網絡啓示而來的機器學習框架。

值得注意的是,有一個領域的研究者試圖從算法層理解大腦的工做機制。它不一樣於深度學習的領域。被稱爲「計算神經學」(computational neuroscience)。深度學習領域主要關注怎樣搭建智能的計算機系統,解決人工智能中遇到的問題。計算神經學則主要關注怎樣創建更準確的模型來模擬人類大腦的工做。


總的來講。人工智能、機器學習和深度學習是很相關的幾個領域。

下圖總結了它們之間的關係。


       【圖4】
                人工智能、機器學習以及深度學習之間的關係圖
                
  人工智能是一類很是普遍的問題,機器學習是解決這類問題的一個重要手段。

深度學習則是機器學習的一個分支。

在很是多人工智能問題上。深度學習的方法突破了傳統機器學習方法的瓶頸,推進了人工智能領域的發展。

本節部份內容參見: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:實戰Google深度學習框架》,點此連接可在博文視點官網查看此書。
                    圖片描寫敘述
  想及時得到不少其它精彩文章,可在微信中搜索「博文視點」或者掃描下方二維碼並關注。
                       圖片描寫敘述

相關文章
相關標籤/搜索