• 沒有找到結果。

第二章 文獻探討

2.3 平行與分散式處理

2.3.1 平行處理

平行運算(Parallel Computing)[2][4]依據平行處理的方式,可分成二種模式:

1 1 1 0 1 0 1 1 0 1 1 1 0 1

突變點

0

0

(1) 共享式記憶多處理器系統( Shared Memory Multi-processors System);(2)分散 式多處理器系統(Distributed Memory Multi-processors System)。

1. 共 享 式 記 憶 體 多 處 理 器 系 統 : 又 稱 對 稱 多 處 理 器 電 腦 (Symmetric Multi-processor,簡稱 SMP),如圖 2-4,是由多個同型的處理器,共用一個 主記憶體,這樣的系統架構,透過系統匯流排的方式,讓多個處理器與共享 記憶體和 I/O 互相連接。

2. 分 散 式 記 憶 體 多 處 理 器 系 統 : 又 稱 大 量 平 行 處 理 器 (Massive Parallel Processor,簡稱 MPP),相較於共享記憶體系統,是一種更高度平行的運算 模式,由於每個處理器擁有各自所屬的記憶體(Local Memory),因此每個處 理模組包含了 CPU 和 Local Memory 且擁有各自獨立的作業系統,而整個電 腦系統,由另一個單獨的作業系統進行管理。由於沒有共享式記憶體,每個 處理器之間也透過訊息傳遞(Message Passing)的方式進行溝通,因此 MPP 在 進行平行計算步驟比較複雜,必需將程式計算資料和任務,做適當的切割,

再分到各個處理器進行運算,最後再把運算完的資料,傳回給運算節點,如 圖 2-5。

CPU #0 CPU #1 CPU #2 CPU #3

System Bus

I/O Bus Share Memory

Screen Network Cord Hard disk 圖 2-4 SMP 架構示意圖

System Bus

I/O Bus

Network Cord Hard disk CPU #0

Local Memory

CPU #1 Local Memory

CPU #2 Local Memory

CPU #3 Local Memory

System Bus

System Bus

圖 2-5 MMP 架構示意圖 2.3.2 格網運算

格網運算(Grid Computing)[2][5]是一種具備分散式運算,網路服務環境,大 容量儲存體與其它運算資源的整合系統,主要目的建一個虛擬化超級電腦型態的 分散式運算環境,提供解決大容量與複雜性運算等問題。格網運算在進行時,透 過高速網路連接獨立的電腦,每個獨立的電腦有各自的處理器、記憶體及 I/O。

每一台電腦之間,要傳輸資料,必需透過訊息傳遞(Message Passing),而在進行 格網運算之前,必需要資料及任務做適當的切割,再透過高速網路,將資料分送 給各系統內的各台電腦進行運算,由於必需透過網路進行傳輸,所以受限於網路 傳輸速度,其執行方式如圖 2-6。

CPU #0 CPU #1 CPU #2 CPU #3

System Bus

I/O Bus Share Memory

Screen Network Cord Hard disk CPU #0 CPU #1 CPU #2 CPU #3

System Bus

I/O Bus Share Memory

Screen Network Cord Hard disk

CPU #0 CPU #1 CPU #2 CPU #3

System Bus

I/O Bus Share Memory

Screen Network Cord Hard disk

CPU #0 CPU #1 CPU #2 CPU #3

System Bus

I/O Bus Share Memory

Screen Network Cord Hard disk System Bus

圖 2-6 格網運算示意圖 2.4 平行化資料分類

資料分類為本文的主要目的,在本節中將探討關於平行化資料分類演算法的 相關文獻。

2005 年 Sungjin Park[12]等人提出(parallel neural network classification banks, PNNCB)。以類神經網路分類器應用於聲納辨識,其主要目的為辨識感興趣的聲 納特徵,排除掉其它容易造成干擾的噪音聲源。由於類神經網路需要透過訓練權 重值,加強辨識分類的效果,因此使用平行化方法加速類神經網路的訓練時間。

平行化後的類神經網路具有多個事件能力的分類和顯示,藉以提升整體的分類效 能。

2007 年 Rhonda D. Phillips[13]等人,為了解決規模日益擴大的遙感數據集,

因而提出一套共享記憶體的平行化混合分類演算法,迭代制導拒絕分類(Iterative

Guided Spectral Class Rejection, IGSCR)。以 Fortran 95 撰寫程式並使用 Open-MP API 進行平行化,加速 IGSCR。根據實驗結果顯示,IGSCR 分類陸地衛星數據 覆蓋最弗吉尼亞美國進入森林和非森林班級,大約 90%的準確度。平行化的效 果在使用 SGI Altix 3300 共享內存的電腦和 SGI 公司的 Altix 3700 多達 64 個處 理器的加速比達到近 77。

2001 年 Massimo Coppola[14]提出資料探勘的平行化方法,探討骨架萃取的 探勘問題,在文獻中分析 Apriori 關聯規則分類、DBSCAN 分群法及決策樹分類 法 C4.5 演算法之平行策略。演算中需要處理大量的分區讀取,頻繁和稀疏 獲得小塊,以及一個不規則的小型和大型的混合傳輸,讓開發效率應用上的巨大 資料庫。該文獻研究的對象及組件界面的骨架結構模型,以簡化開發環境集成平 行化的資料探勘應用。

2009 年 J. Ramírez[15]等人使用平行化方法加速 SVM 的運算效率。在機器 學習的方法中,訓練資料的數量愈大,愈能夠得到更好的訓練模型,但也因此導 致訓練階段的計算量相當大的問題。在本文介紹了兩種通用平行處理技術為基礎 的分級制度,進行平行化。文中提到 Cascade-svm 及 Spread-svm 兩個平行化的 SVM 方法,使用平行化的方法後,使得整體計算時間的訓練從 70 小時到 3 分 鐘。

2010 年 Michael Connor 與 Piyush Kumar[16]提出使用多執行緒的平行化 K-最鄰近分類演算法,加速在多核心環境中的執行效率,使用更少的空間,更好地 儲存效率,能夠處理大量數據集,易於並行化和實施。雖然該演算法性能最佳點 集,使用整數坐標,它是從實驗表明,該演算法仍是可行的使用浮點坐標。此外 該演算法在實踐中尺度以及隨著 k 的增加,以及資料量太大居住在內部存儲 器。最後,緩衝效率的算法應該允許它的規模以及更處理能力變得可用。

檢測網路行為是否正常是很難的,因為行為無法明確界定。其中一個在這種 困難的預測過程,是一代假警報,許多異常的入侵檢測系統。然而,模糊邏輯是 一個重要的解決方案,以減少誤報率確定侵入活動。因此 2007 年 Mohammad Saniee Abadeh[17]提出一種平行遺傳局部搜索算法(Parallel Genetic Local Search algorithm, PAGELS),產生的模糊規則能夠探測侵入計算機網絡的行為。該系統 採用密歇根的做法,每個人代表一個模糊規則,有如下形式''if condition then prediction。該演算法在全球人口分為若干群,每個分配給不同的處理器。每一群 由同一個類的模糊規則。這些規則演變獨立並行的方式,在建議。實驗結果顯示,

該算法產生模糊規則,它可以用來構建一個可靠的入侵檢測系統。

第三章 解析編碼之演化式分類演算法

由於一般機器學習的分類演算法要擁有較高的準確度,必須將分類模型的規 則詳細定義,而詳細的規則定義通常會消耗掉大量的運算資源。本研究提出解析 編碼之演化式分類演算法(Genetic Algorithm with Resolution-based Encoded Chromosome for Classification, GAREC)描述如下。

3.1 解析式染色體編碼

本研究提出 GAREC 採用類似解析影像的概念,套用在分類資料中。GAREC 所指的解析度是指將訓練的資料維度空間切割成 K 個等份。如圖 3-1,表示一個 二維度的資料空間,每個維度的解析度為 3,整個資料空間的解析度為 32。圖中 每一個方格稱作一個 “解析方格”(Resolution Lattice)。

資料維度-1

料維度-1 中為[4,5]區間,及資料維度-2 為[b,c]區間,若該解析方格表示一分類 類,別則在該區間的資料點都屬於同一個類別。GAREC 透過解析方格的方式將 訓練資料解析成染色體,其特性如下:

1. 定義解析方格區間:找出訓練資料中各個維度的最大值與最小值,並且以解 析度決定方格區間的大小,使每一個方格的大小一致。每一個解析方格皆擁 有各自的類別。

2. 染色體架構:GAREC 的染色體,是由解析後的解析方格所組成,其排列方 式,如圖 3-2 所示。

1 2 3

4 5 6

7 8 9

1 2 3 4 5 6 7 8 9

圖 3-2 染色體編碼排列圖

3. 在 GAREC 的解析編碼中一條染色體就代表一個問題的分類結果。影響染色 體長度的數值為解析度(DPI)及資料維度(DIM),例如:在 2 維度的資料 空間中,解析度為 4 時,其染色體長度為 4*4,長度為 16;在 3 維度的資料 空間中,解析度為 8 時,則長度為 8*8*8,總長度 512。資料維度則是直接 影響次方數,因此資料維度對於染色體長度具有較大的影響力。計算染色體 長度的如公式(1)

DPI

DIM (1)

4. 定義訓練資料點所屬方格:每一個訓練資料點,皆擁有自己的位置點,因此 以解析區間決定訓練資料點所屬方格。若資料點位於方格範圍內,則該資料

點屬於該資料範圍,以圖 3-1 為例,若一資料點位置為[5.6,f]則該資料點屬 於方格 3,一個資料維度由公式(2)決定其所屬的解析區間。

D/Step

+1 (2)

3.2 解析編碼之演化式分類演算法

每一個 GAREC 解析方格中,可能含有許多不同類別的資料點。GAREC 演 算法針對此問題時,會將該解析方格再次解析,使每一個解析方格得以完整地表 示一個類別,如圖 3-3 所示。其演算法精神有二:

1. 解析訓練資料,使資料成為解析方格,並將此解析方格組成基因型式。以 GA 決定每一方格的類別。

2. 挑出最佳染色體中適應度不佳的基因,將該基因中未能完全分類的方格再次 解析,使其成為新的子工作。所有子工作重新執行基因演算法的演化分類,

如此反覆重新解析的工作,直到滿足停止條件為止。解析度可因應工作狀況 調整大小,通常呈遞減狀態。

GAREC 編碼流程如圖 3-4,圖中範例為一個 2 維度、解析度為 3 的資料,

解析後的像素序列即是染色體,染色體中的解析方格就是一個基因,一個基因可 能無類別或同時擁有許多類別的資料點。圖示中的染色體有許多基因是同時擁有 兩個或兩個以上類別的資料點,這樣的基因無法演化出最佳的適應度,因此會再 將此基因再次解析,產生子工作。工作佇列如圖 3-5。

圖 3-3 類別解析示意圖

訓練資料

解析訓練資料

染色體

解析子工作

圖 3-4 演化式分類演算法編碼流程圖

圖 3-5 工作佇列示意圖

3.3 演化式分類演算法運算元機制

(a)

(b)

圖 3-6 演化分類表示圖

0.6 0.6 1 0.5 1 0.5 1 0.6 0.5

圖 3-7 適應度計算示意圖 3.3.3 挑選機制

GAREC 演算法會在演化過程中,挑選適應度最高的兩條染色體,並將其保 留至下一代繼續演化。

3.3.4 交配與突變機制

演化式分類演算法的交配方式採用單點交配。突變機制則是參考每一個基因 的突變值。突變值會根據適應度而有所改變,當適應度達到最高時,突變值會直 接歸零,不再突變。

3.3.5 重生(Restart)機制

演化式分類演算法在演化的過程中,經常會有演化上的瓶頸而陷入區域最佳 解。因此加入計算適應度標準差之機制,藉以判斷適應度提升的速度是否過於緩 慢,若過於緩慢,則會啟動 Restart 機制。Restart 機制中有四種不同的 Restart 方

演化式分類演算法在演化的過程中,經常會有演化上的瓶頸而陷入區域最佳 解。因此加入計算適應度標準差之機制,藉以判斷適應度提升的速度是否過於緩 慢,若過於緩慢,則會啟動 Restart 機制。Restart 機制中有四種不同的 Restart 方

相關文件