Posted By Mr. Thursday
原文於2007年11月16日發表於MMDays。
之前幾篇文章稍微提到了計算神經科學想要以數學的方法,計算出神經生物上詳細的模型,好的模型還可以在拿回電腦科學領域,尤其是人工智慧的問題上面,作為解決的方法。至於現在的機器學習方法,為甚麼我覺得不夠用呢?我主要是覺得困難在兩個地方:特徵 (feature) 的擷取,參數 (parameter) 調整過程中需要人的參與,以及文字意義 (meaning)學習上可能會有困難。以下就這三個部分來做個討論,順便討論計算神經目前能夠解決的部分,和未來有可能達成的目標 (人機介面: Brain-Computer Interface)。
首先先和各位談談二項式係數。不知道各位是否有學過多項式呢?如果不知道二項式係數,可以先看看下面這個巴斯卡三角形:

多項式可以說是很多項的式子,每一個項目都是由一些變數乘積起來,像是xy或是y^2 (y平方的意思)。多項式就是這些項目,用加減乘除等運算連起來。如果每一個項目裡面只會出現兩個變數,就稱為二項式了。至於每一個項目前面的常數部分,就稱為係數,譬如說x^2 + 2xy + y^2,第一項、第二項、第三項的係數分別就是1,2,1。
今天如果要請各位,用巴斯卡三角形的方法,來計算二項式係數,前幾列還好,1,2,1,1,3,3,1,1,4,6,4,1,1,5,10,10,5,1,心算如果比較好的讀者,也許可以再往下算,算到1,8,28,56,70,56,28,8,1那一列都沒問題。然而如果我們要求第100列,或是第1000列的二項式係數,然後用巴斯卡三角形的方法往下算,也許沒有幾位可以辦得到了。這時候有一些方法,第一種方法是像九九乘法表一樣,用記憶背頌結果,不但速度快,也回答得出來。第二種方法是用電腦計算機來計算。如果純粹依靠人腦計算,數字越來越多,記不住, 或是算了後面幾項,前面幾項的結果已經忘記了。所以記憶力和心算能力,變成解決這個問題的重點。然而現在已經有了數字計算上,比人腦快的電腦,為甚麼還要人類去用腦計算二項式係數呢?
這邊我想回到九九乘法表的地方談談知識分享的問題。今天我們有 Wikipedia,是個大家可以分享知識的地方,也是目前Web2.0分享模式成功的案例,雖然獲利模式是以捐款贊助來維持運轉。另一方面,現在許多智慧財產,高科技技術,是用專利保護著。所以我們可以想想,甚麼樣子的知識適合分享呢?以剛才的九九乘法表為例,大家都會九九乘法表,是利人又利己,因為大家平常找零錢的時候速度快很多。如果今天店員只會加法,買了20元的東西,給店員100元鈔票。店員會先找一個10塊,然後說30,再給10塊,然後說40,再找10塊,然後說50,最後再找一個50塊,然後說100,錢都找完了。如果店員會減法,100-20 = 80,直接拿80元出來找,速度就快很多。九九乘法表讓我們生活中需要運算的時候速度變快許多!
所以,我們會因為別人會了九九乘法表,而覺得失去競爭優勢嗎?不會!反而覺得是雙方都有受益。因此這種雙方都能夠受益的知識,適合用Web2.0方式分享。然而今天那些有專利的知識,是否也要分享呢?也許隨著人類的文明進展,如果人腦有發達到一天,每個人的記憶力和理解力都增加,每個人都可以學更多東西,那麼分享比九九乘法表更難的知識,是大家都能受益,因為大家能夠更快解決問題,而不必擔心競爭力的問題。因此短時間來看,專利是保護也是提供足夠動機來創新知識的動力,分享似乎是破壞了市場價格。然而長遠來看,只要人類有辦法演化成更有智慧的生物,現在看起來難的東西,將來就變成像九九乘法表一樣基本,這時候原本專利的東西,就是適合拿出來分享的時候了!也許漸進式的分享越來越多難的東西,長期來看是對人類文明有幫助,對個人來說也不會有競爭力的問題了!
回到巴斯卡斯角形,我們人腦要怎樣子才能有能力心算出來呢?回答這個問題之前讓我們先討論機器學習方法的困難點。
特徵 特徵 特徵
首先,人類目前有一些能力,機器還沒有辦法達成。譬如說給一張圖片,裡面有一條河,有一座山,要找一張相似的圖片,不管是白天或是晚上,晴天或是與天,河水是不是藍色,山頂有沒有雪。這個時候需要一個能力叫做「抽象化」。一張圖片如果可以抽象化,我們可以在抽象後的空間裡面比對兩張照片,而非像素的空間比對兩張照片。現在的做法是把兩張照片,用一些統計量公式,算出一個相片的指紋 (finger print, signature),然後比對其他相片的指紋signature,如果接近就判斷是類似的照片。然而這個方法沒有用抽象化,因此公式的好壞,訓練資料的代表性,就影響的正確率。另外也少了人類解決這個步驟的方法:抽象化。如果說我們要像製造飛機一樣,不必模仿鳥類要有拍動的翅膀,就可以用空氣動力學飛起來,還可以乘載200多人。機器學習法如果做的好,正確率也是會高,但是碰到這種人工智慧的問題,像是「抽象化」、「尋找類似的東西」,機器學習目前似乎還沒有很好的解答?
抽象化又牽涉到特徵 (feature) 的擷取。今天各種機器學習演算法,通常要把每一筆資料用向量的方式來呈現,向量裡面每一個元素,就是一個特徵 (feature)。譬如說照片裡面,每個像素可以當成一個特徵,有多少直線可以當成一個特徵,橫線的個數可以當成一個特徵。然後用機器學習演算法來學習出一個模型,作為日後判斷的基礎。然而特徵的選定,目前還是需要人類的參與,選的好或壞常會影響正確率。如果我們想要自動化選取特徵的過程,我們可能就看看選擇某些特徵的時候,正確率如何?選擇另外一些特徵的時候,正確率又如何?先用Cross Validation來看看,哪些特徵判斷力最好?然而這個時候訓練資料的代表性又很重要,而且訓練出來的模型,比較不能舉一反三地應用在另外一個領域裡面,這又和真正的人類智慧有些不同了。
參數 參數 參數
另外一個需要人類參與的,就是模型裡面的參數。有些參數是要從資料裡面學習出來。有些參數可以用人為來調整。舉例來說,SVM (Support Vector Machine),因為公式計算過程中有一些參數,可以調整,同樣地也是可以用Cross Validation來決定用甚麼參數,或是用預設值就好。然而這又是一個人類需要介入的地方,也是機器無法舉一反三的地方。
語言意義的學習
最後要提到的是人類語言以及意義了解的問題。在機器學習或是人工智慧學習方法裡面,大部分是用數字來表示一項資料,譬如說一個向量,裡面用數字來表示某個特徵的值。然而文字很難用數字表達,即使表達了,也沒有表達出意義。譬如說我們用10代表「山」這個字,那麼10 + 10 = 20,20代表甚麼呢?是「出」這一個字嗎?意義上也說不通。而且5+5+5+5,也等於20,那5是甚麼呢?這邊就發現文字意義,要用數字的運算表達出來,有問題。
如果是用邏輯命題,或是規則資料庫(rule-based),或許可以不用數字來表達資料。然而如果想要解決之前提到的特徵問題,我們可能又會遇到一個情形。譬如說:我們想要比對相似的照片,裡面有一座山、一條河、和一間房屋。所以我們開始注意每一張照片的山、河、和房屋。隔天我們要比對有交通工具的照片,我們要多一個特徵叫做交通工具。機器永遠沒辦法舉一反三,人類要不斷介入才能解決。
也許目前機器學習法有部分的解決方法,或許在ICML這個機器學習最重要的會議裡面可以先找找答案。對於特徵選擇和參數的部分,我們也可以把未知的部分當成隱藏變數 (hidden variable),然後用機率式的學習法 (probablistic learning),把這個問題當成是部份可觀察的問題來解決 (partial data)。這部分UAI會議 (Uncertainty AI)也可以找找是否有解答。
也因此就我個人而言,會想從人類大腦的神經機制,來尋找解決的方法。雖然目前計算神經所提出的模型,只能解決一些比較小規模的問題,譬如說視覺上看到橫線或直線,神經的反應機制,或是照片的簡單分類在神經上的機制。如果要知道人類尋找「類似」照片的時候,那一個離子通道產生變化,或是人類思考某個文字,產生某個意義的時候,哪一個神經傳導元素作用了哪一個蛋白質,這部分目前都是未知的!然而還是有機會,讓我們知道這些過程的神經機制,除了應用回電腦科學以外,還可以製造人機介面。
目前的人機介面大部分是給身體無法移動的病患,可以透過眼球或是腦波控制,來移動滑鼠游標,或是控制病床升降,或是開燈,或是替代損壞的視網膜。如果人類比較高層次的認知活動,像是語言產生意義,尋找類似物品和抽象化的能力,其背後的神經機制若能夠發現,那麼我們也可以了解大腦思想的表達方式,人腦和電腦之間可以互相轉換資料,這時候人腦的能力和電腦的計算能力,就可以互補,讓我們計算巴斯卡三角形速度更快而沒有負擔,在未來巴斯卡三角形就像九九乘法表一樣基本的時代裡面。電腦也可以運用人類抽象化的能力,更正確地尋找「類似」的東西,並且是以更快的速度達成抽象化才能解決的問題。這個人機介面,也是我研究計算神經的長期目標!
最後總結一下之前提到的機器學習問題
- 人腦有「抽象化」能力,可以尋找「類似」的東西
- 機器學習法需要人類參與,無法廣泛地舉一反三,包含特徵、參數、和意義了解
- 特徵的選擇即使可以用Cross Validation解決,或是規則式(rule-based)方法解決,但是特徵可能無窮無盡多,選定哪些特徵也會牽涉到訓練資料的代表性
- 機率式學習可以暫時解決特徵選取的問題
- 機器學習法裡面的參數需要人類參與,也無法廣泛地舉一反三,訓練資料需要代表性
- 機率式學習法也可以暫時解決參數選取的問題
- 但是到了文字意義學習的問題,機率式學習法也會有問題,因為文字要數字化很難。目前有一些統計量,或是計算字的頻率,將文字數字化(可以參考字字珠璣: TF 和 IDF),但是對於了解意義還是有段距離。如果今天有個演算法可以學習到:某個字出現五次以後,另外一個字又出現八次,就表示某個意思,這個意思類似的概念可以用某個字先出現三次再出現某個字兩次來表達,那也算是機器學習法的成功。
Turing Test是最早提出來檢查電腦是否具有人工智慧的方法。Turing Test是說,如果一個機器用布幕遮起來,然後外面有一個人和這台機器說話,如果這個人無法分辨步幕裡面是機器還是真的人類在說話,這個機器就具有人工智慧。然而這個定義有些像是操作型定義,因此我想如果要詳細列出人工智慧的條件,或許可以像剛才提到的部分,整理如下:
- 要有「抽象化」尋找「類似」物品的能力
- 特徵(feature)和參數(parameter)能夠減少人類的介入,舉一反三
- 即使需要了解文字意義的問題,也能夠自動選取特徵和參數
- 即使需要人類介入,是用人類語言教機器,而非更動參數的方式教導機器
- 文字數字化的方法
最後再整理一下這篇文章的主旨
- 機器學習的問題我認為有特徵、參數 、和文字意義了解的問題
- 例子主要是在需要人類「抽象化」和尋找「類似」東西的問題上
- 文字意義的了解,以及如何把文字轉換成電腦可以運算的數字系統是個問題
- 人機介面如果可以互相表達「抽象化」等認知功能,就可以讓人腦和電腦互補
- 人腦電腦互補的時代,巴斯卡三角形的計算將和九九乘法表一樣簡單,困難的知識分享出去不用擔心減少個人的競爭力,反而讓人類文明進步,大家都受益
- 能夠傳送抽象化能力的人機介面,是我研究計算神經科學的長期目標和動機
當然,因為我並非機器學習的專家,以上困難之處,也是我個人的想法,或許最近也有新的解法,或是其實本來就有解法可以解決,都歡迎各方好手提供回應,多多指教!也歡迎各位如果有興趣,不妨想想如何讓電腦具有抽象化的能力,即使不參考神經生物的機制也是可以的!謝謝各位!
參考資料
相關新聞
- 台美研製人工視網膜 盲人可復明 (自由時報)
- 腦波啟動 「意念開關」不是夢 (中國時報)
- 燈亮燈暗 腦波可以控制 (聯合報)
- 眼力+念力 癱者遙控床 (聯合報)
- 眼神操控病床 癱瘓患者不求人 (中國時報)

抽象轉化為符號的能力確實是電腦無法做到的, 我認為這是屬於很高階的智慧能力, 單細胞生物做不到, 多細胞生物也是做不到, 然而生物都有能活下去的智慧, 電腦卻得依賴人工設計.
我們該著手的應該是單一的生命機制, 然後是複雜的生命機制, 考慮抽象化的能力是有點過份了. 這是我之前思考後的結果, 很高興看到有人也有同樣的想法.
我對於上一篇”神經科學研究的各個層次”的回應, Thursday也替我做了一篇回應, 我決定在這邊回文, 因為這邊談到的更是切入主題.
Thursday說, 想要知道在記憶體與儲存機制中誕生的類神經, 是否可以具有舉一反三的能力.
我們先回想類神經的基礎單元與訓練方式. 我們期望一個類神經對A訊號有正反應, 其他訊號有負反應. 一個單一的類神經具有閥值, 特徵值, 輸入, 輸出. 一個訊號進來, 利用閥值判斷為True或False的輸出. 而神經的訓練法, 目的就在於調整閥值大小與定義正確的方向. 在這類神經模型描述的中間, 存在最不人工智慧的地方是, 訊號怎麼跟閥值做比較, 應該要比較大, 比較小, 還是要剛剛好. 在訓練的最終, 神經的參數寫死, 不再變動, 使得不再有生命的可變性. 歸納罪魁禍首就是本段第二句, 我們期望類神經對某訊號有某反應.
當我們規定好的調整方向, 也就存在了人為的介入. 那是否不規定好調整方向, 就不存在人為介入了呢? 但是調整閥值的方法中, 如果沒有一個依據, 便無法做調整. 總不能亂調吧?! 若是人工智慧要求的普遍化能力, 是對任意的輸入訊號都有其近似解, 在我眼中, 則是非人工智慧. 因為他對輸入訊號產生的輸出, 都符合了人的要求, 自然而然非人工智慧, 是為矛盾. 人工智慧是否不存在於類神經之中, 我認為是肯定的, 雖然我無法證明它是, 如同電子受電力繞質子旋轉一般, 如此無機的行為.
我們必須拋開, “電腦產生的訊號是我們希望得到的訊號”這點訴求. 人工智慧是, “電腦表達出的行為, 是符合環境的需求, 達到存活的目的”這樣的訊號.
我們希望電腦幫我們倒車, 然而電腦把車撞壞了, 所以我們應該拍拍手, 因為他把他自己弄死了. 要是電腦成功倒車了, 我們也拍拍手, 因為他暫時是活著的. 在倒車的世界中, 我們認為, 把自己弄死的電腦是要被淘汰的, 該生存的是成功倒車的電腦, 是倒車失敗的電腦自取滅亡, 這跟人的期望無關, 我們只能自己高興. 最終該有能持續倒車存活的電腦存在於倒車的世界中. 他們能永遠的活再倒車世界裡, 是這世界中的生物. 人要做的事情, 就是觀察, 歸類這世界中的生物品種. 當電腦需要倒車的時候, 持續倒車成功的機制, 是我們希望得到的生物品種. 甚至這樣的品種可以進化到, 不管空位在何種方位, 周圍有多少障礙物, 還是能倒車成功.
用類神經來做到這點, 應該要具有無限量的輸入節點. 然而這是不可能的事情. 外在應該存在一種機制, 來應對各式各樣的輸入, 而非用無限量節點的類神經來完成. 能舉一反三的人工智慧應該發生在類神經模型之外的架構. 是由這個外在架構去規範, 類神經模型應該如何訓練才會產生倒車成功的結果. 第一個完整的架構已經誕生了, 就是”人類”. 我們希望產生的是第二個完整的架構, 就是”人工智慧”.
在倒車世界中, 我們知道了有類神經細胞與一個機制, 導致倒車成功或失敗的結果. 然而我們還是不能介入其中, 只能持續觀察. 或許世界在幾百個世代後會變成月球般, 渺無生命, 一片死寂, 我們可以去修正這個機制, 修正整個世界的變數, 但就是不能夠直接告訴他們, “請倒車成功”. 人工智慧唯有在這種環境下, 才有可能出現.
本文重點在於, 設計一個永續世界, 與一個存活機制, 產生大量的可突變種生物, 很像基因演算法那樣, 然後觀察, 歸類, 找出我們要的生物, 然後讓他繼續活下去.
我們可以把這樣的生物, 丟到一個假想環境中, 就是目前我們要倒車的地方, 他會幫我們倒車, 倒車成功後, 就把它放回世界的籠子裡, 繼續存活. 如此便完成很有智慧的倒車, 這一項人為要求.
在我考慮以上所說的世界與機制之後. 我就開始著手思考機制如何產生. 但仍然遇到接近”類神經無智慧論”描述的這種現象, “需要人為介入”. 後來因為趕論文, 所以到現在還在思考中:S……….. 最近口試完畢, 應該可以繼續發展, 希望能再跟Thursday討論, 也期待Thursday能夠繼續發表新的想法, 吸引相關興趣的人一同討論.
接下來我想提很多文字中已經被轉化的概念.
第一個問題, 0 是什麼. 無, 沒有, 否, 空, 不知道, 非, 不存在? 這些字都是用來描述0嗎? 不是, 是人類用0去描述這些字. 然而希望0是有辦法被電腦理解的, 這點相當的困難, 因為這是人類轉化再轉化的符號.
回歸到沒有文字的時代, 什麼東西可以表達0? 壁畫, 繩結, 樹枝, 石頭, 拳頭, 手指. 我看要表達0, 實在是非常的難. 0是一種相當難描述的概念. 我們可以去wiki上查詢”數”這個條目, 0的歷史比數的歷史還短, 其難以理解程度, 可以由此得知. 然而我們卻要一個沒有行為能力, 沒有智慧的電腦去理解.
雖然0在電腦中, 是以百分之50以上的機率出現的數字, 但是電腦程式並沒有辦法解釋什麼是0. 基本上, 一些智能的基本數學運算, 都會因此卡住了.
透過0這個問題, 我想引伸出的, 是”行為轉化”的這個現象.
一顆蘋果, 放在桌上, 我們指著一顆蘋果, 說”一”. 用一根手指頭, 說”一”. 用一隻手臂, 說”一”. 用發音”一”, 說”一”(在別的語言中用別的音說一). 用擊打大鼓, 說”一”. 用眨眼一次, 說”一”. 用口哨, 說”一”.
“一”, 是透過一種單次運作, 或某種獨立狀態, 透過文字轉化為”一”.
當我們希望智慧能夠產生”一”的概念, 就代表該智慧先要能表達”一”的行為. 然後歸納各種”一”的行為, 得到”一”的含意.
我相信, “智能的學習能力不超過智能的行為能力”, 想要發展智能, 首先讓他能夠表達. “一”, 只不過是人類歸納出的意義, 我們只能透過觀察, 得到電腦程式可作”一”的行為能力這樣的結果, 而不是馬上讓他直接說出”一”. 或許將來他能夠憑自己的意識說出”一”, 但目前還太早了.
Thursday說的”文字意義學習”, 難. 不管目前任何的手法, 都是人為介入產生的. 只因為, 電腦不具有行為能力, 所以無法真真正正的理解.
我們要創造的, 不是能理解抽象問題的程式, 而是將”像”具體化的程式, 這才是人工智能首要目標.
from NTj -”設計一個永續世界, 與一個存活機制, 產生大量的可突變種生物, 很像基因演算法那樣, 然後觀察, 歸類, 找出我們要的生物, 然後讓他繼續活下去”.
人工生命 [1] 這個領域由來很久了(1987-), 也可以在網路上找到後來的研究成果[2], 例如”電子魚”. 雖然范紐曼很看好它, 但過了這麼久時間, 似乎也沒有很突出的成果(商業應用?)
曾經試著找過國內有哪些教授從事這方面的研究, 不過似乎沒找著. 這表示人工生命已經走到胡同了嗎? (或者只是我沒找到)
關於智慧與環境的關連性. 曾經在”電腦生命天演論”這本書看過一句話- “演化即智慧, 智慧即演化”. 以及另一篇有些關聯的討論”如果有一天,電腦也有生存的壓力,有了逃避的動機,也有了自主性地社會價值認同的矛盾痛苦,也許我們真的就能夠設計出一台符合涂靈期待的「思考機器」”[3]
[1] http://zh.wikipedia.org/w/index.php?title=%E4%BA%BA%E5%B7%A5%E7%94%9F%E5%91%BD&variant=zh-hant
[2] 網站連結失效, 好像是取自某個(大陸的)期刊
[3] http://blog.udn.com/jeanjackque/2457813
謝謝NTj的回應!