2007年5月7日 星期一

Minsky & Learning

這邊是人工智慧大頭 Minsky 在接受《會思考的機器:AI人工智慧的發展與趨勢(Machines Who Think:A personal Inquiry Into The History and Prospects of Artificial Intelligence)》一書作者 Pamela McCorduck 訪問的時候所說的話:
我們花了好久的時間才明白,而其他人一直還不太明白,就某方面來說,只要有對的描述跟機制,學習其實不太重要,重要的是找出事情該怎麼作,只要你瞭解了,你就容易明白一件事是怎麼被學會的,在觀念上這是很深的改變。要學習上的問題,從我們看來,是去決定你要放什麼東西在你的記憶裡,這要依賴好的描述,然後在描述中找到差異,才能說,這是個新東西。所以差別不是在事情裡,是在描述裡。經過很長的時間,人們才開始能體會。

這是一本有二十五年歷史的老書,內容講的是人工智慧領域的發展跟歷史,在去年重新再出版,補上了人工智慧在這二十五年的新發展,人工智慧的科普這幾年幾乎不見新書,難得看到一本,當然是要拿下來看的,雖然新東西不多,但是聊勝於無。

上面這段是第一章的內容,可以看到人工智慧大頭 Minsky(算是人工智慧領域的開創元老之一)對於機器學習(Machine Learning)的看法,大致上說起來,就是學習沒什麼用。文中所講的「學習」指的是在人工智慧裡面的「機器學習」,而「找出事情該怎麼作」,指的是人工智慧裡面的「規劃/計畫」(planning)。

所謂機器學習,是指不用靠人類去設計複雜的演算法,而讓電腦自己從環境當中根據過去的經驗來學會應該怎麼做事情,學會怎麼把事情作對做好。電腦一開始會表現得很差,但是隨著時間過去,機器的經驗越來越豐富,越來越聰明,表現也就會越來越好。聽起來很神奇,不過他到底是怎麼做到的?

神經網路(Neural Network[1]) 用的方法是模擬生物神經傳導的方式,利用大量的神經元,互相串街連結,形成複雜的神經網路,透過輸出跟預期輸出的正確性,慢慢調適網路連結上的鍵值來達到學習的效果。一個神經網路會接受外界的刺激當作輸入,然後會產生一個動作當作輸出,如果輸出的動作是正確的,那麼本來神經連結上面的鍵值會被加強,表示這是一個正確的動作,應該被獎勵。如果神經網路產生的動作是錯誤的,那麼連結上面的鍵值會被削弱,以示為懲罰,久而久之,神經網路就會偏向產生正確的輸出,而避開錯誤的決定。

演化計算(Evolutionary Computation[2]) 模擬自然界的演化機制,設計者會設計一堆生物,而這種生物的基因,就是問題的答案,而這種生物所生存的環境,就是所要解決的問題。如果一個生物的表現不好,表示他沒辦法良好的解決這個問題,會有比較差的適存值(fitness),如果一個生物表現的很好,表示他對於這個問題的解答不錯。基因演算法的機制會挑出活的比較好的個體,來進行交配,以產生下一代,而下一代的基因,則是來自於父母的混合交配。長久下來,適者生存,表現的越好越有機會有後代,而表現的差的,就會慢慢被淘汰掉,最後整個族群就都是表現良好的個體了。

上面兩個是目前台灣最流行最熱門的機器學習還有人工智慧技術,不過國外已經沒什麼人在玩了,人工智慧還有其他如 Independent Component Analysis(ICA),Principle Component Analysis(PCA),Hidden Markov Model(HMM),Boosting,Support Vector Machine(SVM)等等技術,都是常見的機器學習模型。機器學習最常見的領域是那種需要高度容錯的系統,像是圖形辨識,語音辨識等等。

所謂「規劃」(Planning)是跟學習相反的一條路,透過程式設計師的腦力煎熬,在一開始就打造了強悍的思維模型,程式擁有強大的力量在已知的解空間裡面去尋找答案,並且透過一些有策略的搜索方法,可以在龐大的解空間當中刪除不可能的答案,或是不進行重複的搜索活動。使用 planning 的 AI 是在程式完成的那一瞬間,就展現出高度智慧,像是各種棋類程式都是屬於這一類。

人工智慧領域很少有這兩邊都通的人才,大部分的人只能專精其中一樣,Minsky 選的是 planning,他認為如果用 planning 就能解決的事情,那我幹麼用 Learning? 理論上他說的沒錯,只要用 planning 就能解決的事情,那的確不用 learning,不過實際上,有很多問題就是不能用或是不好用 planning,像是影像辨識,機械控制,這類東西,你很難仔細的描述事情應該怎麼被做好。或是當環境常常變動,你今天設計好的機制,明天就不能用了,而要設計一個什麼都能用的機制,又是難上加難,像這種時候,就是 learning 存在的理由。

本來我以為 AI 大頭都是全方位的,看到大師也會選邊站,我感覺到很有趣。

[1] AI Junkie 一個不錯的 AI 網頁,這邊是他關於神經網路的介紹
[2] 一個有 Java applet 介紹 GA 的網頁,很生動易懂

沒有留言:

張貼留言