Showing posts with label AI. Show all posts
Showing posts with label AI. Show all posts

Sunday, September 09, 2007

Machine to Transcendent Mind

Robot: mere machine to transcendent mind

前些日子把讀過的機器人書整理上來後,網友 HuaHua 留言推薦了《機器人:由機器邁向超越人類心智之路》。後來我特地跑一趟政大書城,翻閱後才想起幾個月前也在這翻過。如今再次翻閱,還是沒抱回去好好端詳,最大原因是此書主要內容,我在其他諸如書、網路、或論文等,幾乎都涉獵過。

昨天到國家圖書館,無意間發現該書竟躺在那,頻頻向我招手……嗯,這次當然不能再錯過 ^__^

與其說這是本講機器(人)的書,不如說它是探討人造智能(AI)或電腦及機器智慧(Machine Intelligence)發展潛能的書。

Autonomous Mobile Robots

這本書最合我胃口的是第二章〈小心!前有機器車〉,探討作者對機器自走車的實務經驗。裡面提到作者 Hans Moravec 在 Mobile Robot Laboratory 接受 Denning Mobile Robotics 委託,研究如何以二十四個聲納組成的障礙偵測裝置,量測、取得的距離資料,完成自主機器車導航的任務。

聲納是藉由發射一束以三十度角展開的超音波反射回來的聲波來推測距離的,其得到的距離很精確,回音由哪反射回來卻是未知的(因為有三十度的範圍)。所以採用追蹤影像突出特徵的作法無法適用。

作者和學生 Alberto Elfes 合作設計了個新方法解決這個問題。該方法不嘗試找出物體的位置,改而累積計算每個位置所擁有的物性(objectness):

  • 這個架構下,機器人對周遭「物體」的確切身份、甚至存在與否都存疑,但對周遭「位置」的存在卻不容置疑。
  • 因此每個位置被視為一個個永遠存在的水桶,時時刻刻接受並存積著像是小雨般不斷落下、顯示物體佔據該位置的證據。

其具體的作法如下:

  • 將機器人四周的區域以格線劃分,每一小格都紀錄一個數字,代表目前為止,累積對該位置擁有物體(或是該位置空白)的證據。
  • 每當聲納發射一束新的探測聲波,其掃過區域所涵蓋格子的數據,便不斷修正。
  • 格子若位於回聲源,將獲得更多證據,證明有物體存在該範圍內。
  • 格子若位於回聲源與機器人間,將失去這樣的證據(因為若有任何物體存在其間,回聲會從更近的距離傳回)。
  • 由探測聲源往外,聲波強度及其探測準確度,隨距離遞減。所以證據的修正幅度,也要取決於探測聲波在空間中掃過體積(或面積)的大小。

對自主移動機器人有興趣的,想知道機器人如何知道自己身在何方(Localization),如何藉由路徑規劃(Planning),由某個地方到達目的地(Navigation),強烈建議好好翻翻我之前在 Robot Book 閱讀清單也推薦過的 Introduction to Autonomous Mobile Robots 一書。

Power and Capacity

第三章 Power and Presence 主要探討計算能力與機器心智間的關係。曾經關注過電腦發展的人,對這章的推論應該不會太過驚訝:作者一開始先提提怎麼樣能力(如運算速度及記憶容量等)的電腦能達成怎麼樣的任務,然後粗估了人腦運算速度及記憶容量,既然電腦運算能力每年都要倍增,所以估出 2020 年時,個人電腦的能耐會達到人腦級。無論對這議題感到興趣或心存懷疑的,都非常建議也翻翻《心靈機器時代》,當中提到的時間與渾沌的定律The Law of Time and Chaos),很值得一讀。

作者還在這章提到一個非常有意思的主題--電腦史上不同時間點 PC 的記憶容量(megabytes)與運算速度(MIPS)相除,會粗略維持一個常數,約 1 秒鐘(大概等於電腦將整塊記憶體掃一次需要耗費的時間),原因是電腦跟外界溝通的主要對象是人類,所以要受人類的速度感所束縛,原文對這部份描述得很生動:

The megabyte/MIPS ratio seems to hold for nervous systems too! The contingency is the other way around: computers are configured to interact at human time scales, and robots interacting with humans seem also to be best at that ratio.
On the other hand, faster machines, for instance audio and video processors and controllers of high-performance aircraft, have many MIPS for each megabyte.
Very slow machines, for instance time-lapse security cameras and automatic data libraries, store many megabytes for each of their MIPS.
Flying insects seem to be a few times faster than humans, so may have more MIPS than megabytes.
As in animals, cells in plants signal one other electrochemically and enzymatically. Some plant cells seem specialized for communication, though apparently not as extremely as animal neurons. One day we may find that plants remember much, but process it slowly.

Universal Robots

電腦是 Universal Turing Machine, UTM 的一個良好近似,和 UTM 對應的是 Universal Robots, UR 。不同的是 UTM 專職在虛擬的數位空間發揮運算能力, UR 則落實到現實世界裡的感官及行動上。

萬用機器人是第四章的主題,看看作者對這個議題的看法還滿有趣的。而第四章之後的章節雖很讓人眼界大開,但扯得有點遠了,現在還是將它當作科幻小說的情節,看看就好 :p

Suggested Readings

Tags: [] [] [] []

Tuesday, June 20, 2006

On Intelligence

上週四(6/15)經過書街,不小心發現此書,瀏覽之下,驚為天人,二話不說,(當下放棄原本採購 LCD 螢幕的計畫)抱一本回去好好端詳先。

竟然還是洪蘭譯的。哎呀!怎麼以前沒發現這本?哦,原來是今年才上架的。雖稍感安慰,但內心還是怪自己太久沒 update 這方面的資訊了。

有趣的是,作者就是那位發明 PalmPilot 的 Jeff Hawkins;更讓人意外的,這本書還有 WatsonKandel 這兩位諾貝爾生醫獎得主推薦。

  • 註一:Watson 於 1953 年和 Crick 共同發現 DNA 雙螺旋結構,是上個世紀生物學最大的發現。
  • 註二:Kandel 是神經科學的權威,也因為突觸變化的效應及其改變如何影響記憶及學習方面的研究,榮獲 2000 年的諾貝爾獎,他寫了幾本 Bible 級的書,跟人合著的《透視記憶》也很值得一讀。
  • 註三:Crick 在得到諾貝爾獎後,將心力整個投入腦神經科學的研究,寫了一本科普書《驚異的假說》,啟迪了許多人相繼投入該領域的研究。

中譯《創智慧》,原文《On Intelligence》,作者 Hawkins 提出一套大腦新皮質(neocortex)運作的理論:

Hawkins 很賞識 Venon Mountastle (1978) 發表的〈An Organizing Principle for Cerebral Function〉,並推崇該論文為神經科學的 Rosetta Stone 。Mountastle 論文中總結說:整個皮質有著共同的功能、共同的計算規則,並且這些是由整個皮質各區域來執行。「視覺跟聽覺沒有差別,聽覺又跟動作的產生沒有差別。」 我們的基因決定大腦的區域間該怎麼連結,這在功能上或物種間有很大的特異性,但是皮質組織本身無論在何處都在做同樣的事。[p81]

「百步算則」(one hundred-step rule)[p99] 告訴我們,人們在一張照片辨認一隻貓的不到半秒的時間內,訊息只可能走了一百個神經元的長度而已(每個神經元要耗掉 5 ms)。而現代的數位電腦需要幾十億的步驟才能做完這件事 。造成這巨大差異最主要的原因是「人腦並不去『計算』問題的答案,它是將答案從儲存處提取出來」。

Hawkins 強調,大腦不是電腦,而是個記憶系統,用來儲存經驗。這些經驗是種途徑,可以反映世界的真實結構,記憶一連串的事件和它們錯雜的關係,然後利用「記憶」來進行「預測」。

這就是「記憶-預測系統」(memory-prediction system)。記憶-預測系統是智慧(intelligence)、洞察(perception)、創造(creativity),及事件知覺(event consciousness)的基礎。

Hawkins 還強調,新皮質的記憶跟電腦的記憶至少有四個基本的差異:

  • 新皮質儲存的是序列的型態(sequeuces of patterns)。
  • 新皮質是自體連結的(auto-associatively)回憶出型態。
  • 新皮質是以不變的結構形式(invariant form)儲存型態。
  • 新皮質以階層性(hierarchy)儲存型態。

第六章〈皮質如何運作〉是本書的精華,也是我費最多時間閱讀的部份:

  • 你的皮質(cortex)必須有一套方法,以記住過去事件的序列並儲存起來;要能對新奇的事件作預測,皮質必須形成不變的表徵(invariant representations)。你的皮質需要創造及儲存外在世界的模式(model),這個模式必須獨立於你周遭不斷變化的情境送進來的型態(pattern)。 [p147]
  • 當你開始瞭解大腦的核心功能是作預測(prediction)時,就需要將回饋(feedback)加到你的模式中,大腦必須能將訊息送回一開始接受輸入的區域,因為作預測需要比較「現在正發生的」以及「預期將發生的」:現在正在發生的是「向上送的輸入」,預期要發生的是「向下流的預測」。 [p154]
  • 整個皮質、所有的感覺皮質及聯結區都是一體的。 [p161]
  • 運動皮質就像感覺皮質,所以皮質處理往下流動的感覺預測,就像它處理往下流動的運動指令一樣。 [p162]
  • 皮質的每一區都形成不變的表徵(invariant representations)。 [p165]
  • 皮質的階層結構儲存了外在世界的階層結構模式,而構築真實世界的結構就反映在構築皮質的階層性上。 [p167]
  • 你對你家的記憶並非儲存在大腦皮質的某一區上,它是存在皮質的階層性中,反映出的正是你家的階層結構。大規模的關係儲存在階層的頂端,小規模的關係儲存在底端,階層性存在於外界及大腦之中。 [p168]
  • 你對外界物體的經驗會產生一個序列,這個序列反應出外面世界的不變性,你所經驗到的世界各個部份的順序是由世界的結構所決定的,……你對外界經驗的順序正是世界真正的結構,這也是皮質真正想記住的。 [p180]
  • 上行皮質階層是彙集型態,下行皮質階層是擴散型態,透過視丘(thalamus)的延拓回饋…… [p190]
  • 在你學習一個序列前,你可以傳遞細節;一旦習得了序列,能成功預測哪個神經柱將活化後,就應該只傳遞固定的型態。 [p195]
  • 知覺和行為是一體兩面。……運動行為也必須有一個不變表徵的階層結構。 [p203]
  • 觀察到的型態向高階傳送,而預測往低階流動。 [p206]
  • 學習的兩個基本成分是「型態分類」以及「建立序列」 ……將同一物體各個型態部份結合起來的方式之一,是將時間上連續發生的型態放在一起。 [p212]
  • 海馬迴(hippocampus)是新皮質最上端的組織,並非分離的結構。 [p217]
  • ……

在閱讀的過程中,不禁想起《Artificial Minds》第十四章有一段這樣的對話:

Q1) What is cognition?
Ans. Enaction: a history of structural coupling that brings forth a world.

Q2) How does it work?
Ans. Through a network consisting of multiple levels of interconnected, sensorimotor subnetworks.

Q3) How do I know when a cognitive system is functioning adequately?
Ans. When it becomes part of an ongoing existing world (as the young of every species do) or shapes a new one (as happens in evolutionary history).

在我看來, Hawkins 提出的 memory-prediction framework 就是大腦執行 structural coupling 的方法。

Francisco 在接受《第三種文化》採訪時也提到:

整個說來,生物的認知不應該當成是表徵外在的世界,應該想成是持續不斷地在「產生」世界,而憑藉的唯一歷程就是生存本身。 [p240]

當初覺得這段話太過抽象,如今再次玩味,頓時具體起來。

如果你 K 完書後還意猶未盡,《On Intelligence》已有自己的首頁論壇。論壇中,可以看到幾篇有趣的討論:

在神經科學方面, Hawkins 創立了 Redwood Neuroscience Institute, RNI 專門研究新皮質(neocortex)。

在電腦實務上, Hawkins 也成立了 Nemunta, Inc. ,利用新皮質運作的原理,發展新型的電腦記憶系統。讓人興奮的是該機構提出了 Hierarchical Temporal Memory, HTM,並釋出了 HTM 的白皮書,有興趣的,可以共襄盛舉。

其他重要的連結:

一些沒有直接相關的連結:

Friday, January 20, 2006

Robot Dream Exposition Taiwan

智慧機器人這個領域的發展,一直都很能引起我的注目,恰巧今年台灣首次舉辦了機器人博覽會,百聞不如一見,週四傍晚也到展覽會場逛逛,長長見識。到會場後,出入口附近免不了安排一些機器人商品在那兜售。如果不想參觀展覽的,或參觀完後覺得意猶未盡的,可以在這裡花錢抱幾具回去過過癮,當然荷包因此大失血是免不了的啦。

言歸正傳,這次的展覽分成「仿生機器人館」、「新一代機器人館」及「機器人教育館」等三大主題館。仿生機器人館比較像電影特效,考驗的主要是機電工程的設計能力,所以我很快就晃過了。新一代機器人館及機器人教育館內的展示很多都強調機器人跟人類間的互動,要達到這個目的,機器人需要具備基本的感知及智慧能力,來接收環境訊息及判斷對訊息如何反應。其中:

Sony 轟動一時的 AiBo 經過多代的演進後,現在已經更趨成熟,成為名符其實的電子機器寵物。

自從 Handa 發表它的 ASIMO ,這幾年下來,人形機器人的二足行走能力也已有長足的進步,現在也已經應用到玩具上了,Robosapien V2 即是一例。

值得注意的是,由於老年化社會的到來,日本致力於發展醫療機器人,Ifbot 就是商品化的例子,具備 5 歲兒童的會話能力,可以用於陪伴獨居的老人。

老實說,參觀完這次的展覽,我覺得花兩百塊的門票不是很值得,感覺有點像只是看看熱鬧,實地接觸一下實體罷了。可能現在資訊太發達了,很多東西在書籍及網路上都可以取得詳盡的訊息。如果你覺得意猶未盡,〈機器人的進化〉一書可以提供更完整的綜覽。此外,下列網站也很值得一逛:

Tags: [] []

Wednesday, January 18, 2006

The Silicon Eye

矽眼

在〈The Fitness of Things〉文末提到的《矽眼》,我這個月初在網路上得知此書,於 8 號溜到政大書城購買,當天就熬夜將它閱讀完畢、畫上重點、附上書籤。原本打算寫個評介的,想想還是把我批註的部份整理整理,將內文摘錄摘錄就好:

  • 視覺不是一種感覺,而是一種訊息理解力。[p22]
  • Carver Mead 和他的研究小組發展出對助聽器極有效用的電子耳蝸,也設計出一系列的視網膜晶片。[p23]
  • 一旦你親手建造某樣東西,你就能發掘到光憑思索或測量所無法觸及的層面。一旦了解真意,並抓住其中的物理基本原則,就能發展出更好的實物。[p23]
  • Foveon 相機的特色是,每一個畫素都將影像的真實特徵記錄下來,揚棄數位模擬的方式。[p24]
  • Foveon 的名稱,是由人體視網膜中具有高度色彩解析能力的中央窩(fovea)而來。[p42]
  • 發明的訣竅就在於尋找及延續模式。「這個世界有很多好東西,只要肯去尋找對稱、尋找模式,你就可以找到好東西。」[p49]
  • Peter Ducker 一反常理且無情的定義:「沒有一種改革能夠動搖既有的系統,除非它更優越十倍」。[p59]
  • 在半導體業,一間公司想達到競爭優勢的方法,並不是申請專利然後公諸於世,而是將它藏在製造過程的關鍵步驟內,藏在層層繁複緊密的線路和矽晶設計中。[p70]
  • 對電晶體來說,絕緣又無法通電的 floating gate 是沒有用處的,因為它不能當作控制元件,然而用在 memory cell 上卻很好,因為 floating gate 可以保存電容器的電力長達數年甚至數十年之久。[p77]
  • 只要是任何能簡化成數字的宇宙萬象,數位電腦都有能力模擬。但數位電腦卻無法和真實世界溝通。它們又聾、又啞、又笨、又無生命…人工智慧最大的挑戰不在操弄數字,無論是高中數學或高等微積分,而是真實世界的感官認知──所有視覺、聽覺、觸覺和動作能力,這些是所有生命誕生之後,第一個要學的。[p86]
  • 大腦並不是跟著抽象的時鐘節奏來運作,而是根據訊息進入的時間,再加上同時抵達的其他事件的時機來做運算。舉例來說,大腦能夠從一連串同時出現的、雜亂無章的各種聲音中,區別字和雜音的不同。[p98]
  • Analog VLSI and Neural Systems》 [p102]
  • Misha Mahowald 她的模型涵蓋整個神經組織中的光及能量的流向,從捕捉色彩的視網膜錐細胞,…最後進入皮質層,綜合一切,形成可辨識的影像全貌。從「大量的輸入」到「大量的輸出」,這就是相互關連,有條有理的視覺影像系統。[p116]
  • Carver Mead 的中心思想就是「從做中學」,除非你親自動手作,否則無法徹底了解真相。[p121]
  • Transducer Physiology [p122]
  • Blind Source Separation [p143]
  • Support Vector Machine [p144]
  • 類比似乎只能用在特定的應用上面,流程或輸入必須固定不變。如果要用到記憶體或寫程式,還是需要回歸到數位。[p147]
  • 訊號的時間常數如果在毫秒左右,用類比是很適合的。電荷在你使用前不會衰減,也不會漏掉… [p159]
  • 類比有著極為重要的地位。不過,如果你只需要計算的話,買台電腦就行了。[p163]
  • 大腦是極端區域性的,只有不到 1% 的線路是屬於遙控性質…神經軸索數目大約只占了神經突觸的十億分之一。大腦 70% 的能量處理樹突。雖然 McCullough 及其他首屈一指的類神經網路學者均認為這是一種被動程序,但 70% 這個數據卻意味著一種積極、有改變型態能力的溝通形式。比起 von Neumann 式的電腦,大腦其實更類似 data flow 或 systolic array 。[p171]
Tags: [] [] [] [] [] [] [] [] [] []

Thursday, July 08, 2004

Edelman's Neural Darwinism

[Books]

《Neural Darwinism: The Theory of Neuronal Group Selection》
http://www.amazon.com/exec/obidos/tg/detail/-/0465049346/104-2972390-8064705?v=glance

《Bright Air, Brilliant Fire: On the Matter of the Mind》
http://www.amazon.com/exec/obidos/ASIN/0465007643/qid=1089270287/sr=2-2/ref=sr_2_2/104-2972390-8064705
http://engineering-books-online.com/0465007643.html

《先有心靈?還是先有物質?:諾貝爾獎得主的觀點》 -- 上本書的中譯
http://www.ntl.gov.tw/publish/bookboom/003/48.htm

[Review]

http://www.ncbi.nlm.nih.gov/entrez/query.fcgi?cmd=Retrieve&db=PubMed&dopt=Abstract&list_uids=8094962
http://ourworld.compuserve.com/homepages/Joachim_Gruber/Edel.html
http://www.consciousentities.com/edelman.htm

[Project]

Nomad
http://vesicle.nsi.edu/nomad/

Tags: [] [] [] [] [] []

Spiking Neural Network

  Spiking Neural Network, SNN 又稱 pulsed neural network 顧名思義,其中的 neuron 著重在模擬生物神經元激發時軸突所傳遞的突波。這樣的模型除了比傳統的 ANN 更真實外,實用上也更適合處理時變訊號的應用場合。

  以下有個 open source
Amygdala -- http://amygdala.sourceforge.net/

  有興趣的可以去玩玩...

Tags: [] [] [] []

Sunday, February 01, 2004

The Prolog Interpreter

這學期加入 AI 助教群,我打算讓學弟妹從實作中瞭解 Unification Algorithm ,但又不想為他們帶來太大的負擔。從眾多 Prolog language 的 open source 中,我選出了 Peter Bouthoorn 所開發的版本,它原本就是被用於教學,可惜其程式架構實在稱不上漂亮。在無法坐視不理下,我一次一小步地 refactor 它,改了幾百個回合,並將其中好幾個關鍵的地方整個重寫,才有一個適用的 Prolog Interpreter 。這真是個不錯的練習。

接下來是將這個動過手術的 Prolog Interpreter 版本當中的 Unify, OccrCheck, and UnifyVar 等 functions 挖空,要學弟妹參照 AI 課本的 Unification Algorithm 後,為這些挖空的 functions 補上血肉。

考慮到修課的人數眾多,為了讓自己在批改作業時不會哭出來,必定得把這個作業批改的流程盡量自動化。

於是我就為學弟妹準備了一對 .txt 檔: input.txt 及對應的 output.txt 。為了怕有些學弟妹過份聰明地以 printf 將 desired output 直接印出,在批改作業時另外準備其他 input 及 desired output是一定要的。這部分我以 Unit Test 的工具來自動比對,只有在比對出錯才要告訴我出錯的地方在哪,否則它只要簡單打個點代表程式還活著,並在通過所有測試後吐出 OK 就好了。

為了更省事,我在 Windows XP 下裝了 MinGW with MSYS 來模擬 Linux 的 terminal ,並寫了一個 BASH 的 script 來將這一百餘份程式作業自動作執行、比對及歸類的動作。

Unit Test tool 在 Java 下有 JUnit 可以用,無奈這裡用於開發的程式語言是 C++ ,所以勢必要另外找一套對應的工具。我最先注意到的是其中最有名的,移植自 JUnit 的 CppUnit ,進一步瞭解後,發現它 Java 味太重了,感覺很不純,而顯得有點礙手礙腳(唉呀,我是不是太偏執了),於是我最後選擇使用專為 C++ 打造的 Unit++ 。嗯,這次用起來果然很順手 ^___^

Wednesday, June 25, 2003

The Robots

  這次貼出 MIT 關於機器人的一些 Link

Living Machines
http://www.ai.mit.edu/projects/living-machines/

Humanoid Robotics Group:
http://www.ai.mit.edu/projects/humanoid-robotics-group/

Sociable Machines:
http://www.ai.mit.edu/projects/humanoid-robotics-group/kismet/kismet.html


  值得注意的是該 AI Lab 主任 Brooks,前一、兩年完成的著作,今年五月已有中譯:

《Flesh and Machines:How Robots Will Change Us》
中譯:《我們都是機器人

  衝著 Brooks 的名號,就決定購入此書。

  週日購入後,雖只 K 了一半,就趕著到這來,強烈建議大家也買來好好拜讀。

  書中附錄有提出 Brooks 其中一隻機器蟲的軟硬體說明,細節已足夠我們也複製一隻像這樣的機器蟲了。

Tags: [] [] []

Monday, March 24, 2003

Re: [借鏡靈感篇] 腦的一生 [跳脫式參考]

※ 引述《T2000 (概念語意導向類神經光腦)》之銘言:

感謝你 :)

能不能請ykjiang先提示一下"神經元群選擇"是選擇什麼? 大概是怎麼選擇? 為何選擇?

有ykjiang的導讀,相信我可以花比較少的時間。 謝謝你喔.

目前手邊資料不是很充分, Edelman 的文獻也只是提出大方向上的描述,對實作真正有幫助的細節並未公開...

這裡是其中一本著作的 review:

http://ourworld.compuserve.com/homepages/Joachim_Gruber/Edel.html

大家可以參考看看,有什麼想法再上來討論一下 :)

我再釐清一件事,

生物神經的緩慢只是由於其以離子傳遞電荷的方式,還是其網絡組織結構也有關?

如果速度慢不是緣由其網絡組織結構導致的話,相同的網絡拓僕移植到電路磁路或光路

就我目前的理解,生物神經訊號傳遞的電化學模式,有一部分不是為了單純地對外界訊息作處理與傳遞。而是跟情緒訊號傳遞、長期記憶、學習機制有關。

生物的腦神經元網路,是泡在特殊的化學濃湯中,而神經元間又大都經過這化學湯才把訊號傳遞過去...

當然啦,這裡並不是宣稱人工的神經網路也非要有這包湯不可,只是這裡發覺這包湯在生物上所扮演的角色,在人工的神經網路上很少被強調,這是否意味著前人不小心忽略掉了什麼?還是我想太多了... :p

聯想..

折舊率高一直是有機生命體宿命的缺陷,但人工的IC產業可以不用這樣,至少應該學學生物,受限物理壽命而非規格壽命。

以目前的技術,用軟體模擬較容易達成這個目標,畢竟軟體的本質,就在於“軟”嘛...

Tags: [] [] [] [] []

Tuesday, March 11, 2003

野人與牧師

  假設河分為南、北岸。今欲由南岸到北岸。

  今以(南岸牧師數、南岸野人數)的二維向量表示系統的狀態:

起始狀態:(3,3)
終止狀態:(0,0)

  若只考慮南岸、合法的狀態有:
(3,3),(2,2),(1,1),(3,2),(3,1),(3,0),(2,1),(2,0),(1,0),(0,0)

  現在再將北岸列入考慮,所以真正合法的系統狀態只有:
(3,3),(2,2),(1,1),(3,2),(3,1),(3,0),(0,0)

  同理,合法的渡河操作狀態有:
(0,1),(1,0),(1,1),(0,2),(2,0)

南岸到北岸的結果,可以用向量減法求得;
而北岸到南岸可用向量加法求得。

  每一次向量加減運算後都檢查一下運算的合法性。如此,經過奇數次運算後即可到達 (0,0) 。

  還蠻好玩的,您可以試著玩玩看。 ^_^


※ 引述《DanniesRex (笨小孩)》之銘言:

各位前輩,
可否和在下聊聊以下題目,各位的想法與解?
話說古時後,有 3位牧師帶著 3位野人要渡河,河岸只有一隻二人式的獨木舟。
現在遇到問題有
(1)獨木舟一次只可搭乘 2人,而此 6人均會划舟。
(2)河的任一岸,若有野人多於牧師人數時,牧師就會備野人吃掉。
亦即只有下列狀態之一時,才是安全的
a.任何一岸,牧師人數為3
b.任何一岸,牧師人數為0
c.任何一岸,野人與牧師的人數相等
試問如何想出一套順序包括
(a)初始狀態
(b)終止狀態
(c)任一可行解
使得3位牧師帶著3個野人能安全地過何。
Tags: [] [] [] []

Tuesday, February 25, 2003

又遇 N Puzzle

針對 N Puzzle,之前以 CLIPS, C Language Integrated Production System 求解過,那是專家系統的課,所以我也很配合地,以 heuristic 的方式,寫起一條條的 production rules 。

這次研究所的 AI 課則要求分別利用 BFS (Breadth-First Search), DFS (Depth-First Search), Iterative Deepening DFS 及 A* Search 這四種方式來求解,並比較結果。

無論在 AI searh 理論方面,或是 OOA/OOD 上,這都是個有趣的練習,所以我自告奮勇要打頭陣,完成 framework, BFS, DFS, 和最後的整合及 CUI (Character-based User Interface) 等。

設計的目標有:

  1. Correctness
    最起碼要能通老師指定的兩個 case 的試驗。
  2. Clarity
    系統架構設計要清晰、簡單、易理解,以方便對軟體作追蹤、審閱、除錯、細部調整、功能刪減等。
  3. Performance
    在滿足了correctness 及clarity之後,還要考量程式的高階效率和低階效率。舉凡底層資料結構的選擇、和高層抽象表示法連結上的介面設計等,都是考量重點。
  4. Flexibility
    我們在設計時還希望對系統架構能保持一定的彈性。如,不要只針對 8-Puzzle 設計,而更進一步粹取出N-Puzzle的表達方式。

由於分析及設計階段就是採用 OOA/OOD 的方式,所以很自然地要採用支援 OO 的程式語言來實作。經討論,我們決定採用 ANSI C++ 來實作這份設計,並利用 GNU Compiler Collection 來製作可執行檔。

雖然我們只在 Windows 下的 DJGPP 搭配 rhide 的 IDE 及 Linux 下的 g++ 搭配 make 試著編譯過我們的源碼。但理論上應可以適用於任何支援「完整」ANSI C++ 語法的平台。除了 STL 外,還使用了namespace,所以古老的 C++ 編譯環境可能無法順利編出可執行檔。

※請參閱附件:

  1. The Report
  2. Its UML diagram
Tags: [] [] [] [] [] [] [] []

Friday, November 29, 2002

機器人的進化

書名:機器人的進化--人工智慧與機器人學的新世紀
   (Robo sapiens--evolution of a new species)
作者:Peter Menzel and Faith D'Aluisio
譯者:林文源
出版:商周

動態大腦(Dynamic Brain)

我們正在研究自我組織與學習的原理,使系統自行發展出智慧。生物學的重要前提是,這個世界具有某種結構,而大腦能辨識這種結構。以此結構為基礎,大腦能經由學習與自我組織而自主發展。

生物體一定有來自基因組的訊息,某種關於如何學習的訊息,告訴我們哪些動作規則可以應付目前系統所面對的問題。我們希望瞭解基因的基本訊息,我們相信頭腦可以由此為基礎開始自行組織。

在統計式學習中,機器擁有關於知覺資料如何產生的統計模型,並利用學習的運作規則來處理資料,以確保能以統計的方式趨向較好的學習結果。

從生物學的觀點來說,我們是由小腦所驅動的。

寇格(Cog)認知

布魯克的「含括結構」(subsumption architecture)將一個系統的行為分為次單位所控制的較簡單行為,這種想法不同於一般由中央控制系統或處理器為整個機器人作決策。

布魯克:「我不認為有較高階的部分,我認為這個理論已經說明了一切,我們對人類過度擬人化了。」

Tags: [] [] [] []

Tuesday, September 10, 2002

Weighted and Weightless

〔緣起〕

  前陣子提及了 weightless 神經元,覺得蠻新鮮的。因此特地研讀了些相關資料,在此就簡單地和傳統 weighted 的神經元模型作個比較。

〔導引〕

  神經元模型,無論簡繁,每個神經元都有多個輸入,用來接收其他神經元的輸出訊號。經過簡單的處理後,得到單一的輸出訊號,這個輸出訊號可以作為多個其他神經元的輸入。

  神經網路在執行真正的功能前,都要先經過訓練(training)或學習(learning)的過程;訓練完成後是藉由回想(recall)來發揮功用。
  神經網路因單一神經元模型、網路拓樸等不同而有不同的訓練、回想方式。

  「學習」就是改變,改變神經網路拓樸、改變神經元的各項參數;
  「回想」則是根據神經元模型的假設方式來執行訓練好的功能。

〔神經元模型〕

  傳統的權重型(weighted)神經元模型,每個輸入訊號會先經過“加權”處理、總和成單一的值後,再經過一個門檻函數後才產生最後的輸出訊號。

  而無權重(weightless)神經元模型,每個特定輸入模式直接對應到特定的激發機率值。

〔訓練方式〕

  傳統的訓練方式,無論是監督式、無監督式或聯想式等,多是藉由調整神經元間連結的權重(weight)來達成。

  而無權重的,由於神經元間就如其名般,根本沒有權重這項屬性,學習就是記憶神經元的「輸入模式」,訓練則透過設定個別神經元的查詢表格(look-up table)來達成。
  所以無權重神經網路,又稱 look-up 或 logical 神經網路。

〔學習速度〕

  權重型神經網路在學習時,權重要一點一滴地、反覆地、慢慢地調整;後來有人提出機率神經網路(Probabilistic Neural Network, PNN),權重調整只要經過一次設定即可,所以學習快速。

  而無權重神經網路在訓練時,直接將想要的功能函數設定到神經元的 look-up table 即可,所以也只要一次的功夫,速度當然也很快。

〔回想方式〕

  權重型神經元模型多採用確定性激發模式;
  而無權重神經元則多採用非確定性、機率式激發。

〔理論限制〕

  權重型神經元模型有所謂的難學(hard learning)問題,比如說:無法模擬線性分離函數(如互斥或函數等)。

  而單一無權重神經元就可以模擬線性分離函數。

  不過加入隱藏層的權重型神經網路也可以模擬線性分離函數。

〔網路特性〕

  無論有無權重的神經網路,都可以依應用場合而連成層狀的或有回饋的等各式網路拓樸。

  假設有一 N 個神經元的 recurrent 型網路,又假設每個神經元的激發模式是全有全無式的二元型式,則 N 個神經元最多可有 2^N 個狀態數。
  於訓練完成後,每個網路狀態就相當於神經網路已習得的一項事實或概念。

  但實際上、網路在訓練後所能記憶的狀態數、事實個數或概念數目,還受限於諸如每個神經元的輸入個數等其他因素:

  再次假設每個神經元有 K 個輸入,權重型神經網路在訓練後所能記憶的事實數量實際上是跟 K 成比例關係。

  而無權重型神經網路所能記憶的事實數目卻呈 2^K 級數。

〔實作成本〕

  如上所述,權重型神經模型似乎有無法表達線性分離函數(就單一神經元而言)、學習速度緩慢等問題。

  更慘的是就解決同樣複雜度的問題而言,需要比無權重的多出 2^K-K 個神經元數目或同等級的接線數目。

  實際上,在這裡大膽推測,無權重的接線並不真地較簡單,其只是將權重帶來的複雜度隱藏於神經元中,而不顯現到神經元間的連結上。

  更精確地講,就模擬單一問題而言,每個“無權重的神經元”,其內部的接線複雜度都比單一“權重型神經元”複雜,且複雜度的級數比正是 2^K 比 K 。(這裡必須提醒,這個結論還沒做過詳細的統計分析,只是個人粗略的估算與臆測)

〔後話〕

  撇開網路拓樸的接線複雜度不談,無權重神經網路在學習速度上、可理解性等,都優於傳統的權重型神經網路。

  在訓練方式上,兩者也都有監督式、非監督式或聯想式的學習方法。

  且在應用上,無論是群集、分類、雜訊濾除、機器動作控制等,無權重神經網路都有成功的案例。

  在理論上,由無權重神經網路所組成的狀態神經機器,就運算能力而言,等同於通用的涂林機。

  所以,實在值得大家投入更多關愛的眼神,相信據此,會有許多新的成果。

〔參考書目〕

  關於無權重神經網路,更詳細的資訊可參考以下書目:


Aleksander, I. and Morton, B. H.
(1993) Neurons and Symbols: The Stuff that Mind is Made of.
Chapman & Hall, London.
(1995) An Introduction to Neural Computing.
Chapman & Hall, London.
Aleksander, I.
(1998) Impossible Minds: My Neurons, my Consciousness.
Yang-Chih Book Co., Ltd.
Tags: [] [] []

Sunday, June 23, 2002

Re: Weightless Neural Network

  既然有同好出現,那我也不好藏私,這裡就再貼一下當初是從哪裡知道這個東東的:

書名:A.I.人工智慧──不可思議的心靈
   (Impossible Minds -- My Neurons, My Consciousness)
譯者:沈高毅
作者:Igor Aleksander
出版:揚智

  建議先去看看書中的第二、三章。雖然第四章的圖像式學習是本書重點所在,當然特別精采...

  什麼,手邊沒有,那就趕快去買啊!本書絕對可以讓你耳目一新的。

  作者在本書中的主題是著重在“人工意識”,並提出了如何達成人工意識的十三個推論。

  我也是在隔幾個月後,於最近再次閱讀時才赫然發現其中的神經元模型竟然是 weightless 的...,雖然這部分不是本書的重點所在,但對我而言到是挺新鮮的。


※ 引述《Corroson (藍月楓鈴)》之銘言:

這個的確有趣~ (我也得好好的 K 一下資料了…)
Tags: [] [] [] []

Thursday, April 04, 2002

A.I.人工智慧

科技一直在改變,一直在進步,其中不變的是人性……

我想,這部電影是要我們及早思考,萬一這天真的來臨了,身為人類的我們,該要如何因應、如何自處呢?

面對一個我們的創造物,一個有自由意志的創造物,一個在心智及情感上都和我們不妨多讓的創造物……

沒錯,就這個創造物而言,我們就如同他們的上帝……

但是我們有權要求他們膜拜我們,只聽從我們的命令行事嗎?

如果這個新的生命體並無意與人類為敵,我們可以只因為娛樂、因為好玩,就殘酷地將其摧毀嗎?

孩子雖然出自於我們,但並不屬於我們,他們只是透過我們之手,向前穿越到未來,繼續另一階段的探險。

為人父母的,如果一定要孩子們只服從自己的命令,那勢必為雙方帶來不悅──因為每個孩子都有自己的想法,他們也該有自己的想法,生命本該如此,未來的路一定跟現在有所不同,它們也該有所不同,所以我們實在沒理由要求自己的後代只是安逸地重複我們走過的路……

又或者,這個生命體決定要取代人類,將人類摧毀,那我們又有何因應之道?

科幻電影的價值之一,就是要我們及早思考未來,預作準備……

On 31 Mar 2002 13:36:53 GMT, vivienne.bbs@bbs.cis.nctu.edu.tw (湛藍) wrote:
我一直覺得A.I.人工智慧這部電影
講的是人類潛意識中彌補遠離母愛的幼兒
在長大的人生過程中一直尋找
母愛那種無私的愛的過程……
我想映證一下自己想的對不對?

--
然 后 天 雨 。 然 后 淚 如 雨 。 然 后 骨 灰 如 雨
Tags: [] [] [] []

Friday, August 31, 2001

Re: 請問有關人工智慧

  嗯,言之成理。

  關於很多書上所說的一般人平常用腦時只用了1%,我想這實在有誤導的嫌疑。

  我們寧可說,一般人只發揮了大腦潛力的1%,而不是用了腦的1%。

  由記憶的觀點看來,大腦是個低密度使用的器官,不過這是為了因應神經細胞驚人的損耗速度下,還要確保記憶的可靠度使然...

  這又好像空氣的粒子群一樣,今天如果每一個粒子都非常隨機地遊走下,你不能因為沒感覺到風就說氣體分子只有不到1%在活動,其餘都是靜止的。

  同理,大腦的活動有很大的一部份是在潛意識或無意識的情形下運作的。腦細胞無時無刻都在進行訊息處理的工作。只是被人們意識到的部分很少罷了


  當然啦!您可以由上而下設立一個目標,讓個別分子隨機地遊走下,卻產生在整體層次的飄移現象。──此時突然刮起風來了耶... :)

※ 引述《assamer (風行~楓芸)》之銘言:


※ 引述《rancle (一隻怕冷的北極熊)》之銘言:
所以說了,人腦是很奧妙的,我看書上說一般的人平常在用腦時只用了1%,很可怕吧,還有就算是天才如愛因斯坦也才用了不到10%的腦。
所以要研發出人工智慧的電腦還有很長的路要走呢!!!

嗯...我也看過很多書是這樣寫
不過...實際上...要看他說的"平常的用腦量"是在什麼情況下而定
一般說.
人在一般時候.只用到大腦的3-5%
那.其他的9x%都在做什麼.
包含了處理感覺訊息.如聽覺.視覺.嗅覺.觸覺等等
另一部份.也包含處理運動神經的訊息.
自律神經的部分.雖然大多由小腦和延腦來完成.
但是.大腦卻可以強制介入許多東西的運作.如呼吸與眨眼等等
另外.
人的大腦運作.除了思維的運作之外.
還有很大部分的記憶系統的支援.包含短期記憶與長期記憶.
當我們在處理小事情的時候.可能只需要很少知識背景來完成.
如決定是不是該去吃午餐了.這就只需要很少的部分去運作.
可是.
如果是思考"進食行為對東方人的社會意義與文化背景為何?"
就會需要大量的記憶系統來支援.
就算是在睡覺的時候.
大腦的運作程度.也算是不低的.
另外.
大腦有一點很特別的地方就是,他有支援其他地方的特性.
今天.
如果有人中風.使得左腦的語言區無法運作.
本來分工的左右兩腦.其右腦的語言區.會開始慢慢代理左腦的功能.
其他功能亦然.
總而言之.
一個觀念.大腦的運作.是全體性的運作.
包含主要的操作系統.思維系統.運動系統.以及支援系統.
缺少了任何一個系統的運作.而單論一個系統的運作.
是無法做出真正的"人"的智慧的.
而只能做出"像是人"的東西.
Tags: [] []

Friday, August 24, 2001

Re: 人的智慧

※ 引述《doculars (墮落男子)》之銘言:

其實我比較不贊同你的看法..
因為「理性」與「感性」是結果, 不是原因
所以無法以「理性」與「感性」來產生這個「裡子」
因為妳無法蒐集到所有的「果」
你提到細胞的本體, 正巧也是我的著眼點之一
外界的刺激與神經元的訊息都該是屬於一個可被偵測, 可以被分析的狀態
也就是說可以量化
但是單一神經元對整體來說並無太大意義
這裡有點離題了..
其實該換各方式來表達我說的「智」與「慧」的意思
智 經驗、知識、推理

  經驗和知識“大致說來”是後天的,旦推理應該是先天就有的能力,並靠後天的經驗和知識來加強。

  但是有人在第一次看到蛇就會怕,嬰孩在沒有摔過跤前就本能地知道怕高... 。這些“知識”似乎是烙印在遺傳因子上。

慧 感受力、記憶力、領悟力


  感受力、記憶力及領悟力等,雖說先天的因素很重要,但也有很大的成分可以由後天的經歷或訓練而加強。

慧是先天, 智是後天..


  大體說來:愈是“簡單”的生物,其受“先天”的影響愈大;愈是“複雜”的生物,愈有機會在“後天”修正自己的行為。

  我的見解是「慧」不一定全是「先天」;「智」也未必只由「後天」決定。這只是程度上的差別。

  當然啦!您也可以定義只有先天的部分才是慧;而後天的部分才是智。不過這只是人為的定義罷了。

  又或者,您只是要做一些實作上或建立模型時的定義,並不一定要符合實際生物的情況。那就另當別論。

  只是,一牽扯到生物方面的議題,就很少有絕對的答案...

不曉得你覺得我的意思表達清楚嗎?
這是我創作 AI 很重要的一個基礎理論之一
如果有任何的錯誤也非常歡迎你的指正,
因為這也很有可能是我創作方式的關鍵..
Doculars.>
Tags: [] [] [] []

Thursday, August 23, 2001

Re: 人的智慧

※ 引述《doculars (墮落男子)》之銘言:

※ 引述《ykjiang (fractal)》之銘言:
  「專家系統」從「理性」切入,著重推理。
  最低階的「感受」來自遍佈全身的「感官」。就像以,眼、耳、鼻、舌、膚來視、聽、嗅、味、觸。

類似.. 但是是八識..
  這裡指的是不是“較高階”的感受,有點像是「感受」到腦部思考運作的中間結果。
  我到覺得:「感性」比較像是「理性」的特例,重點是這個「理性」運作過程中的某一個環節竟被我們“意識”到了,於是就有了「感性」。

其實我的說法正巧與你說的相反
而是我們的記憶是以感性為基礎
有了基礎再以理性分別

  這樣也是說得通,我只是覺得:理性跟感性的基礎結構是相同的,這就好像一張紙的兩面。或是對一個物體的不同視角。也好像物理上粒子和波動的二重性。端看您從哪個角度觀察,其所呈現出來的特性也就不同。

  所以,「理性」跟「感性」其「裡子」是同一個的。不過卻呈現出兩種特性來。

  而你認為這個「裡子」是「慧」;我先前卻說這個「裡子」是「理性」。現在想想,這個「裡子」應該同時包含「智」與「慧」,是「理性」和「感性」的綜合體。

  簡單地只以單一個神經元為例:“突觸”接收外來的刺激是「感性」;“細胞本體”轉換所接收的訊號就是「理性」。──當然啦,這只是粗略的講法啦...

所以說, 人是不思考的..
其實這也不是我這一篇的主要用意
這裡是強調, 智與慧需分別開來發展
現在的人工智慧開發方式是屬於專家系統居多
也就是我們先推演邏輯, 而後程式化
其實這個部分是屬於「智」的部分, 所以專家系統無「慧」可以產生意識
昨天我有發現到一篇與我類似的文章
是大陸的人工智慧研究網站
http://newmind.best.163.com/cybermind/
不曉得你對上面我的回覆覺得如何?歡迎再討論..
Doculars..>
Tags: [] [] [] []

Wednesday, September 20, 2000

我對資訊家電的淺見 -- MIT活氧計劃[譯]

主題:

MIT活氧計畫
-- 摘自:MIT活氧計畫首頁 ╱ Yukuan 譯

摘要:


  讓人們以更少的工作量來達成更多的成果。
  促使大量的運算和通訊如同空氣般滲透到我們的生活環境。

願景:


   在過去,電腦是昂貴的。它們被放在有空調的房間裏或桌面上。而最近,我們把自己的電腦帶著到處走。為了增加對電腦世界的存 取,我們走向一部電腦或乾脆攜帶著它,在鍵盤上敲字或者按著滑鼠鍵,還要學會編造的名字來存取我們感興趣的個人資料或電腦資源。電腦不但不關心,甚至根本 沒有意識到人類的存在。虛擬實境只製造了更糟的物質世界:我們不僅不是單 純地走向電腦,而且還生活在電腦所虛構的真實裡。
  在未來,電腦就像電池和電源插座一樣,或如同我們呼吸的空氣般,將在每個地方自由地發揮效用。運算資源將進入人類的世界,滿足我們的目的和需求。我們將不再需要隨身攜帶個人的運算裝置;取而代之地,非但不是手持裝置,而是內嵌到環境中的匿名裝置.,無論我們在任何情況下都將為我們帶來運算資源。這些裝置將個人化地把任何地方找得到的資訊以及我們需要的軟體功能呈現出來。我們將不再需要打字或敲滑鼠鍵,也不再需要學習電腦術語;取而代之地,我們將透過說話視覺,和以字句描述意圖等方式,自然地和電腦溝通。我們將拋棄到電腦面前霸佔適當資源後,才想辦法滿足我們意圖的電腦利用方式。

目標:


  活氧計畫的目的是建立一個系統,來滿足上述的願景。活氧系統將透過自然的說話視覺介面來豐富使用者的運算及通訊能力。這樣的電腦介面,將讓人們在和電腦合作,透過它存取知識,並將重複性的工作自動化等事務上,變得更加容易。活氧系統必須:
  • 滲透--它必須是無所不在的,並延伸相同的資訊基礎到每一個入口;
  • 內嵌--它必須活在我們的世界,並感覺影響這個世界;
  • 機動--它的使用者和運算資源必須能夠根據他們的需要而自由地移動
  • 不朽--它必須永不當機,也不必重新開機;零件能夠在回應需求、錯誤發生、和升級時自由更換;但就整個活氧系統而言,卻要能夠不停地、永恆地運轉著。  

途徑:


  活氧是架構在一個基礎結構上,這個基礎結構會經由自我組態網而將許多移動的、不會移動的裝置群互相連接。這個基礎結構提供大量的運算及通訊,並利用許多分層的軟體技術來迎接使用者的需求。活氧技術和放在桌上的主機所領導的技術相較之下,呈現一段很大的差距。
... ....

應用:


... ...

挑戰:

Tags: [] [] []

Sunday, July 02, 2000

The Puzzle Game

大學時(1996)選修的“專家系統”課,任課老師要我們以 CLIPS 實作智慧拼盤程式。當初對這的專家系統的 CLIPS 感到滿新鮮的,所以就把這個問題的核心往自己身上攬,而將使用者介面讓其他組員去發揮。CLIPS 是 C Language Integrated Production System 的縮寫,由美國 NASA 太空中心的一個人工智慧部門所發展,就發展專家系統而言,是個很有用的工具。

“智慧拼盤”(puzzle),是一個n×n的格狀棋盤(grid board)遊戲。棋盤上的每一格都有一個正方形的積木(block),每個積木都有自己正確順序(order)的位置,為了區別,依序編上1到n×n的 編號。遊戲啟始時先將其中一格積木取走,造成的空缺(blank),使相鄰的積木可以移動至空缺上,並編上“0”。如此,利用這個空缺,可以將棋盤上原先 就定位的積木之順序打散(disorder)。玩遊戲的一方(player)所要完成的目標(goal)就是要將積木利用空格 (編號為0),排回(reorder)原先的位置。

這個題目的目的是要設計一個會玩智慧拼盤的專家系統,所以一開始由人將積木的順序 打散,再要求電腦將其排回正確的位置。為了達成更好的展示效果,於是選定了圖形化的使用者介面。又為了簡化問題,於是先從3個階層著手,也就是3×3的智 慧拼盤遊戲,作為測試規則的用途。不過,為了將來能夠將系統套用於任何階層,所以規則制定時都很一般化,原則上這些規則要能在任何階層的智慧拼盤下運轉, 至於能否在任何階層都求出解答,不是目前所要求的。

這個軟體的開發平台是在 MS-DOS 下的 CLIPS v6.0 上建立 puzzle 規則,並利用 MS Windows 3.1 下的 MS Visual Basic 設計使用者介面。

※請參閱《智慧拼盤