• 沒有找到結果。

節點運算

在文檔中 中 華 大 學 (頁 32-38)

第四章 手勢辨識方法

4.2 節點運算

首先從資料輸入開始,由 HTM 網路中的感測節點將訓練的二元影像資料切分為 固定大小的區塊,轉換為一維的向量輸入進 HTM 網路,如圖 4-2 和圖 4-3。資料輸 入 HTM 網路之後,藉由 HTM Node 進行運算,HTM Node 主要分為學習和推論兩個 階段,在學習階段,輸入一串依時間而變化的訓練影像序列,並於每一個 HTM Node 中建立推論模型;在推論階段,HTM Node 依照學習到的特徵樣本(Feature Pattern)來 產生推論信念,即為每一個 HTM Node 的推論輸出。而每個階段又分為兩個主要步 驟,空間性分群(Spatial Pooler, SP)和時序性分群(Temporal Pooler, TP),如圖 4-4,分 別處理空間性與時序性學習和推論。資料首先經由 SP 做以空間相似度為主的分群後,

將得到的結果輸入 TP,歸納時序性的特性形成傳遞給下一層網路的推論信念。

24

圖 4-2、二元影像切分為固定大小的區塊,轉換為一維的向量輸入進 HTM 網路

圖 4-3、HTM 網路學習輸入的影像之流程結構示意圖

25

圖 4-4、HTM Node 的結構

(1) 學習階段

a. 空間性分群(Spatial Pooler, SP)

SP 的最重要的任務是量化無限可能的輸入資料,以簡單的編碼方式將其轉換成 有限的樣本集合,每一個編碼過的樣本(Pattern)稱之為量化中心(Quantization Center) 或是巧合(Coincidence)。在 SP 中,影像資料形成的向量輸入至節點後,和 SP 內記憶 的樣本進行相似度比較。若此向量和 SP 內記憶的樣本都不相似,HTM 便給此向量樣 本一個新的編號,並將此樣本記憶至 SP;若此向量相似於記憶在 SP 中的某個樣本,

則將相似度最高之樣本所屬編號的出現次數加一。相似度的計算方式是使用尤拉距離 (Euclidean Distance),公式如下,

𝑑2(𝑥, 𝑤) = ∑𝑁𝑗=1𝑑𝑖𝑚𝑠(𝑥𝑗 − 𝑤𝑗)2 (4-1)

其中,d 為距離,x 代表輸入向量,w 代表 SP 中某一個 Coincidence,而𝑁𝑑𝑖𝑚𝑠為特徵 的維度,也就是特徵長度。設定一門檻值 D,若輸入向量和所有的 Coincidence 計算 得到的 d 皆大於門檻值 D,便將其記憶為新的 Coincidence;反之,則更新和輸入向 量 x 擁有最小距離之 Coincidence 的累加次數。門檻值設定過高,則 Coincidence 的數 量變少,意味著記憶的樣本變少,導致辨識率下降;而門檻值設定過低,則 Coincidence

26

的數量變多,同樣會使節點的計算量上升,導致樣本的歸納性降低。

SP 在根據空間性來歸納特徵的同時,為了進行下一步的 TP 運算,建立一個時間 相鄰矩陣(Time-Adjacency Matrix)來記憶輸入資料和各 Coincidence 計算尤拉距離後所 出現的次數和 Coincidence 編號的轉換順序,依此來敘述輸入資料於時間上的相關性。

表 1 顯示一個時間相鄰矩陣範例,其中矩陣(𝑖, 𝑗)代表在𝑡 − 1時出現的 Coincidence 為 i,在 t 時出現的 Coincidence 為 j,而(𝑖, 𝑗)內的值代表此種狀況發生的次數。舉例來說,

矩陣(6,8)中的數字 12,代表在𝑡 − 1時出現的 Coincidence 為 6,在 t 時出現的 Coincidence 為 8,而(𝑖, 𝑗)內的數字 12 代表此種狀況發生了 12 次。學習階段結束後,

可以取得𝑁𝑐 ∗ 𝑁𝑐大小的時間相鄰矩陣,c 為 Coincidence 的總個數。最後將時間相鄰 矩陣轉換成馬可夫圖(Markov Graph)作為 TP 分群的依據,如圖 12 所示,可視為一個 機率性的有限狀態機,記錄每一個狀態轉換至其它狀態的機率。在 HTM 中利用馬可 夫圖紀錄各 Coincidence 之間的轉換機率。

表 4-1、時間相鄰矩陣範例

#1 #2 #3 #4 #5 #6 #7 #8

#1 4 2 13 1 3 2 3 1

#2 0 1 0 9 2 3 14 2

#3 8 2 2 7 5 0 4 1

#4 0 8 4 3 1 3 2 9

#5 2 1 7 1 3 0 2 1

#6 1 4 1 2 1 5 0 12

#7 1 9 4 0 1 3 4 2

#8 3 1 3 11 0 8 3 1

27

圖 4-5、表 4-1 的馬可夫圖

b. 時序性分群(Temporal Pooler, TP)

TP 是根據 SP 產生的時間相鄰矩陣所建立之馬可夫圖來進行時序分群。利用匯聚 階級分群法 [40],先將所有的 Coincidence 定義為個別獨立的樣本,根據分群相關性 高的兩個樣本將被分為同一群,然後再找尋下一個相關性高的樣本來分群。在此定義 一個參數,決定群的最大個數,當群內的樣本個數達到設定值時,即完成此次的分群。

之後將已完成分群的群組從馬可夫圖內移除,在重啟下一次分群,直到所有樣本皆完 成分群為止,如範例圖 4-6 所示,群最大數設定為 3,第一次分群為群組 2、4 和 7,

第二次分群為群組 3、6 和 8,最後,第三次分群為群組 1 和 5。

圖 4-6、匯聚階級分群法範例

28

(2) 推論階段

當節點訓練結束後,結束學習運算階段,開始對輸入資料產生推論。在推論階段 中,每筆輸入資料將與節點內部的 Coincidence 進行比對,來找出輸入資料與各 Coincidence 相似的程度。SP 以高斯機率分佈模型來表示:在高斯機率分佈模型中,

計算輸入與各 Coincidence 的尤拉距離,此距離使用下述式子轉換成信念向量(Belief Vector),藉由高斯機率分佈計算輸入之於節點記憶中各 Coincidence 的機率分佈強度。

σ 為自訂參數。

𝑦𝑗 = 𝑒−(𝑑(𝑥,𝑤))2/2𝜎2 (4-2)

在學習過程中,節點以時間資訊結合 Coincidence 形成 TP。每一個 Coincidence 會對 應一組 TP。於推論階段中,每一個階層式時序記憶節點的推論輸出是一個長度為 y 的向量,y 為 TP 學習產生的總分組數。向量中每一筆資料𝑦𝑗代表一個 TP,其內部資 料表示輸入之於該分群的高斯機率分佈。高斯機率分佈提供了節點歸納與增進學習的 能力,輸入可以藉由學習過的空間樣本表現,各節點不需要在一個階層中完全學習所 有訓練資料的輸入樣本,新的輸入可藉由過去學習的樣本表現出新的推論信念,並類 似於其他相似概念的推論信念。圖 4-7 敘述整個節點運算的過程:圖 4-7 (a)感測節點 讀入的資料首先在 SP 中建立 Coincidence,並同時統計各 Coincidence 出現的次數與 相互轉換的次數,形成馬可夫圖。圖 4-7 (b)中利用前述的馬可夫圖,TP 中使用匯聚 階級法將資料依照時間相關性的高低來分群。在推論階段中(c),所有的輸入將根據節 點內部於學習過程中形成的推論模型來輸出對應的推論信念。

29

圖 4-7、階層式時序記憶節點運算流程

在文檔中 中 華 大 學 (頁 32-38)

相關文件