1.1      AI簡介

人工智慧 (Artificial Intelligence, 簡稱 AI) 的歷史,雖然不長,但是在資訊科學界可以說是極為古老,因為,從第一台電腦都還沒被真正做出來之前,就有人開始研究AI 的問題了。

 

有些人認為 AI 問題一定要很高深,其實不然,抱持這種想法的人往往會迷惑于『智慧』這個字而不自知,進而將人工智慧的方法神格化,這是非常忌諱的研究態度。因為,人工智慧是一門科學,而非神學。

 

最簡單、常見且通用的一個問題是,函數的最佳化。這個問題看起來很簡單,其實不然。其中,有簡單的問題,也有極為困難的問題。我們甚至可以說,所有的人工智慧問題都是函數最佳化的問題。其實,這樣說並不會太過分。

 

函數最佳化問題最簡單的版本就是國中數學上看到的 y=f(x)。例如,請找出

Y=x2 -4x+9 這個函數的極小值在哪里?這個問題看起來很簡單,要用電腦算其實也不難。但是,你想得到解決的方法嗎? (當然不能由你幫電腦算完,然後直接將答案寫在程式裏面,否則,還叫智慧嗎?)

 

我們說過這是個簡單的問題,一般國中生都會算,但是,其實要比計算又有誰比得過電腦呢?這可是電腦的強項,人腦是無法與電腦匹敵的。

 

那麼,既然電腦這麼強?又有甚麼事情做不到呢?其實,電腦與人腦剛好相反,我們從 3 歲就會的東西,對電腦反而是最難的。例如,3歲小孩都可以知道,哪一個人是爸爸、哪一個人是媽媽?電腦做得到嗎?

 

有人會說,這是詭辯,電腦又沒有眼睛、耳朵、嘴巴、更沒有手,那電腦又怎麼能夠認識人呢?其實,這才是強辯!如果我們為電腦裝上攝影機、麥克風、喇叭,那電腦不就有眼睛、耳朵、嘴巴了嗎?那請你寫一個程式教電腦認識他的爸爸媽媽給我看好了。 (這個問題定義得不好,電腦的爸爸媽媽是誰呢? CPU 或者是戴爾呢?)

 

同樣的,3歲小孩可以與大人交談對話,那麼,請你寫出一個可以和人交談的程式給我看看。或許要寫影音辨識程式有點複雜,那麼,放棄影音,改用打字的方式好了,像是用 MSN 一樣,請寫出一個程式可以和人用文字聊天,這總不能用沒有感官作為藉口了吧?

 

寫出可以和人聊天的程式,這可不是不可能的,1960 年代就有人做過了,1966Joseph Weizenbaum就寫過 Eliza 這個程式,可以與人用文字的方式交談,而且,許多人都無法察覺原來與他交談的不是人 (難道是鬼嗎?當然不是),是一個電腦程式。

 

但是,與其說 Eliza 很聰明,不如說人很笨,很容易被騙。Eliza 當中就只有幾十條的規則,如果你看過,就會知道這個程式在騙人,作者就模仿 Eliza寫了一個中文版的程式,放在本書網站的 Eliza.zip 檔案中,下圖顯示這個中文版 Eliza 部分規則庫的範例。

 

Q:對不起 | 抱歉 | 不好意思

別說抱歉 !

別客氣,儘管說 !

Q:我要

你為何要*

 

Q:你是

你認為我是*

Q:認為 | 以為

為何說*?

 

Q:感覺

常有這種感覺嗎?

 

Q:為何不

你希望我*

Q:電腦

你說的電腦是指我嗎?

 Q:難過別想它了別難過別想那麼多了事情總是會解決的  Q:高興不錯ㄚ太棒了這樣很好ㄚQ:朋友多告訴我一些有關他的事吧!

你認識他多久了呢?

Q:比對失敗我瞭解我能理解還有問題嗎 ?請繼續說下去可以說的更詳細一點嗎?這樣喔! 我知道!然後呢? 發生甚麼事?再來呢? 可以多說一些嗎接下來呢? 可以多告訴我ㄧ些嗎?多談談有關你的事,好嗎?祝福你想多聊ㄧ聊嗎可否多告訴我ㄧ些呢?

看過這些規則之後,相信各位不用看程式,就知道這個程式在唬人。問題是很多人還真的被他唬住,這可是人性上的一大弱點。 在資訊科學領域當中,Alan Turing (艾倫、圖靈) 可是大師中的大師,他在 1940 年代就提出著名的圖靈測試[1]Turing 認為該測試可以用來作為電腦是否有具有智慧的判斷。

這個測試就是,『如果有一個交談介面,你可以與他交談,但是不告訴你正在與誰交談,你是否有辦法判斷正在與你交談者是一個人還是一個程式呢?』,如果程式成功的欺騙了人 (也就是人們幾乎都無法正確的判斷對方的身份),那麼,我們就說這個程式通過了圖靈測試。 

Eliza 出現之後,許多人以為程式已經通過圖靈測試了,因為很多人都以為 Eliza 是一個人,而不是一支程式。但是,同時也出現了質疑的聲浪,認為 Eliza 並沒有通過圖靈測試,因為這樣的程式簡直一點智慧都沒有,只是在利用簡單的規則騙人而已。另外,更有人開始質疑圖靈測試的有效性,認為交談測試根本無法用來檢驗程式是否具有智慧[2]。甚至,有些人開始說這只不過是人工智障[3]而已。 

1.2    AI的目標

長久以來,人工智慧一直是一個充滿夢幻式魅力的資訊科學領域,人們對 AI 有無數的幻想與憧憬。科幻小說當中的未來世界可以說是 AI 的遠端目標。但是,我相信學術界的許多人對這個說法有很多批判。

因為,夢想與科學似乎是兩個極端,科學的動力來自於夢想,但是科學的發展卻是一個排除夢想的過程。 儘管科幻書籍當中早已述說過這種夢想千百回了,然而,夢想仍然是夢想。要實現這些夢想,仍是一條漫漫長路。

或許,在我們有生之年,都還看不到下列情況,但是,這些想像中的情節卻不斷的吸引著 AI 研究者踏入這個領域。讓我們以一個科幻小說式的場景說明這些 AI 的目標。 

『西元 2100 年,史丹利從家中起床,在吃完僕人瑪莉 (一個機器人) 所準備的早餐之後,開著智慧型的汽車 (名為夥計),前往他上班的地點,MIT 的媒體實驗室。與其說史丹利在開車,不如說他在車上繼續睡覺。因為,夥計早就知道他上班的地點,因此,直接開到MIT 的媒體實驗室後,用鬧鈴叫史丹利第二次起床,然後,自動開門讓史丹利進入 MIT 媒體實驗室的大門。

--------------------------------------------

[1] Turing, Alan (1948), "Machine Intelligence", in Copeland, B. Jack, The Essential Turing: The ideas that gave birth to the computer age, ISBN 0-19-825080-0

[2] 例如,Searle 就提出了Searle's Chinese Room Test 反駁電腦通過 Turing Test 就代表有智慧的說法。請參考·  Searle, John (1980), "Minds, Brains and Programs", Behavioral and Brain Sciences 3 (3): 417-457, http://members.aol.com/NeoNoetics/MindsBrainsPrograms.html . Page numbers above refer to a standard pdf print of the article. See also Searle's original draft.

[3] "Artificial Stupidity", The Economist 324 (7770): 14, 1992-09-01

 

在進入大門之後,媒體實驗室的助理莉莎 (另一個機器人) 告訴史丹利,今天有一位中國籍學者江明來訪,打算與史丹利談談有關最近虛擬駭客入侵 MIT 虛擬世界,偷走巨額虛擬貨幣的事情。當學者江明到達時,說了一句『史丹利先生,您好!』,然後,江明嘴邊的懸浮式透明麥克風,立刻將這句話翻譯成英文的 “Hello ! Mr. StanlyNice to meet you !” 傳送給史丹利耳中的訊息接收機,然後在史丹利先生的耳中播放出來。
因此,雖然史丹利先生並不懂中文,但是,卻可以與江明先生侃侃而談。 我們有必要就此停止故事情節繼續發展下去,因為,再寫下去這本書就變成科幻小說了。
 
請讀者回到 20 世紀初的現在,回到人工智慧教科書的主題中。如果我們想要實現上述的未來,那麼,我們到底現在應該要做甚麼呢?讓我們逐項分析看看。 瑪莉 (機器人) 會做早餐,因此,他應該會移動、開冰箱、拿菜、開瓦斯、煮菜、拿碗、裝菜、上菜等動作。為了達成這些動作,瑪莉必須有控制其手腳的能力,這是典型的機器人控制問題。瑪莉應該也需要具備視覺感官與影像辨識的能力,以避免發生撞到東西、煮菜時過熟烤焦等問題。
 
同樣的,夥計 (智慧型汽車) 也必須具備視覺辨識能力,以避免開車時撞到東西,並且能正確的將車開到 MIT 媒體實驗室。莉莎 (機器人助理) 需要具備記憶力與語音合成的能力,以告訴史丹利其行程表。
 
而學者江明嘴邊的懸浮式透明麥克風,則需要具備語音識別與英漢自動翻譯技術,才能將中文的語音,轉換成英文的句子,傳送給史丹利先生耳中的訊息接收機。而這台訊息接收機,則必須具備語音合成的能力,才能將這些訊息,轉成語音撥放到史丹利先生的耳內,這些訊息甚至可能包含腔調與口音,才能讓這個同步翻譯過程更為逼真流暢。
 
但是,我們必須先向讀者說聲抱歉,因為,這只是一段科幻場景,這些技術,我們現在通通都沒有。這些夢幻式的能力,全都還在人類的想像當中。雖然,AI 學術界已經做了五十年以上的研究,然而,我們的影像辨識、語音識別、機器人控制、自然語言理解、機器翻譯等技術,幾乎全都還無法在現實生活上派上用場。
 
但是,人類因為有夢想而偉大,我們仍然必須努力的作著這些夢,不管未來何時會實現,或者會不會實現,就像周星馳的名言 - 『沒有夢想,那人活著和狗有甚麼不同』,或者更加激勵人心的佐賀阿嘛的一句話 - 『有夢想總比沒夢想好,就算到死的時候都還無法實現也沒有關係。因為,那不過是個夢想而已』。 
 
終於到了我們為人工智慧下定義的時候了,我們認為,AI 的定義,與其用技術方式,不如用目標的方式定義更恰當。AI 的目標是企圖仿真人類,建構出具有類似人類大腦的程式。這包含使用眼睛、耳朵、嘴巴、手腳、身體等器官的能力。
 
因此,AI 的目標乃是仿真人類大腦,並利用電腦的眼睛 (攝影機)、耳朵 (麥克風)、嘴巴 (喇叭)、手腳與身體 (機器人),取得外在世界的資訊,根據這些資訊進行類似人類的智慧型行為,像是影像辨識 (眼睛)、手寫辨識 (眼睛)、語音辨識 (耳朵)、機器人控制 (手腳與身體) 等,都是典型的 AI 領域。
當然,還有許多與感官無關的領域,像是電腦下棋、自然語言理解、機器翻譯、知識工程等,這些都是與大腦的功能直接相關的領域,也是AI 領域當中的經典問題。

1.3 AI的問題

AI 的問題吸引了無數研究者投入,也讓無數研究者感到失望、甚至害怕。因為,即使投入了整整一輩子,從少年研究到白髮,很可能都無法在研究上取得重要的進展。這可以說是人類科學技術的 『終極問題』,如果資訊科學界有諾貝爾獎的話,那我想,大概要超過五千的以上的資訊諾貝爾獎,才能到達上述科幻小說的情節。甚至,其中有些技術,很可能永遠不會實現。在 AI 領域,我們必須學會的第一件事,就是謙卑。
 

這些夢想中的技術,有些值得我們投入一輩子去實現。但是,有些技術,實現後卻可能會造成大災難,這在科幻小說當中早已被想像過了。

科幻界經典的艾西莫夫 (Isaac Asimov [1]) 機器人系列小說 [2],就是典型的例子。當人類企圖用機器人三大定律 [3] 控制機器人時,仍然發生的災難事件之科幻故事。

 

另外,像是電影駭客任務 [4] 當中,更描述了機器人統治世界後,人類只能在機器人的餵養之下,成為類似植物人的悲慘狀況。因此,科技的進步,尤其是像 AI 技術與生物科技的進步,到底是福是禍,仍然是個謎。

 

這些議題有點扯遠了,我們根本還沒踏出第一步,就已經開始想像一萬步之後的結果了。然而,這些技術的困難度,沒有研究過的人還真是難以想像。讓我們用 AI 的學術龍頭 – MIT AI 實驗室的發展作為一個範例,說明 AI 領域有多麼困難。

----------------------------------------------------------

[4] 艾西莫夫http://en.wikipedia.org/wiki/Isaac_Asimov

[5] 艾西莫夫機器人系列小說http://en.wikipedia.org/wiki/Isaac_Asimov%27s_Robot_Series

[6] 機器人三大定律 http://en.wikipedia.org/wiki/Three_Laws_of_Robotics

[7] 電影駭客任務http://en.wikipedia.org/wiki/The_Matrix 

接著,Patrick Winston發現,大腦的研究太過困難,轉而研究機械人控制的領域。但這領域仍然太難,於是Harold Abelson 乾脆改研究玩具的控制,發明了 LOGO 語言,然後開始研究機械昆蟲,企圖研究昆蟲的行走智慧。於是,人工智慧的研究從人腦開始,變成人的手腳之研究,最後變成昆蟲手腳的研究。2003 年七月,MIT AI 實驗室與Laboratory for Computer Science合併,成為一個具有 97 個教授、大約 800 個研究生的超級研究團隊 CSAIL[1],不知道是否因為感到 AI 領域太難或需要整合其他領域所進行的調整。


當然,這並不表示 MIT AI 實驗室越做越差,相反的,他們越來越強,吸引了無數的 AI 領域研究者進入該實驗室。但是,這個領域實在太過困難,以至於學者在 1940 年代,認為 1990 年時應該可以理解自然語言,到了 1980 年代,預估時間點延後到 2030 年,到了 2009 年的今天,我們認為至少還要 100 年的時間,才能發展出成熟的自然語言理解技術。

 

1.4   AI的方法

儘管我們對 AI技術的期待越來越往後延,但是,這並不代表 AI 的方法越來越落後。相反的,理論不斷的創新,而且越來越具有實務性。AI 理論已經是資訊科學領域當中最為龐大的一個分支,任何的教科書想要全面介紹這些理論,都彷佛是在完成不可能的任務。

布林邏輯

從早期的布林邏輯推論方法開始,AI 研究人員認為可以將全世界的知識,透過邏輯敍述的方式累積,然後利用這些知識進行推論,這便是知識工程或專家系統的任務。此種方式企圖直接解答智慧之謎,其研究方法上認為『知識 à 智慧』。

類神經網路

接著,研究的焦點轉移到類神經網路 [1] 等非邏輯式的領域上。類神經在 1986 年之後,開始吸引了許多研究者的目光,原因是此類方法在語音與影像識別上,具有優秀的表現,將手寫辨識與語音識別等問題的正確率拉到了 80 % 左右。這使得這個曾經被 Malvin Minsky 這位類神經先驅證明為不可行的方法 [2] 成為當紅炸子雞。


[2] 其實,當初Minsky所證明的,只是單一層的線性神經網路無法辨識像 XOR 這樣簡單的函數而已,並沒有說多層次的非線性網路也無法做到。

 

現在,我們知道,類神經網路在影像辨識、語音識別等領域上表現很好,但是,類神經網路在符號式的領域,像是自然語言與機器翻譯上,就顯得力有未逮,甚至是格格不入了。
 

搜尋法

其實,邏輯推論與類神經網路,都可以視為搜尋方法的一種特例。因為,這些方法都是在搜尋問題的答案,然而在問題的表達上,布林邏輯堆論採用了二分法,也就是只有 0 1 的世界。而類神經網路,則採用了實數的方式表達神經元之間的強度,於是造成了一個由實數所構成的世界。這兩者並非是互斥的,或許,在未來,我們會發現兩者攜手合作的研究陸續出現。 

 
搜尋法一直是 AI 研究的主要方法,但是很少人會將邏輯推論與類神經網路也視為一種搜尋法。然而,近來的發展顯示,用搜尋法的觀點,可以很清楚的看出每一個方法都優缺點,其他的各種方法也都可以用搜尋法的角度,進行理論上的分析。 

許多無法歸類到邏輯推論與類神經網路的方法,像是貪婪式演算法、仿真退火法、遺傳演算法、鳥群演算法、蟻群演算法等等,都是在進行搜尋工作。

1.5   AI的困難

儘管人工智慧的學術界已經努力了五十年以上了,但是,距離 AI 的理想,仿真人類智慧行為的目標,仍然無比的遙遠。甚至,完全看不到實現的可能性。甚至,我們連問題到底困難在哪哩,都還不是很清楚。其中,往往最難的一點,也是最少被AI研究所提及的一點,就是評量函數設計上的困難。
 

評量方法的困難

AI 的研究往往著重在方法的設計上,很少提及評量上的問題,然而,評量問題的困難其實反而是最難的。有經驗的 AI 研究者通常會發現,要研究一個問題之前,必須先想清楚,如何進行實驗的評量。如果沒有想清楚就貿然投入,那往往做到最後一無所獲。

 因為,會卡在實驗的評量上動彈不得,導致研究無法進行。 評量問題在資訊科學的其他領域通常較為客觀,像是演算法的複雜度與使用空間都可以很明確的評量。即使無法用這些指標的評量方式,實作或類比的結果也可以用來評量方法的好壞。

但是,對於人工智慧領域的問題而言,評量往往是最難的,因為,人工智慧的目的是在仿真人類的智慧與行為,而能夠用來評量結果好壞的,往往只有人才有辦法。但是,科學研究的目的,卻又正是在排除人類評價的主觀性。於是,一方面需要人類介入進行評量,另一方面又要排除主觀性,使得評量問題困難重重。 這種困難,使得許多人工智慧的研究,反而比較像社會科學,而不像自然科學。
 
舉例而言,自然語言理解就是一個相當難以評量的領域。假如你今天寫了一個程式,企圖『理解』自然語言。那麼,如何評量這個程式是否真的『理解』了進行實驗的那些輸入文章呢? 或許你會認為,這個問題的原因是因為,自然語言理解是一個定義不明的問題。
 
因為我們不知道甚麼叫作理解。那讓我們再舉一個例子,就拿英翻中的機器翻譯問題而言,將英文文章,翻譯成中文文章,這個問題應該夠清楚了吧?輸入是一個英文字串 (包含標點符號以及換行的文字串),而輸出則是一個中文字串。同時懂英文與中文的人應該很清楚這個問題。 
 
然而,假如你今天寫了一個翻譯程式,可以進行英翻中的工作,那麼,這個程式到底有多好呢?我們應該如何評量翻譯結果的好壞呢? 一個可能的解決辦法是,請一萬個同時通曉英文及中文的專家,同時對於隨機抽取出的一千篇網路文章,對其英文原文與翻譯後的中文進行全面的閱讀,然後每個人給出一個分數,分數高就代表程式好,分數低就代表程式不好。
 
如果我們暫時不爭論這樣的方法是否具有客觀性,但是這樣的方法,所耗費的成本將無比巨大,任何以一個企圖進行此實驗的人都必須超級有錢,而且冒著破產的危險,這種困難當然會妨礙研究的進展。 
 
更糟糕的是,如果又有人寫了另一個英翻中程式,整個實驗又得重頭來過。而且,這一萬個中英文專家又要被召集過來,以無比的耐心再次讀完兩千篇文章 (一千篇英文原文,一千篇中文譯文)。然後,還要再次的以相當公正客觀的態度,給出絲毫不差的評價。姑且不管客觀評價是否能做得到,要能讓這些人投入這麼多的心力,也只有大量的鈔票才能辦到。 
 
同樣的,針對交談系統,也就是 Alan Turing 所提出的 Turing Test,我們要如何評價一個程式的好壞呢?這仍然要靠大量的使用者介入,然後看看每個使用者是否能判斷出交談的對方到底是電腦還是程式,在以判斷正確或錯誤的比率,作為程式好壞的標準,這同樣有很大的困難。
其中一個困難是,同樣的交談過程通常不會出現兩次,而且人類會透過經驗學習,因此,當這些人知道對方可能是程式,而且有了與電腦對談的經驗之後,就會發現一些電腦的盲點。
 
舉例而言,問他是男是女,父母是誰,甚至透過介面傳一張字跡潦草的圖片給他,問他上面寫了甚麼。那麼,這個交談程式就必須具備影像識別的能力才行。 撇開自然語言領域的問題不談,其他領域呢?假如我們今天想設計一個語音辨識軟體,就必須有一個標準的語音庫,然後透過人的聽覺,先將聽到的聲音打成文字檔。然後,再利用程式進行語音辨識,看看與這些標準答案是否相同,才能決定程式的正確率。這個問題的評量相對簡單一點,但仍有客觀性的問題。
 

首先,語音庫到底應該用誰的聲音,如果單用一個人的聲音,那麼,是否會有所偏差。如果要用各種不同口音,各種不同年齡層,不同性別的人的聲音,那建構語音庫的工作仍然相當龐大。建立標準答案的工作也將相當吃力。

 

對於像語音辨識與影像識別這些領域而言,雖然評量的問題通常較沒有爭議,但是測試資料與標準答案的問題,仍然相當困擾人。在這些研究的背後,研究者通常迫于無奈,必須出錢購買這些語音庫、影像庫與標準答案。而這些語音庫與影像庫,通常被許多商業機關,視為重要財產,要取得時還要簽定智慧產權合約,以避免外流。 正因為如此,這些領域往往沒有共同的比較基準,這使得方法之間相當難以進行科學性的比較。
 
當然,也就很難判斷方法間的好壞,這將嚴重阻礙 AI技術的進步。 還好,網際網路的出現,以及開放原始碼風潮的盛行,缺乏標準測試資料的問題,開始有了的可能性。
 
但是,我們還沒看到大量的標準語音語料庫與影像庫出現,我們希望,透過類似開放原始碼與維琪百科的模式,具有這些資源之版權的個人或研究機構,能將這些重要的資料在網路上釋出並且集中,成為人類公共資產的一部分,以幫助 AI 學術研究的進行,促進人類文明的進一步發展。 
 
另外,還有一些 AI 領域,連評量的可能性都很渺茫,舉例而言,曾經有人做過利用 AI 技術自動畫圖,自動作曲的,那這些畫出來的圖,作出來的曲到底好不好,有多好呢?這已經不是工程浩大的問題了,而是藝術心理學上的問題。
 
如果,有程式可以作出貝多芬、莫札特等級的曲子,那要給幾分呢? 關於藝術的例子或許太極端了,然而,許多設計上的問題都遭遇到同樣的困難,像是一個電腦遊戲到底設計得好不好,一個程式的品質到底如何等等?都已經不是可以客觀評量的問題。雖然,這些不見得都是 AI 問題,但是卻是資訊工程上重要的問題。然而,這些問題卻無法被歸類到學術問題當中。於是,學術界只好視若無睹,當作這些問題不存在。
 

布林邏輯的困境

 
然而,現實世界的知識,往往不是絕對性的知識,我們很難說任何一件事情是 100% 正確的。然而,布林邏輯卻要求要知識要 100% 正確,才能保證後續的推論無誤。建構在穩固基礎上的知識,固然較為穩固,但是,我們的知識往往像沙堆一樣,沒有 100% 的保障,這使得布林邏輯的應用,經常局限在所謂的玩具問題 (Toy Problem) 上,而難以進入現實生活當中。 布林邏輯的困難在影像識別上表現得特別明顯。
 
舉例而言,電腦當中儲存了許多影像圖片,這些點都以二進位的 0 1 的形式儲存在圖片檔中。按理講,我們應該可以根據布林邏輯規則,推論出影像中的人物到底是『瑪莉蓮夢露』還是『李察吉爾』。然而,沒有人能夠寫出這樣的規則,二進位碼與圖像辨識之間,存在巨大的鴻溝,使得電腦見樹不見林,只看到一堆點,卻沒有看到整張圖。
 

類神經網路的困境

 
類神經網路與布林邏輯恰好相反,當類神經網路看了一張圖,然後告訴所那張圖是瑪莉蓮夢露的照片時,程式設計人員會給予掌聲,但是卻不知道為何程式會告訴他這個答案。 為何如此呢?程式設計人員用了類似反傳遞演算法設計出程式後,就會針對所想要的答案,對此類神經程式進行訓練。
 
舉例而言,如果我們想要讓電腦認識瑪莉蓮夢露,就可以用一大堆瑪莉蓮夢露的圖檔輸入,作為正確答案,然後輸入一大堆不是瑪莉蓮夢露的圖檔,作為負面教材。此時,程式對正面教材的預設答案是 1,而對負面教材的預設答案是 0。於是,類神經的訓練開始啟動,訓練完畢後,如果很幸運的,正確率達到百分之百。
 
那麼,恭喜你,但是先別高興!因為,如果你想知道為何程式這麼好,那答案是,不知道!這個結果只是一堆權重加權後經過非線性函數的結果。程式自己本身沒有辦法告訴你為何會這麼好,程式設計人員也無法知道,除非他讀得懂這些權重的意義。(問題是,只要是人,通常就讀不懂權重的意義)

1.6 A1的歷史

AI 的研究歷史,若不要追溯得過份遠了,那應該從 Alan Turing 提出 Turing Test 開始。然後,兵分數路,包含程式語言、系統式搜尋、機率式搜尋、邏輯推論、類神經網路等,分別引領了一代又一代的 AI 研究者,繼續在這條路上辛苦的邁進。

AI 的程式語言

在程式語言方面,發明適合 AI 使用的語言一直是早期研究者的夢想,1958John McCarthy Massachusetts Institute of Technology (MIT).發明了 LISP 語言,這為 AI 提供了一個強大的工具,直到今天,許多 AI 研究者仍然認為,LISP AI當中最好用的語言。接著,由於邏輯推論領域的研究越來越強,邏輯推論程式的需求也越來越多。於是,在 1972 年,Alain Colmerauer 發明了 Prolog 語言,成為邏輯式語言當中的先驅與典範,這個語言也是專家系統當中最常被使用的語言,甚至在自然語言處理領域也是主流語言。

在系統式搜尋方面,深度優先 (DFS)、廣度優先 (BFS) 與最佳優先搜尋 (Best-FS)都是最早期就研究清楚的方法,這些方法表現在電腦下棋、圖形理論與作業研究等領域特別有效。

電腦下棋

對於電腦下棋領域,MiniMax[1] 搜尋方式與Alpha-Beta Pruning的修剪策略組合,可以說是最有效的下棋演算法。MiniMax搜尋方式會一層一層的,考慮自身與對手的所有可能棋步,以採取最佳的防禦策略。


[11] http://en.wikipedia.org/wiki/Minimax

然而,當搜尋的層次加深時,以廣度優先搜尋方式的 MiniMax 會有指數型膨脹的問題。1956年,McCarthy等陣列人馬,幾乎在同一時期分別發展出了 Alpha-Beta Pruning[1] 的修剪技巧。

這個方法立刻被Arthur Samuel 1959 年最早寫出了一個簡單的下棋程式[2]。此後,電腦下棋開始吸引了一代接一代的研究者。但是,最大的進步或許已經不在軟體上,由於電腦硬體 18個月就以將近兩倍的速度成長著,硬體速度使得電腦得以進行更多層的MiniMax 的搜尋,這使得程式的能力越來越強,加上修剪法的細緻化修改,以及棋譜的知識庫加入,電腦終於可以與象棋、西洋棋等世界級的高手一決勝負。西元兩千年,IBM 的深藍[3]對世界西洋棋王Kasparov[4]的一戰,電腦首度打敗世界西洋棋王。這一戰吸引了全球的目光,其全盤對局甚是可以在維琪百科當中查到。

從此之後,MiniMax Alpha-Beta Pruning 一直是電腦下棋的主流演算法。直到今天,都無法被其他演算法所取代。而電腦下棋領域,成為少數被 AI 技術攻陷的領域之一。在今天的棋類當中,幾乎只剩圍棋還沒有被電腦攻陷,這是因為圍棋的複雜度,比起象棋和西洋棋而言,更加變化多端,每一步的可能性更多,而且整盤棋的棋步總數更深的緣故。 

『邏輯推論』與『自然語言理解』

邏輯推論在早期的 AI 領域當中,吸引了許多研究者的投入,當時的研究者過度樂觀的認為,只要累積了足夠的知識庫,加上適當的邏輯堆論方法,就能讓電腦擁有人類的推理能力,也就相當於讓計算機具有人類的智慧了。然而,後來的歷史發展,卻出乎這些研究者的預料,模擬人類智慧可沒有這麼的簡單。

像是在自然語言理解領域,電腦至今仍然無法看懂報紙上的文章。於是,電腦連基本的閱讀能力都無法達到,又如何能模擬人類的智慧呢?雖然,如在1.1 above節當中我們看到 Eliza 程式可以成功的騙過許多人,讓人以為電腦真的瞭解了他所說的話,但是進一步分析時,卻會發現這些程式根本沒有真正理解。



[13] Arthur, Samuel (1959-03-03). "Some Studies in Machine Learning Using the Game of Checkers" (PDF). IBM Journal 3 (3): 210–229. http://www.research.ibm.com/journal/rd/033/ibmrd0303B.pdf. Retrieved on 26 April 2007.

[15] http://en.wikipedia.org/wiki/Deep_Blue_versus_Garry_Kasparov

於是,許多研究者開始研究所謂的深度理解,並且企圖建構出可深度理解自然語言的程式。然而,這些努力卻沒有得到太多的回報,電腦在自然語言理解上仍然處於智障的狀況,建構出能理解人類所寫文章的程式,仍然遙不可及。

然而,在 1980 年左右,這個主題可是紅透半邊天,當時,日本與美國相繼以國家資本投入這類的研究當中,尤其是日本所謂的第五代電腦計畫,更刺激了美國瘋狂的投入這場夢幻式的競賽當中,許多科技公司都幻想著可以利用這樣的技術賺到大錢,於是美國出現了一大堆這類以 AI 為主要技術的公司,人們對 AI 也抱持過度樂觀的期待。

然而,長期期待卻無法實現的結果,導致了 AI 產業的泡沫化,尤其是在國防部聘請的專業評估小組,調查報告出爐之後,認為這些 AI 技術在五十年內實用化的可能性微乎其微,這份報告就像戳破國王的新衣一樣,告訴了所有人,國王沒有穿衣服,AI的技術離實用化仍有很長很長的距離,學術界與產業界一同構築的夢想,其實是建築在虛無的幻想上。於是,AI 技術才又回到了保守的道路。 

類神經網路

類神經網路的研究可以說是從 1940 年代開始的。1943年,神經生物學家 Warren McCulloch 和數學家 Walter Pitts ,在論文中提出以電路構成簡單類神經網路模型的構想。1949 Donald Hebb 開始以數學方法描述神經元的電流傳遞方式,發展出 Hebb’s Rule,其理論稱為 Hebbian Theory [1]

1957 Frank Rosenblatt 于康乃爾大學利用這些理論創造出感知器 (Perceptron) 程式,成為第一個類神經網路的程式。然而,這個程式是使用單層的線性函數形式,這也就是被 Minsky 證明為不能辨識 XOR 函數的那個程式。

然後,早在 1974 年,Paul Werbos 就已經在其哈佛大學的博士論文當中,描述了反傳遞演算法 (Back Propagation Algorithm[2]) 的理論,但卻一直得不到學術界的青睞 [3]。直到 1986 年,反傳遞演算法被Rumelhart 等人成功的用於語音辨識領域之後 [4],學術界才重新發現這個重要的演算法,開始一窩 的投入類神經網路的領域當中。



[17] Back Propagation Algorithm : http://en.wikipedia.org/wiki/Backpropagation

[18] 許多人將其原因歸咎於 Minsky 否證 XOR 的事件上,認為反傳遞演算法的用途被這件事耽擱了。但是,我認為這是學術界一窩蜂的結果,跟 Minsky 有何關係,大家喜歡搶計畫,然後做熱門研究,最後把責任歸給 Minsky,以作為自己當時為何如此的無能,看不出類神經網路的潛力的解釋.

然而,並不是所有的這類研究都沒有成果,我對 AI 的歷史非常的著迷,這比任何 AI 的相關論文都吸引我。雖然,AI 的技術一直到目前為止都幾乎無法被使用,但是,AI前輩們的努力過程仍然相當吸引人,與其說 AI 前輩告訴我們如何做出人工智慧的程式,不如說是告訴我們這條路的困難性,哪些路行不通,哪些路有繼續研究的價值,我們必須站在這些巨人的肩膀上,才能看得更遠,在 AI 研究這條艱巨的路上,繼續的走下去。

更多資訊,請訪問: www.rank-ad.com

推薦給同仁

Tell a Friend 

您想要瞭解更多的免費小竅門以便提升你的網站排名嗎?
請馬上聯繫我們網站管理員:
MSN: chenlinwu@cmmail.com 
Email: info@rank-ad.com