1.2 人工智能的發展
人工智能從誕生至今,經歷了一次又一次的繁榮與低谷,其發展歷程大體上可以分為推理期、知識期和學習期,如圖1.1所示。

圖1.1 人工智能發展史
(1)推理期。1956年達特茅斯會議之后,研究者對人工智能的研究熱情高漲,之后的十幾年是人工智能的黃金時期。大部分早期研究者都通過人類的經驗,基于邏輯或者事實歸納出來一些規則,然后通過編寫程序來讓計算機完成一個任務。這個時期,研究者開發了一系列的智能系統,如幾何定理證明器、語言翻譯器等。這些初步的研究成果也使得研究者對開發出具有人類智能的機器過于樂觀,低估了實現人工智能的難度。有些研究者甚至認為:“20年內,機器將能完成人能做到的一切工作”“在3~8年的時間里可以研發出一臺具有人類平均智能的機器”。但隨著研究的深入,研究者意識到這些推理規則過于簡單,對項目難度評估不足,原來的樂觀預期受到嚴重打擊。人工智能的研究開始陷入低谷,很多人工智能項目的研究經費也被削減。
(2)知識期。到了20世紀70年代,研究者意識到知識對于人工智能系統的重要性。特別是對于一些復雜的任務,需要專家來構建知識庫。在這一時期,出現了各種各樣的專家系統(Expert System),并在特定的專業領域取得了很多成果。專家系統可以簡單理解為“知識庫+推理機”,是一類具有專門知識和經驗的計算機智能程序系統。專家系統一般采用知識表示和知識推理等技術來完成通常由領域專家才能解決的復雜問題,因此專家系統也被稱為基于知識的系統。一個專家系統必須具備三要素,即領域專家級知識、模擬專家思維、達到專家級的水平。在這一時期,Prolog(Programming in Logic)語言是主要的開發工具,用來建造專家系統、智能知識庫,以及處理自然語言理解等。
(3)學習期。對于人類的很多智能行為(如語言理解、圖像理解等),我們很難知道其中的原理,也無法描述這些智能行為背后的“知識”。因此,我們也很難通過知識和推理的方式來構建實現這些智能行為的智能系統。為了解決這類問題,研究者開始將研究重點轉向讓計算機從數據中自己學習。事實上,“學習”本身也是一種智能行為。從人工智能的萌芽時期開始,就有一些研究者嘗試讓機器來自動學習,即機器學習(Machine Learning,ML)。機器學習的主要目的是設計和分析一些學習算法,讓計算機可以從數據(經驗)中自動分析并獲得規律,之后利用學習到的規律對未知數據進行預測,從而幫助人們完成一些特定任務,提高開發效率。機器學習的研究內容也十分廣泛,涉及線性代數、概率論、統計學、數學優化、計算復雜性等多門學科。在人工智能領域,機器學習從一開始就是一個重要的研究方向;但直到1980年后,機器學習因其在很多領域的出色表現,才逐漸成為熱門學科。
在發展了多年后,人工智能雖然可以在某些方面超越人類,但想讓機器真正通過圖靈測試,具備真正意義上的人類智能,這個目標看上去仍然遙遙無期。