Posted By Mr. Thursday
之前幾篇文章稍微提到了計算神經科學想要以數學的方法,計算出神經生物上詳細的模型,好的模型還可以在拿回電腦科學領域,尤其是人工智慧的問題上面,作為解決的方法。至於現在的機器學習方法,為甚麼我覺得不夠用呢?我主要是覺得困難在兩個地方:特徵 (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)能夠減少人類的介入,舉一反三
- 即使需要了解文字意義的問題,也能夠自動選取特徵和參數
- 即使需要人類介入,是用人類語言教機器,而非更動參數的方式教導機器
- 文字數字化的方法
最後再整理一下這篇文章的主旨
- 機器學習的問題我認為有特徵、參數 、和文字意義了解的問題
- 例子主要是在需要人類「抽象化」和尋找「類似」東西的問題上
- 文字意義的了解,以及如何把文字轉換成電腦可以運算的數字系統是個問題
- 人機介面如果可以互相表達「抽象化」等認知功能,就可以讓人腦和電腦互補
- 人腦電腦互補的時代,巴斯卡三角形的計算將和九九乘法表一樣簡單,困難的知識分享出去不用擔心減少個人的競爭力,反而讓人類文明進步,大家都受益
- 能夠傳送抽象化能力的人機介面,是我研究計算神經科學的長期目標和動機
當然,因為我並非機器學習的專家,以上困難之處,也是我個人的想法,或許最近也有新的解法,或是其實本來就有解法可以解決,都歡迎各方好手提供回應,多多指教!也歡迎各位如果有興趣,不妨想想如何讓電腦具有抽象化的能力,即使不參考神經生物的機制也是可以的!謝謝各位!
參考資料
相關新聞
- 台美研製人工視網膜 盲人可復明 (自由時報)
- 腦波啟動 「意念開關」不是夢 (中國時報)
- 燈亮燈暗 腦波可以控制 (聯合報)
- 眼力+念力 癱者遙控床 (聯合報)
- 眼神操控病床 癱瘓患者不求人 (中國時報)
相關推薦
![]() |
![]() |











So, what’s your point? I think the title can better change to
“Some thoughts on …machine learning and Man-machine interface”
It’s more a introduction than “願景”…
不管是白天或是晚上,晴天或是”與”天
與->雨 …
(這篇文章不錯 ^^ )
電腦始終無法與人腦並駕其驅, 是因為電腦有其先天上的限制
而有些事是已經被證明為電腦無法辦到的
例如: 寫程式
這邊的寫程式不是指用程式去生程式, 也不是程式修改自己本身
了解這些限制後, 才能去設定機器學習的目標
這也就是專家系統的由來 (好久沒聽到這個名詞了)
小弟研究所研究圖形識別的時候
覺得很多人做類似研究都模糊了焦點
電腦產生的目的是為了幫助人類更容易做事
應該把重點放在怎麼改善人類的生活
而不是窮鑽人怎麼用電腦
當然人機介面是也其中重要的一環
不過我仍然希望人機這方面的研究能記得當初的宗旨
參數的部份,如果要人去訂定,那真的會很麻煩。所以應該可以透過一些 adaptive 的方式來讓系統自行調整出適合的參與架構,例如由 genetic algorithm + neural network。目前不少研究都是這樣作 …
而語言部份,可能得回歸到 learning algorithm 本質來看。 neural network 本來就是一堆 node 加上數字,所以硬要把 neural network 轉成 rule base .. 這很難。比較可能的是,直接把 symbolic rules 變成為network 的一部分,例如 classifier system (John Holland),學習出來的 每一個 classifier 則包含了 weight 與 symbolic rules …
巴斯卡斯角形 -> 巴斯卡三角形
我也來一個XD
作者真不簡單,這一篇內容又多又廣,要寫在一起可要花一番功夫。我以讀者的角度來看,內容稍微艱澀了,也許分作兩篇會更好吸收
我只看了一半=,=
不同步更新,只好貼過來了!~
『僅可能讓演算法資料本身自我演化來達成目標』這一點要反駁一下,其實他不僅對於參數可以做演化,連演算法的結構也可以做演化(看 model 的設計)… 有興趣可以再參考一下 Koza 的 Genetic Programming。
以 neural network 為例子,在設計時不外乎你要用什麼結構,幾個node 以及你的學習相關參數。
假設,你可以讓你的 neural network,視為一個一個的染色體,裡面包含了基因,而這些基因則代表你的 neural network 的參數與結構。
Okay,現在你有一個染色體的 pool,這個 pool 中有剛剛說的代表 neural network 的染色體共有 100 條。我們讓這 100 條染色體代表的 neural network 開始針對我們的問題去做學習,一段時間後(或是固定的 iteration 後),我們來測試學習結果,在這裡我們只留下結果最好的 10 條染色體。
然後,讓他們開始交配(crossover)與突變(mutation),再產生新的其他 90 條染色體。然後在經歷剛剛的過程,再繼續塞選結果好的染色體。
幾個 iteration 後,其實我們就可以找到不錯的 neural network 結構,加上參數。
大概是這樣 ….
可是問題來了,我們由基因演算法,來決定 neural network 的參數與結構,但是我們要用什麼方法來幫我們決定基因演算法的參數與結構,以及他的運算子設計。
雞生蛋,蛋生雞。這問題永遠無解。所以要講人工智慧,裡面還有一個很重要的課題,就是知識的累積與表示 …
以目前不管是 SVM 還是 Neural Network,雖然有不錯的學習效果,但是他們的知識是一堆的 weights … 根本沒人看的懂。要拿來再加以利用,根本不可能。
除非你要把 SVM 與neural network 當作一個黑盒子來用,就是反正我 input,你給我 output 就對了。實驗當然可以這樣玩,但是把這樣的技巧用在醫療診斷,這就很恐怖了 ….
所以為什麼 symbolic rules 比 neural network 在醫學界更被接受,因為這些 rules 醫生看的到,可以修改 … 這是很重要的。
而這就是 learning classifier system 的強項了,透過 genetic algorithm 讓他可以自行產生薪的 symbolic rules,透過 bucket algorithm,他可以有類似 Back Propagation 的學習與參數傳遞。甚至可以做到 rule chaining …
而學出來的結果,可以轉化成專家系統可以用的 rules … 這是很有趣的啦!
雜七雜八講了一堆 … 實在沒什麼條理。看看就好
Mark
好的 我會試著讓文章讀起來在流暢一些
讓各位讀起來不會太費力…但是還是可以吸收一些知識
也謝謝改正的錯字…待會我就會修改一下
—————————————————
基因演算法我不大熟悉
也許我就先從classifier system開始研究
看起來還滿有趣的
不過我主要的想法就是
機器演算法要完全自主…目前似乎還沒有辦法
即使基因演算法有用到”演化”的概念
僅可能讓演算法資料本身自我演化來達成目標
然而基因演算法裡面也有goal function的樣子?
—————————————————
也許就是各種演算法裡面有參數, 有goal function
所以這些演算法是要聽人類的話 讓人類過的更好
然而另一方面 也就失去了一些機器自我學習的能力
也就是說 即使機器要學東西 需要人類從參數和goal function來調整
人類的小孩從小到大 卻可以慢慢學會語言
長大之後則是用人類語言來學東西 閱讀書本學東西
而不是依靠別人調整頭腦裡面的動作電位的機率分布來學習
這大概就是我主要想表達的意思了
—————————————————
另外, 如果我們真的可以讀出人類心智在大腦的表達方式
甚至可以寫入大腦
到時候會有一些倫理的問題
譬如說記憶被寫入 是否就算是變成一個新的人了?
心智可以讀出來 放進電腦裡面跑
是否代表”精神上”人類可以永恆不朽?
加上複製人的話…是否還可以永恆不朽以外永保青春
人類是否可以這樣子做?是否可以每個人都這樣子做?
哪些人可以”精神上”永恆不朽?還是大家都可以永恆不朽
這方面可能就有很多爭論和需要解決的道德難題
不過現在距離這些問題應該還很遠 有時間再想一下就好了
目前能夠讓機器有人類的智力程度應該就很厲害了!
————————————————–
所以目前就先從小問題著手
在人腦上, 找出人類心智功能的表達方式
在電腦上, 找出可以表達人類心智的方式
然後再找出兩者之間, 需要的轉換方式(transformation)
之後就是我自己的願景: 腦機介面 (brain-computer interface)了
目前的想法是這樣子:)
另外, 有一則笑話 是把文字做加減得到的結果
也在這邊和大家分享一下 笑笑就好
—————————-
人=吃飯+睡覺+上班+玩,
豬=吃飯+睡覺
代入上式則得:人=豬+上班+玩
即是:人-玩=豬+上班
—————————-
謝謝Mark的解說
有空我會好好研究classifier system
希望能夠把symbolic和數字之間的gap彌補起來!
[...] 機器學習與腦機介面的願景 mmdays网 [...]
[...] 機器學習與腦機介面的願景 mmdays网 [...]