神經網路的直觀印象

Posted By Mr. Thursday

從簡單的生物到人類,無論是只有幾個神經細胞的海星,或是有數億個神經細胞的大腦的人類,神經系統都讓我們不是只有活著,而是能夠產生有智慧的行為,和這個真實的外在世界互動。也因此,神經科學的一些發現,有可能對資訊科學裡面的人工智慧的問題,作出一些貢獻。之前也寫了一些神經科學一些基本的介紹,不過本篇希望可以把這些基本的觀念,用更直觀的方式和例子,再敘述一次,讓各位讀者無論背景是研究哪一方面,當看到「神經網路」的時候,可以當下在腦中浮現一些印象,即使不是專家對於神經網路的印象,卻也能夠比一般常識範圍的印象,稍微增長一些。每年多增加一些印象和了解,日積月累下來或許還是可以有可觀的知識累積,讓自己在知識的領域裡面,也多長一歲喔!

接下來就讓我們分別了解一下神經網路是什麼 (what),以及為什麼研究神經網路(why),並且有一段比較數學角度來分析神經網路,給數理背景的讀者參考,也有一段比較人文哲學角度來分析神經網路,給人文背景的讀者參考,最後有一個總結。

神經網路,我們就可以用一堆「點」和「線」來理解,每個就代表著一個個神經細胞,點和點之間的連線,就代表著神經細胞之間的連結

神經細胞有什麼特點呢?一個神經細胞可以從對外的連結,得到電流的刺激,當電流的刺激大於某一個關鍵值的時候,這個神經細胞就會從原來沒有活動的狀態,改變成有活動的狀態。

如果要做個比喻,我們可以想像整個神經網路,就像是在玩大地遊戲一樣,每個人就像是一個神經細胞,人和人之間用繩子綁起來,像是神經細胞之間的連結,每個人可以稍微移動位置,但是移動的同時,會藉著連結的繩子,影響到附近的人。另一方面,對於每一個人/每一個神經細胞來說,如果對外連結的繩子,拉扯的力量超過某一個關鍵值,自己的位置也會移動。自己移動的時候,又可以影響別人了!

因此一個神經網路,就是類似這樣子的方式,把外在世界給的刺激,轉化成內在的活動訊號,透過神經細胞之間的連結,讓訊號傳遞下去,甚至是不斷循環等等。

為什麼神經細胞的活動與否,可以當成是一種訊號表示的方式呢?假設現在我們把神經細胞比做電燈泡,神經細胞沒有活動就像是燈泡沒有亮,神經細胞有活動/大地遊戲裡面的人移動了,就像是燈泡了。

接著我們想像一下,有一個大的看板,上面有無數的燈泡,每個燈泡在這一秒鐘,可能也可能不亮,而這多種組合的方式,就可以和外在世界的各項事物作對應,就如同我們的語言系統,用不同的單字和詞彙,對應外在世界的某件物體或某件事情。看板上面某一種燈泡亮暗的組合,就如同語言系統裡面的單字,可以對映外在世界的某一件物體或事情。

而神經網路更勝於燈泡組成的看板,在於神經網路可以自己產生這種對應,並且「學習」這種對應,因為除了神經細胞,還有神經細胞之間的「連結」,稱為神經鍵結 (synapse),神經鍵結不僅剛出生的時候會迅速改變連結強度,到了發展完成之後仍然可以學習和改變,而這些連結強度的改變,可以影響神經細胞活動/燈泡亮暗的活動模式,行為上看起來,就如同在接受外在「刺激」(stimulus)之後,「學習」(learn)了一種「反應」(response)的方式。

也因此有一個名詞稱為連結主義 (connectionist),因為神經網路不在神經細胞本身的活動,而是神經細胞之間連結的強弱改變,可以造成具有學習效果的神經活動模式,讓生物可以適應外在世界的生活。就如同大地遊戲裡面的繩子,連結強度的改變,就如同繩子可以變細或變粗,粗繩子一拉移動的效果很大,細繩子一拉移動效果很小,因此外在世界給予同樣的刺激,但是大地遊戲裡面的人/神經細胞,之間的連結強度如果不同,神經細胞活動的模式 (pattern),也就會跟著不同,行為上的表現就是不同的「反應」了!

神經網路研究對人工智慧可能的貢獻

因此我們現在有比較直觀的印象,來想像一個神經網路,包括神經元的活動,以及影響活動模式的源頭,也就是可以改變強弱神經連結 (synapse)。

然而研究生物上的神經網路,可以對人工智慧的問題作出哪些貢獻呢?最早有類神經網路 (artificial neural network),就是把生物上對神經系統的發現,拿來解決人工智慧的問題。一個類神經網路,可以是有正確答案的監督式學習 (supervised learning),或是沒有正確答案的非監督式學習 (unsupervised learning),經過訓練之後的網路連結,就會拿來使用。網路的架構和訓練過程的不同,就是後來各種不同的模型 (model),譬如說用梯度遞減的學習法 (gradient descent),或是後來的自我組織圖 (SOM: Self-Organized Map),以及 ART (Artificial Resonence Theory)等等。

近年來除了類神經網路已經有的各項研究,還有計算神經學 (Computational Neuroscience)以及神經計算學 (Neural Computing)。就我目前的理解,如果是在神經科學領域裡面為出發點,稱為計算神經學,如果是從資訊科學領域為出發點,稱為神經計算學。也因此,雖然兩者大致上來說,都是比類神經網路多出更多細節的模擬和描述,譬如說近年來有基因體的發現和研究,蛋白質的各種反應路徑,以及電生理訊號的資料分析等等,都比最初發現神經網路的研究,有更多的細節,因此會比傳統的類神經網路模型,有更多生物細節的發現被加入。

舉例來說,類神經網路通常注重在連結強弱的學習,然而近年來的發現,讓連結除了連結強弱 (synaptic weight) 之外,還有連結傳遞快慢的性質 (latency)。因此神經細胞的活動,不是瞬間傳給其他細胞,而是有傳遞快慢的次序。此外,神經細胞之間的連結,有刺激性(excitatory)和抑制性(inhibitory)的分別,當然啦,類神經網路裡面其實有模擬到這點,只要加一個「負號」就可以達到抑制連結的效果。

不過還有更細節的部分,在於神經連結(synapse)到其他神經細胞,不是直接訊號的傳遞,而是在另一個神經元的樹狀突出部分會有一個匯整,拿剛才大地遊戲的比方,繩子不是每個人每根繩子都綁在腰上,而是一根繩子連到另一個人身上的時候,可能是綁在腳踝上,可能是綁在脖子上,可能是綁在手腕上,神經元的樹狀突出,就是有許多不同的形狀多樣性,每個人體型也是如此具有差別,彙整繩子傳進來的力道,也會有不同的表現。巨觀來說可能沒有立即的差別,微觀的時候或許有重要的影響,甚至在課本裡面,初步的分析也把這部分對應成一種邏輯迴路的機制,彷彿是神經網路裡面的另一個網路,在樹突 (dendrite)上面的一個微網路。

除此之外,還有一個地方想要強調的,是人工參數的影響。譬如說類神經網路,可能需要一個參數,來代表電流超過某個關鍵值,這個神經細胞才會從沒有活動,變成活動的狀態。然而這個關鍵值是多少,類神經網路裡面大部分是用人工給定的參數,好一些的模型,可能會根據訓練的資料,在 cross-validation的時候改變。然而這些方法,可能都會因為人工給定,或是訓練資料的代表性來決定人工參數,造成新的問題無法從舊的模型舉一反三等問題。

譬如說有些模型,會根據外在刺激調整連結強弱,但是每次要改變多少,結果就多出一個人工參數叫做「學習率」。但是學習率要給多少才對?似乎就是任意給,或是人工看看學習效果調整,或是自動化讓機器自己cross-validation來調整。其中cross-validation似乎就可以自動化找出人工參數的值,而且訓練資料越多,模型會越準,如統統計裡面的中央極限定理一般。然而訓練好的模型,無法直接用在新的問題上面,遇到新的問題,又需要新的訓練資料,新的正確答案,才能重覆上面的「自動化」過程。至少人類對於大部分問題,有一定程度的「舉一反三」能力,因此這部分,是我希望神經網路研究可以貢獻人工智慧的地方。

為什麼可能有貢獻呢?因為就生物系統本身來說,經過多年的演變,生物系統具有一定程度的自我調節能力。譬如說運動的時候,體溫上升,此時心跳增加,血管擴張,分泌汗液來散熱。生物系統巧妙地連結這一切調節機制,無須另外一個人剖開身體來調節。神經系統也是如此,神經細胞產生活動的關鍵值,不需要給定一個變數來代表,而是從生物結構本身,適應刺激之後自動產生的反應,自動調節

譬如說神經細胞上面,其實是佈滿各種離子通道。這些通道的開關,可以讓離子進入神經細胞、或是離開神經細胞,而離子帶有電荷,因此離子的進出,就會改變神經細胞的電位,進而影響神經細胞的活動

接下來就要問,這些通道開關如何被控制呢?答案是通道上面的接受器(receptor),人是肉做的,而每個細胞組織,其實就是蛋白質組成的,蛋白質又是許多胺基酸組成的,胺基酸的分子又分為帶正電帶負電、或不帶電三種。因此這些通道,除了接受器,可以接受其他神經細胞傳來的化學物質 (稍微提一下有興奮性的Glutamate、抑制性的GABA、以及對肌肉是興奮但是對心臟是抑制的乙烯膽鹼Acetylcholine、和更多種,容我日後整理好之後另外撰寫介紹),這些化學物質巨觀來看,如同鑰匙打開接受器這道,讓離子通道這扇門被打開。

然而一個神經細胞上面,是具有許許多多的離子通道的,(可以粗分為快的AMPA通道,以及比較慢的NMDA通道,也容我日後整理好在撰寫介紹)。因此其他神經細胞活動之後,散發出化學神經傳導物質 (neurotransmitters),可能只有打開這個神經細胞上面一小部分的離子通道。

接下來就是重點了!神經細胞產生活動要超過的電位關鍵值,是如何自我調節而不是人工給定的呢?這邊我用「投票」的過程來比喻。因為每個離子通道,也是胺基酸做的,某一段胺基酸帶有電荷,會受到細胞本身電位改變而改變外觀,也因此這個離子通道就稱為電位驅動開關的通道 (voltage-gated),細胞電位如果開始變高,這個通道就有比較大的機會打開。

這和「選舉投票」有什麼相似之處呢?在選舉裡面,我們想要投誰一票,或許都會先參考其他人的意見。然而一開始大多數的人或許都沒什麼意見,又或可能都心有定見。無論如何,選舉前幾個月,選舉人本身會不斷拜票,推出競選廣告,有如一個神經細胞接受其他細胞傳過來的化學物質,可以打開自己細胞上面的某些離子通道。然而工作上的同事,家裡親戚的意見,同學之間的意見,也會開始影響自己的決定,並且傳遞下去,互相影響。當這個影響開始產生正向循環的時候,就會導致最後想要投票給誰。

也因此神經細胞上的離子通道,一開始只被神經傳導物質打開幾個。但是如果這幾個打開的通道足夠多,可以讓細胞電位改變,並且這個改變讓voltage-gated的通道跟著打開,形成正向循環,最後就會造成整個細胞所有的離子通道打開,大量離子進出,才能讓細胞電位一下子往上衝,形成動作電位 (action potential),這個時候才是我們所看到的神經細胞活動,如同燈泡點的活動。

至於一開始關鍵值要設定多少,就是神經細胞本身的生物組成結構,決定了這個關鍵值,而不是細胞裡面設定了一個變數,代表這個關鍵值,先讀出來,然後作一個大於的運算,才決定是否要活動了,這是出現在模擬程式的寫法,然而生物體內,是用上述的方法自我調節決定這個關鍵值(threshold),生物體的自我調節功能,也在這邊顯現了出來。

神經網路的一些複雜度推算

這一段是給數理背景的人參考,其他讀者可以先移駕到下一段繼續閱讀!:)

假設有 n 個神經元,那麼如果完全連結 (full-connected),會有 n^2個神經連結。n個神經元如果只有活動/不活動兩種狀態,那麼神經網路所有可能的狀態個數就是2^n。假設神經連結強度也只有兩種,那麼神經鍵結可能的狀態組合個數,就是2^(n^2)種了。

接下來要探討什麼呢?是要探討鍵結改變神經活動,以及神經活動改變鍵結的一些複雜度估算。首先看看神經活動,總共有2^n種神經活動模式 (pattern),那麼從這一秒鐘到下一秒鐘 (或是以毫秒為單位),活動模式的轉移 (transition)個數,就是(2^n)^2。而每一秒鐘神經連結所在的狀態,有2^(n^2)種,大於(2^n)^2種神經活動模式轉移的個數,因此是個多對一的函數,沒問題!

然而接下來要討論神經活動,對於神經連結的影響。假設神經連結強度,也是透過神經活動來自我調節。剛又假設神經強度只有2種狀態,如果神經強度有k種狀態也可以,那麼神經連結模式總個數就是k^(n^2)個,神經聯結模式的轉移(transition)個數就是(k^(n^2))^2。然而在每一秒鐘下,神經活動模式只有2^n,即使k=2,2^n是小於(2^(n^2))^2的,變成一對多,不是一個函數了,因為每一種神經活動模式,有可能對映多種神經連結強度的轉移(transition)。

不過,如果是過去t個時間裡面,神經活動的組合,一起影響在現在這一秒,神經連結的改變轉移(transition),那麼就可能變成一「多對一」,或是至少「一對一」的函數了。數學寫起來就是需要一個t,讓(2^n)^t大於等於(2^(n^2))^2,或是神經連結有k種狀態的話,要大於等於(k^(n^2))^2。這邊或許可以估算出STDP (spike-timing dependent plasticity),需要多少時間t以前的影響,來決定現在這一秒鐘,神經連結的改變。

以上是一些對於神經網路,活動影響連結變化,以及連結影響活動變化,的一些複雜度估算,供數理背景的讀者參考。

神經網路的人文哲思: 自由的產生與意義

在人文哲學的部分,我想要探討的是「自由」如何產生?以及「自由」的意義這兩個重點。

首先「自由」如何產生的這一部分,主要是從閱讀文獻的過程中產生的想法。在神經科學的研究文獻裡面,常常看到一些研究成果,是把某個神經細胞,給予某種刺激,或是某種化學物質,會有哪些反應,而且實驗是可以重現 (reproducable),無論是世界上的哪一個地方,只要在同樣的環境條件下面,同樣的刺激,就有同樣的反應

然而令我好奇的是,這種看起來沒有自由的神經細胞,組合起來之後,居然出現了自由的行為。所謂自由在這邊就是指無法被確定的行為模式。譬如說在電影《墨攻》有一幕是在找出奸細,城內居民事先約定好,聚集在一起,眼睛閉起來,鐘聲一敲,全部蹲下來。但是如果後來才混進人群的奸細,不知道這個約定,就會站著馬上被認出來。然而這種約定,只要奸細有聽說,或是使用過一次,下次就無法在使用了。因為人就是有這種學習能力和自由度。

一個神經細胞,我們不用擔心其他細胞會因為這次實驗,互相通報,學起來,下次碰到這個化學物質或電刺激,故意選擇另一種反應。首先神經細胞的反應雖然有機率成份,但是似乎還沒有到自由選擇的地步,其次,神經細胞彼此之間,沒有類似這種情報的溝通,頂多只有生物訊息的傳遞,仍舊在必然性的範圍內。

因此,自由如何從這種可以在實驗中被控制的,沒有自由的物質,在變成一個複雜系統之後,成為一個有自由的系統,必須要用機率才能描述行為的因果關係?而這一項特點,我想也是社會科學和其他科學不同的地方。譬如說某項研究顯示某某情況人會做某件事情。但是研究結果一出來,人可以開始改變自己,或是偏偏選擇另一種事情。人有這個自由選擇,也可以在得到某項消息後作出改變,也就是說,即使環境條件都一樣,人卻可以做不同選擇,彷彿有自由做選擇,而不是必然作出某件事情。

但是每一個細胞,卻又是可以在被控制的環境裡面,必然地產生某種反應。從無自由中生出自由的生命系統,是我感到神奇的一個地方。

第二個想要探討的重點,是自由責任的關聯。延伸前面的討論,人到底是否真的具有自由,還是只是因為不確定性變大,彷彿有自由,實際上還是受到環境產生必然的反應,而不是彷彿有個我可以自由選擇?這關聯到一個問題,就是「責任歸屬」的問題。

因為有了自由,有了選擇,人們才需要為自己的行為負責,因為這麼多選擇,你選了其中一項,讓世界運轉的方向,從眾多可能走向其中一種世界。這個後果,必須要讓做決定的人來承擔,無論是功是過,也就是責任有所歸屬。

但是如果今天人並沒有自由,一切都是必然發生的,從小到大,到這一秒鐘,我就是注定要做出這件事情,必然發生而沒有選擇的自由,那麼我似乎就不用負起責任,因為有選擇自由,才需要負責任。

因此未來可能發生的問題就是:如果有一天,一個決定性 (deterministic) 的模型被找出來,可以決定性地,解釋人每一秒鐘的行為,預測每一秒鐘的行為,那麼人是否還需要負責?因為看起來的自由選擇,其實都在細胞的層次,必然地被解釋和預測出來了。

結語

在〈機器學習與腦機介面的願景〉裡面,提到了研究神經科學的願景目標,在〈神經科學研究的各個層次〉也稍微蜻蜓點水式地簡介神經科學,從細胞系統認知層次的各項研究主題。今天這一篇直觀介紹,希望各位看的懂,也希望沒有錯誤才好。總之,希望各位看完這篇以後,看到「神經網路」四個字,可以有比較豐富的印象,讓自己不但歲數增長,知識也增長一些。後面的數學哲學討論,也希望對有興趣的讀者有所幫助!祝福大家新年快樂!萬事如意!新年新希望!

喜歡這篇文章嗎? 分享出去給作者一點鼓勵吧!