兩張圖和一個例子,認識人工智能、機器學習、深度學習和神經網絡

兩張圖和一個例子,認識人工智能、機器學習、深度學習和神經網絡

1950年10月,被譽為“計算機科學之父”的圖靈(馮諾依曼是“現代計算機之父”)發表了一篇題為“機器能思考嗎”的論文,成為了劃時代之作。在這篇論文裡,圖靈第一次提出了“機器思維”的概念,同時給出了一種判斷機器是否具備“智能”的方法,即“圖靈測試”。簡單來說就是,人們在和機器進行溝通時,如果有一定比例不能認出這是一臺“機器”,那麼就說明這臺機器已經具備了一定的“智能”。正是這篇文章,為圖靈又贏得了“人工智能之父”的稱號。之後,1956年在達特茅斯學院召開的一個夏季討論會議中,人工智能的概念被確定下來,而這也被認為是人工智能的正式起點。

長久以來,在 “人工智能”領域,主流觀點分成了兩派,一派認為實現人工智能必須用邏輯和符號系統,基於預設和反饋,搞清楚應該如何讓機器思考,並將思考的過程演化為具備明確程序設計的專家系統,自頂向下地仿造大腦;而另一派則認為,實現人工智能應該從模仿生物學大腦入手,讓機器自主形成意識,自底向上,通過不斷實踐,促進機器的自我成長和進化。不過,隨著2016年穀歌阿爾法狗的大放異彩,深度學習已成為目前人工智能最受關注的領域,暫時終結了“人工智能”的方向之爭,並開啟了人工智能飛速發展和全面產業化的新時代。

在媒體報道中,人工智能、機器學習、深度學習和神經網絡是非常熱門的四個詞彙,很多人甚至將四者看成是一種等價的關係,在很多報道中,會混雜使用。事實上,這四者之間既有一定的聯繫,但也有明顯的區別。如下圖所示,最外面的大圓代表人工智能,中間一層表示機器學習,而基於多層神經網絡的深度學習處於中心位置。也可以簡單理解為:機器學習是人工智能領域中的一個重要分支;深度學習是實現機器學習的一種重要方法;而深度學習通常都是基於多層神經網絡的(存在多種神經網絡模型)。

兩張圖和一個例子,認識人工智能、機器學習、深度學習和神經網絡

深度學習(Deep Learning)的概念雖然是在2006年由Hinton等人首次提出的,但在20世紀50年代,人工神經網絡的第一個實驗就完成了,而類似深度學習的方法,在20世紀90年代就已經成功用於某些商業應用中了,可為什麼直到2016年,基於深度學習的人工智能,才被廣泛應用起來呢?

第一:隨著互聯網及移動互聯網的發展,在各個行業中,可供訓練的數據樣本不斷增加,這使得深度學習變得更加有用。一個粗略的經驗法則是,對於監督學習算法,在每給定約5000個標註樣本的情況下,人工智能程序將達到可以接受的性能;而當至少有1000萬個標註樣本的數據集可用於訓練時,人工智能程序將達到甚至超過人類表現。

第二:隨著雲計算的發展,針對深度學習的計算機軟硬件基礎設施得到了極大的改善,基於現在的計算資源,可以運行更復雜更大的深度學習模型。人工神經網絡的規模大約每2.4 年擴大一倍,這種增長是由更大的內存和更快的計算驅動的。預計到本世紀50 年代,人工神經網絡將能夠具備與人腦相同數量級的神經元。

第三:在以上兩點原因的作用下,基於深度學習的人工智能,已經開始著手解決人們生活中的實際問題了,從簡單應用到複雜任務,如文本識別、聲音識別、人臉識別、圖像識別、自然語言處理等等,而其處理的精度也在不斷提高,從而逐漸形成正反饋效應,帶動了該領域中人才、資本和應用的全面發展。

現在的工程師們發現,其實20世紀80年代就存在的一些算法,也能工作得非常好,但是直到在2006年都沒有體現出來,就是因為當時的訓練數據太過匱乏、計算代價也太高,所以在很長一段時間,人們普遍認為多層神經網絡是難以訓練的。由此可見,目前人工智能領域的蓬勃發展,並非是從天而降突然出現的,而是技術、數據和資源均準備就位後,水到渠成的結果。

兩張圖和一個例子,認識人工智能、機器學習、深度學習和神經網絡

下面再通過一個簡單的例子,說說基於多層神經網絡的深度學習是如何工作的。例如現在需要識別出一張圖片中的物體是一個人、一輛車還是一隻動物。

我們把一張圖片傳給計算機程序後,計算機接收到的可能是很多基本像素值的集合,每個像素值對應圖片中每個最小的像素塊。讓計算機直接基於這些基本像素去識別圖片中物體的特徵,其函數將是非常複雜的,直接處理幾乎是不可能的。而深度學習會將所需要的複雜映射,分解為一系列嵌套的簡單映射,通過多層漸進式的探索來解決這一難題。在輸出層和輸入層之間的各個數據層,它們的值不是從原始數據中直接給出的,所以將這些層稱為“隱藏層”,並與輸入層和輸出層一起,共同構成了一個多層神經網絡。以下圖為例,通過包含三個隱藏層的神經網絡,最終實現了對圖片中物體類型的識別。

兩張圖和一個例子,認識人工智能、機器學習、深度學習和神經網絡

輸入層:可見層,輸入的數據為所有最小像素塊的像素值

第一層:隱藏層,識別出所有的邊緣數據。根據輸入層提供的像素數據,通過比較相鄰像素塊的亮度,可以識別出圖片中所有實體部分的邊緣,每個邊緣數據可能是由多個像素數據組成的。

第二層:隱藏層,識別出所有的輪廓數據。根據第一層隱藏層提供的邊緣數據,可以識別出圖片中所有實體部分的輪廓,每個輪廓數據可能是由多個邊緣數據組成的。

第三層:隱藏層,識別出各個組成部分。根據第二層隱藏層提供的輪廓數據,可以識別出圖片中實體部分的各個組成部分(如人的頭髮、衣服等),每個組成部分,可能是由多個輪廓數據組成的。

輸出層:對各個組成部分的特徵進行綜合分析,確定圖片中物體的類別,並給出結論。有了第三層隱藏層提供的各個組成部分的信息,就可以識別出整體對象的分類特徵了,例如有頭髮、穿衣服的是人,有輪胎、有車架的是車,有犄角、長尾巴的是動物。

以上只是對深度學習的簡單介紹,希望系統學習相關知識的朋友,這裡兩本電子書[深度學習中文版]和[深入淺出深度學習:原理剖析與python實踐],有興趣的朋友可以根據下面線索獲取。

創作不易,歡迎朋友們關注、評論、轉發。如企業轉載或其它,請聯繫:keji5u(科技無憂訂閱號)

兩張圖和一個例子,認識人工智能、機器學習、深度學習和神經網絡


分享到:


相關文章: