初學者的問題:在神經網路中應使用多少隱藏層/神經元?
作者:Ahmed Gad
翻譯:蔣雨暢
校對:李海明
本文約2400字,建議閱讀8分鐘。
本文將通過兩個簡單的例子,講解確定所需隱藏層和神經元數量的方法,幫助初學者構建神經網路。
人工神經網路(ANNs)初學者可能會問這樣的問題:
該用多少個隱藏層?
每個隱藏層中有多少個隱藏的神經元?
使用隱藏層/神經元的目的是什麼?
增加隱藏層/神經元的數量總能帶來更好的結果嗎?
很高興我們可以回答這些問題。首先要清楚,如果要解決的問題很複雜,回答這些問題可能會過於複雜。到本文結束時,您至少可以了解這些問題的答案,而且能夠在簡單的例子上進行測試。
ANN的靈感來自生物神經網路。在計算機科學中,它被簡化表示為一組層級。而層級分為三類,即輸入,隱藏和輸出類。
確定輸入和輸出層的數量及其神經元的數量是最容易的部分。每一神經網路都有一個輸入和一個輸出層。輸入層中的神經元數量等於正在處理的數據中輸入變數的數量。輸出層中的神經元數量等於與每個輸入相關聯的輸出數量。但挑戰在於確定隱藏層及其神經元的數量。
以下是一些指導,可以幫助了解分類問題中每個隱藏層的隱藏層數和神經元數:
根據數據繪製預期的決策邊界,從而將各個類別分開。
將決策邊界表示為一組線。注意這些線的組合必須服從於決策邊界。
所選的線的數量表示第一隱藏層中隱藏神經元的數量。
如要連接由前一層所創建的連線,則需添加一個新的隱藏層。注意,每次添加一個新的隱藏層時,都需要與上一個隱藏層創建連接。
每個新隱藏層中隱藏神經元的數量等於要建立的連接數。
為便於理解,請看以下實例:
實例一
讓我們從一個兩個類的分類問題的簡單示例開始。如圖1所示,每個示例都有兩個輸入和一個表示類標籤的輸出。它與XOR問題非常相似。
圖1
第一個問題是是否需要隱藏層。確定是否需要隱藏層的規則如下:
在人工神經網路中,當且僅當數據必須非線性分離時,才需要隱藏層。
如圖2所示,似乎這些類必須是非線性分離的。一條單線不能分離數據。因此,我們必須使用隱藏層以獲得最佳決策邊界。在這種情況下,我們可能仍然不使用隱藏層,但這會影響分類準確性。因此,最好使用隱藏層。
知道需要隱藏層之後,有兩個重要問題需要回答,即:
所需的隱藏層數是多少?
每個隱藏層的隱藏神經元數量是多少?
按照前面的過程,第一步是繪製分割兩個類的決策邊界。如圖2所示,有多個可能的決策邊界正確地分割數據。我們將進一步討論圖2(a)中的那個。
圖2
接下來是通過一組線進行表達決策邊界。
使用一組線來表示決策邊界的事實依據是:任何ANN都是使用單層感知器作為構建塊構建的。單層感知器是一個線性分類器,它使用根據以下等式創建的線來分隔不同類:
y = w_1 * x_1 + w_2 * x_2 +?+ w_i * x_i + b
其中 x_i 是 輸入,w_i 是其權重,b 是偏差,y 是輸出。因為添加的每個隱藏神經元都會增加權重數量,且使用更多的隱藏神經元會增加複雜性,因此建議使用最少數量的隱藏神經元來完成任務。
回到我們的例子,說ANN是使用多個感知器網路構建的,就像說網路是使用多條線路構建的。
在這個例子中,決策邊界被一組線代替。線從邊界曲線改變方向的點開始。在這一點上,放置兩條線,每條線在不同的方向上。
如圖3所示,因為邊界曲線只有一個點通過灰色圓圈改變方向,所以只需要兩條線。換句話說,這裡有兩個單層感知器網路,每個感知器產生一條線。
圖3
決策邊界只需要兩條線即可表示,這意味著第一個隱藏層將有兩個隱藏的神經元。
到目前為止,我們有一個隱藏層,其包括有兩個隱藏的神經元,每個隱藏的神經元可以被視為線性分類器,如圖3中的線所示。這裡將有兩類輸出,其中一類來自每一個分類器(即隱藏的神經元)。然而我們希望構建一個只能輸出類標的分類器。因此,兩個隱藏神經元的輸出將合併為一個輸出。換句話說,這兩條線將由另一個神經元連接。結果如圖4所示。
幸運的是,我們不需要添加另一個帶有單個神經元的隱藏層來完成這項工作。輸出層神經元將完成任務。其可將先前生成的兩條線進行融合,使網路最終只有一個輸出。
圖4
知道隱藏層及其神經元的數量後,網路架構現已完成,如圖5所示。
圖5
實例二
另一個分類的例子如圖6所示。與之前的例子類似,有兩個分類,其中每個樣本有兩個輸入和一個輸出。區別在於決策邊界。此示例的邊界比前一個示例更複雜。
圖6
根據最開始的指示,第一步是繪製決策邊界。前述中使用的決策邊界如圖7(a)所示。
下一步是將決策邊界分成一組線,每條線都可構建為像ANN感知器那樣的模型。在繪製線之前,應該標記邊界變化方向的點,如圖7(b)所示。
圖7
問題是需要多少條線?頂點和底點中的每一個將具有與它們相關聯的兩條線,總共4條線。中間點有兩條線從其他點共享。要創建的線如圖8所示。
因為第一個隱藏層將具有等於線數的隱藏層神經元,所以第一個隱藏層將具有4個神經元。換句話說,有4個分類器,每個分類器由單層感知器創建。目前,網路將生成4個輸出,每個分類器一個。接下來是將這些分類器連接在一起,以使網路僅生成單個輸出。換句話說,線條將通過其他隱藏層連接在一起來生成單獨一條曲線。
圖8
模型設計者可以選擇網路布局。一種可行的網路架構是構建具有兩個隱藏神經元的第二隱藏層。第一個隱藏的神經元將連接前兩條線,最後一個隱藏的神經元將連接最後兩條線。第二個隱藏層的結果如圖9所示。
圖9
到目前為止,這裡有兩條分開的曲線。因此,網路有兩個輸出。接下來是將這些曲線連接在一起從整個網路中獲得單個輸出。在這種情況下,輸出層神經元可用於進行最終連接而非添加新的隱藏層。最終結果如圖10所示。
圖10
網路設計完成後,完整的網路架構如圖11所示。
圖11
更多詳細信息:
深度學習簡介+使用人工神經網路求解XOR
SlideShare:
https://www.slideshare.net/AhmedGadFCIT/brief-introduction-to-deep-learning-solving-xor-using-anns
YouTube:
https://www.youtube.com/watch?v = EjWDFt-2n9k
作者簡介:
Ahmed Gad於2015年7月在埃及Menoufia大學計算機與信息學院(FCI)獲得了信息技術優秀學位的理學士學位。由於他在學院里排名第一,他在2015年被推薦為一所埃及研究機構的教學助理,然後於2016年在學院里擔任教學助理和研究員。他目前的研究興趣包括深度學習,機器學習,人工智慧,數字信號處理和計算機視覺。
原文標題:
Beginners Ask 「How Many Hidden Layers/Neurons to Use in Artificial Neural Networks?
https://www.kdnuggets.com/2018/07/beginners-ask-how-many-hidden-layers-neurons-neural-networks.html
譯者簡介
蔣雨暢,香港理工大學大三在讀,主修地理信息,輔修計算機科學,目前在研究學習通過數據科學等方法探索城市與人類活動的關係。希望能認識更多對數據科學感興趣的朋友,了解更多前沿知識,開拓自己的眼界。
※2018計算機圖形學研究報告
※近年來深度學習的重要研究成果
TAG:數據派THU |