• 沒有找到結果。

卷積神經網路(Convolutional Neural Network)

第三章 人工智慧理論介紹

3.3 卷積神經網路(Convolutional Neural Network)

本研究使用的是深度學習網路架構中的 CNN,以卷積層配上全連接層

15

3.3.1 LeNet 模型

如圖3-2 為 Yann LeCun 於 1998 年在論文[13]中提出的 LeNet5 模型,也 可以說是 CNN 的基礎架構,LeNet5 主要由輸入層(Input Layer)、卷積層 (Convolution Layers) 、 降 採 樣 層 (Subsampling Layers) 、 全 連 接 層 (Fully Connected Layers)及輸出層(Output Layers)所組成,主要特色在於其群眾共享 及局部連結的概念,可大幅減少可控參數的數量與運算負擔,經由多層的特 徵擷取取得之特徵,相較於手工擷取特徵,具有更好的判別能力。

圖 3-2 LeNet5 架構圖

3.3.2 AlexNet 模型

在2012 年中,AI 之父 Hinton 的學生 Alex Krizhevsky 拿下了 ImageNet ILSVRC(ImageNet Large Scale Visual Recognition Competition)的冠軍,而 AlexNet 對於 CNN 來說也是個重大的突破,如圖 3-3 為 AlexNet 的模型[14],

基本上架構與LeNet 差異不大,最主要的特點在於模型加入了非線性激活函 數(Activation function)的 Relu 函數、Dropout 及最大池化(Max Pooling)。

圖 3-3 AlexNet 架構圖

16

3.3.3 卷積層(Convolution Layer)

卷積層是 CNN 最核心的部份,通常由數十到數百個 n x m 的卷積核 (Filter)組成,而卷積核中元素與影像中之對應位置相乘求和,每個卷積核中 元素都會利用倒傳遞演算法(Back-propagation Neural Network) 得到最佳化,

這些卷積核實際強化的影像模式也是由訓練過程中找出來的,所以卷積層可 以針對不同的問題產生出不同的卷積核 (如圖 3-4 )。

圖 3-4 卷積層示意圖

17

3.3.4 池化層(Pooling Layer)

池化層接收到卷積層所傳來之資料後,開始進行池化程序,所謂池化,

就是將資料依照給定之參數區分為若干區域,在每個區域中依照指定方式選 出其中一個資料成員來代表該區域,常用的方式有最大池化,平均池化…等,

依照需求而定,目前較為常用的最大池化,如圖3-5 即為二維數列採用最大

池化法的示意圖,該範例中取兩個張量成員為一區域,並取區域中數值大的 一員代表該區域保留至輸出張量中,並傳到下一層繼續運算。

圖 3-5 二維張量最大池化示意圖

與傳統人工神經網路相同,除了輸入層及輸出層這兩個資料的接口神經 元數目需要配合資料格式之外, CNN 神經層中的神經元數目都是可以由建 構者決定的。

3.3.5 Dropout

在 訓 練 神 經 網 路 的 時 候 經 常 會 遇 到 過 擬 合(Overfitting) 的 問 題 ,而 Dropout 的用意就是為了防止過擬合的情況發生,其方法是藉由每次在訓練 的過程中,隨機使固定比例的神經元失效,藉此避免模型過度貼近訓練資料,

18

導致失去一致性。此方法有效的原因在於,當每個小批次的訓練樣本饋入網 路中學習並進行Dropout 後,都是在訓練原本網路內的某種子網路,而原本 的網路就變成是這些子網路的集合體,整個過程可將其視為訓練出很多個子 網路以進行分類。藉由Dropout 方法,有效的緩解過擬合的發生,在一定程 度上達到正規化的效果。如圖3-6 為 Dropout 網路結構[15]。

圖 3-6 Dropout 結構圖

3.3.6 全連接層(Fully Connected Layer)

全連接層的部分是將池化後的結果平坦化之後接到最基本的神經網絡,

因為全連接層有許多參數的矩陣運算,故可以在迭代過程成逐漸修正出模擬 現實狀況的模型。

圖 3-7 全連接層示意圖

19

相關文件