- 從0到1 TensorFlow編程手記
- 周倩 馮高峰 賈連芹編著
- 1636字
- 2021-03-12 19:56:13
1.2 人工智能的發展歷程
人工智能大體經歷了三個發展階段,如圖1-3 所示。

圖1-3 人工智能的發展階段
1.2.1 早期人工智能階段
這是人工智能發展的第一個階段,以感知機(第一代神經網絡)、專家系統為典型代表。
1950 年,圖靈提出了 “圖靈測試”,用于判斷機器是否具有智能。
1952 年,阿瑟·薩繆爾(Arthur Samuel,1901—1990)研制出了一個西洋跳棋程序。這個程序具有自學習能力,可通過對大量棋局的分析,逐漸學會辨識當前局面下的“好棋” 和 “壞棋”,從而不斷提高自身弈棋水平。這個程序很快就下贏了薩繆爾自己。不久之后,薩繆爾在他的論文中提出了 “Machine Learning”(機器學習)一詞。1956年,薩繆爾應約翰·麥卡錫(John McCarthy,人工智能之父,1971 年圖靈獎得主)之邀,在標志著人工智能學科誕生的達特茅斯會議上介紹了機器學習的相關研究工作。
1957 年,羅森·布拉特設計出了第一個計算機神經網絡—感知機(Perceptron),它可以模擬人腦的工作方式。這為隨后其他科學家發明線性分類器和最鄰近法奠定了基礎。
1969 年,美國數學家及人工智能先驅明斯基(Minsky)在其著作中證明了感知機本質上是一種線性模型,只能處理線性分類問題,就連最簡單的XOR(異或)問題都無法正確分類。這等于直接宣判了感知機的 “死刑”。自此,對神經網絡的研究陷入了近20 年的 “寒冬”,直到1980 年才復蘇。
1.2.2 機器學習階段
1980—2005 年是第二代神經網絡的發展時期和統計學習方法的 “春天”。在這一階段,具有代表意義的新聞事件是1997 年IBM 超級計算機 “深藍” 擊敗人類國際象棋冠軍卡斯帕羅夫。這一階段的典型應用是基于統計學貝葉斯算法的垃圾郵件分類。
機器學習源于Geoffrey Hinton,其在1986 年發明了適用于多層感知機(MLP)的BP 算法,并采用Sigmoid 進行非線性映射,有效解決了非線性分類和學習的問題。該方法引起了神經網絡的第二次熱潮。
機器學習是計算機根據已有的數據(經驗)得出某種模型(規律),并利用此模型預測未來(會出現哪種結果)的一種方法。
在機器學習流行的初期,人們通常根據一些領域知識或者經驗來提取合適的特征(Feature)。例如,與泰坦尼克號乘客逃生成功率相關的特征包括性別、年齡、家庭成員、艙位級別等。又如,對簡單圖片進行分類時,可以利用輪廓、不變矩、外接矩形等一系列特征。特征提取的好壞往往決定了機器學習算法的成敗。
而對于語音或者復雜圖像來說,往往很難描述怎樣提取特征。例如,識別圖1-4 中的動物是不是貓,人們通常認為貓體型較小,毛茸茸的,有一個圓腦袋、一對耳朵、四只爪子,還有一條長長的尾巴。用傳統的機器學習方法對貓的圖片進行特征提取面臨很多困難,如區分不同的部位、提取邊緣輪廓等。

圖1-4 貓的圖片
可是人類只要多看幾張貓的圖片,就能知道什么是貓,并能說出貓有什么特征。人類似乎能自動 “學習” 特征。
于是,科學家們開始想辦法讓人工神經網絡具備學習特征的能力,把人們從特征提取的桎梏中解脫出來。由此,人工智能進入了下一個發展階段。
1.2.3 深度學習階段
深度學習出現于2006 年,并于2012 年迎來了爆發期。在這一階段,具有代表意義的新聞事件是2016 年3 月,谷歌旗下的圍棋人工智能程序AlphaGo 以總比分4∶1 戰勝了韓國著名圍棋棋手李世石;2017 年5 月,AlphaGo 以總比分3∶0 戰勝了中國著名圍棋棋手柯潔。
2006 年,Hinton 提出了深層網絡訓練中梯度消失問題的解決方案。
2012 年,Hinton 課題組為了證明深度學習的潛力,首次參加了ImageNet 圖像識別比賽,并憑借自己構建的卷積神經網絡(CNN)AlexNet 一舉奪得冠軍,該方法在性能上碾壓排在第二名的SVM 方法。也正是由于這次比賽,CNN 引起了眾多研究者的注意。CNN 可以代替人工提取特征,用于動物圖像分類識別。
與此相似,在語音識別領域,長短記憶(LSTM)神經網絡也可以代替人工完成很多工作。
深度學習火熱發展的重要原因之一就是,人們把提取特征的工作交給了人工神經網絡。
在機器學習階段,人們需要利用各種經驗或算法提取特征,然后調整一些參數,目的是防止過擬合。而在深度學習階段,除了實現CNN 或者LSTM 神經網絡,人們似乎什么也不用干。也就是說,人們可以把特征提取這樣的麻煩事交給CNN 或者LSTM 神經網絡去做。因此,人們需要一個機器學習框架來實現CNN 等人工神經網絡,完成人工智能應用開發。