使用Network on chip技術實現棘波分類硬體系統之研究
53
0
0
全文
(2) 中文摘要. 中文摘要. 本論文針對目前現有的棘波分類系統設計架構,並使用 Network on chip 技術 於硬體中實現此架構。本論文採用 Generalized Hebbian Algorithm (GHA) 來擷取 棘波的特徵值,搭配 Fuzzy C-Means (FCM) 演算法將擷取到的棘波特徵值進行分 類。且對 GHA 電路稍作修改使的原本在高雜訊干擾下無法正確分類的問題成功 解決,GHA 演算法可高速計算主成分特徵值供後續分群演算法進行運算,同時利 用 FCM 演算法對於初始質心選取好壞不敏感的特性可獲得較佳的分類結果。為 了減少硬體資源的消耗,GHA 架構中在計算調整不同組權重值時皆共享相同一塊 計算電路,而 FCM 採用逐步增量計算權重係數與質量中心點,這可以避免原本 需要大量儲存空間儲存權重係數矩陣所造成的空間消耗。因此,本論文所提出的 架構同時擁有低 area cost 與高輸出產量的優點。加上採用 Network on chip(NOC) 技術,使本論文之棘波分類系統執行速度大為提升。為了驗證本論文所提出的架 構有效性,我們於現場可程式邏輯閘陣列 (Field Programmable Gate Array , FPGA) 中實作出本架構並進行實際效能量測。實驗結果證明針對棘波分類本論文所提出 的架構同時具有低判斷錯誤率、低 area cost 與高速計算的優點。. 關鍵字: 可程式化系統晶片、棘波分類、主成份分析、GHA、FCM、FPGA、 NOC.
(3) 誌謝. 誌謝 首先,要非常感謝我的指導教授 黃文吉 教授,在碩士班求學期間對我不辭 辛勞地指導,雖然我的程度不是那麼的好,但教授總是不厭其煩的教導我,讓我 有機會去學習研究的方法,當我遇到難題時與我討論並引導我到正確方向,使得 我在這段學習的時間獲得了許多的成長與寶貴的經驗,不單單是在學術研究上面, 在做人處事上也給了我極大的幫助,在此獻上最誠摯的謝意。同時也感謝健行科 技大學電子工程學系 歐謙敏 教授、國立台北科技大學電子工程學系 劉玉蓀 教 授特地撥空來參加我的碩士論文口試,並給予論文上的評閱與建議。 接著,很高興能在多媒體通訊暨系統晶片實驗室這個大家庭和大家一起學習 成長。我要感謝我的同學:建廷、清志、國璿、任軒和翰逸,謝謝你們在我碩士 生涯一同奮鬥以及給予幫助,另外也感謝可愛的學弟妹們:皓棠,一修,煥元, 雅姿,光耀,思淮,烝祺,奇恩。在我的研究生活中給了不少幫助和實驗室的歡 樂氣氛。 最後,要感謝我的家人以及關心我的朋友,有了你們的支持與鼓勵,才能讓 我有勇氣去面對挑戰以及各種挫折與壓力,並且在最後能夠順利的完成學業。僅 將此論文成果獻給所有關心我的人,希望大家與我分享這份喜悅與榮耀。.
(4) 目錄. 目錄 目錄.................................................................................................................................. i 附圖目錄......................................................................................................................... ii 附表目錄........................................................................................................................ iv 第一章 緒論................................................................................................................... 1 1.1 1.2. 研究背景與動機目的................................................................................. 1 全文架構..................................................................................................... 4. 第二章 基礎理論與背景介紹....................................................................................... 5 2.1 GHA 演算法 ..................................................................................................... 5 2.2 FCM 演算法 ..................................................................................................... 6 2.3 GHA 與 FCM 於棘波分類之應用 .................................................................. 7 2.4 GHA 與 FCM 電路架構簡介 .......................................................................... 8 第三章 系統架構......................................................................................................... 12 3.1 SOC 架構 ........................................................................................................ 12 3.2 NOC 架構 .................................................................................................... 14 3.3 NOC-Based 棘波分類系統 ........................................................................... 17 第四章 實驗數據與效能比較..................................................................................... 19 4.1 開發平台與實驗環境介紹............................................................................ 19 4.2 實驗數據呈現與討論.................................................................................... 22 第五章 結論................................................................................................................. 43 參考文獻....................................................................................................................... 44. i.
(5) 附圖目錄. 附圖目錄. 圖 2.1 棘波分類系統架構.............................................................................................. 8 圖 2.2GHA 單元之方塊圖 ............................................................................................ 9 圖 2.3 FCM 單元之方塊圖 ......................................................................................... 10 圖 2.4 Global 控制器單元運作流程圖 ....................................................................... 11 圖 3.1 共享匯流排圖示................................................................................................ 13 圖 3.2 NOC 架構圖 ...................................................................................................... 15 圖 3.3 SOC 架構下的多核心系統示意圖 .................................................................. 15 圖 3.4 NOC 架構下的多核心系統示意圖.................................................................. 15 圖 3.5 以 NOC 為基礎的棘波分類系統.................................................................... 17 圖 3.6 以 NOC 為基礎的棘波分類系統運作流程..................................................... 18 圖 4.1 Cyclone IV GX DK-DEV-4CGX150N 開發板 ............................................... 19 圖 4.2 NOC 系統開發流程 .......................................................................................... 21 圖 4.3 來自不同神經元的棘波訊號(SNR=100,c=3,m=64) ................................ 25 圖 4.4 來自不同神經元的棘波訊號(SNR=10,c=3,m=64) .................................. 26 圖 4.5 來自不同神經元的棘波訊號(SNR=1,c=3,m=64) .................................... 26 圖 4.6 棘波主成分值投影至特徵平面上的散布圖(SNR=10,c=2,m=64) .......... 30 (a) 棘波分類正確結果. (b) FCM 分類結果 ............................................................ 30. 圖 4.7 棘波主成分值投影至特徵平面上的散布圖(SNR=1,c=2,m=64) ............ 31 ii.
(6) 附圖目錄 (a) 棘波分類正確結果. (b) FCM 分類結果 ............................................................ 31. 圖 4.8 棘波主成分值投影至特徵平面上的散布圖(SNR=10,c=3,m=64) .......... 32 (a) 棘波分類正確結果. (b) FCM 分類結果 ............................................................ 32. 圖 4.9 棘波主成分值投影至特徵平面上的散布圖(SNR=1,c=3,m=64) ............ 33 棘坡分類正確結果 (b) FCM 分類結果..................................................................... 33 圖 4.10 本論文之棘波分類系統在不同時脈下的執行時間 ..................................... 40 圖 4.11 本論文提出之電路與其他以 FPGA 實現特徵擷取的比較圖 ..................... 41. iii.
(7) 附表目錄. 附表目錄. 表 4.1 Altera Cyclone IV GX EP4CGX150DF31 開發板規格表 ............................ 20 表 4.2 叢集各數為 2(c=2)在不同維度(m)及 SNR 下的分類正確率比較 ............... 24 表 4.3 叢集各數為 3(c=3)在不同維度(m)及 SNR 下的分類正確率比較 ............... 25 表 4.4 Spike sorting 在不同 SNR 下的軟體正確率(c=2) ......................................... 27 表 4.5 Spike sorting 在不同 SNR 下的硬體正確率(c=2) ......................................... 28 表 4.6 Spike sorting 在不同 SNR 下的軟體正確率(c=3) ......................................... 28 表 4.7 Spike sorting 在不同 SNR 下的硬體正確率(c=3) ......................................... 28 表 4.8 不同演算法則的棘波分類正確率(c=3,m=36) ............................................. 35 表 4.9 不同演算法則的棘波分類正確率(c=3,m=50) ............................................. 35 表 4.10 不同演算法則的棘波分類正確率(c=3,m=64) ........................................... 36 表 4.11 本論文之棘波分類系統面積複雜度 .............................................................. 37 表 4.12 本論文之棘波分類系統硬體資源消耗 ........................................................ 38 表 4.13 本論文之棘波分類系統在不同時脈下的執行時間 ..................................... 39 表 4.14 本論文所提出之電路與其他以 FPGA 實現特徵擷取的比較..................... 41 表 4.15 本論文提出之 FCM 電路與其他以 FPGA 為基礎的分群實現比較 ......... 42. iv.
(8) 第一章 緒論. 第一章 緒論 本章節主要探討本論文的研究背景與動機、研究目的與方法,並簡單說明各章 節的主要內容。. 1.1. 研究背景與動機目的. 棘波(Spike)又稱作動作電位(Action Potential),為細胞膜內鈉鉀離子變化所造 成的電位差,而棘波序列(Spike train)則是由一連串神經元細胞所發出的動作電位 訊號。一般是以透過植入體內的微電極探針來偵測訊號,而偵測到的訊號為探針 周圍神經元細胞所發出的訊號總和,棘波分類就是將這些來自不同神經元發出的 混合訊號加以區分出來,由於存在的背景雜訊以及周遭神經元的互相的訊號干擾, 使的棘波分類成為一項困難的任務,典型的棘波分類演算法包含了特徵擷取和分 類這兩部分[1]。棘波分類可應用在在腦機介面(Brain Machine Interface,BMI)[2] 或是提供重症病患生活基本照顧等等應用下,如肢體障礙人士若想自由控制人工 義肢的運動,此系統必須要有即時且快速計算棘波分類結果的能力,因為一般正 常人操縱四肢軀幹神經元間的訊號傳遞大約都在數百個毫秒以內[3]此外,晶片大 小、功率消耗以及散熱都必須在設計的考量範圍。 一個普遍的硬體設計做法是將電路設計於特殊應用積體電路(Application Specific Intergrated Circuit, ASIC),但主要缺點是缺乏修改設計的方便性。目前 也存在著許多現有的棘波分類演算法且不斷在被提出,因此,一個良好的棘波分 1.
(9) 第一章 緒論 類系統要能滿足容易更新分類法則的需求。然而,ASIC 一旦生產便難以修改的 特性,特別是需將該晶片植入大腦中,這使的 ASIC 很難應用於棘波分類的領域 當中。除此之外,高 NRE (Non-Recurring Engineering) cost 以及需要較長時間設 計與驗證的特點也經常限制了 ASIC 於 BMI 中的應用。 現場可程式化邏輯閘陣列 (Field Programmable Gate Array , FPGA) [4]是一種有 效替代 ASIC 的硬體實現,相對於 ASIC,FPGA 提供了較低的 NRE cost,而 FPGA 可縮短研發時間且更有彈性,經過簡單的合成繞線佈局,可快速重複地燒錄至 FPGA 上進行測試,為現今 IC(Integrated Circuit)設計的主流,充分地提供棘波分 類法則於未來設計延伸時較高的彈性。 本論文根據[5]所提出之一個以 FPGA 為基礎的棘波分類硬體架構設計,具有低 功率消耗和即時運算的能力。此外,也修改了原本架構在高雜訊干擾下無法有效 正確分類的問題,此架構可擷取來源棘波訊號的特徵值,並將擷取到的特徵值加 以進行分類。特徵擷取的部分本論文採用 Generalized Hebbian Algorithm (GHA) [6, 7] 來進行高速運算。且將原本的 GHA 做修改,解決了在高雜訊干擾下無法有效 正確分類的問題。與傳統主成分分析法則 (Principal Component Analysis , PCA)相 比,GHA 有較高的效能因為避免了需要計算共變異數矩陣 (covariance matrix) 的 複雜過程。接著,獲得的棘波訊號特徵值會經由 Fuzzy C-Means(FCM)[8,9]演算 法來分類。 為了實際驗證本論文之棘波分類硬體系統架構的有效性,本論文將在 2.
(10) 第一章 緒論 Network-On-a-Chip(NOC)[10 ]平台上實作一套棘波分類系統。透過該平台所提供 的大量元件配置與豐富的溝通管理介面可使整個硬體開發過程變得更加容易且 更有彈性。而 NOC 平台中的軟核處理器(softcore processor)本身並不參與棘波分 類的計算,它只負責控制 NOC 不同元件間的資料傳遞,也可以用來測量所提出 之架構的計算時間。有別於傳統的 SOC(System on chip),NOC 在棘波分類上有著 更好的效能,最後,實驗結果也將證明本架構對於棘波分類有著較高的分類正確 率、即時高速運算以及泛用性。. 3.
(11) 第一章 緒論. 1.2. 全文架構. 本篇論文共分五個章節,以下為各章節之內容概述: 【第一章】緒論 說明本論文的研究背景、動機、目的、方法以及全文架構。 【第二章】基礎理論與背景介紹 對本論文所使用之演算法、理論基礎、技術背景以及如何運用至棘波分類系統 和其運作流程。 【第三章】系統架構 介紹本論文提出之以 NOC 技術實現棘波分類系統,並詳細說明 NOC 的發展、 工作原理以及架構與優點。 【第四章】實驗數據與效能比較 包括實驗環境說明、相關的實驗數據分析、軟硬體效能以及與其他現有演算法 架構做比較。 【第五章】結論 對於所提出之硬體架構與實驗結果進行總結。. 4.
(12) 第二章 基礎理論與背景介紹. 第二章 基礎理論與背景介紹. 本章節將介紹本論文所使用的基礎理論與技術背景,針對電路所使用之 GHA 與 FCM 演算法做說明,以及如何應用至棘波分類系統和運作流程。. 2.1 GHA 演算法 令 𝐱(𝑛) = [𝑥1 (𝑛), … , 𝑥𝑚 (𝑛)]𝑇 , 𝑛 = 1, … , 𝑡 𝑇. 𝐲(𝑛) = [𝑦1 (𝑛), … , 𝑦𝑝 (𝑛)] , 𝑛 = 1, … , 𝑡. (1) (2). 分別為 GHA 第 𝑛 筆輸入與輸出向量。而 m,p 以及 t 分別為向量維度、主成分個 數、輸入與輸出向量個數。而輸出向量 𝐲(𝑛) 與輸入向量 𝐱(𝑛) 關係如下: 𝑚. 𝑦𝑗 (𝑛) = ∑ 𝑤𝑗,𝑖 (𝑛)𝑥𝑖 (𝑛). (3). 𝑖=1. 其中 𝑤𝑗,𝑖 (𝑛) 代表第 𝑛 次迭代過程中第 𝑗 個神經元的第 𝑖 筆突觸權重值。 令 𝑇. 𝐰𝑗 (𝑛) = [𝑤𝑗,1 (𝑛), … , 𝑤𝑗,𝑚 (𝑛)] , 𝑗 = 1, … , 𝑝. (4). 為第 𝑗 筆突觸權重向量。每筆突觸權重向量 𝐰𝑗 (𝑛) 根據赫賓學習法則 (Hebbian learning rule) 進行調整,如下:. 5.
(13) 第二章 基礎理論與背景介紹 𝑗. 𝑤𝑗,𝑖 (𝑛 + 1) = 𝑤𝑗,𝑖 (𝑛) + 𝜂 [𝑦𝑗 (𝑛)𝑥𝑖 (𝑛) − 𝑦𝑗 (𝑛) ∑ 𝑤𝑘,𝑖 (𝑛)𝑦𝑘 (𝑛)]. (5). 𝑘=1. 其中 𝜂 為學習率。經過多次迭代計算調整後 𝐰𝑗 (𝑛) 將趨近於輸入向量之共變異數 矩陣的第 𝑗 筆特徵值 λ𝑗。為了降低計算時的複雜度,公式(5) 可以改寫成公式(6): 𝑗. 𝑤𝑗,𝑖 (𝑛 + 1) = 𝑤𝑗,𝑖 (𝑛) + 𝜂𝑦𝑗 (𝑛) [𝑥𝑖 (𝑛) − ∑ 𝑤𝑘,𝑖 (𝑛)𝑦𝑘 (𝑛)]. (6). 𝑘=1. 更多關於 GHA 細節的討論可詳見 [6,7]。. 2.2 FCM 演算法 令 𝐹 = {𝐟1 , … , 𝐟𝑡 } 為欲分類的訓練向量所形成的集合, 𝑡 為訓練向量的個數。 FCM 計算 𝐯𝑖 , 𝑖 = 1, … , 𝑐 ,並將 𝐹 分成 𝑐 個群集,其中 𝐯𝑖 表示第 𝑖 個叢集的質量 中心點。FCM 目標為最小化公式(7): 𝑐. 𝑡. 2 ‖𝐟𝑛 − 𝐯𝑖 ‖2 𝐽 = ∑ ∑ 𝑢𝑖,𝑛. (7). 𝑖=1 𝑛=1. 𝑢𝑖,𝑛 為 𝐟𝑛 對於 i 個叢集的權重係數。而 FCM 計算過程中公式(7) 被分成兩步驟迭 代計算。第一步固定 𝐯1 , … , 𝐯𝑐 ,計算最佳權重係數矩陣 {𝑢𝑖,𝑛 , 𝑖 = 1, … , 𝑐, 𝑛 = 1, … 𝑡} 根據下式: −1. 𝑐. 2. 𝑢𝑖,𝑛 = (∑(‖𝐟𝑛 − 𝐯𝑖 ‖⁄‖𝐟𝑛 − 𝐯𝑗 ‖) ). (8). 𝑗=1. 接著,固定權重係數矩陣,透過下列式子獲得新的質量中心點 𝐯𝑖 : 𝑡. 𝐯𝑖 =. 𝑡. 2 2 (∑ 𝐟𝑛 𝑢𝑖,𝑛 )⁄(∑ 𝑢𝑖,𝑛 ) 𝑛=1 𝑛=1. 6. (9).
(14) 第二章 基礎理論與背景介紹 反覆迭代計算至 J 值收斂為止。. 2.3 GHA 與 FCM 於棘波分類之應用 GHA 與 FCM 被用於擷取棘波特徵值與分類當中。而公式(1) 𝐱(𝑛) 為第 𝑛 筆 棘波。向量維度 𝑚 為每個棘波之取樣點個數。 令 𝑇. 𝐰𝑗 = [𝑤𝑗,1 , … , 𝑤𝑗,𝑚 ] , 𝑗 = 1, … , 𝑝. (10). 為經由 GHA 訓練完成後的突觸權重向量。由這些已訓練完成之突觸權重向量 𝐰𝑗 , 𝑗 = 1, … , 𝑝 ,依據下列式子 GHA 擷取訓練向量 𝐱(𝑛) 的特徵向量稱為 𝐟𝑛 : 𝐟𝑛 = [𝑓𝑛,1 , … , 𝑓𝑛,𝑝 ]. 𝑇. (11). 當 𝑚. 𝑓𝑛,𝑗 = ∑ 𝑤𝑗,𝑖 𝑥𝑖 (𝑛). (12). 𝑖=1. 為 𝐟𝑛 中第 j 個元素。而獲得的特徵向量集合 𝐹 = {𝐟1 , … , 𝐟𝑡 } 後續被當作 FCM 的訓 練集合。當 FCM 按照 2.2 節所述訓練完畢後所獲得的質量中心點 𝐯1 , … , 𝐯𝑐 會被用 來將棘波訊號分類。而棘波訊號 𝐱(𝑛) 分類的結果可由下列判斷式獲得: 𝑖 = arg min 𝑑(𝐟𝑛 , 𝐯𝑗 ). (13). 1≤𝑗≤𝑐. 其中 𝑑(𝐟𝑛 , 𝐯𝑗 ) 為 𝐟𝑛 與 𝐯𝑗 的距離平方差。. 7.
(15) 第二章 基礎理論與背景介紹. 2.4 GHA 與 FCM 電路架構簡介 本論文之電路主要是引用論文[11]所設計之電路,針對棘波分類系統架構可分 為三大單元,分別是 GHA 單元、FCM 單元以及 Global 控制器,GHA 單元被用 來做特徵擷取,計算 𝐰𝑗 , 𝑗 = 1, … , 𝑝 以及 𝐟𝑛 , 𝑛 = 1, … , 𝑡 ,接著 FCM 負責分群, FCM 單元會計算分類過後的質量中心點 𝐯𝑗 , 𝑗 = 1, … , 𝑐 供後續分類判斷使用, Global 控制器則是負責操控本架構中 GHA 與 FCM 電路的運作。圖 2.1 說明了此 棘波分類架構。. 圖 2.1 棘波分類系統架構. GHA 單元又可分為三部分:記憶體 (Memory) 單元、突觸權重更新 (Synaptic Weight Updating , SWU) 單元、主成分計算 (Principal Components Computing , PCC) 單元。GHA 有兩個運作模式:訓練模式、特徵擷取模式。訓練模式會依據 8.
(16) 第二章 基礎理論與背景介紹 輸入的棘波訊號經由迭代計算後調整突觸權重值,而特徵擷取模式會計算出來源 棘波訊號所對應的前兩筆主成分值。圖 2.2 即為 GHA 各單元的方塊圖。. z0,1(n). z0,33(n). .... .... z0,32(n). z0,64(n). zˆ 1,b ( n ). 0. xˆ b ( n ) w1,1(n). w2,1(n). w1,64(n). w2,32(n). w2,33(n). .... w1,32(n). .... .... .... ˆ 1,b (n) w. w1,33(n). w2,64(n). z0,1(n) w1,1(n) z0,32(n). PCC Unit. w1,32(n). yj(n) z0,1(n). z1,1(n). w1,1(n) z0,32(n). w1,1(n+1). SWU Unit. w1,32(n). z1,32(n) w1,32(n+1). 圖 2.2GHA 單元之方塊圖. 而 FCM 單元架構中包含了六個子單元:pre-computation 單元、membership coefficients updating 單元、center updating 單元、cost function computation 單元、 FCM memory 單元以及 FCM 控制單元。下圖 2.3 則是 FCM 電路的方塊圖。. 9.
(17) 第二章 基礎理論與背景介紹. Pre-computation Unit. Membership coefficients updating Unit. Cost function computation Unit. Center updating Unit. On-Chip Center RAM. 圖 2.3 FCM 單元之方塊圖. 最後,棘波分類電路利用 Global 控制器 (Global Controller) 來操控 GHA 與 FCM 電路間的資料傳輸。圖 2.2 為由 Global 控制器來控制棘波分類系統的流程圖,輸 入棘波訊號傳送至 GHA 電路訓練出權重向量,待訓練完畢後相同的棘波訊號再 度被傳送至 GHA 電路當中計算出其特徵向量。直到 GHA 電路計算完所有特徵向 10.
(18) 第二章 基礎理論與背景介紹 量後 FCM 電路才會被啟動,特徵向量由 GHA 電路一次傳送一筆至 FCM 單元中 訓練出新的質心,持續重複傳送相同的特徵向量,直到 FCM 訓練完畢,最後 FCM 單元訓練完成後所獲得的質量中心點將被用來分類棘波訊號。關於棘波分類的詳 細內部電路架構及運作情形可參見論文[11]. Deliver x(n),n=1,…,t,from Onchip RAM to GHA Unit repeatedly for GHA training until GHA training process has completed. 1. Deliver x(n),n=1,…,t,from Onchip RAM to GHA Unit for GHA feature extraction 2. GHA Unit compute feature vector fn,n=1,…,t. Deliver fn,n=1,…,t,from GHA Unit to FCM Unit repeatedly for FCM training until FCM training process has completed. Return the center vi,i=1,…,c to NIOS CPU. 圖 2.4 Global 控制器單元運作流程圖. 11.
(19) 第三章 系統架構. 第三章 系統架構 本章會詳細介紹本論文所提出之以 NOC(Network on chip)技術實現棘波分類硬 體系統,將詳細介紹 NOC 的發展,工作原理,系統架構以及與傳統 SOPC 架構 做比較。. 3.1 SOC 架構 System on chip(SOC)[12]是將各式的功能模組整合在單一晶片中,也因此可以提 升系統效能、降低功率消耗、縮小面積等優點。由於 IC 與半導體技術的快速發 展,嵌入式電子產品的功能也越來越複雜,SOC 已漸漸的不能滿足需求,原因有 以下幾點,可擴展性差,傳統 SOC 採用了匯流排(bus)結構,而該結構限制了可 連接的資源數目,且 bus 的地址空間不能無限制的擴張。而 SOC 是使用共享匯流 排(shared bus)的概念,如圖 3.2 所示,然而,當單一晶片上的功能與元件愈來愈 多時並且需要大量的連線(interconnection)作為連接時,雖然匯流排可由多個元件 (component)共享,但是一條 bus 無法支持一對以上的元件同時通訊,也就是所謂 的專線專送。當一方以廣播方式傳送資料時,各端皆能接收到資料,但這也會讓 不需要資料的元件也同樣接收到,這個狀況會造成系統資源上不必要的浪費。這 種通訊方法為現在的通訊瓶頸,此架構不再符合現今需求,其擴展性受到了限制。 除此此外,system on chip 可含有數量龐大的矽智財(Silicon IP; SIP)模組,而在匯 12.
(20) 第三章 系統架構 流排傳輸模式下,傳輸資料延遲、電路同步、雜訊和功率消耗的問題,均隨著製 程縮小而需要大幅度改進。另一方面,當單一晶片內可擺放電晶體總數量急遽增 加而愈來愈複雜時,晶片內部的通訊傳輸將影響晶片處理效率, 傳統的匯流排 傳輸已經漸漸地不敷使用。. 圖 3.1 共享匯流排圖示. 13.
(21) 第三章 系統架構. 3.2 NOC 架構 由於傳統的SOC逐漸地不敷使用,新一代的技術NOC(Network on chip)被提了 出來,NOC可以說是SOC的升級版、加強版。為了確保各個元件之間資料傳輸與 訊號溝通的正確性,將網路封包傳輸概念應用於晶片上,以進行不同矽智財模組 間的資料交換。這種將單晶片系統內部的傳輸介面轉換成由網路模式傳輸的方式 及為NOC( Network-on-Chip) ,NOC系統內通常包括IP cores、網路介面(Network interface,NI)、和路由器(Router),圖3.2是NOC的基本架構圖[13]。 不同元件間的通訊採用以封包的方式,NI取代了以往的匯流排,其功能是將資 料做壓縮與解壓縮以及建立起各元件之間的連線。Router在NOC當中是最重要的 角色,可由某些特定的元件來當router,在NOC架構中並不侷限Router的個數,他 能將封包化後的資料正確傳送到目的地。採用NOC架構各元件間可以獨立運作, 傳遞資料也不像傳統SOC模式造成資源浪費,速度也能夠提升。除此此外,NOC 對於實現多核心嵌入式系統也比傳統SOC具有良好的效能,如圖3.3、圖3.4所示 SOC因為共用匯流排,同一時間只允許一個處理器存取,而記憶體存取速度遠遠 超越處理器的處理速度,所以當處理器數目變多,整個系統的效率將會低下,而 NOC架構則改善了這個問題,更適合多核心的系統開發。. 14.
(22) 第三章 系統架構. 圖 3.2 NOC 架構圖. 圖 3.3 SOC 架構下的多核心系統示意圖. 圖 3.4 NOC 架構下的多核心系統示意圖 15.
(23) 第三章 系統架構 本論提出以 NOC 技術之棘波分類系統是採用 Altera 公司提供的 Altera Quartus II 12.1 來開發,由 Qsys System[15]來建立此客製化系統,Qsys 為傳統 SOPC Build 的下一代系統開發工具,具有下列優點: 1 Faster development 使用方便的 GUI 介面提供給設計者,讓 IP 與子系統快速的 整合,且能自動產生內部邏輯電路以及系統 HDL (Hardware Description Language), 也可將原本 SOPC Builder 設計移植到 Qsys 上。 2. Faster timing closure 基於 NOC 架構之 Qsys 高效能連接和自動管線化傳輸,其 效能高出了傳統 SOPC Builder 互聯系統架構兩倍以上。 3 Faster verification 利用自動產生 testbench 的功能並使用通過驗證的 IP 套件能夠 快速地開始模擬。. 16.
(24) 第三章 系統架構. 3.3 NOC-Based 棘波分類系統 本論文所提出之架構為建置在NOC系統中使用者客製化邏輯電路(custom user logic)系統中主要包含了NIOS CPU[16]、DMA(Direct Memory Access) controller和 on-chip RAM,如圖3.5所示。使用NOC技術解決了傳統匯流排架構問題如通訊效 率、延遲問題以及單一時脈同步化(single clock synchronization)[17]。在典型的棘 波分類系統中,必須傳送輸入的棘波訊號、特徵向量和分類結果,因此,NOC對 於本架構的傳輸速度和產能(throuput)能夠有效的提高。. 圖 3.5 以 NOC 為基礎的棘波分類系統 如圖3.6所示,在典型的棘波分類系統中可分為三部分運作:棘波偵測,特徵擷 取以及分類。Nonlinear energy operations (NEO)和thresholding可用於以NIOS軟核 17.
(25) 第三章 系統架構 CPU上運作之軟體來實現棘波偵測,本論文所提出之架構為後兩者,也就是棘波 偵測與特徵擷取的部分,在這兩部分,所有被偵測到的棘波訊號將儲存在on-chip RAM中然後再傳送至本論文提出之棘波分類電路,且利用DMA為基礎傳遞訓練 資料可使得本系統對於記憶體存取的overhead最小化。在NOC中NIOS軟核CPU能 協調不同的元件,也負責電路的運作和控制。最後,特徵擷取和分類的結果將存 放於GHA和FCM電路中的記憶體單元供之後的操作。. 圖 3.6 以 NOC 為基礎的棘波分類系統運作流程. 18.
(26) 第四章 實驗數據與效能比較. 第四章 實驗數據與效能比較 本章節將呈現本論文所提出的棘波分類系統硬體架構之正確性、實際效能量測 與比較,以及實驗環境的介紹. 4.1 開發平台與實驗環境介紹 本論文所提出的棘波分類硬體架構是以 Altera 公司所設計的 Cyclone IV GX EP4CGX150DF31 開發板,如圖 4.1 所示。其特點為低功率消耗以及低開發成本, 非常符合棘波分類晶片的需求。同時,拜製程進步所賜 Cyclone IV FPGA 採用 65 奈米製程,使得功率消耗較以往 FPGA 降低約 30%。而利用 FPGA 可重複修改硬 體電路設計與快速驗證的優點使得棘波分類晶片可以快速且容易的更新演算法 則,同時低開發成本也使 FPGA 變得更具優勢。. 圖 4.1 Cyclone IV GX DK-DEV-4CGX150N 開發板 19.
(27) 第四章 實驗數據與效能比較 表 4.1 為本實驗開發板中所提供的相關硬體資源,也因其提供大量的硬體資源 及與周邊元件豐富的溝通介面,使得使用者能將許多複雜的演算法則整合至開發 板中,成為一套完整且獨立的嵌入式系統。. Feature. Cyclone IV. Device. GX EP4CGX150DF31. Process. 65nm. LEs. 149760. Embedded Memory(Kbits). 6480. 18-bit x 18-bit Multipliers. 360. User I/O. 475. Transceivers. 8. PLLs. 8. Package Type. 896-pin. 表 4.1 Altera Cyclone IV GX EP4CGX150DF31 開發板規格表. 本論文使用 Altera Quartus II 12.1 版本搭配 Verilog 硬體描述語言進行設計與開 發,由 Qsys System 建立客製化系統,於 Qsys 中加入 CPU,DMA-Controller,on-chip memory 及客製化電路(棘波分類電路)。並透過 Quartus II 提供的語法檢查、時序 20.
(28) 第四章 實驗數據與效能比較 分析、邏輯元件的配置等等強大功能,可以快速建立出系統架構,且藉著模擬訊 號的波型圖來驗證其正確性。同時,使用 Altera 公司也提供了以 Eclipse 為基礎的 NIOS II IDE 軟體供使用者使用,所有在系統中的軟體開發都可以在 NIOS II IDE 下完成,設計者需撰寫 C 語言程式碼,利用其所提供的應用程式、函式庫及驅動 程式來與 FPGA 開發板溝通,加速 Qsys 系統的開發。圖 4.2 為 Qsys 系統開發流 程圖。本論文除了使用 Verilog 來實作所提出之硬體電路架構外,也會以 MATLAB 軟體來來實現 GHA 與 FCM 演算法,並運作於 CPU Intel i7-930 當中,以相同的 演算法則來和硬體電路架構的執行結果相互做比較。. 圖 4.2 NOC 系統開發流程 21.
(29) 第四章 實驗數據與效能比較. 硬體實驗環境 Device: Altera Cyclone IV EP4CGX150DF31 CPU: NIOS II 1GHz Memory: 128-MB DDR2 SDRAM 軟體實驗環境 Cpu :Intel®Core™ i7 CPU [email protected] Memory: DDR III 8.0G. 4.2 實驗數據呈現與討論. 為了量測針對棘波分類本論文所提出的電路架構之實際效能,本論文採用由[18] 所開發用來產生神經元訊號的模擬器做為測試棘波資料來源,該模擬器提供了各 種不同的參數以用來模擬各式各樣的不同的棘波活動情形,也因為該模擬器可針 對許多環境變數進行設定,使得實驗結果能更進一步的進行分析與比較。本論文 實驗將利用該模擬器產生出各種信噪比 (Signal-to-Noise Ratio ,SNR)及干擾程度 的棘波序列。. 首先,我們先討論本論文所提出電路架構的分類正確率(Classification Correct 22.
(30) 第四章 實驗數據與效能比較 Rate ,CCR) 其定義為所有棘波訊號中被分類正確的棘波訊號筆數。為了顯現出本 論文所提出之架構對雜訊干擾的健全性,我們做了由 SNR=1dB 到 10dB 各種雜訊 干擾的實驗。實驗是由模擬器產生出的棘波序列,取樣頻率(Sample Rate)定為 13500 取樣點/每秒,而每個棘波訊號長度為 2.67 毫秒,也就表示每個棘波訊號擁 有 36 個取樣點,因此,GHA 訓練向量維度 m=36,主成分個數 p = 2。同時,為 了展現本系統的泛用性,在輸入棘波訊號也使用不同的向量維度 m=50(Sample Rate=18750)與 m=64(Sample Rate=24000),主成分個數一樣為 2(p = 2) 表 4.2 為在 叢集各數為 2(c=2)的情況下各種 SNR 的分類正確率,由於 FCM 演算法的結果會 根據所選定的起始碼而有所不同,所以表 4.2 及本論文所述之棘波分類正確率 (CCR)均為獨立執行 40 次後的平均分類正確率,可以看出當在不同的 m,本系統 之分類正確率相差不遠,而且,SNR 對於分類正確率的影響並不大,原因是由於 我們叢集個數只有 2,在分群上是相當容易分辨的,因此分類正確可高達 99.88%。. 再來,我們將叢集個數由 2 群增加到 3 群來做比較,根據表 4.3 我們可以看出 在各種 SNR 下的分類正確率,由表 4.3 可以看出,SNR 的變化將會明顯的影響分 類正確率,隨著 SNR 的遞減,分類正確率也隨之下降,但訓練向量維度 m =36、 m=50 或是 m = 64 對於本論文提出之系統的分類正確率幾乎是類似,當 SNR=1 的 情況下,正確率降至約為 87%,圖 4.3、4.4、4.5 是由模擬器產生的一連串訊號後 將其中棘波萃取出來的波形圖,叢集個數為 3(c=3)該圖說明了相同棘波在各種不 23.
(31) 第四章 實驗數據與效能比較 同 SNR 下的波形情況。很明顯地隨著 SNR 數字的降低,代表著雜訊干擾愈來愈 強,使的原本棘波波形被破壞,分類將變得更加困難,因此分類正確率會隨著 SNR 值越小而越低。所以,在 SNR 為 1 的雜訊干擾下仍能保有 87%的分類正確率可 說是有相當良好的效能。綜合上述所論可知本論文提出之棘波分類系統,並不局 限於特定叢集個數(c)或是特定的維度(m)且在各種 SNR 下均能有著良好的分類正 確率。. SNR(dB) 1. 2. 4. 6. 8. 10. m=36 99.28% 99.34% 99.40%. 99.40% 99.40% 99.58%. m=50 99.39% 99.63% 99.45%. 99.57% 99.82% 99.46%. m=64 99.58% 99.63% 99.75%. 99.88% 99.88% 99.88%. 表 4.2 叢集各數為 2(c=2)在不同維度(m)及 SNR 下的分類正確率比較. 24.
(32) 第四章 實驗數據與效能比較. SNR(dB) 1. 2. 4. 6. 8. 10. m=36 88.92% 93.42% 95.40%. 95.72% 96.09% 95.93%. m=50 88.49% 91.79% 95.02%. 95.28% 96.46% 96.62%. m=64 87.62% 91.72% 94.52%. 95.78% 96.74% 96.77%. 表 4.3 叢集各數為 3(c=3)在不同維度(m)及 SNR 下的分類正確率比較. Spike for Target Neuron 1. Spike for Target Neuron 2. Spike for Target Neuron 3. 圖 4.3 來自不同神經元的棘波訊號(SNR=100,c=3,m=64). 25.
(33) 第四章 實驗數據與效能比較 Spike for Target Neuron 1. Spike for Target Neuron 2. Spike for Target Neuron 3. 圖 4.4 來自不同神經元的棘波訊號(SNR=10,c=3,m=64) Spike for Target Neuron 1. Spike for Target Neuron 2. Spike for Target Neuron 3. 圖 4.5 來自不同神經元的棘波訊號(SNR=1,c=3,m=64) 26.
(34) 第四章 實驗數據與效能比較. 接下來將討論軟硬體在分類正確率上的比較,可得知本論文提出之硬體電路架 構與軟體 Matlab 模擬中的差別,經由軟硬體的執行結果來做相互比較。在這邊我 們所使用的輸入棘波訊號是經由模擬器產生 14 秒的棘波序列,取樣頻率為 24000 取樣點/每秒(m=64)做實驗,其中 t 為所有的棘波訊號,而𝑡則是分類正確的棘波訊 號數目。表 4.4、4.5、4.6、4.7 分別是是叢集個數(c)2 和 3 的軟硬體分類結果,由 表可以看出其軟硬體分類正確率大致上是相同的,但其中還是有著些許的誤差, 造成誤差的原因主要是軟硬體間精確度的問題,Matlab 所使用的是雙精度(double precision),而硬體方面本論文對於 GHA 與 FCM 兩塊電路分別採用 17 bits 與 8 bits 定點數運算,由於軟硬體間的精度不同,造成執行結果有著些微的誤差。. SNR(dB) 1. 2. 4. 6. 8. 10. t. 1651. 1638. 1621. 1656. 1662. 1653. 𝒕. 1644. 1632. 1617. 1654. 1660. 1651. CCR 99.58% 99.63%. 99.75%. 99.88% 99.88% 99.88%. 表 4.4 Spike sorting 在不同 SNR 下的軟體正確率(c=2). 27.
(35) 第四章 實驗數據與效能比較 SNR(dB) 1. 2. 4. 6. 8. 10. t. 1651. 1638. 1621. 1656. 1662. 1653. 𝒕. 1642. 1632. 1616. 1650. 1656. 1650. CCR 99.45% 99.63%. 99.69%. 99.68% 99.69% 99.81%. 表 4.5 Spike sorting 在不同 SNR 下的硬體正確率(c=2). SNR(dB) 1. 2. 4. 6. 8. 10. t. 1850. 1860. 1842. 1870. 1873. 1828. 𝒕. 1621. 1706. 1741. 1758. 1812. 1769. CCR 87.62% 91.72%. 94.52%. 95.78% 96.74% 96.77%. 表 4.6 Spike sorting 在不同 SNR 下的軟體正確率(c=3). SNR(dB) 1. 2. 4. 6. 8. 10. t. 1850. 1860. 1842. 1870. 1873. 1828. 𝒕. 1612. 1704. 1740. 1782. 1805. 1766. CCR 87.13% 91.66%. 94.46%. 95.29% 96.36% 96.6%. 表 4.7 Spike sorting 在不同 SNR 下的硬體正確率(c=3). 28.
(36) 第四章 實驗數據與效能比較 為了更進一步闡述本論文提出之 GHA 與 FCM 棘波分類的有效性,圖 4.6、4.7、 4.8 及 4.9 詳細的表示叢集各數為 2 和 3(c=2,c=3)向量維度為 64(m=64)在 SNR=1 與 SNR=10 的雜訊干擾情況下,棘波序列經由 GHA 擷取出的特徵值散布情況, 以及透過 FCM 計算出的質心與分群結果。在 SNR 為 1 的情況下,雜訊干擾明顯 的強了很多,因此從投影至特徵平面上的散佈圖來看,棘波訊號明顯的比較分散; 相對的當 SNR 為 10,散佈圖上面的點相較集中了許多,由圖 4.6、4.7、4.8 及 4.9 也能明確地看出本論文所提出之電路架構既使在強大的雜訊干擾下,仍能將輸入 的棘波訊號正確的分類出來。. 29.
(37) 第四章 實驗數據與效能比較. (a). (b) 圖 4.6 棘波主成分值投影至特徵平面上的散布圖(SNR=10,c=2,m=64) (a) 棘波分類正確結果. 30. (b) FCM 分類結果.
(38) 第四章 實驗數據與效能比較. (a). (b) 圖 4.7 棘波主成分值投影至特徵平面上的散布圖(SNR=1,c=2,m=64) (a) 棘波分類正確結果 (b) FCM 分類結果. 31.
(39) 第四章 實驗數據與效能比較. (a). (b) 圖 4.8 棘波主成分值投影至特徵平面上的散布圖(SNR=10,c=3,m=64) (a) 棘波分類正確結果 (b) FCM 分類結果. 32.
(40) 第四章 實驗數據與效能比較. (a). (b) 圖 4.9 棘波主成分值投影至特徵平面上的散布圖(SNR=1,c=3,m=64) 棘坡分類正確結果 (b) FCM 分類結果. 33.
(41) 第四章 實驗數據與效能比較. 接著,表 4.8、表 4.9、表 4.10 說明了本論文所提出之 GHA 與 FCM 電路架構 與其他現有的各種演算法則在不同 SNR 下的分類正確率比較[18,19,20],且針 對輸入棘波訊號採用不同的向量維度,m=36(Sample Rate=13500),m=50(Sample Rate=18750)與 m=64(Sample Rate=24000)做實驗。同樣的,由於分群演算法的結 果會根據所選定的起始碼而有所不同,在這裡各種法則的分類正確都是執行 40 次後的平均值,明顯的可以看出本論文提出之 GHA 與 FCM 的棘波分類系統在不 同雜訊干擾下的分類正確率優於其他各種法則。. 由表 4.8、表 4.9、表 4.10 可知本論文提出之 GHA 與 FCM 電路架構在不同的 取樣頻率下與各種法則相比,皆能有良好的分類正確率,由此可再次說明本論文 提出之電路的通用性,並不需要針對特定的輸入訊號才能做出有效的分類。. 與 K-Means 法則相比,FCM 演算法在選擇初始質心有著較低的敏感度,避免 了傳統 K-Means 容易落入局部最佳化的缺點。而且由表可知,K-Means 在雜訊干 擾程度較弱時,分類正確率反而較低。因此,表中可清楚看出以 FCM 為基礎的 棘波分類演算法比以 K-Means 為基礎的分類演算法有著更高的分類正確率,然而 在相同的分群演算法下(例如 FCM), GHA 與 PCA 幾乎達到相同的效能,因此, 本論文所提出結合 GHA 與 FCM 對於棘波分類是很有效率的。. 34.
(42) 第四章 實驗數據與效能比較. Proposed. GHA+. PCA+. PCA+. GHA+FCM K-Means[19] FCM[20] K-Means[18] SNR=4db. 95.40%. 91.68%. 94.40%. 94.62%. SNR=6db. 95.72%. 89.32%. 96.14%. 89.14%. SNR=8db. 96.09%. 87.50%. 96.06%. 88.34%. SNR=10db 95.93%. 83.67%. 95.94%. 98.30%. 表 4.8 不同演算法則的棘波分類正確率(c=3,m=36). Proposed. GHA+. PCA+. PCA+. GHA+FCM K-Means[19] FCM[20] K-Means[18] SNR=4db. 95.02%. 95.93%. 95.01%. 91.90%. SNR=6db. 95.28%. 89.68%. 96.58%. 89.92%. SNR=8db. 96.46%. 88.01%. 95.15%. 87.65%. SNR=10db. 96.62%. 88.24%. 95.98%. 89.22%. 表 4.9 不同演算法則的棘波分類正確率(c=3,m=50). 35.
(43) 第四章 實驗數據與效能比較. Proposed. GHA+. PCA+. PCA+. GHA+FCM K-Means[19] FCM[20] K-Means[18] SNR=4db. 94.52%. 93.77%. 94.08%. 91.95%. SNR=6db. 95.78%. 94.35%. 95.72%. 93.53%. SNR=8db. 96.74%. 96.74%. 96.69%. 96.74%. SNR=10db 96.77%. 89.74%. 96.72%. 90.97%. 表 4.10 不同演算法則的棘波分類正確率(c=3,m=64). 36.
(44) 第四章 實驗數據與效能比較. 本論文之硬體電路除了擁有高分類正確率,同時也保有低面積複雜度,由於加 法器、乘法器與暫存器為 GHA 與 FCM 電路架構中的基本區塊,表 4.10 將說明 本電路的面積複雜度,針對這三個部分(加法器數量、乘法器數量、暫存器數量) 來分別做比較,從表 4.11 可以看出加法器與乘法器的數量與主成分個數 p 以及每 個區塊包含的元素 q 呈線性成長關係,與向量為度 m、叢集個數 c 以及訓練向量 個數 t 無關。由於棘波分類電路須存放來源棘波訊號、突觸權重向量以及特徵向 量,因此暫存器數量將與𝑝, 𝑚, 𝑐, 𝑡呈線性成長。. GHA. FCM. Total. Adders. 𝛰(𝑞). 𝛰(𝑝). 𝛰(𝑝 + 𝑞). Multipilers. 𝛰(𝑞). 𝛰(𝑝). 𝛰(𝑝 + 𝑞). Registers. 𝛰(𝑝𝑚 + 𝑝𝑡) 𝛰(𝑝𝑐) 𝛰(𝑝(𝑚 + 𝑡 + 𝑐)). 表 4.11 本論文之棘波分類系統面積複雜度. 表 4.12 為棘波分類硬體電路在 p=2,m=64,c=3 與 t=800 時的硬體資源消耗。 本實驗設計於 Altera Quartus II with Qsys,所使用的 FPGA 開發板為 Altera Cyclone IV EP4CGX150DF31C7,其中我們顯示了三種不同資源的比較分別是 Logic. 37.
(45) 第四章 實驗數據與效能比較 Elements (LEs)、embedded multiplier 以及 memory bits。. 其中,LEs 在 GHA 與 FCM 電路架構中被用來實現加法器、乘法器與暫存器, 而 Logic Elements (LEs)、embedded multiplier 以及 memory bits 則被用來實現 NOC 系統中的 NIOS CPU,然後 GHA 與 FCM 中的乘法器則以 embedded multiplier 來 實現,在本實驗的 FPGA 開發板中擁有 149760 個 LEs,720 個 embedded multiplier 和 6635520 個 memory bits。從表 4.12 可看出單獨本電路架構所消耗的硬體資源, 本論文所提出之電路在硬體資源上消耗的並不多,而且,在電路架構加入 NOC 後硬體資源消耗僅微幅成長,因此本論文所提出之電路架構可說具有充分的延伸 性與可調整性。. Logic Elements Embedded Multiplier. GHA. FCM. Spike Sorting. Entire. Circuit. Circuit. Circuit. NOC. 15688. 4468. 22582. 31018. (15.08%). (20.71%). 151. 155. (20.97%). (21.53%). (10.48%) (2.98%) 128. 23. (17.78%) (3.19%) 63488. 113520. 193444. 1050380. (0.96%). (1.71%). (2.91%). (15.83%). Memory bits. 表 4.12 本論文之棘波分類系統硬體資源消耗. 38.
(46) 第四章 實驗數據與效能比較. 本論文所提出的 Network on chip 之棘波分類硬體系統有別於傳統的 SOPC(System-on-a-Programmable-Chip),在執行速度上有著高速計算的優點,表 4.13 說明了本電路架構在各種不同時脈下的執行時間,而軟體方面則是在 Intel I7 處理器於 2.61GHz 時脈下執行,其執行時間也將納入表中與硬體相互比較。在本 實驗中的輸入的棘波訊號數目為 800,而 GHA 的訓練次數是 100,FCM 執行次 數則是 10 次,由表 4.13、圖 4.10 可看出基於 NOC 的棘波分類系統,能夠運作在 高達 1GHz 的時脈下,而且 GHA 及 FCM 的執行時間也隨著時脈上升呈現著線性 下降。當時脈調整到 1GHz 的情況下,本論文之電路系統總共執行時間只需 1.99 毫秒;相反在 Intel I7 處理器下執行需花費 193.18 毫秒。本論文所提出之硬體系 統比起軟體的執行時間快了 97.08 倍。由此可見本論文提出之棘波分類系統有著 相當好的執行速度。. Implementation. NOC-based. Software. Spike. Spike. Sorting-. Sorting. Intel I7. Processor Clock Rate. 50MHz 200MHz. 400MHz. 600MHz 800MHz 1GHz. 2.61GHz. GHA(ms). 35.60. 8.92. 4.46. 2.97. 2.23. 1.78. 131.38. FCM(ms). 4.17. 1.05. 0.52. 0.35. 0.26. 0.21. 11.80. Total(ms). 39.77. 9.97. 4.98. 3.32. 2.49. 1.99. 193.18. 表 4.13 本論文之棘波分類系統在不同時脈下的執行時間. 39.
(47) 第四章 實驗數據與效能比較. (ms) 40 35 30 25 GHA(ms) 20. FCM(ms) Total(ms). 15 10 5 0 50MHz. 200MHz. 400MHz. 600MHz. 800MHz. 1GHz. 圖 4.10 本論文之棘波分類系統在不同時脈下的執行時間. 表 4.14 我們將比較本論文所提出之 GHA 電路與其他特徵擷取的 FPGA 硬體實 作[19,21]之 area costs 與 throughput,該表中產能(throughput)定義為每秒鐘可通 過電路的輸入訓練向量總數,由表 4.8 可以明顯看本論文之 GHA 架構可達到高 clock rate 與 throughput。事實上,本論文架構之 throughput 比[19]高出 28.125 倍(4.50 x 107 vs.1.60 x 106) ,也比[21] 多了 16.3 倍(4.50 x 107 vs.2.75 x 106)。為了方便觀 察,我們將表 4.13 繪製成圖 4.11 以利觀察本論文之電路優於其他架構。. 我們所提出的演算法有著優越的效能,因為是基於位移暫存器來儲存權重向量 及輸入向量得以高速計算,此外,由於運用 NOC,本論文提出之電路也能夠連接 40.
(48) 第四章 實驗數據與效能比較 軟體的 NIOS 處理器運算在高速的 clock rate 下。. FPGA. Arch. Device. Proposed. Altera. GHA. Cyclone IV. Arch. EP4CGX150. GHA. Xilinx. Arch. Virtex6. in [19 ]. XC6VSX315T. GHA Arch In [ 21]. Cyclone IV EP4CGX150. Logic. DSP. cells. elements or. or LEs. Multipliers. 15655. 128. 63488. 1GHz. 4.50× 107. 121610. 12. 0. 100MHz. 1.60× 106. 9144. 432. 63488. 50M Hz. 2.75× 106. Embedded Bits. Max. Clock. Throughput. rate. 表 4.14 本論文所提出之電路與其他以 FPGA 實現特徵擷取的比較. (輸入向量總數/秒) 5.00E+07 4.50E+07 4.00E+07 3.50E+07 3.00E+07 2.50E+07 2.00E+07 1.50E+07 1.00E+07 5.00E+06 0.00E+00 Propose GHA Arch. Arch [19]. Arch [21]. 圖 4.11 本論文提出之電路與其他以 FPGA 實現特徵擷取的比較圖 41.
(49) 第四章 實驗數據與效能比較 最後,表 4.15 顯示了在不同叢集各數實作下的 area cost 和 throughput,表中產 能(throughput)也定義為每秒鐘可通過 FCM 電路架構的輸入訓練向量總數,此 FCM 架構[22]僅實現了兩個叢集(c=2),與此相反,本論文所提出之電路實現了三 個叢集(c=3),由表 4.15 可看出兩者電路架構卻消耗了差不多數量的 LEs。除此之 外,本論文所提出之架構與 FCM 電路架構[22]相比有著更高的 throughput,這些 事實將證明本論文所提出之硬體電路架構在棘波分類上有著較高的效率及明顯 的優勢。. FPGA. Arch.. Devices. Proposed. Altera. FCM. Cyclone IV. Arch.. EP4CGX150. FCM. Altera. Arch.. ACEX 1K. In[22]. EP1K100FC484. Logic Cells or LEs. DSP elements. Embedded. or. Bits. Multipliers. Max. Clock. Throughput. Rate. 4468. 23. 113520. 1GHz. 3.38× 107. 4205. 0. 24576. NA. 3.2768× 106. 表 4.15 本論文提出之 FCM 電路與其他以 FPGA 為基礎的分群實現比較. 42.
(50) 第五章 結論. 第五章 結論. 近幾年來,人們對於大腦活動情形的研究與應用可說是越來越熱門,各領域針 對腦波訊號處理的相關研究也日益漸增。本論文於 FPGA 中實現一套棘波分類系 統,由於採用 NOC 架構,使得運算時間大幅縮短,根據第四章的實驗結果顯示, 本論文所提出之架構在分類正確率,計算速度都有很大的優勢,且本電路架構並 不侷限在特定的參數,於不同的雜訊干擾或棘波種類都能有著良好的效能與效率, 說明了本架構之泛用性。. 總結來說,本論文所提出以 NOC 技術實現棘波分類系統之電路架構對於該領 域是有其助益的,使用 FPGA 的實現方式,讓本系統擁有低功率消耗、高可攜性 以及即時運算的優點,與其他法則相比,也具有相當的優勢,且有著充分的延伸 性與可調整性,對於未來針對棘波訊號的研究也有很大的幫助,此棘波分類系統 架構於實際應用與學術研究方面都很有價值,因此本論文所設計之架構確實是有 其需求且有效率的電路架構。. 43.
(51) 參考文獻. 參考文獻. 1.M.S. Lewicki,“A review of methods for spike sorting: the detection and classification of neural action potentials,” Network Computer Neural System, Vol. 9, pp. R53R78, 1998. 2.M.A. Lebedev and M.A.L. Nicolelis, “Brainmachine interfaces: past, present and future,” Trends in Neurosciences, Vol.29, pp.536-546, 2006. 3. E.E. Fetz, “Real-time control of a robotic arm by neuronal ensembles,” Natural Neural Science,Vol. 2, 00.583-584, 1999. 4. S. Hauck and A. Dehon, Reconfigurable Computing: The Theory and Practice of FPGA-Based Computing, Morgan Kaufmann: San Fransisco, CA, USA, 2008. 5. S. -J. Lin, W. -J. Hwang, and W. -H. Lee, “FPGA Implementation of Generalized Hebbian Algorithm for Texture Classification,” Vol. 12, pp.6244-6268, Sensors, 2012. 6. S. Haykin, Neural Networks and Learning Machines, 3rd ed.; Pearson: Upper Saddle River, NJ,USA, 2009. 7. T.D. Sanger, “Optimal unsupervised learning in a single-layer linear feedforward neural network,Neural Network, Vol. 12, pp.459-473, 1989. 8. S. Miyamoto, H. Ichihashi, and K. Honda, Algorithms for Fuzzy Clustering,. 44.
(52) 參考文獻 Springer: Berlin,Heidelberg, Germany, 2010. 9. J. C. Bezdek, Pattern Recognition with Fuzzy Objective Function Algoritms, Plenum Press: NewYork, 1981. 10.T. Bjerregaard and S. Mahadevan, A Survey of Research and Practices of Network-on-Chip, ACM Computing Surveys, Vol. 38, 2006. 11. 李偉豪,應用於棘波分類之硬體架構實現,國立台灣師範大學資訊工程研究 所,2012 12. Altera Corporation. SOPC Builder User Guide.. online:http://www.altera.com/literature/lit-sop.jsp 13. Holger Blume, Thorsten von Sydow, Jochen Schleifer and Tobias G. Noll, Petri Net Based Modelling of Communication in Systems on Chip, Petri Net - Theory and Applications (book), Vienna, Austria,2008 , 14. 周凱楓,晶片網路多核心處理器之模擬器設計與實現,國立成功大學資訊工程 學系,2007 15. Altera Corporation. Quartus II Handbook Version 13.0. 2013. Available online: http://www.altera.com/literature/lit-qts.jsp (accessed on 26 June 2013). 16. Altera Corporation. NIOS II Processor Reference Handbook ver 11.0. 2011. Available online: http://www.altera.com/literature/lit-nio2.jsp (accessed on 26 June 2013). 45.
(53) 參考文獻 17. T. Bjerregaard and S. Mahadevan, A Survey of Research and Practices of Network-on-Chip, ACM Computing Surveys, Vol. 38, 2006. 18. Y. Sun, S. Huang, J. J. Oresko, and A. C. Cheng, “Programmable Neural Processing on a Smartdust for Brain-Computer Interfaces,” IEEE Trans. Biomedical Circuits and Systems, Vol. 4, pp.265-273,2010. 19. B. Yu, T. Mak, X. Li, F. Xia, A. Yakovlev, Y. Sun, and C.-S. Poon,“A Reconfigurable Hebbian Eigenfilter for Neurophysiological Spike Train Analysis,” Proc. International Conference on Field Programmable Logic and Applications, pp.556-561, 2010. 20. A. Oliynyk, C. Bonifazzi1, F. Montani and L. Fadiga1, ”Automatic online spike sorting with singular value decomposition and fuzzy C-mean clustering,” BMC Neural Science, Vol. 13, 2012. 21. W.-J. Hwang and H. Chen, Efficient VLSI Architecture for Spike Sorting Based on Generalized Hebbian Algorithm, Proc. European Symposium on Artificial Neural Networks, Computational Intelligence and Machine Learning, pp. 71-76, 2013. 22. J. Lazaro, J. Arias, J.L. Martin, C. Cuadrado, A. Astarloa, “Implementation of a modified fuzzy c-means clustering algorithm for realtime applications,” Microprocessor and Microsystems, Vol.29, pp.375-380, 2005.. 46.
(54)
相關文件
系列中一套三冊的內容,分別對應不同類別資優學生的需要,除了讓 教師了解香港資優教育的推行理念及一般資優
由於 Android 作業系統的開放性和可移植性,它可以被用在大部分電子產品 上,Android 作業系統大多搭載在使用了 ARM 架構的硬體設備上使裝置更加省電
圖 2.31 Piercentransit 系統輸出畫面 (十一)Washington Metropolitan Area Transit Authority(UW2).
在軟體的使用方面,使用 Simulink 來進行。Simulink 是一種分析與模擬動態
在與 WINS 有關的研究之中,除了研發感測器硬體這個領域之外,其它的領域均需要
分類法,以此分類法評價高中數學教師的數學教學知識,探討其所展現的 SOTO 認知層次及其 發展的主要特徵。本研究採用質為主、量為輔的個案研究法,並參照自 Learning
傳統上市場上所採取集群分析方法,多 為「硬分類(Crisp partition)」,本研 究採用模糊集群鋰論來解決傳統的分群
本書立足中華文化大背景,較為深入系統地分析研究了回族傳統法文化的形成基礎、發展歷