• 沒有找到結果。

以競爭性學習法則為基礎之多通道棘波分類電路設計

N/A
N/A
Protected

Academic year: 2021

Share "以競爭性學習法則為基礎之多通道棘波分類電路設計"

Copied!
68
0
0

加載中.... (立即查看全文)

全文

(1)國立臺灣師範大學 資訊工程研究所碩士論文. 指導教授: 黃 文 吉 博士. 以競爭性學習法則為基礎之多通道 棘波分類電路設計 Multi-Channel Spike Sorting Circuits Based on Competitive Learning Algorithm. 研究生: 陳 志 昌 撰 中華民國 一百零六 年. 八. 月.

(2) 中文摘要 本論文研究的目的在於設計並合成出可以植入於腦部內的植入式多通道棘 波分類電路,提出的電路架構能夠處理多通道的腦波資料,所支援的功能包含 棘波偵測、特徵擷取以及棘波分類,並具有低面積、低功耗的優勢以及良好的 分類效果。根據植入生物體內的需求,電路的面積及功耗都是需要著重考量的 部分,因為完成後的晶片會接觸到大腦,面積如果過大會壓迫到腦部,而功耗 如果太高會導致晶片溫度過高而傷害到大腦,造成腦神經或是細胞組織受損。 本研究所提出的架構是基於 NEO 演算法則做為棘波偵測器和 Peak Detection and Area Computation(PDAC)演算法做為特徵擷取器,並使用非監督式 學習演算法 Competitive Learning 透過特徵資料做學習,學習完之後交給 Nearest Neighbor Classifier 做棘波分類使用。在架構設計上透過運算單元的共享,並將 64 通道的棘波分類系統電路架構於 ASIC Flow 上實作,使用 90nm 製程做電路 的實現,並於電路設計中導入 Clock Gating 技術來降低電路動態功耗,完成低面 積、低功耗的多通道棘波分類電路。 最後於論文後方與其他現有的架構做比較,證明以競爭性學習法則為基礎 的棘波分類系統有著良好的面積及功耗表現,且具有不錯的分類效果。. 關鍵字: 棘波分類、棘波偵測、特徵擷取、競爭性學習法則、特殊應用積體電路. i.

(3) 致謝 首先我要感謝 MC2 實驗室的指導教授黃文吉教授,當初進入師範大學資工 研究所後,因為對硬體設計有興趣而進入了黃教授的研究室,實驗室也提供了 很多資源可以讓我從頭開始學起硬體設計的觀念以及技術,也透過黃教授的訓 練課程,從中學習到了很多的 IC 設計的知識,透過這些資源來建立好自己的實 力,才能夠順利完成碩士學位。在實驗室研究的過程中,黃教授也會適時的提 點我們,來引導我們研究的步伐,也會給予我們在人生道路上的建議以及經 驗,因此很慶幸能夠加入黃文吉教授的實驗室。 再來我要感謝我的家人,因為有家人的支持,我才能夠繼續就讀研究所, 讓我在就讀期間讓我不用去顧慮其他事情,專心攻讀碩士學位,如果沒有家人 的支持與幫助,我就無法順利取得碩士學位。 也要感謝實驗室的大家,包括同屆一起打拼一起努力的實驗室同學們、畢 業的學長姐們以及即將升上碩二的學弟妹們。再研究遇到瓶頸時會共同討論解 決,再放鬆之時也會一同去健身房運動,互相玩樂打鬧一起分擔壓力,讓我在 研究所期間快樂的度過,有源源不絕的動力。 最後要感謝所有幫助我的人,由於一時無法列出所有人,但絕對沒有忘記 各位的幫忙,也因為有大家的幫助,我才能順利取得碩士學位。. ii.

(4) 目錄 中文摘要..........................................................................................................................i 致謝.................................................................................................................................ii 目錄............................................................................................................................... iii 表目錄............................................................................................................................ iv 圖目錄............................................................................................................................. v 第一章 緒論................................................................................................................... 1 第一節 研究背景及動機....................................................................................... 1 第二節 研究目的................................................................................................... 9 第三節 全文架構................................................................................................. 10 第二章 演算法介紹..................................................................................................... 11 第一節 棘波偵測演算法..................................................................................... 11 第二節 特徵擷取演算法..................................................................................... 13 第三節 棘波分類演算法..................................................................................... 16 第三章 電路架構與設計............................................................................................. 19 第一節 系統之整體架構..................................................................................... 19 第二節 Spike Detection Circuit - NEO ............................................................... 21 第三節 Spike Buffer ............................................................................................ 23 第四節 Feature Extraction Circuit - PDAC ......................................................... 25 第五節 Feature Extraction Buffer ....................................................................... 27 第六節 Training and Classification Circuit ......................................................... 28 第一項 Winner Selection Unit..................................................................... 29 第二項 Memory Unit ................................................................................... 32 第三項 Winner Update Unit ........................................................................ 35 第四項 Controller 與電路運作 ................................................................... 37 第七節 Clock Gating 省電技術 ......................................................................... 39 第四章 實驗數據......................................................................................................... 42 第一節 系統效能之分析..................................................................................... 42 第二節 開發環境................................................................................................. 44 第三節 電路規格分析......................................................................................... 46 第四節 與其他現有架構比較............................................................................. 52 第五節 演算法的分類效果分析......................................................................... 54 第五章 結論................................................................................................................. 59 參考文獻....................................................................................................................... 60. iii.

(5) 表目錄 表 4.1 表 4.2. 開發環境 ..................................................................................................... 46 電路系統規格 .............................................................................................. 46. 表 4.3 表 4.4 表 4.5. 電路面積分析(單位: μ𝑚2).......................................................................... 47 標準化電路面積分析(單位: μ𝑚2/𝑐ℎ𝑎𝑛𝑛𝑒𝑙) ............................................. 48 各電路的面積所佔比例分析 ...................................................................... 50. 表 表 表 表 表 表. 電路之標準化功耗分析(單位: μ𝑊 /𝑐ℎ𝑎𝑛𝑛𝑒𝑙) ......................................... 51 Clock Gating 之省電效果分析 ................................................................... 51 比較系統架構 .............................................................................................. 52 以 PDAC 為基礎之分類效果分析(SNR 測試資料) .................................. 55 以 PCA 為基礎之分類效果分析(SNR 測試資料)..................................... 55 以 GHA 為基礎之分類效果分析(SNR 測試資料) .................................... 56. 4.6 4.7 4.8 4.9 4.10 4.11. 表 4.12 以 PDAC 為基礎之分類效果分析(Wave_clus 測試資料) ........................ 57 表 4.13 以 PCA 為基礎之分類效果分析(Wave_clus 測試資料) ........................... 58 表 4.14 以 GHA 為基礎之分類效果分析(Wave_clus 測試資料) .......................... 58. iv.

(6) 圖目錄 圖 圖 圖 圖 圖 圖. 1.1 2.1 2.2 3.1 3.2 3.3. 常規棘波分類系統流程 ................................................................................ 4 PDAC 演算法示意圖 ................................................................................. 14 更新中心點示意圖 ...................................................................................... 18 多通道棘波分類系統之系統架構圖 .......................................................... 20 Spike Detection Circuit 架構圖 ................................................................. 21 Spike Buffer 電路架構圖 ........................................................................... 23. 圖 圖 圖 圖 圖. 3.4 3.5 3.6 3.7 3.8. Feature Extraction Circuit(PDAC) 電路架構 ............................................ 25 Feature Extraction Buffer 電路架構圖 ....................................................... 27 Training and Classification Circuit 電路架構圖 ........................................ 29 Winner Selection Unit 電路架構圖............................................................ 30 Winner Selection Unit 電路圖.................................................................... 31. 圖 圖 圖 圖. 3.9 Memory Unit 電路架構圖 ......................................................................... 32 3.10 Center Storage Unit 電路架構圖 ............................................................... 33 3.11 Module 電路架構圖 ................................................................................... 34 3.12 Winner Update Unit 電路圖 ....................................................................... 35. 圖 圖 圖 圖 圖 圖 圖. 3.13 3.14 3.15 4.1 4.2 4.3 4.4. Clock Gating 電路元件 .............................................................................. 39 Clock Gating 波型圖 .................................................................................. 40 Clock Gating 套用 Spike Detection Circuit ................................................. 40 ASIC 開發流程 ........................................................................................... 44 電路面積分佈比例圖 ................................................................................... 49 SNR=8 競爭性學習法則分類結果............................................................. 54 Wave_clus C_Difficult2_noise005 競爭性學習分類效果 ......................... 57. v.

(7) 第一章 緒論 第一章探討本論文的研究動機、研究目的以及進行此研究的意義。第一節 介紹本研究的動機與目的,解釋相關且重要的背景知識,去檢視目前現有的相 關論文研究進行優劣的比較,並提出本論文研究所開發出的架構。第二節則說 明本論文的研究目的以及後面的研究目標。第三節會條列顯示本論文各章的內 容。. 第一節 研究背景及動機 近年來隨著醫學技術的進步,以及硬體方面技術的成長,人類對於大腦的 研究技術和知識越來越蓬勃發展,相關的研究與討論在世界各地也越來越熱 絡。而當我們談到人類對於大腦的研究,腦波可以說是大腦研究中近幾年最為 人所感興趣的其中一項,也是很熱門的研究議題。而這是因為人類的思考運作 以及生活上各種的行為動作,都與腦波息息相關,隨著人的行為不同,腦波所 呈現的波型也會跟著有所變動,因為腦波就是人在活動時,腦神經細胞活動所 引起的電位差。 假如我們有某種方法可以去解讀腦波的所提供的資訊,來去對應到人的行 為模式上,則將會在各個領域上打開一到新的大門,突破到一個新的境界上, 例如透過腦波分析可以幫助因為意外而失去手臂或是雙腳的病人,透過解讀病 患大腦的思緒結合外部的輔助設備,如透過溝通來操控電動輪椅或是機器手 1.

(8) 臂,將外部的設備取代成病患的器官,維持身體的功能。或是在教育領域上, 可以藉由偵測學生的腦波,透過腦波來分析學生的精神狀況,當透過腦波解讀 出學生處於精神疲勞的狀況,則課堂老師可以做適當的放鬆休息,或是調整難 易度,等到學生精神較集中的時候,再來給予難易度較複雜的教材,來達到更 好的學習成效,以此改善學習的效果。透過上述例子可以發現腦波研究的應用 範圍相當廣泛,並且也在近幾年當中不斷地蓬勃發展,雖然相關的演算法則以 及系統技術面還發展不夠成熟到可以大量生產的階段,但在世界各地的實驗室 已經陸續有測試產品出現。 我們在分析腦波之前,要先使用硬體設備從人腦中偵測腦波,而目前偵測 腦波的設備主要分為兩種方式,其一為侵入式裝置,主要是透過醫療手術在人 腦中埋入晶片或是透過探針深入人腦中,進行腦波的偵測,並取得腦波訊號, 另一種則是非侵入式裝置主要是使用腦波帽等等的儀器,透過腦波帽上的感測 器直接從外部去擷取腦波訊號,這兩種方式的差別在於侵入式因為需要將儀器 深入腦部,所以要擷取腦波的資料較不容易徵得受測者,因為畢竟是要動手術 將設備侵入人體,所以受測者會有所顧慮,較難取得受測者的意願,但好處是 所得到的腦波訊號比起非侵入式較為準確乾淨,不易受到雜訊的影響,而另一 種非侵入式裝置則為反之,好處是較容易徵得受測者進行腦波的偵測,來取得 資料,但壞處是容易受到頭髮、眼皮跳動等雜訊的干擾,影響腦波的波型。. 2.

(9) 在腦波分析的應用中,擁有效果好的棘波分類系統( Spike Sorting System ) [2]是非常必要的,且是一個非常重要的環節,因為它會影響整個腦波應用的成 效好與壞。而在探討棘波分類系統前,必須要先理解棘波的重要性,因此我們 先解釋何謂棘波? 棘波( Spike )的產生是因為人腦的運作方式,是經由神經元來傳遞訊息,來 傳遞到身體的各個部位去,而神經元傳遞訊息的方式是利用獨特的突觸來產生 電流,透過電流來傳導訊息,而在電流傳導的過程中會產生微小的電位差,這 個電位差就是神經元釋放出了一個微小的訊號。因此我們將這些神經元釋放出 的訊號透過探針或是腦波帽收集起來,並用波型去做表示的話,會看出棘波呈 現出一個明顯的波動,這種因為人腦動作,神經元的傳遞所產生出的電位差波 動,稱為是「動作電位( Action Potential )」或稱為「棘波( Spike )」。透過探針 或是腦波帽等設備所蒐集到的波型,會因為人類進行不同的思維,做出不同的 行為模式,而產生不同的波形,因此我們只需要分析所蒐集到的棘波波形,便 可以得知這筆棘波波形訊號所代表的意義。之後將這些資訊整理歸納,得出訊 號與神經元的關聯,就能透過一些醫療上的知識協同下,了解這筆訊號在人類 行為模式下的意義,而這整套進行腦波擷取與腦波分析的系統,稱之為棘波分 類系統( Spike Sorting System )。 腦機介面( Brain-Computer Interface )的研究,在近幾年的發展都是由上述的 理論開始,而相關研究的也發現到如果從大腦的多個區塊中去蒐集腦波,對腦 3.

(10) 波分析的成功率與辨識度有顯著的提升,也就是使用多隻探針的探針陣列去蒐 集腦波,所以棘波分類系統( Spike Sorting System )目前已經全面朝向多通道 ( Multi-Channel )棘波分類系統[1]發展。 透過上面的敘述,我們可以歸納出一般棘波分類的流程如下: 1. 輸入腦波訊號:輸入由探針或是腦波帽蒐集到的腦波訊號 2. 棘波偵測:從輸入的腦波訊號中,找出棘波訊號 3. 特徵擷取:將找出的棘波訊號,透過分析擷取其特徵 4. 棘波分類:將棘波特徵做分類( Classification ),把同一神經元發出 的棘波訊號歸類為同一群 下圖 1.1 為上述流程之示意圖。常規的棘波分類系統通常包含棘波偵測單 元、特徵擷取單元以及特徵分類單元,會由個別的演算法則做專門處理,而每 個流程使用到不同的演算法,會對整個系統的效能產生明顯的差異。. 圖 1.1 常規棘波分類系統流程. 4.

(11) 本論文的系統設計包含上述三個部分,分別為棘波偵測單元、特徵擷取單 元以及棘波分類單元,目的是開發出低面積、低功耗的硬體實作。最後做出的 結果可以完成將棘波特徵資料做分類,並探討最後分類結果的優劣。 首先討論棘波偵測與特徵擷取這兩部分,棘波偵測目的是能夠在原始的腦 波訊號中,偵測並找出棘波的位置,而困難之處在於前文所說的,腦波訊號是 由雜訊和棘波訊號所組成,所以我們必須從腦波中將雜訊過濾掉,只取出屬於 棘波訊號的部分,交給後面的特徵擷取單元。透過論文探討得知要做到此目的 最簡單的方法是針對訊號的絕對電位,做閥值得比較[7, 8],這個方法的優點是 簡易快速,但缺點是容易受到雜訊干擾的影響,假如雜訊高過閥值就會造成偵 測錯誤。因此在本論文選用非線性能量運算子( Nonlinear Energy Operator,簡稱 NEO ) [5] 作為棘波偵測的核心演算法則。NEO 是一個用來評估測量訊號能量值 的運算式,讓訊號通過高通濾波器來偵測棘波[6],且 NEO 的運算式只需乘法及 減法以及做閥值的比較即可完成偵測棘波的動作,好處在於這種簡單的運算非 常適合用硬體來實作,也迎合本論文的低面積、低功耗目的。 特徵擷取單元通常以二維的數值作為訊號的描述,將棘波轉換成能代表該 棘波的訊號,從訊號中去擷取出有代表性的訊號。而在眾多特徵擷取演算法 中,最著名的是主成分分析演算法(Principal Component Analysis, PCA) [3],並且 也有研究針對 PCA 設計出了硬體架構[4, 9]。但 PCA 的演算法則相當複雜,特 別是其中的共變異數矩陣以及特徵值分解的部分,運算式會消耗大量的硬體資 5.

(12) 源,尤其是在多通道棘波分類電路中,每個通道都要有自己的記憶體單元來儲 存資料,與本論文的低面積目的不符合,因此本論文不採用 PCA 作為特徵擷取 法則。另一個著名的特徵擷取演算法為通用赫賓演算法( Generalized Hebbian Algirithm, GHA ) [15, 16]。GHA 不用像 PCA 一樣儲存龐大的共變異數矩陣,可 以大幅減少硬體面積,但 GHA 在運算過程中也需要額外的資源去處理權重的部 分,而目前也有現存的研究對 GHA 設計硬體架構,部分架構像是[12, 14]以單通 道為主,也有以多通道架構設計的[13]。 上述兩個特徵擷取演算法則 PCA 和 GHA 皆會有複雜的運算而造成硬體面 積大,設計也較複雜,目前現存的演算法則也有主打計算簡單的演算法,可以 達到本論文低面積、低功耗的目的,像是 Zero Crossing [17],但其缺點是和 PCA 與 GHA 比較來容易受到雜訊的干擾,而影響之後的分類結果,但優點是複 雜度低,可以縮小硬體面積。因此本論文採用由 Zero Crossing 演化而來,新設 計的特徵擷取演算法,命名為峰值偵測與面積計算法(Peak Detection and Area Computation, PDAC) [11, 18],此法則優點和 Zero Crossing 同樣是運算式簡單複 雜度低,並且無須配置給每個通道額外的記憶體儲存空間,將一組運算單元分 享給所有通道,合乎本論文的低面積、低功耗目的,並且經過驗證和 Zero Crossing 相比,最後的分類結果辨識度較好。 而最後的棘波分類演算法,通常分為兩個階段,一開始為學習階段,目的 是要透過非監督式的學習演算法學習出每群的中心點,當學習完成之後將群中 6.

(13) 心點交給後面的分類演算法則,為之後輸入的特徵值做分類產生分類結果。在 棘波分類系統中做 On-line 的分類,好處在於不須再把特徵擷取單元得到的特徵 值傳送到外部做學習或是分類,因為如果將二維的特徵資料傳送到外部設備, 會受到腦內無限晶片傳輸頻寬較小的因素所限制,造成傳輸速度緩慢,而且外 部的設備也要等待到蒐集到足夠的資料量才能夠進行學習,因此如果我們在系 統電路中加入學習以及分類的功能,來達到 On-line 的棘波分類系統,那只需將 分類完的結果傳送到外部去做應用,且分類完結果的資料量和二維的特徵值比 起來資料小非常多,可以加快傳輸的速度。 目前常用的非監督式學習演算法有像是模糊 C 均值分類法( Fuzzy C-Means, FCM )、K-means、競爭學習演算法( Competitive Learning Algorithm )等等,FCM 演算法的缺點在於在運算過程中,需要去處理關聯係數(membership coefficients),在硬體實作會消耗龐大的硬體資源,需要龐大的記憶體單元去做 儲存,且 FCM 的學習資料也無法學習完之後就丟棄,必須儲存起來做為之後迭 代運算使用,來運算出新的群中心點位置,因此並不適合本論文的架構,而 Kmeans 也同樣學習資料無法丟棄,迭代運算需要用來計算出新的群中心點位置。 競爭學習演算法的優點在於學習過程中的學習規則簡單,運算式也只需要簡單 的乘加運算,學習資料也能夠依照設計者的需求選擇要不要將學習資料作儲 存,因此所消耗的硬體資源和 FCM 比起來較低,符合低面積晶片的設計,因此 本論文選擇使用競爭性學習演算法則當作非監督式的學習演算法。 7.

(14) 最後的棘波分類器,本論文是使用最近鄰居分類法( Nearest Neighbor Clustering ),其優點在於運算方式簡單,且競爭性學習法則在學習階段實的競爭 規則也同樣是採用最近鄰居分類法則做判斷,在學習階段就同時產生分類結 果。而最近鄰居分類法的運算規則只要將輸入的特徵值和每類的中心點去做距 離的比較,將輸入的特徵值透過像是歐氏距離( Euclidean distance )等距離運算 式,去找出輸入的特徵值資料和哪一類的中心點距離最接近,則將該輸入的特 徵值判斷屬於該一類。 本論文將硬體電路架構實作於 ASIC(Application-Specific Integrated Circuit)開 發流程。使用 ASIC 開發不同於 FPGA 的差別在於 ASIC 所開發出來的是專用晶 片,可以透過設計方式去掌握晶片的面積以及功耗。本論文使用 TSMC 90nm 製 程做電路的合成與模擬,並加入 clock gating 技術,進一步的降低電路的動態功 耗(Dynamic power)。. 8.

(15) 第二節 研究目的 綜合第一節所述,本論文將提出基於 NEO 法則與 Fast Feature Extraction 以 及包含非監督式競爭性學習法則的棘波分類器,設計出一套多通道的棘波分類 系統。並在以前的架構[11]中加入學習與分類的電路,完成 On-line 的棘波分類 系統,使系統能夠即時分類特徵資料,不需要再將特徵值資料送到 PC 端,透過 軟體來學習、分類特徵資料,增加了系統的實用性,使系統的功能更加完善。 透過改進以前 NEO 演算法的硬體架構,來讓導入的 Clock Gating 省電技術能夠 在電路中發揮更大的功效,進一步降低電路的功耗,架構上選用運算複雜度低 的 Fast Feature Extraction,加上架構自行設計的競爭性學習演算法電路,並導入 Clock Gating 技術,在 ASIC 流程上設計完成具備低面積與低功耗的棘波分類電 路,並具有良好的棘波分類成功率。完成功能包含棘波偵測、特徵擷取與棘波 分類功能的棘波分類電路。. 9.

(16) 第三節 全文架構 本論文規劃共分為五個章節,以下為條列說明各章節的內容概要。. 第一章 緒論. 說明本論文的研究背景、研究的動機與目的,以及全文架構說明。. 第二章 演算法介紹. 介紹本論文使用之演算法則的理論與概念。. 第三章 系統電路架構與設計. 說明將第二章介紹之演算法則,設計成硬體電路架構,並說明系統架構運 作流程。. 第四章 實驗數據與分析. 說明實驗環境與分析電路架構各參數的結果和效能,並顯示合成完成後的 電路面積與功耗相關數據. 第五章 結論. 將本論文設計之硬體電路架構以及實驗數據做總結。. 10.

(17) 第二章 演算法介紹 此章節介紹本論文架構所使用的演算法。本論文所設計的架構包含棘波偵 測單元、特徵擷取單元以及棘波分類單元。棘波偵測單元採用的演算法為非線 性能量運算子 NEO,特徵擷取單元為峰值偵測與面積計算法(Peak Detection and Area Computation, PDAC),棘波分類單元為競爭性學習演算法(Competitive Learning)搭配最近鄰居分類法,替特徵值資料做學習與分類。此章節的架構將 分為三節,分別介紹 NEO、PDAC 以及競爭性學習演算法。. 第一節 棘波偵測演算法 本論文所採用的棘波偵測演算法為非線性能量運算子(NEO) [5]。NEO演算 法是由H.M. Teager所提出的演算法則,之後由J.F. Kaiser初次在論文上做正式的 推導,所以此演算法則又稱作為Teager’s Energy Operator或是Teager-Kaiser Energy Operator。 將採集到的原始腦波訊號經過量化後,腦波訊號會形成一串離散時間的序 列。而原始的腦波訊號當中,會混合著許多沒有意義的雜訊或是空白訊號,這 些無意義的訊號對我們在腦波分析上面是沒有幫助的,因此棘波偵測的目的是 要從原始腦波訊號中,正確的從中找到有重要意義的訊號,即為棘波訊號。 因為棘波在產生時,會有很明顯的峰值(Peak)特性出現,而NEO是一種用來 測量序列訊號能量值的演算法,尤其對訊號能量的峰值特別敏感,因此很適合 11.

(18) 使用NEO作為棘波偵測使用,透過NEO偵測序列訊號的峰值,進而可以找出棘 波訊號的峰值位置。 我們假設𝑆𝑞 (𝑗)為輸入的第q通道中的第j個離散腦波訊號樣本點,為了方便 之後的討論,因此後面將𝑆𝑞 (𝑗)簡化為S(j)。在離散時間上的NEO演算法則為將目 前輸入的樣本點訊號S(j)做平方運算,減去目前訊號的前後兩筆的訊號值S(j - 1) 與S(j + 1)相乘後的結果。透過此方法可以偵測到訊號相對的高峰,但是要判斷 此高峰值是否為棘波訊號,需要去比對計算出來的能量值是否高過系統所設定 好的閥值γ。只有當NEO偵測到的能量值高過於設立好的閥值,才能夠將此峰值 判斷為是一筆棘波的峰值。整個NEO偵測棘波峰值的過程,定義為下列式子 2.1。. 𝑆(𝑗)2 − 𝑆(𝑗 − 1) × 𝑆(𝑗 + 1) > γ. (2.1). 透過2.1式偵測到棘波後,就能夠將峰值位置𝑆(𝑗)周圍的樣本點取出來,組 成一筆棘波訊號。假設NEO偵測後取出的第n筆棘波為𝐱(𝑛),棘波長度共有m個 樣本點。令 𝑥𝑖 , 𝑖 = 1 … 𝑚,為棘波訊號𝐱(𝑛)的第𝑖個樣本點,因此偵測到的棘波 𝐱(𝑛)的定義如式2.2。 𝐱(𝑛) = [𝑥1 , 𝑥2 , … , 𝑥𝑚 ]. (2.2). 從式2.1子可以了解NEO具有運算簡單的特性,在硬體實作上只需要兩個乘 法器與一個減法器,再加上一個比較器,即可完成低複雜度的NEO棘波偵測, 並具有高偵測準確率,相當適合作為棘波偵測硬體設計所採用的演算法則。 12.

(19) 第二節 特徵擷取演算法 本論文選用峰值偵測與面積計算法(Peak Detection and Area Computation, PDAC) [11,18],作為特徵擷取單元的運算核心。峰值偵測與面積計算法是由 Yuan-Jyun Chang [11]基於Zero-Crossing演算法修改而來的,新的特徵擷取演算 法則。 峰值偵測與面積計算法的目的是從棘波訊號中,擷取出能夠代表該棘波的 轉換訊號,該訊號通常是以二維的向量作為描述。峰值偵測與面積計算法的演 算法則為透過偵測棘波訊號的最低峰值位置與最高峰值位置,在根據最小峰值 位置將棘波訊號切割為前段與後段,之後將棘波訊號之基準線移至最低峰值, 並對基準線與棘波訊號做離散積分計算出棘波的前段與後段面積。 我們依照式2.2定義棘波訊號𝐱(𝑛) = [𝑥1 , 𝑥2 , … , 𝑥𝑚 ] 為偵測到的第n筆棘波, 共有m個樣本點。令峰值偵測與面積計算法所搜尋到的第n筆棘波的最低峰值位 置為𝑖𝑚𝑖𝑛 (𝑛),最高峰值位置為 𝑖𝑚𝑎𝑥 (𝑛),定義如下式2.3: 𝑖𝑚𝑖𝑛 (𝑛) =. 𝑎𝑟𝑔𝑚𝑖𝑛 1≤𝑖≤𝑚. 𝑥𝑖 , 𝑖𝑚𝑎𝑥 (𝑛) =. 𝑎𝑟𝑔𝑚𝑎𝑥 1≤𝑖≤𝑚. 𝑥𝑖. (2.3). 在m個樣本點中找出最小的樣本點為𝑥𝑖𝑚𝑖𝑛 ,最大樣本點為𝑥𝑖𝑚𝑎𝑥 ,並取出最 小樣本點所在位置即為最低峰值位置𝑖𝑚𝑖𝑛 (𝑛),最大樣本點所在位置即為最高峰 值位置 𝑖𝑚𝑎𝑥 (𝑛)。. 13.

(20) 經由最低峰值位置𝑖𝑚𝑖𝑛 將棘波訊號𝐱(𝑛)的樣本點切割為前段[1, 𝑖𝑚𝑖𝑛 ]與後段 [𝑖𝑚𝑖𝑛 + 1, m]。假設𝑎1 (𝑛), 𝑎2 (𝑛)為代表第n筆棘波的兩筆特徵值資料,兩筆特徵 值資料的定義如下式子2.4: 𝑖. 𝑚𝑖𝑛 𝑎1 (𝑛)=∑𝑖=1 (𝑥𝑖 − 𝑥𝑖𝑚𝑖𝑛 ), 𝑎2 (𝑛)=∑𝑚 𝑖=𝑖𝑚𝑖𝑛 +1(𝑥𝑖 − 𝑥𝑖𝑚𝑖𝑛 ). (2.4). 在式2.4中,𝑎1 (𝑛), 𝑎2 (𝑛)分別為透過最小峰值𝑥𝑖𝑚𝑖𝑛 與棘波訊號樣本點𝑥𝑖 , 𝑖 = 1 … 𝑚去計算的前段棘波面積與後段棘波面積,我們可以把前後兩段的棘波面積 作為代表這筆棘波的兩筆特徵值資料,上述整個過程的示意圖如圖2.1。. 圖 2.1 PDAC 演算法示意圖 圖2.1所示為第n筆棘波訊號,其長度為m=64個樣本點,透過PDAC演算法所 偵測到的最低峰值位置𝑖𝑚𝑖𝑛 (𝑛),最高峰值位置 𝑖𝑚𝑎𝑥 (𝑛),透過𝑖𝑚𝑖𝑛 (𝑛)分割出的前 段棘波面積𝑎1 (𝑛),與後段棘波面積𝑎2 (𝑛),將前後兩段的面積作為代表這筆棘波 的兩筆特徵值資料。 14.

(21) 得到兩個特徵值資料𝑎1 (𝑛), 𝑎2 (𝑛)後,我們可以在為棘波加入額外的特徵判 斷條件,例如透過最低峰值位置與最高峰值位置的彼此關係,除掉原始的特徵 值,為原始的特徵值附加額外的判斷條件,就可以得到新的兩筆特徵資料𝑓1 (𝑛) 𝑓2 (𝑛),新的特徵值資料表示如下:. 𝑓1 (𝑛) = 𝑎1 / (𝑖𝑚𝑖𝑛 − 𝑖𝑚𝑎𝑥 ), 𝑓2 (𝑛) = 𝑎2 / (𝑖𝑚𝑖𝑛 − 𝑖𝑚𝑎𝑥 ). (2.5). 透過此附加條件的意義在於如果最低與最高峰值的位置越接近,則表示棘 波的波型改變幅度較為激烈,反之則表示這筆棘波訊號的表現較為平穩。也可 以透過最低峰值與最高峰值彼此位置相減後的正負,來判斷棘波的波型特性是 由低谷往高峰做爬升,或是由高峰往低谷做下降。得到兩筆特徵資料後,就能 將這兩筆特徵資料輸出去做分類,我們令𝑋(𝑛)為𝐱(𝑛)的二維特徵值向量, 𝑋(𝑛) 的定義如下式2.6。. 𝑋(𝑛) = {𝑓1 (𝑛), 𝑓2 (𝑛)}. (2.6). 峰值偵測與面積計算法與Zero-Crossing同樣具有運算簡單複雜度低、消耗的 硬體資源較少的優點,並透過分析發現快速特徵擷取法改善了Zero-Crossing分類 成功率較差的缺點,具備比Zero-Crossing有更好的雜訊處理能力[11],因為棘波 的峰值不容易受到雜訊干擾的影響,所以PDAC演算法偵測峰值不易受到雜訊影 響,因此很適合本論文選用作為特徵擷取使用。. 15.

(22) 第三節 棘波分類演算法 棘波分類單元通常會包含學習以及分類兩部分,學習的部分會使用非監督 式學習演算法,使用非監督式學習原因是因為如果要達到即時性的分類,那我 們沒辦法預先知道所偵測到的棘波的特性如何,所以不知道要分類的答案是什 麼,沒有預測目標(label),因此實用上沒有辦法使用監督式學習。本論文所使用 的非監督式學習演算法是競爭性學習演算法搭配Nearest Neighbor(NN) classifier,為棘波的特徵值資料做學習以及分類,在學習階段我們使用競爭性學 習法則透過輸入進來的特徵值學習出每個類別的中心點,當學習完成後,把每 個類別的中心點固定下來,為之後輸入的特徵值資料做分類,產生分類結果。 競爭性學習法則學習的主要策略為贏者全拿(Winner Take All),只有透過式 2.7判斷為勝利者(Winner)的中心點才會透過學習規則執行更新。假設勝利者 Winner為𝑘,每一個類別的中心點為𝐶𝑙 (𝑛), 𝑙 = 1 … 𝐾,其中K為棘波的分類數, 由式2.6得知二維特徵值資料為𝑋(𝑛)。競爭性學習演算法在開始學習之前我們需 要指派初始的中心點𝐶1 (0), 𝐶2 (0) … 𝐶𝐾 (0),當作中心點疊代運算的種子。學習過 程主要分為兩個階段,第一階段為尋找勝利者,第二階段則是為勝利者做更新 運算。在演算法一開始我們需要去判斷哪一個類別的中心點為勝利者,判斷勝 利者的方式是透過計算特徵值資料𝑋(𝑛)和每類中心點的距離,當找到離用來學 習的資料距離最近的中心點,即為勝利者(Winner),每次疊代過程中只有一個中 心點會被判斷為勝利者,其他中心點則保持不動。 16.

(23) 由上述整理出我們尋找勝利者(Winner)的過程定義如下列式子:. Winner 𝑘 =. 𝑎𝑟𝑔𝑚𝑖𝑛 1≤𝑙≤𝐾(𝑋(𝑛). − 𝐶𝑙 (𝑛))2. (2.7). 在式2.7中,我們所採用的距離公式為歐基里德距離,其中為了運算方便所 以把開根號的部份去除掉。透過計算特徵值資料𝑋(𝑛)和每一類中心點𝐶𝑙 (𝑛), 𝑙 = 1 … 𝐾的距離。找到距離特徵值資料最近的中心點,即為勝利者𝑘,當找到勝利 者之後,下一個階段就為勝利的中心點(勝利者)做更新,其他非勝利的中心點則 保持原樣,更新的規則定義如下式:. {. 𝐶𝑙 (𝑛 + 1) = 𝐶𝑙 (𝑛), 𝑤ℎ𝑒𝑛 𝑙 ≠ 𝑘 𝐶𝑙 (𝑛 + 1) = 𝐶𝑙 (𝑛) + 𝜂(𝑋(𝑛) − 𝐶𝑙 (𝑛)), 𝑤ℎ𝑒𝑛 𝑙 = 𝑘. (2.8). 在式2.8中,當找到勝利的中心點𝐶𝑙 (𝑛), l = k,我們就為該中心點執行更新運 算,並得到新的中心點𝐶𝑙 (𝑛 + 1), l = k,其他非勝利的中心點則保持原樣不變。 其中更新運算中的𝜂為學習參數(Learning Rate),值得一提的是𝜂學習參數通常為 小於1的浮點數,因此需要做浮點數運算,但因為硬體實作上要處理浮點數運算 比較複雜,因此在第三章會說明如何以簡單且有效的方法,透過此方法來避免 使用浮點數運算。透過重複步驟式2.7以及式2.8,可以學習出每一類相似特性的 特徵值的中心點,在每次學習過程中,勝利的中心點,透過更新規則更新完 後,都會往用來學習的特徵值資料,做移動靠近,示意圖如下:. 17.

(24) 圖 2.2 更新中心點示意圖 因此當透過競爭性學習演算法學習到一定程度之後,每類的中心點就會移 動到具有相似特性的特徵值群組中,成為那個群組的中心點。得到每群的中心 點之後,我們就能為之後輸入進來的特徵值,同樣透過歐基里德距離判斷距離 最近的中心點,將特徵值資料歸類為屬於該中心點的類別。 由式2.7及式2.8中,可以發現競爭性學習演算法的運算並不複雜,而且每次 輸入的學習資料也不需要做儲存,讓之後的疊代過程做使用,因此不需要額外 的記憶體空間去儲存學習資料,且在之後的實驗數據會顯示競爭性學習法則, 應用在棘波分類系統中,具有良好的分類成功率。. 18.

(25) 第三章 電路架構與設計 此章節將會說明如何實現本論文提出的多通道棘波分類系統之硬體架構。 整體架構實現是基於NEO作為棘波偵測電路、峰值偵測與面積計算法(PDAC)作 為特徵擷取電路以及競爭性學習法則作為學習及分類電路。三塊主要電路彼此 之間都會有緩衝機制,以避免因為資料處理能力的速度不同,而導致資料的流 失。以下介紹每節的重點,第一節會討論系統的整體架構,第二、四、六節則 分別介紹NEO棘波偵測、PDAC特徵擷取與Competitive Learning學習及分類的硬 體架構設計,第三與第五節則分別討論三塊電路彼此之間的緩衝機制,在最後 一節會說明Clock Gating省電技術在電路中如何作用。. 第一節 系統之整體架構 本節討論本論文將多通道棘波分類系統,於ASIC流程上實現之硬體架構。 本論文所提出的多通道棘波分類系統之電路架構如圖3.1所示,在圖中可以看到 整體架構由五塊元件所組成包含Spike Detection Circuit、Spike Buffer、Fast Feature Extraction Circuit、Feature Extraction Buffer以及為以競爭性學習法則為基 礎的Training and Classification Circuit。. 19.

(26) 圖 3.1 多通道棘波分類系統之系統架構圖. 由圖3.1來看整體系統架構的主要流程為輸入多通道的腦波資料進來先做棘 波偵測,當偵測到棘波後會先放在Spike Buffer儲存,等到Fast Feature Extraction Circuit閒置時,就會從Spike Buffer中將棘波訊號取出,並做運算得到特徵值資 料,當運算完得到一筆特徵值資料後,也會先放在Feature Extraction中儲存,以 避免資料因為運算速度趕不上而流失,當Training and Classification Circuit閒置 時,就會將棘波資料從Feature Extraction Buffer中取出,輸入進來先學習出每群 的中心點資料,建立好中心點模組後在為之後的特徵值資料做分類,最後產生 分類結果。. 20.

(27) 第二節 Spike Detection Circuit - NEO 如同前文所述,Spike Detection Circuit的主要目的是能夠從原始腦波訊號 中,偵測並找出棘波的位置。Spike Detection Circuit需要有儲存空間來暫存腦波 訊號,以及有棘波偵測的核心運算電路,來完成NEO的棘波判斷的演算法,當 NEO偵測到棘波時,需要去取出我們想要的棘波區段,再把偵測到的棘波區段 訊號送到後方緩衝區Spike Buffer做暫存。下圖3.2顯示本論文的棘波偵測單元 Spike Detection Circuit的完整電路架構圖。. 圖 3.2 Spike Detection Circuit 架構圖 圖3.2中的符號m為棘波維度,M為系統的通道數。在Spike Detection Circuit 中,設計上使用M個Buffer來儲存多個通道的腦波資料,一個通道Buffer的大小 為m+c個維度,其中c是為了要有多餘的空間做shift,讓後面的腦波訊號可以輸 21.

(28) 入進通道Buffer中,因為取出的棘波區段是由峰值位置前後共m個的棘波樣本點 所組成。透過底下的Channel Counter去控制,每次取出一個通道的腦波資料到 NEO Detection中去偵測是否有棘波,當NEO Detection偵測到棘波時,會發出hit 訊號通知Peak Alignment,去擷取出m個樣本點的棘波區段取出來,並把偵測到 的棘波以及這筆棘波所對應的通道Channel number同步送往Spike Buffer棘波緩衝 區做儲存,同時發出Ready訊號通知Spike Buffer。圖3.3的架構設計,我們只需 要一組NEO Detection去做棘波偵測的運算,讓M個通道的腦波資料做共享,來 減少硬體的面積消耗。. 22.

(29) 第三節 Spike Buffer Spike Buffer的目的是為了避免因為棘波偵測到的速度比特徵擷取PDAC的運 算速度還快,而導致資料的遺失。因此Spike Buffer作為兩塊電路間的緩衝機 制,來暫存資料。 本論文所設計的棘波緩衝區Spike Buffer的電路架構如圖3.3所示,架構中分 為Input Buffer以及Output Buffer兩個部分,會需要分做兩個部份設計是因為 PDAC特徵擷取一次輸入計算是棘波的一個樣本點,而Spike Detection Circuit則 是會把m個樣本點的棘波資料一次推送出來。. 圖 3.3 Spike Buffer 電路架構圖. 透過Input Buffer去將Spike Detection Circuit偵測到的每筆棘波儲存起來, Input Buffer採用FIFO的方式設計,會把最先被偵測到的一筆棘波優先送往 Output Buffer中,透過Output Buffer將這筆棘波的樣本點一個一個依序地送往 Feature Extraction Circuit做特徵值的運算,同時也把Channel number同步送出 23.

(30) 去。當一筆m個樣本點的棘波都送完之後,Input Buffer才會在送出下一筆的棘波 到Output Buffer中儲存。透過Spike Buffer設計的緩衝機制,讓Feature Extraction Circuit的PDAC法則能夠有足夠的時間去做特徵值的運算。. 24.

(31) 第四節 Feature Extraction Circuit - PDAC 本論文的特徵擷取單元實做的是PDAC演算法,透過搜尋棘波訊號的峰值與 計算訊號面積的方法,來擷取棘波訊號的特徵,並將運算完成的特徵值交給後 端去做學習以及分類。實作PDAC演算法為式2.3, 式2.4以及式2.5,所設計電路 架構如下圖3.4。. 圖 3.4 Feature Extraction Circuit(PDAC) 電路架構. 由圖3.4來看,Feature Extraction Circuit電路架構包含Min/Max Detector、 Accumulator和Feature Computation Circuit。透過Spike Buffer將棘波的一個樣本點 𝑥𝑖 輸入進來,同時送進Min/Max Detector與Accumulator中進行運算。Min/Max Detector實作式2.3後,得到棘波訊號的最低峰值位置𝑖𝑚𝑖𝑛 與最高峰值位置 𝑖𝑚𝑎𝑥 , Accumulator實作式2.4後,計算出前段的棘波面積𝑎1 與後段的棘波面積𝑎2 ,之後 把棘波訊號的最低峰值位置𝑖𝑚𝑖𝑛 與最高峰值位置 𝑖𝑚𝑎𝑥 以及前段棘波面積𝑎1 與後段 25.

(32) 棘波面積,送進Feature Computation Circuit中實做式2.5,產生二維的特徵值向量 𝑋(𝑛)。由於PDAC演算法的運算並不需要特徵值的通道Channel number參與,因 此Channel number輸入進來之後,我們設計一個Delay Block讓Channel number能 夠和電路運算完成後得到的特徵值資料Feature data同步的輸出,一同送往後端 電路去做處理。. 26.

(33) 第五節 Feature Extraction Buffer 為了避免當Training and Classification Circuit還在處理特徵值資料時, Feature Extraction Circuit就產生新的一筆特徵值資料,而導致資料的遺失,因此 在兩塊電路之間透過Feature Extraction Buffer做為緩衝機制,來暫存Feature Extraction Circuit所產生的特徵值資料,當Training and Classification Circuit有空 閒時間可以處理的時候,就透過Feature Extraction Buffer將特徵值資料推送出 去。本研究所設計的Feature Extraction Buffer電路架構如圖3.5。. 圖 3.5 Feature Extraction Buffer 電路架構圖. 透過圖3.5得知Feature Extraction Buffer設計使用一個FIFO BUFFER來暫存 Feature Extraction Circuit所產生的特徵值資料Feature data與特徵值對應的通道 Channel number,當等到Training and Classification Circuit閒置時,透過FIFO BUFFER把最先輸入進來的特徵值資料與特徵值的通道,優先推送出去給後端的 Training and Classification Circuit做處理。. 27.

(34) 第六節 Training and Classification Circuit 系統架構中的Training and Classification Circuit實作的是競爭性學習演算法 (Competitive Learning),特徵值資料輸入後先進行學習,透過式2.7找出勝利的中 心點,再用式2.8為勝利中心點做更新運算,重複式2.7及式2.8的疊代運算,可以 固定出每類的中心點,將中心點資料儲存起來後即可為之後輸入的特徵值資料 進行分類。在式2.7及式2.8中我們以𝐶𝑙 (𝑛), 𝑙 = 1 … 𝐾來表示每一類的中心點,但 為了多通道設計方便討論,因此以𝐶𝑘,𝑞 (𝑛)來表達第q個通道中的第k類中心點。 由上述得知Training and Classification Circuit必須要有記憶體單元來儲存所 有通道的中心點資料,用來計算距離與比較距離的運算單元以及用來為勝利的 中心點進行更新運算的單元。因此,本論文所提出的Training and Classification Circuit電路架構如下圖3.6。 由圖3.6得知Training and Classification Circuit的輸入為特徵值資料𝑋(𝑛)與對 應的通道Channel number q,Initial Centers則是因為疊代運算需要有初始的中心 點資料做為中心點的種子使用。電路架構切割為Winner Selection Unit、Winner Update Unit,Memory Unit用來儲存多通道所有的中心點資料,整個電路的運作 由Controller去控制。. 28.

(35) 圖 3.6 Training and Classification Circuit 電路架構圖. 第一項 Winner Selection Unit Winner Selection Unit是根據式2.7設計,功能是計算與比較特徵值資料𝑋(𝑛) 與第q通道的每一類中心點之間的距離,我們假設特徵值的群組總共分為K類, 因此第q通道的每一類中心點為𝐶1,𝑞 (𝑛), 𝐶2,𝑞 (𝑛), … 𝐶𝐾,𝑞 (𝑛)。當比較距離後找到最 近距離的中心點Winner Selection Unit就會輸出Winner Index k控制Memory Unit推 送出勝利的中心點Winner Center 𝐶𝑘,𝑞 (𝑛)。Winner Selection Unit的電路架構如下 圖3.7。. 29.

(36) 圖 3.7 Winner Selection Unit 電路架構圖 在圖3.7中,Winner Selection Unit架構包含Distance Unit與Distance Comparator。Distance Unit會計算距離後產生Distance 1…Distance K,送到 Distance Comparator去做距離的比較,找到距離最近的中心點,即為勝利者k, 因此Distance Comparator會產生Winner Index k。如果是在分類階段的話,此 Winner Index k也代表的是特徵值資料的分類結果(Classification Result)。接下來 我們就以分四類為例𝐾 = 4,來顯示Winner Selection Unit的電路圖,如下圖3.8。. 30.

(37) 圖 3.8 Winner Selection Unit 電路圖 圖3.8顯示根據式2.7計算輸入的Feature data與四個類別的中心點𝐶1,𝑞 (𝑛)、 𝐶2,𝑞 (𝑛) 、𝐶3,𝑞 (𝑛)、𝐶4,𝑞 (𝑛)的距離,得到四筆的距離運算結果Distance 1、 Distance 2、Distance 3、Distance 4,同時送到Distance Comparator進行距離比 較,找到最小的距離後,Distance Comparator會輸出Winner Index k。. 31.

(38) 第二項 Memory Unit 記憶體單元目的是用來儲存多通道的中心點資料,因為不同的通道都要獨 立去做學習以及分類,為了避免每個通道都要各自配一組運算單元來完成2.7式 與2.8式,因此,我們透過設計一個記憶體單元來儲存所有中心點資料,當某組 中心點需要被使用時再從記憶體單元中取出,取出後運算完成也同樣寫回到記 憶體單元中儲存。本論文的Memory Unit的電路架構就如下圖3.9。. 圖 3.9 Memory Unit 電路架構圖 圖3.9中,Memory Unit的輸入會由Controller發出一個Load_initial_center控制 訊號,經由多工器來控制要輸入到Memory Unit的資料是更新完的勝利中心點資 料Update Result 𝐶𝑘,𝑞 (𝑛 + 1)還是做為中心點種子使用的初始中心點資料Initial Centers。Center Storage Unit則作為Memory Unit的儲存核心,負責儲存所有通道 的中心點資料,透過Channel number q與Winner Index k來控制Center Storage Unit 輸出Centers 𝐶1,𝑞 (𝑛), … 𝐶𝐾,𝑞 (𝑛),以及Winner Center 𝐶𝑘,𝑞 (𝑛)。接下來介紹Center 32.

(39) Storage Unit的細部電路架構如下圖3.10。. 圖 3.10 Center Storage Unit 電路架構圖 圖3.10中,Center Storage Unit電路架構會有M個Module來儲存M個通道的中 心點資料,第q個Module裡面儲存的是第q通道的中心點資料,透過Channel number q經過Decoder發出en訊號,經由多工器來取出Module q的資料,之後由 Winner Selection Unit發出的Winner Index k經由多工器從第q通道的中心點資料中 選出勝利的中心點Winner Center 𝐶𝑘,𝑞 (𝑛)。Winner Index k在Module中做為是資料 (data)寫入的位址(address)。Center Storage Unit中的Module細部電路架構就如下 圖3.11。. 33.

(40) 圖 3.11 Module 電路架構圖 Module的電路架構中,包含一個Decoder,一個DEMUX,以及用來儲存中 心點資料的cells。當一筆data進來需要寫入時,透過addr k經過Decoder來和en訊 號通過AND邏輯閘,data也會經由DEMUX由addr k做控制,使用此機制來控制 資料只會寫入其中一個cell做複寫。當這個Module透過Channel number q被en訊 號啟動時,就會把這個Module裡cells儲存的中心點資料輸出到Winner Selection Unit做距離的運算。. 34.

(41) 第三項 Winner Update Unit Winner Update Unit根據式2.8來設計實現,為Winner Center做更新的運算。 更新運算中,有一個𝜂做為學習參數(Learning Rate)使用,在第二章有提到𝜂學習 參數通常為小於1的浮點數,在硬體設計上要處理浮點數運算需要在消耗額外的 硬體資源做處理,因此,為了避免需要額外的資源去處理浮點數問題,所以𝜂我 1. 們透過實驗分析後,選擇32作為參數使用,也就是2−5 ,因此更新中心點的方式 為下式3.1。 1. 𝐶𝑘,𝑞 (𝑛 + 1) = 𝐶𝑘,𝑞 (𝑛) + 32 (𝑋(𝑛) − 𝐶𝑘,𝑞 (𝑛)). (3.1). 1. 這樣的好處在於,乘32在硬體設計上可以透過將bits數往右移五個位元的方 式來取代乘法的運算,進而降低運算複雜度,減少所消耗的硬體資源。Winner Update Unit的電路架構就如下圖3.12。. 圖 3.12 Winner Update Unit 電路圖. 35.

(42) Winner Update Unit的電路架構包含一個減法器,一個加法器以及一個移位 運算。其流程為先把勝利的中心點和特徵值資料相減,之後再做移位運算將bits 1. 數往右移五個位元,來取代乘32,在把移位完的結果和原始的中心點資料Winner Center相加,就得到更新完的中心點,即可將更新完的結果Update Result寫入到 Memory Unit做儲存。. 36.

(43) 第四項 Controller與電路運作 Controller負責用來協調Winner Selection Unit、Memory Unit以及Winner Update Unit之間的運作。接下來分為學習階段以及分類階段來說明電路運作流 程。學習階段目的是要透過輸入進來的Feature data,學習出每一個類別的中心 點資料,學習完後將這些中心點交由分類階段使用。 學習階段: 在電路一開始會將前幾筆的Feature data作為Initial Centers寫入到Memory Unit中儲存作為中心點種子。之後進入待機狀態等待新的Feature data與Channel number資料產生,當Feature data與Channel number輸入進來時,會先透過 Channel number q控制Memory Unit將第q通道的中心點𝐶1,𝑞 (𝑛), … 𝐶𝐾,𝑞 (𝑛)讀出,送 到Winner Selection Unit,接下由Winner Selection Unit運算與比較Feature data和 第q通道的中心點𝐶1,𝑞 (𝑛), … 𝐶𝐾,𝑞 (𝑛)之間的距離,找到距離Feature data最近距離的 中心點後,就產生Winner Index k,再來透過Winner Index k控制Memory Unit讀 出Winner Center 𝐶𝑘,𝑞 (𝑛),再來交由Winner Update Unit透過Feature data為Winner Center做更新運算,運算完後產生更新完的結果Update Result 𝐶𝑘,𝑞 (𝑛 + 1),最後 將Update Result 𝐶𝑘,𝑞 (𝑛 + 1)寫回到Memory Unit就完成了一次的學習過程。 分類階段: 在分類階段時,當Feature data與Channel number輸入進來時,先透過 Channel number q去控制Memory Unit將第q通道的中心點𝐶1,𝑞 (𝑛), … 𝐶𝐾,𝑞 (𝑛)讀出, 37.

(44) 送到Winner Selection Unit,接下由Winner Selection Unit運算與比較Feature data 和第q通道中的每個類別的中心點𝐶1,𝑞 (𝑛), … 𝐶𝐾,𝑞 (𝑛)之間的距離,找出Feature data 距離哪一個類別中心點最接近,當找到距離最近的中心點後,就將這筆特徵值 資料判斷為屬於該中心點的類別,最後輸出分類結果Classification Result為第k 類。 由上述得知學習階段與分類階段的差別,在於分類階段時由於並不需要去 更新中心點資料,因此Winner Update Unit不會做動,學習完成之後,就將中心 點資料固定,由Winner Selection Unit運算完後直接產生分類結果。. 38.

(45) 第七節 Clock Gating 省電技術 本論文的硬體設計上為了降低電路的功耗,而導入Clock Gating省電技術, 期望能進一步降低電路動態功耗。動態功耗的產生是因為電路的邏輯切換,例 如D Flip Flop的clock訊號不斷切換運作,就會產生動態功耗,即使D Flip Flop並 沒有被啟動。在本論文的電路中,在同一個clock cycle時,也並非所有的電路元 件都需要被啟動,但是只要有clock不斷地切換都依然會產生動態功耗。 Clock Gating技術就是用來解決上述的情況,透過在電路中插入一些邏輯 砸,來讓電路能夠自動的抑制系統的clock訊號到某些電路元件,讓其不會被 clock訊號影響而啟動,進而減少動態功耗。Clock Gating設計的條件限制在電路 需要有Enable訊號,當Enable訊號Active時,則可接受Clock訊號輸入,反之 Clock訊號則維持不變。典型的Clock Gating電路設計如圖3.13所示,由Latch和一 個AND邏輯閘所組成,透過觀察圖3.14的波型圖,得知當只有啟動訊號EN Active的時候,系統時脈clk訊號才會透過AND邏輯閘,送出gated_clk訊號做動D Flip Flop。. 圖 3.13 Clock Gating 電路元件 39.

(46) 圖 3.14 Clock Gating 波型圖 因為本論文的電路為多通道系統,所以Spike Detection Circuit、Spike Buffer 以及Traning and Classification Circuit中都有多個通道的Buffer,並且因為設計上 一次只處理一個通道的資料,每次只會有一個通道的元件被啟動,在同一時間 其餘通道的資料並不被需要,但是同樣會被clock訊號做動而產生動態功耗,所 造成的功耗浪費非常可觀。因此Clock Gating技術在本論文的電路中可以發揮相 當大的功效。在圖3.15我們以Spike Detection Circuit為例子,顯示套用Clock Gating後的電路架構。. 圖 3.15 Clock Gating 套用 Spike Detection Circuit 40.

(47) 由於Spike Detection Circuit中,M個通道Buffer透過Channel Counter經過 Decoder控制,每次只有一個通道的Buffer會收到En訊號而啟動,因此透過在每 個Buffer插入Clock Gating元件,當一個通道被啟動時,其他通道的系統時脈clk 訊號,因為En非Active,因此就會被阻擋,不會輸入到Buffer中,使其做動而產 生動態功耗。 在本論文的電路中很適合使用Clock Gating來降低動態功耗,在第四章的實 驗數據中,會顯示Clock Gating在系統的通道數越多的時候,所產生的效果就越 好。. 41.

(48) 第四章 實驗數據 本章節將展示與說明本論文之研究成果與數據。第一節分析系統的效能與 支援通道數。第二節說明電路的開發環境。第三節展示完成後的電路規格並分 析電路各規格的面積與功耗。第四節說明和其他現有架構的差異。第五節比較 競爭性學習法則和其他非監督式學習演算法的分類效果。. 第一節 系統效能之分析 本節根據上一章所提出的電路架構,透過調整系統中之參數來分析電路的 效能,以及參數對於電路的影響。本論文提出的電路架構之參數有通道數 M、 棘波維度 m。通道數在 Spike Detection Circuit 意義為同時輸入系統之腦波資料 筆數,有 M 個通道代表同一時間會有 M 筆腦波資料輸入進來。Feature Extraction Circuit 的運算速度會影響整個系統的資料輸入與產出量,在論文 [11,18]中,有提到 PDAC 演算法的電路架構可以做平行運算,透過提高運算單 元達到一次可以處理多筆棘波樣本點,我們假設 Feature Extraction Circuit(PDAC)使用 S 組運算單元一次能夠處理 S 個棘波樣本點,提高運算單元 加快運算速度可以避免因為 Spike Detection Circuit 的棘波產出速度比 Feature Extraction Circuit 的處理速度還快,造成 Spike Buffer 儲存空間已滿,無法儲存 新的棘波資料,但相對應的必須付出面積及功耗提高的代價。. 42.

(49) 假設提出的電路之腦波訊號採樣週期(sampling period)為𝑇𝑠 ,clock rate 為 𝑟𝑐 ,clock period 為𝑇𝑐 =. 1 𝑟𝑐. 。Spike Detection Circuit 的腦波訊號一次輸入的採樣樣. 本數取決於系統之通道數 M,因此在採樣週期時間內必須將 M 筆腦波樣本輸入 進來。由上面敘述可以整理出下式 4.1。. 𝑀𝑇𝑐 ≤ 𝑇𝑠. (4.1). 再來假設電路目前的情況為 Spike Buffer 中的儲存單元已經全滿,且還無法 被 Feature Extraction Circuit 處理,假如不想要新的棘波資料去覆蓋到 Spike Buffer 中所儲存的舊的棘波資料,那麼 Feature Extraction Circuit 就要在新的棘波 出現前把 M 筆棘波處理掉。由於 Feature Extraction Circuit 處理一筆棘波資料需 𝑚. 要 𝑆 個 clock cycles,假設在同一個通道中兩筆被偵測到的棘波峰值位置之最小間 隔為 Q 個樣本點,根據假設可以整理出式 4.2。 𝑀𝑚𝑇𝑐 𝑆. ≤ 𝑄𝑇𝑠. (4.2). 在式 4.2 中左式為 Feature Extraction Circuit 處理完 Spike Buffer 所儲存的棘 波資料之所需時間,右式為下一筆棘波產生所需的時間。透過將式 4.1 與式 4.2 做推導,可以整理出電路在安全範圍內所能接受的最大通道數𝑀𝑀𝑎𝑥 ,表示如式 4.3。 𝑄𝑇 𝑆 𝑇. 𝑀𝑀𝑎𝑥 = min { 𝑚𝑇𝑠 , 𝑇𝑠 } 𝑐. 43. 𝑐. (4.3).

(50) 第二節 開發環境 本論文所提出之電路架構實現於ASIC開發流程。ASIC為特殊應用積體電路 (Application Specific Integrated Circuit)之縮寫,不同於FPGA(Field Programmable Gate Array)開發流程的地方在於,FPGA是在製造出來晶片上重複燒寫電路邏 輯,依據不同的FPGA晶片版,其所提供的硬體資源都是固定的,ASIC則是可以 依照設計的規格需求,來調整電路所需要的硬體資源,在將設計好的電路資料 透過下線(Tapeout)製作成晶片(chip)。ASIC的開發流程如下圖4.1所示。. 圖 4.1 ASIC 開發流程. 44.

(51) 當定好電路的需求以規格後,開發者就以硬體描述語言(HDL)來描述電路的 行為,並使用模擬器(Simulation tool)來確認電路的邏輯正確無誤,在此階段是以 High-Level的角度去觀察電路的行為,稱為暫存器傳輸級(Register Transfer Level, RTL)。RTL開發完成且驗證後沒有錯誤時,我們就將RTL的描述檔以及所選的製 程元件庫(Technology Library)交由邏輯合成器做電路合成(Logic Synthesize),合 成器會根據元件庫所提供之邏輯元件、RTL描述檔以及開發者所設定之電路參數 等資訊,把High-Level的描述檔轉換為硬體元件之間的連接之描述,此描述檔為 電路網路描述(netlist)。開發者可以拿netlist搭配合成器所產生的電路延遲資訊 (Timing),進行Gate-Level Simulation,進一步的驗證合成完的結果正確性,並進 行電路功耗的計算。 此時已經確定電路中所含的有所電路元件與其如何做連接,再來就能進行 繞線佈局(Place and Route),來確認電路元件以及之間的連接線,在晶片中的擺 放位置,完成這個階段之後就確定了晶片的規格,並且通過Post-layout驗證之 後,就能夠產生出電路佈局等資料,交給晶片製造商做Tapeout,製作出實體的 晶片。 本論文的電路架構完成到ASIC開發流程中的netlist合成與模擬,所使用的開 發工具由國家晶片系統設計中心(CIC)提供,於CIC的開發平台中進行電路設計 與開發,使用的平台與工具名稱的詳細資訊如下表4.1。. 45.

(52) 表 4.1 開發環境. Platform. CIC EDA CLOUD. Technology. TSMC 90 nm. Synthesize. Synopsys Design Compiler 2013.03-SP4. Simulation. Synopsys VCS-MX 2013.06. Power Estimation. Synopsys PrimeTime 2013.06-SP2. 第三節 電路規格分析 本論文合成後的電路規格如表4.2所示。提出的電路架構時脈可以運作於 0.5 MHz、1 MHz與2 MHz,通道數最高支援到64個通道,棘波的分類數可以分2 到4類。 表 4.2 電路系統規格. Clock rate. 0.5 MHz / 1 MHz / 2 MHz. 64. Spike dimension. 2/4/8/16/32/64. Number of Channels. 2/3/4. Number of Classes. 46.

(53) 表4.3為電路的面積分析,顯示在不同分類數與不同通道數的組合下,所合 成出來的晶片面積數據。在數據中可以看出當通道數M上升時,電路的面積會大 幅度的增加,這是因為本論文的電路架構大部分的面積都是消耗在儲存多通道 的腦波資料、棘波資料以及分類使用的中心點資料,因此面積大多都被各塊電 路中的記憶體單元所佔據。當支援的通道數越多,電路的記憶體單元就越大。 表 4.3 電路面積分析(單位: μ𝑚2 ) 通道數 M 分類數 K 2. 4. 8. 16. 32. 64. 2-class. 82,825. 133,442. 233,785. 433,775. 834,639. 1,645,867. 3-class. 93,573. 145,629. 249,383. 455,474. 869,316. 1,707,034. 4-class. 103,793. 157,714. 264,710. 477,231. 905,155. 1,767,825. 表4.4為標準化的面積分析,代表的是每個通道平均所佔的面積。從表中可 以發現當通道數增加時,每個通道平均所佔的面積會越小,這是因為Feature Extraction Circuit中沒有記憶體單元,因此不會隨著通道數上升而增加面積。. 47.

(54) 表 4.4 標準化電路面積分析(單位: μ𝑚2 /𝑐ℎ𝑎𝑛𝑛𝑒𝑙) 通道數 M 分類數 K 2. 4. 8. 16. 32. 64. 2-class. 41,412. 33,360. 29,223. 27,110. 26,082. 25,716. 3-class. 46,786. 36,407. 31,172. 28,467. 27,166. 26,672. 4-class. 51,896. 39,428. 33,088. 29,826. 28,286. 27,622. 再來我們透過圖4.2來比較2個通道和64個通道,棘波都分為3類的情況下, Spike Detection Circuit、Spike Buffer、Feature Extraction Circuit及Training and Classification Circuit所佔的面積比例。從圖中可以看出當通道數上升到64個通道 時,有88%的面積都是消耗在Spike Detection Circuit與Spike Buffer,因為系統的 棘波維度為m=64,在M=64個通道時,Spike Detection Circuit要有M個m+c的記憶 體單元儲存腦波資料,Spike Buffer則要儲存多筆m個維度的棘波資料。. 48.

(55) 圖 4.2 電路面積分佈比例圖. 在表4.5中顯示隨著通道數上升,每一塊電路的面積分佈比例情形。可以看 出當通道數上升,Spike Detection Circuit與Spike Buffer的所佔比例是逐漸升高 的,其他電路則因為記憶體單元所儲存的資料量較小或是沒有記憶體單元,因 此佔的面積比例都是逐漸下降。. 49.

(56) 表 4.5 各電路的面積所佔比例分析 Spike Detection Circuit. Spike Buffer. Feature Extraction Circuit. Training and Classification Circuit. 3. 23,149 (25%). 23,458 (25%). 14,524 (16%). 32,442 (34%). 93,573. 4. 3. 47,498 (33%). 46,611 (32%). 14,524 (10%). 36,996 (25%). 145,629. 8. 3. 95,359 (38%). 92,674 (37%). 14,524 (6%). 46,826 (19%). 249,383. 16. 3. 189,931 (42%). 185,079 (41%). 14,524 (3%). 65,940 (14%). 455,474. 32. 3. 380,117. 370,015. 14,524. 104,660. (44%). (42%). (2%). (12%). 64. 3. 759,136 (45%). 749,894 (43%). 14,524 (1%). 183,480 (11%). 通道數. 分類數. M. K. 2. Total ( μ𝑚2). 869,316 1,707,034. 接下來我們討論到電路的功率消耗,在表4.6中顯示在不同通道以及不同棘 波分類數的組合下,本電路架構的標準化功率消耗,這些數據都是加入Clock Gating省電技術後的結果。在表4.7中,以分3類的情況來比較提出的電路架構, 在不同通道時加入Clock Gating省電技術後的效果如何。由表4.7得知隨著電路的 通道數增加,Clock Gating可以控制通道Buffer就越多,所以功耗節省的幅度也 越大。因此證明Clock Gating在像是本論文這種具有許多的記憶體單元的系統架 構中,是有效且重要的技術。. 50.

(57) 表 4.6 電路之標準化功耗分析(單位: μ𝑊 /𝑐ℎ𝑎𝑛𝑛𝑒𝑙). 通道數 M 分類數 K 2. 4. 8. 16. 32. 64. 2-class. 39.02. 28.07. 22.61. 19.61. 18.05. 17.50. 3-class. 44.04. 31.10. 24.38. 20.75. 18.90. 18.21. 4-class. 49.29. 33.72. 25.82. 21.73. 19.64. 18.79. 表 4.7 Clock Gating 之省電效果分析 Power (μ𝑾/𝒄𝒉𝒂𝒏𝒏𝒆𝒍). No. of Channels. No. of Classes. Clock Rate. 2. 3. 4. Power Reduced. No CG. CG. 1 MHz. 59.65. 44.04. 26%. 3. 1 MHz. 44.15. 31.10. 30%. 8. 3. 1 MHz. 37.13. 24.38. 34%. 16. 3. 1 MHz. 33.54. 20.75. 38%. 32. 3. 1 MHz. 31.71. 18.90. 40%. 64. 3. 1 MHz. 30.79. 18.21. 41%. 51.

(58) 第四節 與其他現有架構比較 本節將本論文的電路架構與其他現存之電路架構做比較,表4.8整理出本論 文電路架構與其他現有架構的資料數據。表中整理每個系統架構支援的通道 數,功耗與面積表現以及所用的製程、演算法等等相關資訊。. 表 4.8 比較系統架構 Reference. [9]. [19]. [10]. [11]. [20]. This work. No. of Channels. 16. 16. 64. 64. 1. 64. Power( μ𝑊 / 𝑐h𝑎𝑛𝑛𝑒𝑙). 256.88. 8.59. 85.82. 20.53. 14.6. 17.50. Area ( 𝑚𝑚2 / 𝑐h𝑎𝑛𝑛𝑒𝑙). 1.77. 0.27. 0.08. 0.02. 0.077. 0.026. Process (nm). 350. 130. 90. 90. 45. 90. Detection. NEO. No. NEO. NEO. Thresholding. NEO. Feature Extraction. PCA. SPIRIT. GHA. PDAC. N/A. PDAC. No. No. No. OSort. 2014. 2015. 2016. 2016. Classifier Year. Table-look -up 2009. Competitive Learning 2017. 本論文所提出的電路架構是支援64個通道,用90nm的製程做設計,支援功 能為棘波偵測、特徵擷取與棘波分類。透過表4.8來和其他的系統架構做比較, 論文[9]實現16個通道的系統,與本論文同樣採用NEO來做棘波偵測,差別在於 其使用PCA作為特徵擷取演算法並用Table-look-up去做棘波分類,雖然其製程採 52.

(59) 用較舊的350nm,但面積為本架構的68.08倍,功耗為本架構的14.68倍,推測可 能是PCA的演算法較複雜,因此需要消耗較多的硬體資源。論文[19]採用130nm 的製程設計支援16個通道的特徵擷取電路,功能不支援棘波偵測與棘波分類, 但面積為本架構的10.38倍。論文[10,11]和本論文同樣使用90nm製程,這兩個系 統架構都是使用NEO作為棘波偵測,差別在於特徵擷取演算法不同,論文[10]使 用GHA,論文[11]使用PDAC,兩者都沒有棘波分類的電路,透過表4.8的數據可 以看出PDAC和GHA的面積與功耗的表現差異非常大,因此本論文以論文[11]的 演算法為基礎去做設計,本論文的架構比論文[11]多了棘波分類的電路,功耗減 少了15%。 論文[20]是使用45nm的製程實作單通道的棘波分類系統,使用Find Peak的 方法來實現棘波偵測,特徵擷取的部分因為其使用Osort演算法來做分類,因此 並不需要特別去做特徵擷取,面積為本架構的2.97倍,功耗部分比本架構略小, 但本架構為多通道系統。 透過上述總結本論文提出的系統架構包含完整的棘波分類系統功能,且可 以處理多通道的腦波資料,和其他現有的架構比起來具有低面積與低功耗的優 勢。. 53.

(60) 第五節 演算法的分類效果分析 本節討論競爭性學習演算法(Competitive Learning)的分類效果如何,透過搭 配不同的特徵擷取器PDAC、GHA、PCA,來和K-means、FCM等常見的非監督 式學習演算法比較,證明競爭性學習演算法具有運算簡單且不須額外記憶體空 間來儲存學習資料的優點,且分類效果不輸給其他非監督式學習演算法。所使 用的測試資料為論文[22]與[23]所提出的腦波訊號產生器。 圖4.3我們使用SNR=8的測試資料,來顯示競爭性學習法則分兩類的分類效 果。在圖4.3(a)為透過PDAC演算法得到的特徵值分佈,之後交由競爭性學習法 則去做分類,分類結果為圖4.3(b)。. 圖 4.3 SNR=8 競爭性學習法則分類結果. 54.

(61) 表4.9整理出同樣使用PDAC演算法做特徵擷取時,Competitive Learning、 FCM及K-means的分類效果分析。表中的數據為分兩類的情況,採用的腦波測試 資料為SNR=1, 4, 6, 8時的訊號。. 表 4.9 以 PDAC 為基礎之分類效果分析(SNR 測試資料) SNR(db). 1. 4. 6. 8. 95.71. 96.56. 96.75. 96.67. FCM. 96.32. 96.45. 96.71. 96.73. K-means. 95.92. 95.77. 96.73. 96.65. Competitive Learning. 表4.10同樣使用SNR測試資料,但是改為使用PCA特徵擷取演算法,來分析 Competitive Learning、FCM及K-means的分類效果。. 表 4.10 以 PCA 為基礎之分類效果分析(SNR 測試資料) SNR(db). 1. 4. 6. 8. 99.70. 99.76. 99.82. 99.82. FCM. 99.73. 99.75. 99.82. 99.88. K-means. 99.79. 99.80. 99.76. 99.76. Competitive Learning. 55.

(62) 表4.11為改用GHA特徵擷取演算法,分析Competitive Learning、FCM及Kmeans的分類效果。. 表 4.11 以 GHA 為基礎之分類效果分析(SNR 測試資料) SNR(db). 1. 4. 6. 8. 99.82. 99.83. 99.86. 99.74. FCM. 99.8. 99.82. 99.82. 99.81. K-means. 99.76. 99.82. 99.70. 99.76. Competitive Learning. 透過表4.9、表4.10及表4.11的分析得知,使用SNR測試資料時,搭配不同的 演算法則來做特徵擷取,Competitive Learning、FCM及K-means的分類效果都差 異不大。 接下來我們使用Wave_clus測試資料來比較Competitive Learning、FCM及Kmeans的分類效果。在圖4.4展示使用Wave_clus C_Difficult2_noise005這筆腦波測 試資料,並以PDAC演算法做特徵擷取時,競爭性學習法則分三類的分類效果。 圖4.4(a)為PDAC演算法得到的特徵值分佈,圖4.3(b)為競爭性學習法則分類完成 後的分佈結果。. 56.

(63) 圖 4.4 Wave_clus C_Difficult2_noise005 競爭性學習分類效果 表4.12整理使用Wave_clus不同的腦波訊號測試資料,以PDAC搭配不同非監 督式學習演算法的分類效果。. 表 4.12 以 PDAC 為基礎之分類效果分析(Wave_clus 測試資料) Wave_clus. C_Easy1_ noise01. C_Easy2_ noise01. C_Difficult1_ noise015. C_Difficult2_ noise005. Competitive Learning. 93.38%. 90.57%. 56.97%. 83.06%. FCM. 93.36%. 90.43%. 56.77%. 83.03%. K-means. 93.38%. 90.57%. 57.17%. 82.85%. 在表4.12中可以看出使用PDAC做特徵擷取時,Competitive Learning、FCM 及K-means的分類效果差異不大,互有高低。接下來我們使用PCA、GHA特徵擷 取演算法,以同樣的資料來測試是否會有影響。分別整理在表4.13與表4.14。. 57.

(64) 表 4.13 以 PCA 為基礎之分類效果分析(Wave_clus 測試資料) Wave_clus. C_Easy1_ noise01. C_Easy2_ noise01. C_Difficult1_ noise015. C_Difficult2_ noise005. Competitive Learning. 99.32%. 96.65%. 63.34%. 98.60%. FCM. 99.32%. 96.68%. 63.36%. 98.57%. K-means. 99.32%. 96.70%. 63.65%. 98.57%. 表 4.14 以 GHA 為基礎之分類效果分析(Wave_clus 測試資料) Wave_clus. C_Easy1_ noise01. C_Easy2_ noise01. C_Difficult1_ noise015. C_Difficult2_ noise005. Competitive Learning. 99.32%. 94.12%. 50.66%. 82.02%. FCM. 99.32%. 94.35%. 51.93%. 81.78%. K-means. 99.32%. 94.26%. 51.61%. 81.51%. 由表4.13及表4.14的整理分析來看,三種非監督式學習演算法搭配PCA與 GHA的分類效果都差不多,幾乎都在1個百分點以內。因此透過SNR與 Wave_clus測試資料的分析,可以知道競爭性學習法則在棘波分類的表現上不會 輸給其他非監督式學習演算法,具有良好的分類成功率,而且在硬體設計上不 需要額外的記憶體空間來儲存與處理學習資料,降低硬體的面積消耗。. 58.

(65) 第五章 結論 本論文的電路架構開發於ASIC開發流程上,使用90nm的製程做設計並合成 出最高支援64個通道的棘波分類系統。電路的功能包含NEO作為棘波偵測、 PDAC作為特徵擷取與Competitive Learning作為棘波分類,實現On-line的棘波分 類系統。 透過實驗數據分析以及結果比較顯示提出的電路架構具有低面積、低功耗 以及良好的分類成功率等優點。在64個通道與棘波分為2類的設計下,電路的標 準化面積為25,695 μ𝑚2 /𝑐ℎ𝑎𝑛𝑛𝑒𝑙,時脈1MHz且加入Clock Gating省電技術時, 標準化功耗為17.5 μ𝑊 /𝑐ℎ𝑎𝑛𝑛𝑒𝑙,這個結果比之前的架構[11]沒有棘波分類電 路功能的功耗還低。所採用的競爭性學習演算法的分類效果也和K-means與FCM 這兩個非監督式學習演算法比較,證明競爭性學習演算法具有硬體資源消耗較 少且不輸的分類效果。 根據上述的特點,本論文所提出的架構可以有效的應用於棘波分類電路, 電路具備更完善的功能,能夠在腦內做即時性的分類,更有效的適用於這個領 域當中,作為有效的電路設計。. 59.

參考文獻

相關文件

電子 、 機械系 、 環工系 、 高分子、光電、電腦與通訊 本學程共計 7 學科, 18 學分,必須修畢全部學分,始

In this paper, we evaluate whether adaptive penalty selection procedure proposed in Shen and Ye (2002) leads to a consistent model selector or just reduce the overfitting of

Eric, B., Georges-Louis B., Computer-Based Concept Mapping : a Review of a Cognitive Tool for Students, in Benzie David & Passey Don (eds.), Proceedings of Conference

工作紙 合作學習 同質分組 腦基礎 電子學習 自主學習 異質分組 翻轉教室 生活應用 提問技巧 探究式..

流通性 流通性、 、 、基礎性 、 基礎性 基礎性、 基礎性 、 、 、重要性 重要性 重要性

ðWinner winner, chicken

分項計畫「海上絲路之探索」之設計與推行,基本上針對本校通

“Sex selection: Getting the baby you want” (A story about a couple opts for sex selection). https://www.theguardian.com/lifeandstyle/2010/apr/03/sex-selection-babies