第四章 實驗數據與效能比較
4.2 實驗數據呈現與討論
為了量測針對棘波分類本論文所提出的架構之實際效能,本論文採用由 [17]
所開發用來產生神經元訊號的模擬器作為測試資料來源,該模擬器提供了大量的 參數以用來模擬不同的棘波活動情形,也因為其可針對許多環境變數進行設定,
使得實驗結果能更進一步的進行分析與比較。本論文實驗利用該模擬器產生出不 同信噪比 (Signal-to-Noise Ratio ,SNR) 之棘波序列,取樣率 (Sampling Rate) 定為
24000 取樣點/秒,而每個棘波訊號長度為 2.67 毫秒,這也代表著每個棘波訊號擁 有 64 個取樣點。因此,於電路設計當中 GHA 訓練向量維度 𝑚 64 ,主成分個 數 𝑝 2 ,學習率 𝜂 2−23。
電路中 GHA 與 FCM 的運算資料皆採用定點數格式,在不同精度的情況下對 於分類結果影響的比較可見表 4.2。當棘波數目定為 800 筆,表 4.2 比較了由不同 數目神經元所產生的棘波序列,對於本電路分類正確率的影響,同時亦分別比較 了當 SNR=10,SNR=20,SNR=100 時本電路的分類正確率。分類正確率
(Classifi-cation Correct Rate ,CCR) 定義為所有棘波訊號中被正確分類的棘波訊號筆數。從 表 4.2 中可清楚看出 GHA 於 17 bits 的定點數與雙倍精確度浮點數有著相似的分 類正確率,而 8 bits 定點數對於 FCM 即有著足夠的解析度來進行分類運算。
第四章 實驗數據與效能比較
表 4.2 不同精度條件下分類正確率比較
Number of
Clusters Precission Interference
GHA FCM SNR=10 SNR=20 SNR=100
c=2
Floating Floating 99.6% 99.6% 99.6%
17 bits Floating 99.6% 99.6% 99.6%
17 bits 8 bits 99.6% 99.6% 99.6%
c=3
Floating Floating 95.9% 96.3% 96.4%
17 bits Floating 95.8% 96.4% 96.4%
17 bits 8 bits 95.9% 96.3% 96.4%
c=4
Floating Floating 92.9% 94.1% 94.1%
17 bits Floating 92.7% 94.1% 94.1%
17 bits 8 bits 93.2% 94.1% 94%
根據表 4.2 實驗比較結果可以看出 GHA 採用 17 bits 定點數運算,FCM 採用
8 bits 定點數運算與兩者皆採用雙倍精確度浮點數運算有著相似的分類正確率,因 此本論文對於 GHA 與 FCM 兩塊電路分別採用 17 bits 與 8 bits 定點數運算。
為了更進一步說明本論文架構於不同條件下 CCR 的表現,圖 4.3 說明了於不 同 SNR 情況下對於來源棘波訊號的影響,由圖 4.3 可以清楚地看到當 SNR 小於 10 時因為大量雜訊的干擾使得分類變得更加困難。圖 4.4 說明了 2 個神經元所形 成的棘波序列其特徵向量散佈情形以及 SNR=10 時本電路採用有限精度 17 bits
GHA 與 8 bits FCM 的分類結果;圖 4.5、圖 4.6 則分別為 3 個與 4 個神經元所形 成的棘波序列其特徵向量之散佈圖與本電路之分類結果。根據圖 4.3、圖 4.4、圖
4.5 與圖 4.6 可以看出本論文所提出的 GHA 與 FCM 電路架構對於大量雜訊干擾 時仍可以正確地將棘波訊號給分類出來。詳細各棘波訊號實際波形與雜訊干擾情 形以其棘波特徵值散佈狀況可見圖 4.3、圖 4.4、圖 4.5 與圖 4.6。
第四章 實驗數據與效能比較
Spike for Target Neuron 1 with SNR=100
Spike for Target Neuron 1 with SNR=10
Spike for Target Neuron 2 with SNR=100
Spike for Target Neuron 2 with SNR=10
Spike for Target Neuron 3 with SNR=100
Spike for Target Neuron 3 with SNR=10
Spike for Target Neuron 4 with SNR=100
Spike for Target Neuron 4 with SNR=10
(a)
第四章 實驗數據與效能比較
(a)
第四章 實驗數據與效能比較
此外,本棘波分類電路不僅擁有高分類正確率,同時亦保有低面積複雜度,
表 4.3 說明了本電路的面積複雜度,因為加法器、乘法器與暫存器為 GHA 與 FCM 架構中的基本區塊,表 4.3 分成了三個類別 (加法器數量、乘法器數量、暫存器 數量) 來分別進行比較。而從表 4.3 中可以看出加法器與乘法器數量將與主成分 個數 𝑝 以及每個區塊中包含的元素 𝑞 呈線性成長關係,與向量維度 𝑚 、叢集個數 𝑐 以及訓練向量個數 𝑡 無關。
表 4.3 本論文提出之棘波分類系統面積複雜度
GHA FCM Total
Adders 𝛰 𝑞 𝛰 𝑝 𝛰 𝑝 + 𝑞
Multipliers 𝛰 𝑞 𝛰 𝑝 𝛰 𝑝 + 𝑞
Registers 𝛰 𝑝𝑚 + 𝑝𝑡 𝛰 𝑝𝑐 𝛰 𝑝 𝑚 + 𝑡 + 𝑐
因為棘波分類電路必須存放來源棘波訊號、突觸權重向量以及特徵向量,因 此暫存器數量將與 𝑝 𝑚 𝑐 𝑡 呈線性成長。表 4.4 說明了針對棘波分類應用
𝑝 2 𝑚 64 𝑐 3 與 𝑡 800 時的硬體資源消耗。本實驗設計於 Altera Quartus
II with SOPC Builder [19] 與 NIOS II IDE 平台中,所使用的 FPGA 開發板為 Altera Cyclone IV DK-DEV-4CGX150N。表 4.4 顯示了三種不同的資源比較:Logic Elements (LEs)、embedded multiplier 以及 memory bits。
表 4.4 本論文提出之棘波分類系統硬體資源消耗
embedded multiplier 與 memory bits 被用來實現 SOPC 系統中的 NIOS CPU。另外,
GHA 與 FCM 電路中的乘法器使用 embedded multiplier 來實現。從表 4.4 中可以
第四章 實驗數據與效能比較
Spikes 800 800 800 800
Clock Rate 50 MHz 13 MHz 416 MHz 1.60 GHz
Computation
Time (ms) 4.846 214521.45 8333 36.41805
Power Consumption
(mW)
217.12 92.4092 943.71 1116
Power Density (mW/cm2)
22.593 30.055 306.93 N/A
Platform
PCA 演算法設計。該表中 throughput 定義為每分鐘可以訓練的 channel 數目,由 於本論文運作於較高的時脈底下,於表 4.5 中可以看出本論文所提出的架構與其 比較後有著較高的 throughput。另外定義 normalized throughput 為每 MHz 下每分 鐘可以訓練的 channel 數目,再度針對 normalized throughput 比較後可以發現本論 文架構依舊有著較高的 normalized throughput。此外,架構 [5] 使用 PCA 演算法 必須先計算訓練資料的共變異數矩陣 (covariance matrix),然而其計算時間並未包 含進數據當中,相反地,對 GHA 而言並不需要去計算共變異數矩陣,使得 GHA Implementation
[5]
FPGA-Based GHA Implementation
[6]
(channels/min/MHz) 247.62 90 170.4
Power Consumption
第四章 實驗數據與效能比較
表 4.8 本論文提出之棘波分類系統功率消耗與功率密度
Platform Chip
Area Power Consumption Power
Density
Spike Sorting System (GHA+FCM+NIOS CPU)