Category Archive for '電腦科學'

Posted By Mr. Thursday 在本體論: 讓舉一反三變得可能裡面提到了機器在規則上面的學習,本體論 (ontology)是一件重要的事情,因為有了ontology,機器可以舉一反三,一件事情學習一次,可以以此類推到其他相同性質的事情上面,就如同我們第一堂數學課,學過了一顆蘋果加上一顆蘋果等於兩顆蘋果,考試的時候問一顆橘子加上一顆橘子等於幾顆橘子,我們知道是兩顆橘子,因為我們學到的是一個抽象後的規則: 1 + 1 = 2 ,不會因為蘋果換成橘子,就無法變通。 早期的人工智慧系統,是從邏輯出發,把外在的世界,轉換成一句一句的邏輯規則。或許我們會想問,為甚麼要用邏輯來表示外在世界呢?我們的大腦是用邏輯來處理事情嗎?首先,邏輯 (logic) 可以保證 sound and complete。甚麼又是 sound and complete呢?或許西方的法院裡面,證人作證之前,會先發誓說:I will tell the truth, the whole truth, nothing but the truth. (我會說實話,全部的真話,除了真話以外的都不說。) 因此 complete (完備) 就像是裡面所說的,「全部」的真話,不是部份的真話。sound (可靠) 就像是證人說的,「真話以外」都不說。因此我們如果使用邏輯內在表示法,來表示外在的真實世界,我們進行推理的時候,就不會推理出不會發生的事情。然而真實世界非常複雜,一滴雨滴從天上掉下來,中間溫度的變化,空氣摩擦力,地心引力,旁邊的雨滴,有許多的因素 (factor) 可以影響最後雨滴的位置。我們如果要用邏輯推理,前提的部分可能就要考慮所有可能的因素,才能保證我們用邏輯寫下來的規則,是真實的。 近代人工智慧系統,則是用機率表示法,加上統計對觀察資料的處理,來表示外在的世界。機率不會保證一個規則的sound and complete,但是會給這個規則一個機率值。如果機率值是0.7,代表說如果用了這個規則,100次裡面會有70次正確。或是說,如果有100次機會,70次用這個規則,會有最好的結果。再舉一個例子來說,今天我的手對著一把刀片揮下去,會被砍出一個傷口。我們就學一個規則:比手硬的東西,揮下去會受傷。但是一片硬的牆壁,手揮下去卻又沒有傷口,我們只好修改一下邏輯規則:比手硬,又尖尖的東西,揮下去會受傷。可是一堆沙堆出來一個刀片形狀,手揮下去,是沙堆破掉手沒有事情。因此對於邏輯系統來說,總是會一直出現「例外」,前提必須要不斷修改,才能保證整個規則的真實性。機率表示法來說,就是把例外當成可能發生的事情,「比手硬的東西,揮下去會受傷」的機率是0.8等等,剩下0.2的機率就是那些例外。不過機率也不全然是隨便給定,沒有真實的參考價值,也是要滿足一些基本條件,像是所有事件的機率加起來等於1等限制,因此可以證明如果照著算出來的機率值來行動,可以得到最好的期望值。 但是,除了邏輯和機率這兩種內在表示法,是否就沒有其他表示法,可以保證推理結果的真實性,又能夠處理真實世界複雜的各種因果關係,讓我們繼續活下去呢?或是說,怎樣子讓電腦計算機,可以像人類一樣,舉一反三,能夠化整為零,察覺到最細微的關鍵變化,又能夠「見樹又見林」,知道各個部分之間的關聯性,對整個全局 (big picture) 能夠有所了解呢?在這邊我想提出一個想法,就是「化整為零」。

Read Full Post »

Posted By Mr. Thursday 子曰:「舉一隅不以三隅反,則不復也。」所謂舉一反三,就是可以靈活應用已經學過的規則,在新的情況上面。譬如說,第一堂數學課,可能會教到一顆蘋果加上一顆蘋果,等於兩顆蘋果,但是考試的時候問到,一顆橘子加上一顆橘子,等於幾顆橘子?這個時候我們不會因為蘋果變成橘子,就忘記後面一個抽象化的規則:1 + 1 = 2 。因此,舉一反三就是能夠把經驗歸納成一個規則來表示,但是這個規則是一條具有彈性的規則,可以在適當的情況下拿出來應用,即使現在面對的情況和過去遇到的經驗有些微不同,譬如說蘋果變成橘子,但是我們可以把經驗抽象萃取出來的規則,靈活運用在新的情況上面,因此一顆橘子加一顆橘子,就如同一顆蘋果加上一顆蘋果一樣,答案是兩顆橘子。 對於人類來說,舉一反三在某些領域,人類表現得不錯,然而電腦計算機來說,舉一反三仍舊是人工智慧的一個瓶頸,主要的問題,我想本體論的學習與維持,是其中一環。接下來我就分別就「規則」、「本體論」,分別介紹和討論,一起探討如果要讓計算機和人一樣,可以舉一反三,有哪些困難,又有哪些可能的解決方法?

Read Full Post »

Posted By Mr. Thursday 我們的大腦複雜無比,裡面的神經網路錯綜複雜,也因此讓我們能夠表現智慧的行為。現今一些人工智慧 (AI: Artificial Intelligence) 的問題,或許可以透過參考人腦的神經網路,來設計一個可以處理視覺、聽覺、文字等資訊的人工智慧系統。除此之外,如果還能夠像人類一樣,能夠自我調整、自我學習,儘量減少人類對系統直接的調整,是最好的了。然而人腦的神經網路,又是如何自我學習、自我調整呢?今天就先和各位分享神經網路調整的兩種方法:海扁學習和STDP,並且另外介紹神經網路同步化 (synchronized)和同多步 (polychrnous)的模型,進一步探討可能的神經網路模式,或許對人工智慧自我學習的方法上,也能提供一些參考! Hebbian Learning Donald O. Hebb (1904 – 1985) 是一位神經心理學家 (圖1 Donald O. Hebb),他對神經網路最重要的一個貢獻,就是 Hebbian Learning ,在這邊我就暫且先翻譯成 海扁學習法。甚麼是海扁學習法呢?海扁學習是在學習甚麼東西呢?首先,讓我們先回憶一下,我們的大腦裡面,是由許許多多的神經元 (neuron) 所組成,神經元和神經元之間,有著連結,叫做神經鍵結 (synapse)。神經元和神經鍵結整個形成一個網路,可以讓神經訊號到處傳遞,就稱為一個神經網路 (neural network)。 我們外在的行為,就是因為神經網路接受了刺激,處理之後產生了反應。然而從刺激到反應之間訊號如何被處理、被轉換,讓我們的行為表現出有智慧的樣子呢?這就牽涉到神經元之間的連結了,因為某些神經元之間連結弱一點,某些神經元之間的連結強一點,我們就可以針對不同的刺激,產生不同的反應,進而表現出智慧的行為。如果我們再縮小範圍來看整個網路裡面的某兩個神經元,接著我們就要問,這兩個神經元之間的連結強度,要怎樣子變強變弱呢?Hebb就針對這個部分提出他的假設,後來也經由許多實驗資料證實,成為海扁學習法了。

Read Full Post »

Posted By Mr. Thursday 圖1 Melodyne聲音編輯軟體 喜歡創作音樂、編輯音樂的朋友有福啦!由Celemony Software公司的 Neubäcker 製作了一套軟體稱為 Melodyne,可以提供比一般音樂編輯軟體更為細膩的編輯方式。一般的音樂編輯軟體可以提供一些音效上的編輯,譬如說速度的變快變慢,譬如說音高的變高變低,譬如說聲音大小變大聲變小聲等等。然而目前這些軟體都是針對「整首曲子」來編輯,也就是說,是整首曲子節奏一起變快變慢,整首曲子音高一起變高變低,整首曲子一起變大聲變小聲。現在這個軟體,因為可以把一首曲子裡面每個音符,一個音符一個音符拆解開來,即使是同一個拍子出來的三個音符,也能夠拆解開來,因此就像上面那張圖一樣,變成一個二維的平面,橫軸是時間軸,縱軸是聲音高低,每一個音符的聲波拆解後就在平面上一個角落確定下來,等待使用者進一步編輯每一個音符。

Read Full Post »

Posted By Mr. Thursday 圖1 Siftables MIT Media Lab的David Merrill和Jeevan Kalanithi發明了一個互動裝置叫做Siftables。這項裝置是由一堆小正方形所組成,每個小正方形有一個OLED螢幕,藍牙無線傳輸,三個方向軸的加速度偵測器,以及和其他正方形相連接的位置。這些小正方形主要是想提供使用者一些直覺、具體的互動經驗,譬如說沙漏反過來、譬如說攪動咖啡杯、譬如說把液體從一個杯子到到另外一個杯子、譬如說在桌子上面拍一下,棋盤上面的棋子會跟著晃動。這些具體世界的互動經驗,就是Siftables想要提供的經驗,用這種方式來讓使用者存取或是整理資訊,譬如說把相片分類,或是依照不同順序來排列相片。將來如果手機也能在外觀和互動方式上做到這種互動方式,或許也能提供更多有趣的服務。下面就是一段DEMO的影片,內容如上所述: 另外,許多小正方形組合起來的方式,也讓我想到自我組裝的機器人。自我組裝自我修復的能力,也算是人工智慧所追求的目標之一了!   參考連結 (Engadget) MIT’s Siftables let you juggle your data… for real (MIT Media Lab) siftables

Read Full Post »

以目前全球資訊網上擁有的巨量資訊,如果沒有高效率搜尋引擎的幫助,尋找資訊將如同大海撈針一般困難,今天已有許多商業的搜尋引擎試圖滿足此類搜尋工作的需求,例如:Google,Yahoo,Ask與Microsoft Live Search等。搜尋引擎多會依照某種方式進行排序,把相關的網路搜尋結果以排名順序列表一一提供使用者去瀏覽,讓使用者依照搜尋結果摘要的內容自行挑選。然而這樣的瀏覽方式極度沒有效率,因為網路搜尋結果通常相當的多,而一般使用者多只會有耐心瀏覽前若干筆的搜尋結果,而且這類排名順序列表的呈現方式會使得很多關於使用者查詢的子議題通通混雜在一起,很容易造成使用者錯過重要資訊。

Read Full Post »

因為 NUI 這個團體實在是太優秀了,因此大家在製作軟體時,用這個 TouchLib 都會遵循他們得 protocol,也就是說,他們所製作的軟體你都可以依照上面的設定把它們全部給跑起來。現在我提供一些連結可以,你可以把 MMA 這個圖片/影像管理軟體給跑起來、水波紋軟體、Audio 軟體、連 Launcher 也有,真是一堆軟體任你玩,更多的軟體可以到 NUI 論壇裡面的 AS3 Section 裡面去翻

Read Full Post »