• 沒有找到結果。

第三章 kCL 架構與硬體實現

3.2 交換機制(Swapping)

我們提出一個簡單、有效的方法來巧妙解決贏家神經元的分布問題以及其帶 來的阻擋效應問題,這方法便是─神經元交換機制(swapping),此機制核心圍繞

著“贏家帶著走"的概念,我們在此一樣以一些簡單的圖表,來詳細呈現此機制 是如何運作,並解決了問題。

如圖3-2 所示,我們一樣給予兩個訓練向量 x1、x2以及四個神經元,分別為 neuron 1 到 neuron 4,在第一個時脈週期時,訓練向量 x1 一樣進到了第一個管線

化層級,與neuron 1 進行相似度計算,隨之 neuron 1 也理所當然的成為了目前贏 家神經元。這裡的步驟都與一般的管線化架構一模一樣。

當來到了第二個時脈週期,訓練向量 x1一樣進到了第二個層級,與neuron 2 進行相似度運算,再將計算結果與目前的贏家(neuron 1)進行比較,我們一樣假 設neuron 1 是最為相似的神經元,所以 neuron 1 依然是目前的贏家,neuron 2 便 失去了對訓練向量 x1的競爭,並標示上叉叉符號。

第三章 Fast CL 架構與硬體實現

圖3-2 交換機制運作的例子

到了以上的步驟之前,皆與一般的管線化架構無異,但此時才是我們交換機

第三章 Fast CL 架構與硬體實現

在被淘汰的神經元前面,我們便將這兩個神經元的位置做交換,我們可以清楚看 到原先位在管線化第一個層級的neuron 1 與位在管線化第二個層級的 neuron 2,

此時已經彼此交換了位置,這樣交換的好處,將會在下一個時脈週期顯現出來。

在第三個時脈週期我們可以看到,已經被淘汰的神經元neuron 2,由於已經 失去對訓練向量 x1 的競爭,同時前方也沒有獲勝神經元所阻擋,此時新的訓練 向量 x2便可順利的進到管線化層級中第一個層級,與neuron 2 進行相似度運算,

而如同之前所說的,neuron 2 也理所當然的成為了訓練向量 x2目前的贏家神經元。

一樣的時間點,訓練向量 x1也來到了第三個層級,進行與neuron 3 的相似度運 算以及和目前贏家的比較,在這我們依然假設neuron 1 成為了贏家,因此交換機 制再度啟動,將neuron 1 及 neuron 3 的位置彼此交換。

在第二與第三兩個時脈週期,我們都展示了交換機制的運作方法,到了第四 個時脈週期,我們將展示出一些不一樣的情況。當訓練向量 x2 來到了管線化層 級中的第二個層級,進行與neuron 3 的相似度運算與比較,發現到 neuron 3 擁有 比neuron 2 更高的相似度,此時的動作非常簡單,不需要任何交換,我們只須標 記上neuron 3 成為了獲勝神經元,neuron 2 成為了被淘汰的神經元即可。此時訓 練向量 x1的動作就如同往常一般,我們就不再重複敘述。

透過以上的範例,我們可以清楚看到整個交換機制的運作方式,是伴隨著其

第三章 Fast CL 架構與硬體實現

核心想法“贏家帶著走",當訓練向量走到哪,贏家神經元就跟到哪,如此一來 我們可以完全避免掉獲勝神經元的阻擋效應問題,而原本屬於靜態的神經元分布,

也透過我們動態的交換機制,始終將獲勝神經元往後帶,讓整體的管線化效能達 到最大化。

3-3 在神經元數目 N=8 下之管線化層級縮圖,以陰影表示訓練向量所存 在的層級,空白代表未有訓練向量存在的層級

同時我們也可以注意到,訓練向量之間需要間隔一個時脈週期,換言之,假 設訓練向量 xk目前位在管線化層級i,則訓練向量 xk+1此時必不能位在管線化層 級i-1,這樣的間隔是合理且必須要的,因為對 xk來說,其目前贏家候選神經元

yj*會待在管線化層級i-1 中直到交換機制執行完成。而在競爭式學習法則中,贏 家神經元在更新之前是不能參與下一個訓練向量的競爭,因此當 xk來到管線化 層級i 時,若 xk+1也來到管線化層級i-1,這樣就會造成 xk目前的贏家候選神經

第三章 Fast CL 架構與硬體實現

為例,訓練向量在管線化層級之中的分布,會如圖3-3 所示,彼此之間會間隔至 少一個層級。所以一個 (N+1) 層級的管線化架構,能夠同一時間允許 () 個神 經元競爭平行去運算。

第三章 Fast CL 架構與硬體實現

相關文件