人工智慧 - 採用 JavaScript 實作

目錄 | 下載 陳鍾誠金門大學

人工智慧簡介

玄之又玄、眾妙之門 -- 老子 道德經

人工智慧 AI (Artificial Intelligence) 領域,可以說是資訊科學界的聖杯,或者說,更像是魔戒。這個令人想像就足以感到目眩神迷的領域,吸引了一代又一代的資訊科學研究者,不斷的投入這些令人望而生畏的問題當中。不知是因為勇氣還是利慾薰心,資訊科學研究者在此領域當中勇往直前,不斷失敗卻前仆後繼。許多人投入了一輩子,卻沒有得到想像中的成果,甚至連門口都沒進去,就已經陣亡了。人工智慧領域的理論已經成為一個龐然大物,想入門的人在看到這樣一個盤根錯節的碩大的身軀時,往往還沒到門口,就已經迷路了。而其他的人呢?則是在進了門之後,找不到出去的路。

「仰之彌高,鑽之彌堅,瞻之在前,忽焉在後」,這句被用來形容孔子的話,我覺得用來形容「人工智慧」會更為貼切一些。往往當研究者認為自己已經看到某些解答時,最後只發現了原來是一場夢。當問題看來如此的簡單之時,其實門內躲了一個妖精或怪獸,正虎視眈眈的看著你,他們打算先引你進來再吃掉你。在人工智慧領域迷路的人,通常不是被怪獸吃掉,而是被妖精用美色迷惑。最後,以為自己到了天堂,其實是精盡人亡後,下了地獄而不自知。如果你想看看這個妖精所在的世界,就請隨我而來吧。

研究 AI 的學者,或許更像金庸小說中俠客島上的江湖人物一樣,到了俠客島之後就被那些精妙的武功祕及所迷住了,再也不願意返回到原本的江湖中,畢生研究的武學也就毫無用處了。

俠客島上的人物,只看到秘笈中的文字,卻看不見文字筆勢上所蘊含的圖像式武學,因而錯失了真正精妙的武功之所在。或許,研究 AI 的學者也有同樣的問題,總是沉迷在各種看似高深的算法當中,卻又見樹不見林,以致於無法看見整體的智慧是如何形成的,這恐怕是 AI 領域的研究者未來所必須面對的挑戰。

在本書中,我們雖然會介紹 AI 的主要理論,但是卻希望讀者能回到現實上,以實作感受 AI 這些方法的意義,而不是只有理論闡述。即使如此,筆者目前仍然沒有任何能力,能告訴讀者如何才能拿到那個聖杯,或許這個聖杯根本就不存在也說不定。

何謂人工智慧 (AI) ?

終於到了我們為人工智慧下定義的時候了,我們認為,AI 的定義,與其用技術方式,不如用目標的方式定義更恰當。AI 的目標是企圖模擬人類,建構出具有類似人類大腦的程式。這包含使用眼睛、耳朵、嘴巴、手腳、身體等器官的能力。

因此,AI 的目標乃是模擬人類大腦,並利用電腦的眼睛 (攝影機)、耳朵 (麥克風)、嘴巴 (喇叭)、手腳與身體 (機器人),取得外在世界的資訊,根據這些資訊進行類似人類的智慧型行為,像是影像辨識 (眼睛)、手寫辨識 (眼睛)、語音辨識 (耳朵)、機器人控制 (手腳與身體) 等,都是典型的 AI 領域。當然,還有許多與感官無關的領域,像是電腦下棋、自然語言理解、機器翻譯、知識工程等,這些都是與大腦的功能直接相關的領域,也是AI 領域當中的經典問題。

AI 是以電腦程式模擬人類的智慧行為,包含眼睛、耳朵等感官的「聽、說、讀、寫」,與大腦的「推理、理解、學習」,還有動作類的「手、腳、身體、控制」等行為。

模擬行為 相關應用
感知 語音辨識 (耳朵)、影像辨識 (眼睛)、手寫辯識(眼睛)、指紋辯識(眼睛)
推理 專家系統、電腦遊戲、電腦下棋、醫療診斷 (大腦)
理解 機器翻譯、交談系統 (大腦)
學習 電腦下棋、專家系統、醫療診斷、辯識 (大腦)
動作 機器人足球賽、自動駕駛、商用機器人、智慧型控制器 (手腳身體)

AI 的方法

人工智慧的方法非常多樣,早期的人工智慧研究聚焦在邏輯推論的方法,後來越來越多元化,像是類神經網路、模糊推論、遺傳演算法、機率模型等都被包含進來。

邏輯推論的方法,由於需要百分之百確定的事實配合,因此在實務上不容易使用,因此像模糊推論等方法,雖然在理論上較不優美,但是在實務上卻很有用。類神經網路則是在影像辨識、語音辨識等領域,表現得較為傑出。

近來,機率式的方法開始越來越受到重視,像是 Hidden Markov Model (HMM)、Bayes Network、Monte Carlo Marko Chain (MCMC)、Expectation-Maximization (EM) 等方法,都有越來越多的應用。舉例而言,HMM 在語音辨識上具有非常好的辨識率、而 EM 學習演算法則在機器翻譯上被大量的使用。

由於機率式的方法在數學理論上較為完備,因此有更多的數學工具可以使用,因此未來人工智慧與數學的關係應該會越來越密切,這個領域將有待數學背景強的新研究者加入與探索,以便創造出更好的數學模型,讓 AI 成為一門「真正的科學」。

為了讓電腦實現上述的智慧型功能,研究者這幾十年來發展出了以下的方法,這些方法有些只適用於少數應用,而有些則可以適用於很多類的應用。

分類 方法
搜尋 DFS, BFS, Best-FS, A*, Min-Max+α-β Cut, Dynamic Programming,
最佳化 Greedy Algorithm, Simulate Annealing, Genetic Algorithm
邏輯推論 Boolean Logic, First-Order Logic, Probabilistic Logic, Fuzzy Logic
神經網路 Back Propagation Network, Hopfield Network
機率統計 Bayesian Network, Hidden Markov Model, EM algorithm
比對 Pattern Matching, Regular Expression, …

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

搜尋法

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

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

邏輯推論

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

從早期的「布林邏輯、洪氏邏輯、一階邏輯」等確定性的邏輯系統開始,發展出了「計劃系統、專家系統」等模擬大腦推理行為的系統,這讓邏輯推論成為了人工智慧的核心方法,但由於這些推理方法需要建構在 100% 確定的事實,並依賴 100% 確定的推理法則才能進行,因此在複雜的現實事件通常很難使用。

後來的 AI 研究逐漸導向「非確定性」的推論方法上,像是「模糊推論、機率推論」等方法,這些推理方法比較能夠在「現實世界」中有效的運用,因此近來的人工智慧研究者大多採用這類的方法近型更深入的研究。

類神經網路

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

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

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

機率統計

機率統計方法在其他領域通常很快就成為主流方法,但是在 AI 領域卻經過了很久都沒受到重視,直到最近由於隱馬可夫模型 (HMM) 逐漸在語音辨識領域嶄露頭角,才開始有越來越興盛的趨勢。最近,統計方法在機器翻譯上有越來越強的趨勢,像是貝氏網路 (Bayisian Network)、期望最佳化學習法 (Expectation-Maximization, EM)、蒙地卡羅馬可夫學習法 (Montecarlo Markov Chain, MCMC) 等,都開始展露其優勢,相信在未來的幾年,機率統計法將會在 AI 領域大展身手,推進整個 AI 科學技術的進展。

AI 的夢想

長久以來,AI 一直是一個充滿夢幻式魅力的領域,人們對 AI 有無數的幻想與憧憬。科幻小說當中的未來世界可以說是 AI 的遠程目標。但是,我相信學術界的許多人對這個說法有很多批判。因為,夢想與科學似乎是兩個極端,科學的動力來自於夢想,但是科學的發展卻是一個排除夢想的過程。

盡管科幻書籍當中早已述說過這種夢想千百回了,然而,夢想仍然是夢想。要實現這些夢想,仍是一條漫漫長路。或許,在我們有生之年,都還看不到下列情況,但是,這些想像中的情節卻不斷的吸引著 AI 研究者踏入這個領域。讓我們以一個科幻小說式的場景說明這些 AI 的目標。

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

在進入大門之後,媒體實驗室的助理莉莎 (另一個機器人) 告訴史丹利,今天有一位中國籍學者 – 江明來訪,打算與史丹利談談有關最近虛擬駭客入侵 MIT 虛擬世界,偷走巨額虛擬貨幣的事情。當學者江明到達時,說了一句『史丹利先生,您好!』,然後,江明嘴邊的懸浮式透明麥克風,立刻將這句話翻譯成英文的 “Hello ! Mr. Stanly,Nice to meet you !” 傳送給史丹利耳中的訊息接收機,然後在史丹利先生的耳中播放出來。因此,雖然史丹利先生並不懂中文,但是,卻可以與江明先生侃侃而談。…』

我們有必要就此停止故事情節繼續發展下去,因為,再寫下去這本書就變成科幻小說了。請讀者回到 21 世紀初的現在,回到人工智慧教科書的主題中。如果我們想要實現上述的未來,那麼,我們到底現在應該要做甚麼呢?讓我們逐項分析看看。

瑪莉 (機器人) 會做早餐,因此,他應該會移動、開冰箱、拿菜、開瓦斯、煮菜、拿碗、裝菜、上菜等動作。為了達成這些動作,瑪莉必須有控制其手腳的能力,這是典型的機器人控制問題。瑪莉應該也需要具備視覺感官與影像辨識的能力,以避免發生撞到東西、煮菜時過熟烤焦等問題。同樣的,夥計 (智慧型汽車) 也必須具備視覺辨識能力,以避免開車時撞到東西,並且能正確的將車開到 MIT 媒體實驗室。莉莎 (機器人助理) 需要具備記憶力與語音合成的能力,以告訴史丹利其行程表。而學者江明嘴邊的懸浮式透明麥克風,則需要具備語音識別與英漢自動翻譯技術,才能將中文的語音,轉換成英文的句子,傳送給史丹利先生耳中的訊息接收機。而這台訊息接收機,則必須具備語音合成的能力,才能將這些訊息,轉成語音撥放到史丹利先生的耳內,這些訊息甚至可能包含腔調與口音,才能讓這個同步翻譯過程更為逼真流暢。

但是,我們必須先向讀者說聲抱歉,因為,這只是一段科幻場景,這些技術,我們現在通通都沒有。這些夢幻式的能力,全都還在人類的想像當中。雖然,AI 學術界已經做了五十年以上的研究,然而,我們的影像辨識、語音識別、機器人控制、自然語言理解、機器翻譯等技術,幾乎全都還無法在現實生活上派上用場。但是,人類因為有夢想而偉大,我們仍然必須努力的作著這些夢,不管未來何時會實現,或者會不會實現,就像周星馳的名言 - 『沒有夢想,那人活著和狗有甚麼不同』,或者更加激勵人心的佐賀阿嘛的一句話 - 『有夢想總比沒夢想好,就算到死的時候都還無法實現也沒有關係。因為,那不過是個夢想而已』。