大多數人工神經網絡忽略了生物神經網絡的尖峰特性,這使得簡化底層模型以及諸如反向傳播等學習技術成為可能。但是,這樣做是否違背了生物神經網絡最核心的原則了呢?在大多數人工神經網絡模型中,激活只是與神經元本身相關的實數值。然而,這并不是生物神經網絡中的實態。當一個神經元達到閾值,并且有一個確切的時間點與之相關時,就會發生激活。而這里的前提條件是,在激活之前,其他幾個輸入激活已經被觸發了。以下面這樣一個事件驅動的神經網絡為例,神經元代表單詞“the”,則代表字母“t”、“h”和“e”的神經元需要首先激發,然后才能激活代表單詞“the”的神經元。發生這種情況時,就會有激活鏈接(activation-links)將單個字母神經元的激活與單詞“the”的神經元激活聯系起來。這些激活鏈接對應于已被激活的神經元突觸。特別之處在于,它們可以將所有激活都限定在輸入數據范圍內。單詞“the”可能在給定的文本中出現數百次,但是激活鏈接可以精確引用其中的任何一個激活。在本文中,我將談一談激活鏈接的另外兩個重要功能。首先,激活鏈接可用于表示輸入數據中對象(例如單詞或短語)之間的關系。在之前的文章《On integrating symbolic inference into deep neural networks》中,我討論過這一點。然而,當時的方法仍然需要對神經模型進行一些額外的擴展,比如激活中的位置槽(position slots)和突觸之間的聯系。此外,沒有一個簡單的方法來為這些關系鏈制定一個適當的訓練機制。其次,激活鏈接能夠使歧義信息在文本中同時被評估。在《On adding negative recurrent synapses to a neural network》一文中,我描述了如何使用二叉搜索樹系統地搜索給定文本的不同解釋。但是,新的疑問產生了,對于這個評估來說,搜索樹真的有必要使用嗎?1增加關系神經元在前面表示關系的模型中,我們可以看到位置槽被用來確定每次激活的開始和結束位置,并且突觸之間的關系鏈接(relation-links)被用來確保字母以正確的順序出現。如果要去掉位置槽和關系鏈接,有沒有方法將它們表示為規則神經元?因而,我們需要采取的第一步是添加一些神經元來表示字母之間的關系。如下圖所示:這里我們有一個關系輸入神經元,僅當神經元“t”和“h”的兩個輸入字母激活連續發生時,它才會被激活。在前面的模型中,這種關系信息是通過槽位置之間的關系隱性給出的。而現在我們有一個神經元明確地表示這個信息。值得注意的是,激活鏈接是該表示的組成部分。由于關系神經元只是一個輸入神經元,所以突觸不用來計算關系激活的激活值。到目前為止,我們只有網絡的輸入層,但是如何將單詞“the”的神經元與該輸入層進行匹配呢?我們需要一些方法來取代突觸之間的關系。只有一個神經元很難做到這一點,但如果我們拆分神經元,為之前的每個突觸添加一個新神經元,會怎么樣呢?這些新神經元代表單詞“the”的模式中出現的特定輸入字母,如“t”。這種網絡的模型如下圖所示:藍色的激活鏈接來自正向復發性突觸( the positive recurrent synapses),這意味著它們最初被認為是完全活躍的。為了保持激活的關系完整性,我們需要確保激活不會任意鏈接到任何輸入。例如,如果單詞“the”的各個字母屬于不同的單詞,這就沒有意義。要實現這一點,添加到激活的任何輸入鏈接必須與此激活的其他鏈接之一共享激活源。如果查看激活“the”-“h”,我們可以看到它有激活“t”、“h”、“the”-“t”和“the”作為連接各個輸入鏈接的共同激活源。通過輸入鏈接,激活“the”-“h”驗證輸入字母“h”的激活是否存在,激活“the”-“t”是否存在,以及是否存在將這兩個輸入綁定在一起的關系激活,從而將字母“t”與整個單詞的模式相關聯。一旦一個單詞被識別,另一個神經元就可以代表與前一個或下一個單詞的關系。這就是我們識別更大的模式(如短語)所需的。2使用元神經元捕捉激活的動態結構現在你可能會認為,每個音節、每個單詞或每個短語都需要一次又一次地訓練大量的神經元和突觸,這意味著大量的訓練數據。事實上,并非如此。使用《Using meta-neurons to learn facts from a single training example》一文中描述的元神經元,可以用很少的示例訓練一個新詞。這些元神經元可以捕捉我們激活的動態結構,并將其存儲為新的記憶。在這個過程中,新的神經元和新的突觸會產生。換句話說,這種機制能夠將在“工作記憶”中表現為激活和激活鏈接的知識轉移到由神經元和突觸組成的“長期記憶”中。因此,不需要單獨的知識庫來存儲信息。3同時跟蹤所有分支解釋的傳遞當負向復發性突觸(negative recurrent synapses)被添加到神經網絡的結構中時,神經網絡獲得了極大的靈活性。這對于許多現實世界的推理至關重要。因為它們能夠使網絡內產生相互排斥的狀態。發生這種情況時,輸入數據的可能解釋會產生分支。許多傳統人工智能研究都關注于搜索這些類型。例如,語法分析樹在非常有限的語法域中搜索。問題在于,解析結果不應僅取決于語法信息,還應取決于文本中包含的各種其他信息。此外,歧義不僅存在于句法層面,也存在于語義或語用層面。在之前的工作中,我使用二叉搜索樹來找到全局最優解。然而,這種方法存在一些問題。首先,人腦似乎不太可能執行類似的搜索。其次,通過將搜索路徑上的權重相加并選擇權重最高的路徑,在網絡本身的體系結構之外發生了一種信息的反向傳播,這似乎是不正確的。那么,另一種選擇是什么呢?可以同時跟蹤所有這些分支解釋的傳遞嗎?這里的前提條件是不能混淆這些不同的解釋。因此,在一個分支中推斷的激活對另一個分支應該是不可見的。然而,由于鏈接激活期間需要共同的激活源,因而我們可以簡單地檢查是否進入了另一個分支。即便有了在不同解釋中傳遞的所有激活,我們仍然需要對不同的解釋做出選擇和決定,這個決定不一定是二元的,它可能是一種概率。這種方法的一個很大的好處是,我們現在可以在此位置做出決定。這意味著這些決定應該受到未來結論結果的影響。前面提到的在搜索過程中的信息反向傳播在某種形式上仍然是必要的,但有一種更簡單、更優雅的方式來實現這一點:簡單地使用正向復發性突觸來做到這一點。這使得推理鏈中的早期階段可以獲知隨后得出的結論。舉個例子,請看上面的網絡圖。這里有兩個相互排斥的神經元A和B,它們通過抑制性神經元和負向復發性突觸相互抑制。現在,如果我們將一個激活輸入到輸入神經元IN中,我們將在神經元A和B中產生激活。因為這兩個神經元互相排斥,所以分支發生時有兩組激活,其中激活A或激活B被抑制。從這一點開始,網絡將同時產生輸入數據的兩種相互排斥的解釋。這與使用一階邏輯規則和非單調邏輯進行推理的正向鏈式專家系統(forward-chaining expert-system)非常相似。當然,這也意味著我們會遇到相同的問題——將這些規則堆疊在一起時出現的組合爆炸。但與基于邏輯的二元系統不同,神經網絡憑借其帶有權重的突觸,為這個問題提供了一個優雅的解決方案。在訓練期間,我們可以簡單地懲罰被其他更有可能的解釋抑制的過度激活。這里的抑制性神經元是分離的,這意味著一旦它的一個輸入被激活,它就會被激發。抑制性神經元的目的是防止必須連接所有相互排斥的興奮性神經元。4與其他神經網絡比較在處理文本或圖像數據時,每個神經元需要多次激活,這一點也被其他神經網絡體系結構(如LSTM,長短時記憶神經網絡)所認識到。它們通過重復復制整個網絡來解決問題,代價是每個神經元所需的固定激活次數導致了僵化。對于文本中需要處理的所有不同類型的信息,如字符、音節、單詞、短語、句子、段落等,缺乏最佳的標記化水平,因此,每個神經元的激活數量需要取決于數據,而不是網絡的架構。5處理因果關系的機制事件驅動的神經網絡有一個處理因果關系的簡單機制。干預當然是不可能的,因為網絡只觀察,但它可以得出結論,如果激活A發生在激活B之后,A很可能不是B的原因。這一特點可以用來減輕從A到B的突觸權重。6神經網絡架構的新型定義方式大多數神經網絡結構是由神經元如何相互連接的拓撲結構定義的。相反,我認為這里描述的神經網絡類型應該從一張白板開始,只包含原始的輸入神經元。接著,在訓練過程中,某些輸入神經元會一次又一次地同步激活。這種共同的激活隨后可以用來誘導和訓練新的興奮性神經元。隨著時間的推移,越來越多的興奮性神經元在經過訓練后,其中的一些會變得有相似之處。所謂相似性,指的是這些神經元共享共同的輸入突觸,或者與特定的其他神經元共享。這些相似的興奮性神經元可以與它的抑制性神經元一起聚集成一個元神經元(meta-neuron)。隨后,抑制性神經元充當整個興奮性神經元組的類別神經元。正如你所看到的,這種神經網絡的架構并不是由一組預定義的神經元之間的連接給出的,而是通過不同類型的神經元和突觸的規范來定義。7結論綜上,激活鏈接有兩個重要的功能:一是貢獻鏈接輸出激活的激活值,二是將激活與輸入數據中所呈現的對象進行綁定。選自:towards data science編譯:網易智能參與:nariiy