正文 第十三章 神經網路

"……我相信,對一個模型的最好的檢驗是它的設計者能否回答這些問題:現在你知道哪些原本不知道的東西?以及你如何證明它是否是對的?"

——詹姆斯·鮑爾(James M.Bower)

神經網路是由具有各種相互聯繫的單元組成的集合。每個單元具有極為簡化的神經元的特性。神經網路常常被用來模擬神經系統中某些部分的行為,生產有用的商業化裝置以及檢驗腦是如何工作的一般理論。

神經科學家們究竟為什麼那麼需要理論呢?如果他們能了解單個神經元的確切行為,他們就有可能預測出具有相互作用的神經元群體的特性。令人遺憾的是,事情並非如此輕而易舉。事實上,單個神經元的行為通常遠不那麼簡單,而且神經元幾乎總是以一種複雜的方式連接在一起。此外,整個系統通常是高度非線性的。線性系統,就其最簡單形式而言,當輸入加倍時,它的輸出也嚴格加倍——即輸出與輸入呈比例關係。①例如,在池塘的表面,當兩股行進中的小湍流彼此相遇時,它們會彼此穿過而互不干擾。為了計算兩股小水波聯合產生的效果,人們只需把第一列波與第二列波的效果在空間和時間的每一點上相加即可。這樣,每一列波都獨立於另一列的行為。對於大振幅的波則通常不是這樣。物理定律表明,大振幅情況下均衡性被打破。衝破一列波的過程是高度非線性的:一旦振幅超過某個閾值,波的行為完全以全新的方式出現。那不僅僅是"更多同樣的東西",而是某些新的特性。非線性行為在日常生活中很普遍,特別是在愛情和戰爭當中。正如歌中唱的:"吻她一次遠不及吻她兩次的一半那麼美妙。"

如果一個系統是非線性的,從數學上理解它通常比線性系統要困難得多。它的行為可能更為複雜。因此對相互作用的神經元群體進行預測變得十分困難,特別是最終的結果往往與直覺相反。

高速數字計算機是近50年來最重要的技術發展之一。它時常被稱作馮.諾依曼計算機,以紀念這位傑出的科學家、計算機的締造者。由於計算機能像人腦一樣對符號和數字進行操作,人們自然地想像腦是某種形式相當複雜的馮·諾依曼計算機。這種比較,如果陷入極端的話,將導致不切實際的理論。

計算機是構建在固有的高速組件之上的。即便是個人計算機,其基本周期,或稱時鐘頻率,也高於每秒1000萬次操作。相反地,一個神經元的典型發放率僅僅在每秒100個脈衝的範圍內。計算機要快上百萬倍。而像克雷型機那樣的高速超級計算機速度甚至更高。大致說來,計算機的操作是序列式的,即一條操作接著一條操作。與此相反,腦的工作方式則通常是大規模並行的,例如,從每隻眼睛到達腦的軸突大約有100萬個,它們全都同時工作。在系統中這種高度的並行情況幾乎重複出現在每個階段。這種連線方式在某種程度上彌補了神經元行為上的相對緩慢性。它也意味著即使失去少數分散的神經元也不大可能明顯地改變腦的行為。用專業術語講,腦被稱作"故障弱化"(degrade gracefully)。而計算機則是脆弱的,哪怕是對它極小的損傷,或是程序中的一個小錯誤,也會引起大的災難。計算機中出現錯誤則是災難性的(degrade catastrophically)。

計算機在工作中是高度穩定的。因為其單個組件是很可靠的,當給定相同的輸入時通常產生完全同樣的輸出。反之,單個神經元則具有更多的變化。它們受可以調節其行為的信號所支配,有些特性邊"計算"邊改變。

一個典型的神經元可能具有來自各處的上百乃至數萬個輸入,其軸突又有大量投射。而計算機的一個基本元件——晶體管,則只有極少數的輸入和輸出。

在計算機中,信息被編碼成由0和1組成的脈衝序列。計算機通過這種形式高度精確地將信息從一個特定的地方傳送到另一個地方。信息可以到達特定的地址,提取或者改變那裡所貯存的內容。這樣就能夠將信息存入記憶體的某個特殊位置,並在以後的某些時刻進一步加以利用。這種精確性在腦中是不會出現的。儘管一個神經元沿它的軸突發送的脈衝的模式(而不僅僅是其平均發放率)可能攜帶某些信息,但並不存在精確的由脈衝編碼的信息。①這樣,記憶必然將以不同的形式"存貯"。

腦看起來一點也不像通用計算機。腦的不同部分,甚至是新皮層的不同部分,都是專門用來處理不同類型的信息的(至少在某種程度上是這樣的)。看來大多數記憶存貯在進行當前操作的那個地方。所有這些與傳統的馮·諾依曼計算機完全不同,因為執行計算機的基本操作(如加法.乘法等等)僅在一個或少數幾個地方,而它的記憶卻存貯在許多很不同的地方。

最後,計算機是由工程師精心設計出來的,而腦則是動物經自然選擇一代又一代進化而來的。這就產生了如第一章所述的本質上不同的設計形式。

人們習慣於從硬體和軟體的角度來談論計算機。由於人們編寫軟體(計算機程序)時幾乎不必了解硬體(迴路等)的細節,所以人們——特別是心理學家——爭論說沒必要了解有關腦的"硬體"的任何知識。實際上想把這種理論強加到腦的操作過程中是不恰當的,腦的硬體與軟體之間並沒有明顯的差異。對於這種探討的一種合理的解釋是,雖然腦的活動是高度並行的,在所有這些平行操作的頂端有某些形式的(由注意控制的)序列機制,因而,在腦的操作的較高層次,在那些遠離感覺輸入的地方,可以膚淺地說腦與計算機有某種相似之處。

人們可以從一個理論途徑的成果來對它作判斷。計算機按編寫的程序執行,因而擅長解決諸如大規模數字處理、嚴格的邏輯推理以及下棋等某些類型的問題。這些事情大多數人都沒有它們完成得那麼快、那麼好。但是,面對常人能快速、不費氣力就能完成的任務,如觀察物體並理解其意義,即便是最現代的計算機也顯得無能為力。

近幾年在設計新一代的、以更加並行方式工作的計算機方面取得了重要進展。大多數設計使用了許多小型計算機,或是小型計算機的某些部件。它們被連接在一起,並同時運行。由一些相當複雜的設備來處理小計算機之間的信息交換並對計算進行全局控制。像天氣預測等類似問題,其基本要素在多處出現。此時超級計算機特別有用。

人工智慧界也採取了行動設計更具有腦的特點的程序。他們用一種模糊邏輯取代通常計算中使用的嚴格的邏輯。命題不再一定是真的或假的,而只需是具有更大或更小的可能性。程序試圖在一組命題中發現具有最大可能性的那種組合,並以之作為結論,而不是那些它認為可能性較小的結論。

在概念的設置上,這種方法確實比早期的人工智慧方法與腦更為相像,但在其他方面,特別是在記憶的存貯上,則不那麼像腦。因此,要檢查它與真實的腦在所有層次上行為的相似性可能會有困難。

一群原先很不知名的理論工作者發展了一種更具有腦的特性的方法。如今它被稱為PDP方法(即平行分散式處理)。這個話題有很長的歷史,我只能概述一二。在1943年沃侖·麥卡洛克(Warrenc Mc Culloch)和沃爾特·皮茲(Walter Pitts)的工作是這方面最早的嘗試之一。他們表明,在原則上由非常簡單的單元連接在一起組成的"網路"可以對任何邏輯和算術函數進行計算。因為網路的單元有些像大大簡化的神經元,它現在常被稱作"神經網路"。

這個成就非常令人鼓舞,以致它使許多人受到誤導,相信腦就是這樣工作的。或許它對現代計算機的設計有所幫助,但它的最引人注目的結論就腦而言則是極端錯誤的。

下一個重要的進展是弗蘭克·羅森布拉特(Frank Rosenblatt)發明的一種非常簡單的單層裝置,他稱之為感知機(Perceptron)。意義在於,雖然它的連接最初是隨機的,它能使用一種簡單而明確的規則改變這些連接,因而可以教會它執行某些簡單的任務,如識別固定位置的印刷字母。感知機的工作方式是,它對任務只有兩種反應:正確或是錯誤。你只需告訴它它所作出的(暫時的)回答是否正確。然後它根據一種感知機學習規則來改變其連接。羅森布拉特證明,對於某一類簡單的問題——"線性可分"的問題——感知機通過有限次訓練就能學會正確的行為。

由於這個結果在數學上很優美,從而吸引了眾人的注目。只可惜它時運不濟,它的影響很快就消退了。馬文·明斯基(Mar Vin Minsky)和西摩·佩伯特(Segmour Papert)證明感知機的結構及學習規則無法執行"異或問題"(如,判斷這是蘋果還是桔子,但不是二者皆是),因而也不可能學會它。他們寫了一本書,通篇詳述了感知機的局限性。這在許多年內扼殺了人們對感知機的興趣(明斯基後來承認做得過分了

上一章目錄+書簽下一頁