0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

一個決定神經網絡深度、網絡層大小的簡單方法

zhKF_jqr_AI ? 來源:未知 ? 作者:李倩 ? 2018-10-24 08:58 ? 次閱讀

編者按:Ahmed Gad介紹了一個決定神經網絡深度、網絡層大小的簡單方法。

該使用多少層隱藏層?使用隱藏層的目的是什么?增加隱藏層/神經元的數目總能給出更好的結果嗎?人工神經網絡(ANN)初學者常常提出這些問題。如果需要解決的問題很復雜,這些問題的答案可能也會比較復雜。希望讀完這篇文章后,你至少可以知道如何回答這些問題。

介紹

在計算機科學中,借鑒了生物神經網絡的ANN用一組網絡層表示。這些網絡層可以分為三類:輸入層、隱藏層、輸出層。

輸入層和輸出層的層數、大小是最容易確定的。每個網絡都有一個輸入層,一個輸出層。輸入層的神經元數目等于將要處理的數據的變量數。輸出層的神經元數目等于每個輸入對應的輸出數。不過,確定隱藏層的層數和大小卻是一項挑戰(zhàn)。

下面是在分類問題中確定隱藏層的層數,以及每個隱藏層的神經元數目的一些原則:

在數據上畫出分隔分類的期望邊界。

將期望邊界表示為一組線段。

線段數等于第一個隱藏層的隱藏層神經元數。

將其中部分線段連接起來(每次選擇哪些線段連接取決于設計者),并增加一個新隱藏層。也就是說,每連接一些線段,就新增一個隱藏層。

每次連接的連接數等于新增隱藏層的神經元數目。

下面我們將舉例說明這一確定隱藏層層數、大小的簡單方法。

例一

讓我們先來看一個簡單的分類問題。每個樣本有兩個輸入和一個表示分類標簽的輸出,和XOR問題很像。

首先需要回答的問題,是否需要隱藏層。關于這個問題,有一條一般規(guī)則:

在神經網絡中,當且僅當數據必須以非線性的方式分割時,才需要隱藏層。

回到我們的例子。看起來一條直線搞不定,因此,我們需要使用隱藏層。在這樣的情形下,也許我們仍然可以不用隱藏層,但會影響到分類精確度。所以,最好使用隱藏層。

已知需要隱藏層,那么接下來就需要回答兩個重要問題:

需要多少層?

每層需要多少神經元?

按照我們之前提到的流程,首先需要畫出分割的邊界。如下圖所示,可能的邊界不止一種。我們在之后的討論中將以下圖右部的方案為例。

根據之前的原則,接下來是使用一組線段表示這一邊界。

使用一組線段表示邊界的想法來自于神經網絡的基礎構件——單層感知器。單層感知器是一個線性分類器,根據下式創(chuàng)建分界線:

y = w1x1+ w2x2+ ? + wixi+ b

其中xi是第i項輸入,wi是權重,b是偏置,y是輸出。因為每增加一個隱藏單元都會增加權重數,所以一般建議使用能夠完成任務的最少數量的隱藏單元。隱藏神經元使用量超出需要會增加復雜度。

回到我們的例子上來,人工神經網絡基于多個感知器構建,這就相當于網絡由多條直線組成。

因此我們使用一組線段替換邊界,以分界曲線變向處作為線段的起點,在這一點上放置方向不同的兩條線段。

如下圖所示,我們只需要兩條線段(分界曲線變向處以空心圓圈表示)。也就是兩個單層感知器網絡,每個感知器產生一條線段。

只需兩條線段就可以表示邊界,因此第一個隱藏層將有兩個隱藏神經元。

到目前為止,我們有包含兩個隱藏神經元的單隱藏層。每個隱藏神經元可以看成由一條線段表示的一個線性分類器。每個分類器(即隱藏神經元)都有一個輸出,總共有兩個輸出。但我們將要創(chuàng)建的是基于單個輸出表示分類標簽的一個分類器,因此,兩個隱藏神經元的輸出將被合并為單個輸出。換句話說,這兩條線段將由另一個神經元連接起來,如下圖所示。

很幸運,我們并不需要額外添加一個包含單個神經元的隱藏層。輸出層的神經元正好可以起到這個作用,合并之前提到的兩個輸出(連接兩條線段),這樣整個網絡就只有一個輸出。

整個網絡架構如下圖所示:

例二

我們再來看一個分類問題的例子。和上面一個例子相似,這個例子也有兩個分類,每個樣本對應兩個輸入和一個輸出。區(qū)別在于邊界比之前的更復雜。

遵照之前的原則,第一步是畫出邊界(如下圖左半部分所示),接著是將邊界分成一組線段,我們將使用ANN的感知器建模每條線段。在畫出線段之前,首先標出邊界的變向處(下圖右半部分中的空心圓圈)。

問題在于需要幾條線段?頂部和底部的變向處各需要兩條線段,這樣總共是4條線段。而當中的變向處可以和上下兩個變向處共用線段。所以我們需要4條線段,如下圖所示。

這意味著第一個隱藏層將包含4個神經元。換句話說,由單層感知器構成的4個分類器,每個分類器各生成一個輸出,共計4個輸出。接下來需要將這些分類器連接起來,使得整個網絡生成單個輸出。換句話說,通過另外的隱藏層將這些線段連接起來,以得到單條曲線。

網絡的具體布局取決于模型設計者。一種可能的網絡架構是創(chuàng)建包含兩個隱藏神經元的第二隱藏層。其中第一個隱藏神經元連接前兩條線段,最后一個隱藏神經元連接后兩條線段,如下圖所示。

到目前為止,我們有兩條曲線,也就是兩個輸出。接下來我們連接這兩條曲線,以得到整個網絡的單個輸出。在這一情形下,輸出層的神經元可以完成最終的連接,而無需增加一個新的隱藏層。最后我們得到了如下曲線:

這就完成了網絡的設計,整個網絡架構如下圖所示:

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯系本站處理。 舉報投訴
  • 神經網絡
    +關注

    關注

    42

    文章

    4733

    瀏覽量

    100415
  • 神經元
    +關注

    關注

    1

    文章

    363

    瀏覽量

    18431

原文標題:如何得出神經網絡需要多少隱藏層、每層需要多少神經元?

文章出處:【微信號:jqr_AI,微信公眾號:論智】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    利用深度循環(huán)神經網絡對心電圖降噪

    一個是它們由堆疊在起的多個 (> 2) 組成 - 這 種方法也稱為深度學習。這種深層架構雖然比典型 的\"淺層\"
    發(fā)表于 05-15 14:42

    從AlexNet到MobileNet,帶你入門深度神經網絡

    深度神經網絡運用的方法。AlexNet在研發(fā)的時候,使用的GTX580僅有3GB的顯存,所以創(chuàng)造性的把模型拆解在兩張顯卡中,架構如下:1.第一層是卷積
    發(fā)表于 05-08 15:57

    【PYNQ-Z2試用體驗】神經網絡基礎知識

    語言,使用numpy.dot方法即可計算矩陣乘法。 以上便是簡單神經網絡的基本原理,對神經網絡
    發(fā)表于 03-03 22:10

    【案例分享】ART神經網絡與SOM神經網絡

    元,它決定了該輸入向量在地位空間中的位置。SOM神經網絡訓練的目的就是為每個輸出神經元找到合適的權向量,以達到保持拓撲結構的目的。SOM的訓練過程其實很
    發(fā)表于 07-21 04:30

    深度神經網絡是什么

    多層感知機 深度神經網絡in collaboration with Hsu Chung Chuan, Lin Min Htoo, and Quah Jia Yong. 與許忠傳,林敏濤和華佳勇合作
    發(fā)表于 07-12 06:35

    如何構建神經網絡?

    原文鏈接:http://tecdat.cn/?p=5725 神經網絡種基于現有數據創(chuàng)建預測的計算系統。如何構建神經網絡?神經網絡包括:輸入
    發(fā)表于 07-12 08:02

    matlab實現神經網絡 精選資料分享

    神經神經網絡,對于神經網絡的實現是如何直沒有具體實現下:現看到
    發(fā)表于 08-18 07:25

    神經網絡移植到STM32的方法

    問題,一個神經網絡的移植,另一個是STM32的計算速度。神經網絡的移植網絡采用的是最簡單的BP
    發(fā)表于 01-11 06:20

    卷積神經網絡模型發(fā)展及應用

    卷積神經網絡模型發(fā)展及應用轉載****地址:http://fcst.ceaj.org/CN/abstract/abstract2521.shtml深度學習是機器學習和人工智能研究的最新趨勢,作為
    發(fā)表于 08-02 10:39

    【人工神經網絡基礎】為什么神經網絡選擇了“深度”?

    的 Logistic regression 就可以認為是不含隱含的輸出激活函數用 sigmoid(logistic) 的神經網絡,顯
    發(fā)表于 09-06 20:48 ?672次閱讀

    卷積神經網絡層級結構 卷積神經網絡的卷積講解

    卷積神經網絡層級結構 卷積神經網絡的卷積講解 卷積神經網絡(Convolutional Neural Network,CNN)是種基于
    的頭像 發(fā)表于 08-21 16:49 ?7279次閱讀

    卷積神經網絡深度神經網絡的優(yōu)缺點 卷積神經網絡深度神經網絡的區(qū)別

    深度神經網絡種基于神經網絡的機器學習算法,其主要特點是由多層神經元構成,可以根據數據自動調整神經
    發(fā)表于 08-21 17:07 ?3852次閱讀

    淺析深度神經網絡壓縮與加速技術

    深度神經網絡深度學習的種框架,它是種具備至少
    的頭像 發(fā)表于 10-11 09:14 ?693次閱讀
    淺析<b class='flag-5'>深度</b><b class='flag-5'>神經網絡</b>壓縮與加速技術

    深度神經網絡模型有哪些

    深度神經網絡(Deep Neural Networks,DNNs)是類具有多個隱藏神經網絡,它們在許多領域取得了顯著的成功,如計算機視
    的頭像 發(fā)表于 07-02 10:00 ?1041次閱讀

    深度神經網絡的設計方法

    深度神經網絡(Deep Neural Networks, DNNs)作為人工智能領域的重要技術之,通過模擬人腦神經元之間的連接,實現了對復雜數據的自主學習和智能判斷。其設計
    的頭像 發(fā)表于 07-04 13:13 ?370次閱讀