海伯理論

**海伯理論**係由加拿大心理學家當奴海伯喺一九四九年提出嘅神經科學理論，內容大致如下：當細胞 A 嘅軸突接近要刺激細胞 B ，並且重複或者持續噉參與引致細胞 B 射訊，其中一粒或者兩粒細胞入面會有一啲生長或者代謝變化發生，令到 A 作為引致 B 射訊嘅其中一粒細胞嘅效率上升。

海伯認為呢條定律可以解釋學習嘅現象：
*神經元係一種特殊嘅細胞，曉用電同化學方法彼此傳訊號，而神經元之間有突觸呢種空間；喺標準嘅神經網絡理論當中，海伯定律係一條講突觸改變嘅定律，指每當兩粒神經元一齊射訊嗰陣，兩粒細胞之間嘅突觸就會強化－一個突觸嘅效能提高源於打前嗰粒神經元對佢後面嗰粒神經元**重複又持久**嘅刺激；
*海伯佢仲進一步提出，呢種變化會引致一個神經系統嘅 `input` 同 `output` 之間嘅關係起變化，即係會令到個神經系統下次再接收同一個 `input` 嗰陣，（因為神經元之間嘅連繫唔同咗）`output` 可能會唔同咗；
而**按經驗調整自己行為**正正就係學習嘅定義。

## 嗌法
**海伯理論**（）又有
***海伯定律**（）、
***海伯假說**（）同
***細胞組合論**（）
等嘅多個名。

## 基礎

當奴海伯喺佢 1949 出嗰本書入面係噉樣講嘅 ：

最基礎嘅海伯理論包含咗以下呢兩點：
*只有個突觸打前同個突觸打後嗰兩粒神經元有能力改變個突觸；
*學習表示評估兩樣嘢之間嘅相關－如果兩粒神經元同時啟動，就表示佢哋各自代表嘅事物同時出現（例：某粒神經元專係喺個人見到隻狼嗰陣啟動，另外嗰粒專係喺個人驚嗰陣啟動），噉即係話兩樣嘢之間有正相關（狼同危險有正相關），所以個人就要學識將兩樣嘢聯想埋一齊（兩粒細胞之間個突觸要強化）；另一方面，有效率嘅學習需要突觸強度耐唔耐跌吓。
*有神經科學家噉樣描述海伯理論：如果有某一個會重複出現嘅 `input` 會引致個系統出現同一個規律嘅活動（同一個組合嘅細胞同時啟動），噉喺海伯定律之下嗰個規律所涉及嘅神經元彼此之間會變到有愈嚟愈緊密嘅連繫（彼此之間嘅突觸愈嚟愈強）－個規律入面嘅細胞會愈嚟愈傾向啟動個規律入面嘅其他細胞，同時會愈嚟愈傾向關閉個規律外面嘅細胞，最後形成特定組合嘅細胞，組合內嗰柞細胞彼此之間連繫強。

## 數學模型

由人工神經網絡（ANN）嘅角度嚟睇，海伯定律可以當係一種斷定人工神經細胞之間嘅**權重**（weight）嘅方法。人工神經網絡係人工智能上嘅一種技術，用嚟由已知嘅輸入輸出關係當中學習規律，並且對將來嘅同類個案作出預測。喺一個典型嘅人工神經網絡入面，每粒相連嘅人工神經細胞之間都有個權重值，個數值表示「呢粒細胞有幾能夠影響下一粒細胞嘅啟動程度」，即係話 foreach 人工神經細胞，嗰粒細胞嘅啟動程度 a 會由以下嘅函數決定：

:a = w_1 a_1 + w_2 a_2...；（啟動函數）

喺條式當中，a_n 代表其他細胞當中第 n 粒嘅啟動程度，而 w_n 就係其他細胞當中嘅第 n 粒嘅權重。假想一個人工神經網絡有某段演算法會按照個神經網絡接收過嘅 `input` 改變啲權重值，就有可能會令 `input` 同 `output` 之間嘅關係改變，即係令個人工神經網絡進行學習－而海伯定律可以用嚟做權重值改變演算法嘅一部份。

### 基本公式
以下係海伯學習嘅一條可能嘅式：
:\,w_{ij}=x_ix_j；
當中 w_{ij} 係細胞 j 去細胞 i 嘅權重值，x_i 係細胞 i 接收到嘅輸入數值；喺唔俾細胞俾輸入俾自己嘅網絡當中，如果 i = j，w_{ij}  會係 0。

家陣想像一個簡單嘅神經網絡，啲輸入同輸出冚唪唥都係**二元**數值－即係每個輸入或者輸出都淨係有兩個可能數值，一係 1 一係 0；每當有兩粒細胞數值同時係 1 嗰陣，佢哋之間嘅 w_{ij} 先至會變成 1，而當呢兩粒細胞當中是但一粒嘅數值係 0 嗰陣，佢哋之間嘅 w_{ij} 會變成 0－只有喺兩粒細胞同時啟動嗰時，佢哋之間嘅 w_{ij} 先會變成 1；噉即係話喺學習過程完咗（w_{ij} 數值唔再變）之後，每逢其中一粒啟動（x 數值變成 1）嗰時，第粒會傾向跟住一齊啟動。

x 係連續變數嘅情況可以用相同嘅道理想像：如果啲 x 值係連續數值嘅話，一個可能嘅方法係將個平均值設做 0－即係做事前數據處理，將每個個案嘅數值減個平均值，令到低過平均值嘅數據冚唪唥變嗮負數，高過平均值嘅數據先會係正數；喺呢個情況下，如果有兩粒細胞一齊有高過平均值嘅啟動或者一齊有低過平均值嘅啟動，佢哋嘅 x_ix_j 值會係正數，否則 x_ix_j 值會係負數。

### 廣義公式
海伯學習條式嘅廣義化係：

:\Delta w_i = \eta  x_i y；[1]

當中 w_i 係第 i 個突觸權重，而 \Delta w_i 係指 w_i 嘅改變，\eta 係學習率（一般會係一個常數），x_i 係做帶動嗰粒神經元嘅啟動程度，而 y 係跟尾嗰粒神經元嘅啟動程度，當中 y 等如

:y = \sum_j w_j x_j；[2]

當中 x_j 係指第 j 粒有連落去 y 嗰度嘅細胞，而成條式講嘅係每個 x_j 各自噉乘自己個權重值，再將得出嘅數值冚唪唥加埋一齊。呢條廣義化式好多時會搞到個網絡有唔穩定嘅行為：例如根據呢個廣義化模型，如果起始嘅 w_i、\eta 同輸入數值－即係柞 x_j－都係正數，啲權重值就會永無止盡噉勁升；呢種情況喺實際嘅生物神經網絡當中唔會發生，因為生物神經元受佢哋嘅化學同電性質限制，啲權重值梗會有上下限，但喺以電腦碼型式存在嘅人工神經網絡入面，呢種情況可以造成問題，所以喺實際嘅人工神經網絡應用當中，啲人比較常會用廣義海伯定律條式嘅變種。

順帶一提，[2] 條式用向量嘅型式表達如下：
:y = \mathbf{w}^\operatorname{T}\mathbf{x} = \mathbf{x}^\operatorname{T}\mathbf{w}；

### 例程式碼
以下係用 MATLAB（程式語言一種）寫嘅海伯式人工神經網絡嘅源碼嘅其中一部份：


```matlab
function [w b]= HebbNN(x)  % x 係成個子程序嘅輸入。
  clc
  
  % Initialize，即係做初始化
  m = size(x,1);  % m 係 training sample（訓練數據）嘅個案數量。
  n = size(x,2);  % n 係人工神經細胞嘅數量。
  w = zeros(1,n-1) ;  % 設個 array（陣列）表示啲權重。
  b = 0;

  % for training sample 入面每個個案...
  for i=1:m
      % for 每粒人工神經細胞...
      for j=1:n-1
          % 按照個個案嘅數值同海伯定律，更新啲權重。
          w(j) = w(j) + x(i,j).* x(i,n);
      end
      b = b + x(i,n);
  end
...
```


## 變種版本
電腦科學家有為咗設計更有效嘅人工神經網絡，而創造出海伯理論嘅變種模型：
### 哀也定律

**哀也定律**（Oja's rule）係由芬蘭一位電腦科學家諗出嚟嘅模型，用嚟模擬腦或者人工神經網絡入面嘅細胞點樣改變彼此之間嘅。哀也定律建基於海伯定律，但作出變更，條式如下：
:\Delta w_i = \eta (x_i y -  y^2 w_i)；[3]

[3] 呢條式用向量嘅型式表達如下：
:\Delta \mathbf{w} = \eta (\mathbf{x} y -  y^2 \mathbf{w})；

哀也定律能夠解決海伯定律啲問題，其中最大嘅就係啲權重值有可能永無止盡噉升（[1]）；唔同嘅係，哀也定律加咗一部份（... -  y^2 w_i）落條式嗰度做懲罰，個 y^2 w_i 嘅數值同權重值 w_i 成正比，即係話隨住 w_i 數值變大，從 x_i y 減去嘅數就會愈大，係噉降低個權重 w_i 嘅增長速度 \Delta w_i，表示個由基本海伯定律引致嘅權重勁升現象就噉消失。另外，哀也定律亦都可以輕易噉應用落啲多過一粒細胞嘅模型嗰度。

### BCM 理論
**BCM 理論**（，BCM theory）係 1981 年出嘅海伯理論變種版，原本係用嚟模擬視覺皮層嘅學習。條式如下

：
:{\mathrm{d}w_i \over \mathrm{d}t} = y(y - \theta_M)x_i - \epsilon w_i；[4]

當中 t 係指時間，而 {\mathrm{d} w_i}/{\mathrm{d} t} 就係指權重 w_i 隨時間改變嘅率，而 \theta_M 同 \epsilon 都係某啲特定嘅常數；喺呢條式入面，右手邊會減一個同 w_i 成正比嘅數（\epsilon w_i），令 w_i 唔會無止盡噉勁升（BCM 理論喺呢點上同哀也定律一樣），而 \theta_M 扮演咗**門檻值**（threshold）嘅角色，表示 y 數值要有返咁上下高先會有機會令 w_i 數值上升。BCM 理論當時取得相當嘅成功，例如有神經科學家試過一路用神經造影方法監察住受試者塊視覺皮層嘅腦活動，跟手用 BCM 理論嘅式模擬視覺皮層嘅活動規律，發現模擬結果同實際觀察到嘅吻合－撐咗 BCM 理論，而打後仲有人整咗 BCM 理論嘅變種版本。

## 解釋鏡神經元

海伯理論亦都有俾人攞嚟模擬鏡神經元嘅活動。鏡神經元係一種特殊嘅神經元，專門處理同身體郁動相關嘅資訊；鏡神經元喺一個人用自己身體做動作同望其他人做相同動作嗰陣，都會有強嘅活動，而呢種過程對於「自動噉模仿其他人嘅表情」等嘅行為嚟講不可或缺，而鏡神經元失靈往往會搞到個人唔識同人溝通，例子有自閉症譜系方面嘅障礙。鏡神經元喺神經科學上得到唔少研究者嘅關注，神經科學家同第啲科學家一樣，會想建立描述佢哋所研究嘅現象嘅數學模型，所以自從廿世紀發現咗鏡神經元開始，有唔少神經科學家都想建立能夠描述鏡神經元嘅數學模型。

;假說：鏡神經元網絡源於海伯學習
:廿一世紀初有神經科學家提出咗以下假說：每當一個人做出一個動作嗰陣，佢個腦入面嗰啲鏡神經元都會啟動，而每一個可能嘅啟動規律都代表一個特定嘅動作，呢個規律反映咗同嗰個動作相應嘅影像、聲同感覺；鏡神經元喺個人感知到同某個動作對應嘅影像、聲同感覺會有同樣嘅啟動；喺呢個過程當中，海伯學習所描述嘅機制幫咗手建立每一個鏡神經元啟動規律－想像兩粒鏡神經元，鏡神經元 A 同鏡神經元 B，A 專係喺感知到同人聲講嘢一齊出現嘅動作嗰陣有反應，而 B 就專係對口嘅郁動有反應，呢兩粒鏡神經元成日一齊啟動（喺個人講嘢或者感知到其他人講嘢嗰時），根據海伯定律，A 同 B 之間嘅連繫會變強，最後形成一個網絡，而呢個鏡神經元網絡專係喺個人講嘢或者聽到見到其他人講嘢嗰時啟動。

神經科學界亦都有做一啲實證研究，剖析海伯學習喺鏡神經元功能當中扮演嘅角色。例如有多份廿世紀初嘅研究都發現，如果一個人重複噉感知到一個刺激 s，而個刺激傾向同一個動作 a 一齊出現，個人嘅腦會將 a 同 s 聯想埋一齊。舉個例子說明：
*想像有一個人，佢從來未彈過鋼琴，佢喺聽到鋼琴音樂嗰陣，個腦啲鏡神經元唔會有同彈鋼琴嘅動作相應嘅啟動（對啲鏡神經元嚟講，**彈鋼琴嘅動作**同**鋼琴聲**之間冇連繫）；
*然後佢走去上堂學彈鋼琴，每次佢彈某一個音嗰時都會聽到一個相應嘅聲（**彈鋼琴嘅動作** x_1 同**鋼琴聲** x_2 重複噉一齊出現）；
*及後會發現，呢個人每次聽到鋼琴聲嗰陣，個腦啲鏡神經元都會變成**有**同彈鋼琴相應嘅啟動（對啲鏡神經元嚟講，**彈鋼琴嘅動作**同**鋼琴聲**之間有咗連繫）－即係話喺學鋼琴中途，嗰個人啲鏡神經元慢慢變成將**彈鋼琴嘅動作**同**鋼琴嘅聲**聯想埋一齊。

## 睇埋
*神經網絡
*長期增強作用
*長期抑制作用
*非監督式學習
*突觸可塑同學習
## 文獻

*Del Giudice M; Manera V; Keysers C (2009). "Programmed to learn? The ontogeny of mirror neurons" (PDF). *Dev Sci.* 12 (2): 350–363.
*Euliano, Neil R. (1999-12-21). "Neural and Adaptive Systems: Fundamentals Through Simulations" (PDF). Wiley.
*Gallistel, C. R., & Matzel, L. D. (2013). The neuroscience of learning: beyond the Hebbian synapse. *Annual review of psychology*, 64, 169-200.
*Hebb, D. O. (1940). "Human Behavior After Extensive Bilateral Removal from the Frontal Lobes". *Archives of Neurology and Psychiatry*. 44 (2): 421–438. doi:10.1001/archneurpsyc.1940.02280080181011.
*Paulsen, O.; Sejnowski, T. J. (2000). "Natural patterns of activity and long-term synaptic plasticity" (PDF). *Current Opinion in Neurobiology*. 10 (2): 172–179. doi:10.1016/S0959-4388(00)00076-3. PMC 2900254. PMID 10753798.
*Sejnowski, T. J. (1977). Statistical constraints on synaptic plasticity. *Journal of Theoretical Biology*, 69:385-389.

## 註釋

## 引述

## 拎
*10. 海伯式嘅模型
*海伯法則
*哀也學習法則，學者百科
*BCM 理論，學者百科