• 沒有找到結果。

本章節主要論述本論文的研究背景、研究動機與目的以及研究方法,並大略 說明各章節的主要內容與重要特性。

第一節 研究背景

類神經網路起源於 20 世紀中期,為現今人類發展人工智慧以來重要的一個 理論。而稱做為類神經網路是因為其主要是模仿人類大腦神經元的組織及運作方 式。人類大腦的神經元會運算各種所遭遇到的複雜情形,使人類可即時判斷各種 事件發生的應對情況,包括聽、說、讀、寫、看等各種情況;類神經網路的架構 也是模仿此方式,也因為如此,我們通常將類神經網路運用在影像的處理或者是 語音辨識等方面的問題,而最早使用類神經網路的神經元模型稱之為感知機。

類神經網路在現代的運用非常廣泛,通常運用在影像處理及語音辨識方面。

影像處理的部分像是提款機臉部辨識、汽車駕駛者確認、年齡或是性別的辨識等,

而語音辨識的像是數字辨認等,這些都是類神經網路之應用,且這些應用的辨識 效果通常都優於其他的演算法,而最近在全世界關注下的世界圍棋比賽,由人工 智慧 AlphaGo 對上世界冠軍李世石,其中的人工智慧 AlphaGo 也是使用類神經 網路做為系統的演算法,並且透過此演算法擊敗了人類的世界冠軍,由此可見,

類神經網路對於人工智慧的發展是非常重要的一環。

摺積神經網路 [3] [4]是類神經網路的其中一種架構,通常包含了數個層級,

包含了摺積層、採樣層、以及全連結層,其中全連結層是本論文主要研究之層級。

全連結是類神經網路最基本的架構,屬於淺度學習。全連結通常分為二層,

分別為輸入層及輸出層。輸入層也就是我們所要運算的輸入資料。而輸出層理所 當然是我們最後所運算完的輸出資料,而輸出資料也是會由我們輸入層的資料經 過運算之後產生。在每一個層級的運算結果都代表著一個神經元。每一個神經元 產生的方式會由前一層的每一個神經元和所對應到的權重做乘法運算,再將運算 出來的結果做加法運算,也就是說每一個神經元都會由前一層的所有神經元乘以 不同的權重,在做相加而產生。

第二節 動機與目的

在現今類神經網路多元的發展下,除了功能的實現為重要的一環,更重要的 是追求時間及功率消耗,為了達到此目的,硬體化會是個好選擇。將系統硬體化 除了能追求時間之外,也可控制功率消耗的問題。

我們在上一節有討論到,全連結的運算是由多個乘法和加法所組成,訓練過 程簡單。 但由於它是全連結,會將所有的輸入和輸出做乘法加法運算,所以當某 一層的輸入或者是輸出的數量較多的時候,則會導致權重數過多,權重數過多進 而造成計算複雜度的增加,而我們也無法簡化計算複雜度。計算複雜度的增加相 對的會使運算速度變慢,除此之外,全連結的辨識率也是個問題。在先前有提到 全連結屬於淺度學習,所以增加全連結的層數對於辨識率並不會有太大的影響,

這對追求效能及辨識率的情況下,無疑是一大問題。在現今科技,想要運算速度 快且辨識率高,可使用 GPU 達到此成就。使用 GPU 雖然可達到運算速度快且辨 識率高的效果,但也會造成功率消耗過高的問題。

根據上述原因,本論文主要有兩大目的實現。其一為了隨著計算複雜度的增 加,而又能使運算速度快及功率消耗低 [5] [6],我們選擇將全連結架構做硬體化 實現 [7] [8] [9] [10],這也可以使在計算複雜度高 [11]的情況下,我們也能達到 運算速度快的效果。其二是提高全連結的辨識率。在先前提到就算增加全連結層 的層數也無法改善辨識率,所以我們選擇了另一個方法來達到增加辨識率的效果,

那就是在全連結層的運算之前增加了摺積層以及採樣層的運算,將摺積層及採樣

層所運算的出來的結果,再去做全連結運算,這可以使辨識率達到幾乎百分之百 的效果,有效地改善全連結辨識效果不佳的情形。

本論文採用 FPGA 做為實驗平台,並列舉下表比較本論文架構與對比軟體於

CPU 及 GPU 運作之優劣勢。

表 1. 1 為 FPGA 與軟體運作於 CPU 及 GPU 之特性比較

FPGA CPU GPU

運算速度 快 慢 快

功率消耗 低 高 高

可攜性 高 低 低

本論文所提出之硬體架構具有下列優勢:

1. 快速運算 2. 低功率消耗 3. 高可攜性 4. 高辨識率

第三節 研究方法

本系統設計可分為二個部分,一是將輸入資料經過摺積層運算,二是將摺積 層運算後之結果,再進行全連結運算,最後會得到我們所運算出的結果,再根據 運算結果判斷何為辨識之人臉。而無論是輸入資料或者是所運算之結果,都是以

IEEE754 單精度浮點數格式所表示。

摺積層運算首先會經由核心對輸入影像進行摺積運算,將影像的特徵提取出 來,進而讓影像的重要特徵訊號增強;而核心會作用於輸入影像的不同區域,產 生出對應的特徵訊號。再來將特徵訊號進行採樣,而採樣的方法分為兩種,第一 種為採用最大值作為我們所要結果,第二種則是採用計算平均值作為我們所要結 果;本系統採用的為第一種方法。再來就是本論文的核心架構,全連結。我們會 將摺積層所運算完的結果,再進行全連結運算,但由於是全連結運算,會將所有 的輸入值和權重進行乘法和加法運算,如果一次將所有的結果運算完成,資源消 耗量會過大,造成 FPGA 無法正常運作。為了解決這個問題,須透過分次運算,

先依序取某部分輸入值運算出某部分的輸出結果,最後再將這些部分結果做相加,

進而得到最後的輸出結果。

本論文測試樣本是由美國耶魯大學資料庫取得,它是個開放性的資料庫,由

28 個人根據不同的表情、不同角度及不同的光照條件建立而成,其中訓練資料的 部分由上述 28 個人組成,每個人取 500 張,並且都是不同的條件之下,共有 14000 張影像做為訓練資料,而測試資料同樣由上述 28 個人,每個人取 76 張,同樣也

是在不同的條件之下,共有 2128 張影像做為測試資料,每張都是 32×32 Pixel 的 圖片。做硬體測試之前,先分別將 2128 張測試資料用軟體做運算,取得運算及辨 識結果,之後再將硬體運算出的結果和軟體運算結果做比對,確認硬體所運算之 結果和軟體運算的結果為一致,除了結果一致之外,還需確定辨識是否正確,辨 識方法為在最後的 28 筆輸出資料中,判斷第幾筆為最大值,而這第幾筆也代表 此次的輸入資料為第幾個人的人臉,經由硬體運算出的結果透過辨識也發現,辨 識結果也和軟體為一致,進而證明此硬體架構不但擁有和軟體一樣的功能,並且 運算速度比軟體快速許多。

本論文使用 FPGA 為系統開發平台,實際執行運算及測量效能,使用可程式 化系統晶片(System on Programmable Chip;SOPC)實現此電路設計。SOPC 為 Altera 公司所設計,包含 NIOS Processor、本論文硬體電路及開發板上所需之元件。透 過此系統,開發者可以更便利於設計及驗證電路之正確性。

本論文電路開發使用 Altera 公司所提供的開發軟體─Altera Quartus II,使用 這套軟體可以進行多項的效能量測。例如電路資源消耗、功率消耗、系統運算時 間等。

第四節 全文架構

本論文分為五個章節,以下為各章節內容概要:

第一章 緒論

研究背景、研究動機與目的、研究方法及全文架構之說明。

相關文件