版本:0.1
在計算機中,二進位制是最基本的計數單元,這也是能夠表達資訊所使用的最小進位制。而實際上當今大部分計算機的CPU計算的頻寬已經到了32或者64位,而記憶體、顯示卡的晶片位數已經提高到了256,甚至更高。這些數字都是二進位制的倍數,所以能和二進位制很容易的轉換。二進位制是由1和0組成的,我們可以給不同的1和0不同的含義。通常情況下1和0就是“有”和“無”。很少會用來表達,“正”和“負”。“正負”通常是在“1”和“0”的基礎之上構建的概念,而不是直接用“1”和“0”來表達。比如一般計算機內用數個位元組表示一個數字,只用最高位元組的最高位作為符號位,即正負。其它位都用來表達數值本身。
人腦中的處理資料的進位制是多少呢?人腦是一個模擬的計算系統,不是為了精確的數值計算最佳化的。從細胞層面來看,每個神經元細胞有成千上萬的連線,可以認為是無法衡量的。假設神經元整合的結果只有“有”和“無”,則可以看作是二進位制的。但神經元內部也許不是簡單的1和0,內部可能會對輸入的訊號進行累計。而不像普通計算機一樣,每次計算完後就重置狀態。
人腦中的神經元在整合訊號後,若達到了閾值則會發出訊號。而發出的訊號有些可能會讓下一級繼續發出訊號,有些則會減小下一級發出訊號的可能性。這些能發出減弱下一級訊號的神經元就是抑制神經元。在生物中,抑制訊號是依靠不同的介質實現的,在計算機中如果要實現抑制,可以依靠正負值來實現。
那麼抑制神經元的意義是什麼呢?假設神經網路中有足夠的能量,且網路已經充分發展了,不會產生振盪。當輸入訊號不斷進入時,神經網路也在不停地進行計算。假設系統中沒有抑制神經元,大部分神經元在不停地響應外界的輸入,在達到閾值時產生輸出。我們先從單個神經元的思考層次上提高,思考一下大規模神經元的行為。在訊號不停的輸入下,網路的能量在不停的轉換,訊號在不停的往正確的目的神經元傳送。一旦訊號到達了正確的目的神經元,則系統能夠正確的響應輸入了,要麼整個系統的知識更新完成了,要麼開始產生輸出了。至此為止,還沒有什麼問題。但下一個輸入可能是和當前的內容風馬牛不相及的,整個系統需要對新的資訊進行新的處理。這時候由於沒有抑制神經元,整個神經系統的狀態轉換可能就會滯後,從而無法對外界輸入及時響應。
我們也可以從邏輯和現實世界上推匯出抑制神經元的意義。假設有一個軌道,上面有個小車。這個小車可在軌道上前、後移動,且移動中會有一定的摩擦力。假設只能給軌道上的小車向前的力。那麼小車可以按照需要向前運動,從而到達遠處的目的地。假設需要讓小車停在離目的地一定誤差範圍內的位置,要麼在給小車向前的推力時精確計算從而使小車能夠正好在目的地附近使得推力和阻力相抵消而停下來,要麼透過施加阻力來精確控制小車的前進速度,甚至讓其倒退來到達目的地。由此看到,如果只能對小車施加推力,即使透過用很小力度的不斷嘗試,也有可能一下子超過了目的地,一旦超過則無法回退。而在能對小車施加阻力的情況下,不需要太精確的控制力度,在推力、阻力的不斷迭代下,最終是能夠將小車停在目的地上的。在真實情況中,摩擦力可能不是恆定的,每次預計施加的推力和實際的推力可能也不一致,如果僅透過調整推力來控制小車停下來的位置是非常難的。由此,抑制機制的好處顯而易見,它可以大大降低計算複雜度,從而透過較粗糙的控制和簡單的計算迭代出較精確的結果。
除了能夠減少計算複雜度外,再來看看抑制神經元在神經網路中其它可能的作用。神經網路有一個很重要的功能,就是聯想。小範圍的聯想也可稱其為預測。聯想是智慧很重要的一個功能和表現。如果一個系統沒有聯想和預測功能,基本就只能滯後地處理輸入,沒法稱其為智慧系統,或者可認為外界無法知道其是一個智慧系統。而抑制神經元在聯想的過程中可用作整合和比較聯想、預測結果,及時“剎車”。從而讓系統能夠在預測失敗後能夠儘快調整,以便基於新的輸入進行新的預測,從而有機會提前產生響應。聯想也是如此,透過抑制神經元遮蔽掉無用的聯想,使得選擇出的神經元能夠更快的和上下文聯絡起來。
問題是,抑制神經元是如何產生的?有兩種可能性:1)也許在大腦生長過程中,抑制神經元就以一定的比例出現了,它們和普通神經元的自組織形式類似,唯一區別是它們的輸出的是抑制訊號。2)另一種可能性是抑制神經元是一些普通神經元轉化而來。可能有某種刺激的存在,從而造成其發生質的變化。這種假設的挑戰是,如果一個神經元轉化成了抑制神經元,那麼它的所有突觸的意義就翻轉了。這個翻轉是否有現實意義呢?
在神經網路中,抑制神經元也許代表著某一類特殊的模式。當發現某些模式在很大規模下仍然無法有效的完成任務,就可以透過新增抑制神經元的方法來最佳化。但這種方法的前提是依靠全域性的最佳化,而不是神經元的自組織的方法。神經元自組織時也許很難發現長程上的問題,但很多規模上的效率也許是能在單個神經元的作用範圍內判斷出來的。