1.1 AI簡介
人工智慧 (Artificial Intelligence, 簡稱 AI) 的歷史,雖然不長,但是在資訊科學界可以說是極為古老,因為,從第一台電腦都還沒被真正做出來之前,就有人開始研究AI 的問題了。
有些人認為 AI 問題一定要很高深,其實不然,抱持這種想法的人往往會迷惑于『智慧』這個字而不自知,進而將人工智慧的方法神格化,這是非常忌諱的研究態度。因為,人工智慧是一門科學,而非神學。
最簡單、常見且通用的一個問題是,函數的最佳化。這個問題看起來很簡單,其實不然。其中,有簡單的問題,也有極為困難的問題。我們甚至可以說,所有的人工智慧問題都是函數最佳化的問題。其實,這樣說並不會太過分。
函數最佳化問題最簡單的版本就是國中數學上看到的 y=f(x)。例如,請找出
Y=x2 -4x+9 這個函數的極小值在哪里?這個問題看起來很簡單,要用電腦算其實也不難。但是,你想得到解決的方法嗎? (當然不能由你幫電腦算完,然後直接將答案寫在程式裏面,否則,還叫智慧嗎?)
我們說過這是個簡單的問題,一般國中生都會算,但是,其實要比計算又有誰比得過電腦呢?這可是電腦的強項,人腦是無法與電腦匹敵的。
那麼,既然電腦這麼強?又有甚麼事情做不到呢?其實,電腦與人腦剛好相反,我們從 3 歲就會的東西,對電腦反而是最難的。例如,3歲小孩都可以知道,哪一個人是爸爸、哪一個人是媽媽?電腦做得到嗎?
有人會說,這是詭辯,電腦又沒有眼睛、耳朵、嘴巴、更沒有手,那電腦又怎麼能夠認識人呢?其實,這才是強辯!如果我們為電腦裝上攝影機、麥克風、喇叭,那電腦不就有眼睛、耳朵、嘴巴了嗎?那請你寫一個程式教電腦認識他的爸爸媽媽給我看好了。 (這個問題定義得不好,電腦的爸爸媽媽是誰呢? 是CPU 或者是戴爾呢?)
同樣的,3歲小孩可以與大人交談對話,那麼,請你寫出一個可以和人交談的程式給我看看。或許要寫影音辨識程式有點複雜,那麼,放棄影音,改用打字的方式好了,像是用 MSN 一樣,請寫出一個程式可以和人用文字聊天,這總不能用沒有感官作為藉口了吧?
寫出可以和人聊天的程式,這可不是不可能的,1960 年代就有人做過了,1966年Joseph Weizenbaum就寫過 Eliza 這個程式,可以與人用文字的方式交談,而且,許多人都無法察覺原來與他交談的不是人 (難道是鬼嗎?當然不是),是一個電腦程式。
但是,與其說 Eliza 很聰明,不如說人很笨,很容易被騙。Eliza 當中就只有幾十條的規則,如果你看過,就會知道這個程式在騙人,作者就模仿 Eliza寫了一個中文版的程式,放在本書網站的 Eliza.zip 檔案中,下圖顯示這個中文版 Eliza 部分規則庫的範例。
|
Q:對不起 | 抱歉 | 不好意思
別說抱歉 !
別客氣,儘管說 !
…
Q:我要
你為何要*
Q:你是
你認為我是*
…
Q:認為 | 以為
為何說*?
Q:感覺
常有這種感覺嗎?
Q:為何不
你希望我*
…
|
Q:電腦
你說的電腦是指我嗎?
Q:難過別想它了別難過別想那麼多了事情總是會解決的 Q:高興不錯ㄚ太棒了這樣很好ㄚ…Q:朋友多告訴我一些有關他的事吧!
你認識他多久了呢?
|
…Q:比對失敗我瞭解我能理解還有問題嗎 ?請繼續說下去可以說的更詳細一點嗎?這樣喔! 我知道!然後呢? 發生甚麼事?再來呢? 可以多說一些嗎接下來呢? 可以多告訴我ㄧ些嗎?多談談有關你的事,好嗎?祝福你想多聊ㄧ聊嗎可否多告訴我ㄧ些呢? |
看過這些規則之後,相信各位不用看程式,就知道這個程式在唬人。問題是很多人還真的被他唬住,這可是人性上的一大弱點。 在資訊科學領域當中,Alan Turing (艾倫、圖靈) 可是大師中的大師,他在 1940 年代就提出著名的圖靈測試,Turing 認為該測試可以用來作為電腦是否有具有智慧的判斷。
這個測試就是,『如果有一個交談介面,你可以與他交談,但是不告訴你正在與誰交談,你是否有辦法判斷正在與你交談者是一個人還是一個程式呢?』,如果程式成功的欺騙了人 (也就是人們幾乎都無法正確的判斷對方的身份),那麼,我們就說這個程式通過了圖靈測試。
在 Eliza 出現之後,許多人以為程式已經通過圖靈測試了,因為很多人都以為 Eliza 是一個人,而不是一支程式。但是,同時也出現了質疑的聲浪,認為 Eliza 並沒有通過圖靈測試,因為這樣的程式簡直一點智慧都沒有,只是在利用簡單的規則騙人而已。另外,更有人開始質疑圖靈測試的有效性,認為交談測試根本無法用來檢驗程式是否具有智慧。甚至,有些人開始說這只不過是人工智障而已。
1.2 AI的目標
長久以來,人工智慧一直是一個充滿夢幻式魅力的資訊科學領域,人們對 AI 有無數的幻想與憧憬。科幻小說當中的未來世界可以說是 AI 的遠端目標。但是,我相信學術界的許多人對這個說法有很多批判。
因為,夢想與科學似乎是兩個極端,科學的動力來自於夢想,但是科學的發展卻是一個排除夢想的過程。 儘管科幻書籍當中早已述說過這種夢想千百回了,然而,夢想仍然是夢想。要實現這些夢想,仍是一條漫漫長路。
或許,在我們有生之年,都還看不到下列情況,但是,這些想像中的情節卻不斷的吸引著 AI 研究者踏入這個領域。讓我們以一個科幻小說式的場景說明這些 AI 的目標。
『西元 2100 年,史丹利從家中起床,在吃完僕人瑪莉 (一個機器人) 所準備的早餐之後,開著智慧型的汽車 (名為夥計),前往他上班的地點,MIT 的媒體實驗室。與其說史丹利在開車,不如說他在車上繼續睡覺。因為,夥計早就知道他上班的地點,因此,直接開到MIT 的媒體實驗室後,用鬧鈴叫史丹利第二次起床,然後,自動開門讓史丹利進入 MIT 媒體實驗室的大門。
--------------------------------------------
在進入大門之後,媒體實驗室的助理莉莎 (另一個機器人) 告訴史丹利,今天有一位中國籍學者 – 江明來訪,打算與史丹利談談有關最近虛擬駭客入侵 MIT 虛擬世界,偷走巨額虛擬貨幣的事情。當學者江明到達時,說了一句『史丹利先生,您好!』,然後,江明嘴邊的懸浮式透明麥克風,立刻將這句話翻譯成英文的 “Hello ! Mr. Stanly,Nice to meet you !” 傳送給史丹利耳中的訊息接收機,然後在史丹利先生的耳中播放出來。
因此,雖然史丹利先生並不懂中文,但是,卻可以與江明先生侃侃而談。…』 我們有必要就此停止故事情節繼續發展下去,因為,再寫下去這本書就變成科幻小說了。
請讀者回到 20 世紀初的現在,回到人工智慧教科書的主題中。如果我們想要實現上述的未來,那麼,我們到底現在應該要做甚麼呢?讓我們逐項分析看看。 瑪莉 (機器人) 會做早餐,因此,他應該會移動、開冰箱、拿菜、開瓦斯、煮菜、拿碗、裝菜、上菜等動作。為了達成這些動作,瑪莉必須有控制其手腳的能力,這是典型的機器人控制問題。瑪莉應該也需要具備視覺感官與影像辨識的能力,以避免發生撞到東西、煮菜時過熟烤焦等問題。
同樣的,夥計 (智慧型汽車) 也必須具備視覺辨識能力,以避免開車時撞到東西,並且能正確的將車開到 MIT 媒體實驗室。莉莎 (機器人助理) 需要具備記憶力與語音合成的能力,以告訴史丹利其行程表。
而學者江明嘴邊的懸浮式透明麥克風,則需要具備語音識別與英漢自動翻譯技術,才能將中文的語音,轉換成英文的句子,傳送給史丹利先生耳中的訊息接收機。而這台訊息接收機,則必須具備語音合成的能力,才能將這些訊息,轉成語音撥放到史丹利先生的耳內,這些訊息甚至可能包含腔調與口音,才能讓這個同步翻譯過程更為逼真流暢。
但是,我們必須先向讀者說聲抱歉,因為,這只是一段科幻場景,這些技術,我們現在通通都沒有。這些夢幻式的能力,全都還在人類的想像當中。雖然,AI 學術界已經做了五十年以上的研究,然而,我們的影像辨識、語音識別、機器人控制、自然語言理解、機器翻譯等技術,幾乎全都還無法在現實生活上派上用場。
但是,人類因為有夢想而偉大,我們仍然必須努力的作著這些夢,不管未來何時會實現,或者會不會實現,就像周星馳的名言 - 『沒有夢想,那人活著和狗有甚麼不同』,或者更加激勵人心的佐賀阿嘛的一句話 - 『有夢想總比沒夢想好,就算到死的時候都還無法實現也沒有關係。因為,那不過是個夢想而已』。
終於到了我們為人工智慧下定義的時候了,我們認為,AI 的定義,與其用技術方式,不如用目標的方式定義更恰當。AI 的目標是企圖仿真人類,建構出具有類似人類大腦的程式。這包含使用眼睛、耳朵、嘴巴、手腳、身體等器官的能力。
因此,AI 的目標乃是仿真人類大腦,並利用電腦的眼睛 (攝影機)、耳朵 (麥克風)、嘴巴 (喇叭)、手腳與身體 (機器人),取得外在世界的資訊,根據這些資訊進行類似人類的智慧型行為,像是影像辨識 (眼睛)、手寫辨識 (眼睛)、語音辨識 (耳朵)、機器人控制 (手腳與身體) 等,都是典型的 AI 領域。
當然,還有許多與感官無關的領域,像是電腦下棋、自然語言理解、機器翻譯、知識工程等,這些都是與大腦的功能直接相關的領域,也是AI 領域當中的經典問題。
1.3 AI的問題
AI 的問題吸引了無數研究者投入,也讓無數研究者感到失望、甚至害怕。因為,即使投入了整整一輩子,從少年研究到白髮,很可能都無法在研究上取得重要的進展。這可以說是人類科學技術的 『終極問題』,如果資訊科學界有諾貝爾獎的話,那我想,大概要超過五千的以上的資訊諾貝爾獎,才能到達上述科幻小說的情節。甚至,其中有些技術,很可能永遠不會實現。在 AI 領域,我們必須學會的第一件事,就是謙卑。
這些夢想中的技術,有些值得我們投入一輩子去實現。但是,有些技術,實現後卻可能會造成大災難,這在科幻小說當中早已被想像過了。
科幻界經典的艾西莫夫 (Isaac Asimov ) 機器人系列小說 ,就是典型的例子。當人類企圖用機器人三大定律 控制機器人時,仍然發生的災難事件之科幻故事。
另外,像是電影駭客任務 當中,更描述了機器人統治世界後,人類只能在機器人的餵養之下,成為類似植物人的悲慘狀況。因此,科技的進步,尤其是像 AI 技術與生物科技的進步,到底是福是禍,仍然是個謎。
這些議題有點扯遠了,我們根本還沒踏出第一步,就已經開始想像一萬步之後的結果了。然而,這些技術的困難度,沒有研究過的人還真是難以想像。讓我們用 AI 的學術龍頭 – MIT AI 實驗室的發展作為一個範例,說明 AI 領域有多麼困難。
----------------------------------------------------------
|
接著,Patrick Winston發現,大腦的研究太過困難,轉而研究機械人控制的領域。但這領域仍然太難,於是Harold Abelson 乾脆改研究玩具的控制,發明了 LOGO 語言,然後開始研究機械昆蟲,企圖研究昆蟲的行走智慧。於是,人工智慧的研究從人腦開始,變成人的手腳之研究,最後變成昆蟲手腳的研究。2003 年七月,MIT AI 實驗室與Laboratory for Computer Science合併,成為一個具有 97 個教授、大約 800 個研究生的超級研究團隊 CSAIL,不知道是否因為感到 AI 領域太難或需要整合其他領域所進行的調整。
|
當然,這並不表示 MIT AI 實驗室越做越差,相反的,他們越來越強,吸引了無數的 AI 領域研究者進入該實驗室。但是,這個領域實在太過困難,以至於學者在 1940 年代,認為 1990 年時應該可以理解自然語言,到了 1980 年代,預估時間點延後到 2030 年,到了 2009 年的今天,我們認為至少還要 100 年的時間,才能發展出成熟的自然語言理解技術。
1.4 AI的方法
儘管我們對 AI技術的期待越來越往後延,但是,這並不代表 AI 的方法越來越落後。相反的,理論不斷的創新,而且越來越具有實務性。AI 理論已經是資訊科學領域當中最為龐大的一個分支,任何的教科書想要全面介紹這些理論,都彷佛是在完成不可能的任務。
布林邏輯
從早期的布林邏輯推論方法開始,AI 研究人員認為可以將全世界的知識,透過邏輯敍述的方式累積,然後利用這些知識進行推論,這便是知識工程或專家系統的任務。此種方式企圖直接解答智慧之謎,其研究方法上認為『知識 à 智慧』。
類神經網路
接著,研究的焦點轉移到類神經網路 等非邏輯式的領域上。類神經在 1986 年之後,開始吸引了許多研究者的目光,原因是此類方法在語音與影像識別上,具有優秀的表現,將手寫辨識與語音識別等問題的正確率拉到了 80 % 左右。這使得這個曾經被 Malvin Minsky 這位類神經先驅證明為不可行的方法 成為當紅炸子雞。
現在,我們知道,類神經網路在影像辨識、語音識別等領域上表現很好,但是,類神經網路在符號式的領域,像是自然語言與機器翻譯上,就顯得力有未逮,甚至是格格不入了。
搜尋法
其實,邏輯推論與類神經網路,都可以視為搜尋方法的一種特例。因為,這些方法都是在搜尋問題的答案,然而在問題的表達上,布林邏輯堆論採用了二分法,也就是只有 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 使用的語言一直是早期研究者的夢想,1958年John McCarthy 在 Massachusetts Institute of
Technology (MIT).發明了 LISP 語言,這為 AI 提供了一個強大的工具,直到今天,許多 AI 研究者仍然認為,LISP 是 AI當中最好用的語言。接著,由於邏輯推論領域的研究越來越強,邏輯推論程式的需求也越來越多。於是,在 1972 年,Alain Colmerauer 發明了 Prolog 語言,成為邏輯式語言當中的先驅與典範,這個語言也是專家系統當中最常被使用的語言,甚至在自然語言處理領域也是主流語言。
在系統式搜尋方面,深度優先
(DFS)、廣度優先 (BFS) 與最佳優先搜尋 (Best-FS)都是最早期就研究清楚的方法,這些方法表現在電腦下棋、圖形理論與作業研究等領域特別有效。
電腦下棋
對於電腦下棋領域,MiniMax 搜尋方式與Alpha-Beta
Pruning的修剪策略組合,可以說是最有效的下棋演算法。MiniMax搜尋方式會一層一層的,考慮自身與對手的所有可能棋步,以採取最佳的防禦策略。
然而,當搜尋的層次加深時,以廣度優先搜尋方式的 MiniMax 會有指數型膨脹的問題。1956年,McCarthy等陣列人馬,幾乎在同一時期分別發展出了 Alpha-Beta
Pruning 的修剪技巧。
這個方法立刻被Arthur Samuel 於 1959 年最早寫出了一個簡單的下棋程式。此後,電腦下棋開始吸引了一代接一代的研究者。但是,最大的進步或許已經不在軟體上,由於電腦硬體 18個月就以將近兩倍的速度成長著,硬體速度使得電腦得以進行更多層的MiniMax
的搜尋,這使得程式的能力越來越強,加上修剪法的細緻化修改,以及棋譜的知識庫加入,電腦終於可以與象棋、西洋棋等世界級的高手一決勝負。西元兩千年,IBM 的深藍對世界西洋棋王Kasparov的一戰,電腦首度打敗世界西洋棋王。這一戰吸引了全球的目光,其全盤對局甚是可以在維琪百科當中查到。
從此之後,MiniMax
與Alpha-Beta
Pruning 一直是電腦下棋的主流演算法。直到今天,都無法被其他演算法所取代。而電腦下棋領域,成為少數被 AI 技術攻陷的領域之一。在今天的棋類當中,幾乎只剩圍棋還沒有被電腦攻陷,這是因為圍棋的複雜度,比起象棋和西洋棋而言,更加變化多端,每一步的可能性更多,而且整盤棋的棋步總數更深的緣故。
『邏輯推論』與『自然語言理解』
邏輯推論在早期的 AI 領域當中,吸引了許多研究者的投入,當時的研究者過度樂觀的認為,只要累積了足夠的知識庫,加上適當的邏輯堆論方法,就能讓電腦擁有人類的推理能力,也就相當於讓計算機具有人類的智慧了。然而,後來的歷史發展,卻出乎這些研究者的預料,模擬人類智慧可沒有這麼的簡單。
像是在自然語言理解領域,電腦至今仍然無法看懂報紙上的文章。於是,電腦連基本的閱讀能力都無法達到,又如何能模擬人類的智慧呢?雖然,如在1.1 above節當中我們看到
Eliza 程式可以成功的騙過許多人,讓人以為電腦真的瞭解了他所說的話,但是進一步分析時,卻會發現這些程式根本沒有真正理解。
於是,許多研究者開始研究所謂的深度理解,並且企圖建構出可深度理解自然語言的程式。然而,這些努力卻沒有得到太多的回報,電腦在自然語言理解上仍然處於智障的狀況,建構出能理解人類所寫文章的程式,仍然遙不可及。
然而,在 1980 年左右,這個主題可是紅透半邊天,當時,日本與美國相繼以國家資本投入這類的研究當中,尤其是日本所謂的第五代電腦計畫,更刺激了美國瘋狂的投入這場夢幻式的競賽當中,許多科技公司都幻想著可以利用這樣的技術賺到大錢,於是美國出現了一大堆這類以 AI 為主要技術的公司,人們對 AI 也抱持過度樂觀的期待。
然而,長期期待卻無法實現的結果,導致了 AI 產業的泡沫化,尤其是在國防部聘請的專業評估小組,調查報告出爐之後,認為這些 AI 技術在五十年內實用化的可能性微乎其微,這份報告就像戳破國王的新衣一樣,告訴了所有人,國王沒有穿衣服,AI的技術離實用化仍有很長很長的距離,學術界與產業界一同構築的夢想,其實是建築在虛無的幻想上。於是,AI 技術才又回到了保守的道路。
類神經網路
類神經網路的研究可以說是從
1940 年代開始的。1943年,神經生物學家 Warren McCulloch 和數學家 Walter Pitts ,在論文中提出以電路構成簡單類神經網路模型的構想。1949年 Donald Hebb 開始以數學方法描述神經元的電流傳遞方式,發展出 Hebb’s Rule,其理論稱為 Hebbian Theory 。
1957年 Frank
Rosenblatt 于康乃爾大學利用這些理論創造出感知器 (Perceptron) 程式,成為第一個類神經網路的程式。然而,這個程式是使用單層的線性函數形式,這也就是被 Minsky 證明為不能辨識 XOR 函數的那個程式。
然後,早在 1974 年,Paul Werbos
就已經在其哈佛大學的博士論文當中,描述了反傳遞演算法 (Back Propagation Algorithm) 的理論,但卻一直得不到學術界的青睞 。直到
1986 年,反傳遞演算法被Rumelhart 等人成功的用於語音辨識領域之後 ,學術界才重新發現這個重要的演算法,開始一窩
蜂的投入類神經網路的領域當中。
然而,並不是所有的這類研究都沒有成果,我對 AI 的歷史非常的著迷,這比任何 AI 的相關論文都吸引我。雖然,AI 的技術一直到目前為止都幾乎無法被使用,但是,AI前輩們的努力過程仍然相當吸引人,與其說 AI 前輩告訴我們如何做出人工智慧的程式,不如說是告訴我們這條路的困難性,哪些路行不通,哪些路有繼續研究的價值,我們必須站在這些巨人的肩膀上,才能看得更遠,在 AI 研究這條艱巨的路上,繼續的走下去。
更多資訊,請訪問: www.rank-ad.com
推薦給同仁
您想要瞭解更多的免費小竅門以便提升你的網站排名嗎?
請馬上聯繫我們網站管理員:
MSN: chenlinwu@cmmail.com
Email: info@rank-ad.com