類神經網路—揭開網路架構調整秘辛

我們一般會運用類神經網路去描述我們想知道的真實世界中輸入與輸出之間的關係,會讓AI從數據當中學習,然後目標就是找到一個很棒的數學方式去逼近真實世界的輸入與輸出之間的關係,而這個數學方式是與類神經網路架構直接相關,如果架構不好,整個網路的學習就會差,預測的效果就會不好。因此,我們必須要對類神經網路架構的調整方法有一定的認識。

類神經網路運算範例

我們先來學習一個最簡單的類神經網路計算範例,此架構擁有輸入兩個節點與輸出一個節點

輸入分別為x1與x2,權重分別為w1與w2,這樣產生的最終輸出會等於w1x1+w2x2,通常再節點輸出的部份還會取啟動函數,才會得到最終輸出為f(w1x1+w2x2)。其中我們可以更細部來看在函數內部的計算是w1x1+w2x2組成,這樣的計算方式是比較簡單,因為只有牽涉單純的乘法與加法,我們稱這樣的描述方式是線性。而取啟動函數的部分,則是較為複雜,依據函數的種類,有可能會以線性描述也有可能以非線性描述。通常經過啟動函數的運作之後,就可賦予網路描述較複雜的關係。

我們進一步把這個運算拆解來看,在函數內的計算如紅色方框所示,我們就稱為訊號的疊加。而f的部分,則是牽涉啟動函數的計算。

一般調整類神經網架構有兩種方式,一種是改變節點數,另一種是改變層數,如同下圖所示

從上圖可了解到,如果要把節點數增加,就是固定某一層上,把節點數加多,因此會越往下走。把層數增加就會越往右邊走。

類神經網路架構調整—節點數增加

我們先來看節點數增加,我們在上述的網路中,在輸入部分多加一個節點x3。

我們會發現到多一個x3節點之後,就相對應多權重w3,最終在輸出部分,函數內的訊號疊加部份就多了一個累加項w3x3。

從上述結構可以發現到,增加節點數會造成訊號源數目增加,目的就是要有更多的特徵,讓AI有更好的學習。舉例來說,如果今天想要預測明天的天氣,光是給定環境濕度跟溫度還預測不好,那就會多給地點,或是颱風有沒有來的特徵,多讓AI去做學習判斷。

類神經網路架構調整—層數增加

再來就是以層數增加來看,我們在一開始所提及的架構右邊多加一層。

從上圖會發現到原本輸出為f(w1x1+w2x2)又因為又有下一個層的緣故,所以會當成是下一層節點的輸入,而輸出部分又要再取一次啟動函數,就會得到結果g(f(w1x1+w2x2)。而取完啟動函數f又要取啟動函數g的操作,就代表是以函數的函數關係來描述,這將會提升計算上的複雜度,因為光是取一次啟動函數就有可能是非線性的操作,而再取一次啟動函數,最終的輸出就更難以捉摸,有可能會變更大或更小,或是變為零都有可能。

而以函數的函數的運算方式就是讓AI用更複雜的數學描述輸入與輸出之間的關係。目的就是在於讓AI學習時的智力變高,讓AI更有能力去理解複雜的輸入與輸出之間的關係。

會有這樣作法的原因是來自於有時候已經給定還不錯的特徵了,但是因為數學不夠複雜,就導致AI無法理解其中的關係。

總結

節點數增加,雖然會使特徵變多,讓AI有更多特徵可以學習,不過過多的特徵,也未必是好,因為過多特徵裡面會有許多不必要的特徵存在。

層數增加變複雜,可讓AI有足夠智力理解更困難的關係,但是一再加多層數,得到更複雜的AI也未必是好,因為訊號有可能會一直不斷被放大或縮小最終導致效果極差。

尤其在有限數據下,模型變得更複雜將會導致AI會有過擬合現象產生,造成AI模型只會死記答案,並沒有學習到真實世界的運作模式。

一般建議的做法,是先確保模型有存在足夠的層數與節點數,使得AI學習的情況是正常的,然後再去不斷調整網路架構,直到找到最佳結果。

[參考資料]:

1.快速反應機制─類神經網路

2.機器學習與人工神經網路(二):深度學習(Deep Learning)

3.機器學習的衰頹興盛:從類神經網路到淺層學習

[類神經網路基礎系列專文]:

1.類神經網路(Deep neural network, DNN)介紹

2.類神經網路—揭開網路架構調整秘辛

3.類神經網路—啟動函數介紹(一): 深入解析Relu與Sigmoid函數:如何影響類神經網路的學習效果?

4.類神經網路—啟動函數介紹(二): 回歸 vs. 分類: 線性函數與Tanh函數之原理探索

5.類神經網路—啟動函數介紹(三): 掌握多元分類的核心技術:不可不知的softmax函數原理

6.類神經網路—啟動函數介紹(四): 如何選擇最適當的啟動函數?用一統整表格讓您輕鬆掌握

7.類神經網路—前向傳播法

8.類神經網路—反向傳播法(一): 白話文帶您了解反向傳播法

9.類神經網路—反向傳播法(二): 淺談梯度

10.類神經網路—反向傳播法(三): 五步驟帶您了解梯度下降法

11.類神經網路—反向傳播法(四): 揭開反向傳播法神秘面紗

12.機器學習訓練原理大揭秘:六步驟帶您快速了解監督式學習的訓練方法

13.類神經網路—反向傳播法(五): 用等高線圖讓您對學習率更有感

[機器學習基礎系列專文]:

1.機器學習訓練原理大揭秘:六步驟帶您快速了解監督式學習的訓練方法

2.機器學習面臨的問題種類介紹:回歸與分類

[類神經網路延伸介紹]:

1.卷積類神經網路(Convolution neural network,CNN)介紹

2.遞迴類神經網路(Recurrent neural network,RNN)介紹

[ChatGPT系列專文]:

1.淺談最近非常火紅的ChatGPT背後可能原理機制為何?

2.從ChatGPT探索GPT的原理概念:少量數據的解方—遷移學習技巧

3.ChatGPT是什麼?探索GPT原理:遷移學習(transfer learning)的奧秘—微調(fine-tuning)技巧