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

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

3天內(nèi)不再提示

一個決定神經(jīng)網(wǎng)絡(luò)深度、網(wǎng)絡(luò)層大小的簡單方法

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

編者按:Ahmed Gad介紹了一個決定神經(jīng)網(wǎng)絡(luò)深度、網(wǎng)絡(luò)層大小的簡單方法。

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

介紹

在計算機科學(xué)中,借鑒了生物神經(jīng)網(wǎng)絡(luò)的ANN用一組網(wǎng)絡(luò)層表示。這些網(wǎng)絡(luò)層可以分為三類:輸入層、隱藏層、輸出層。

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

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

在數(shù)據(jù)上畫出分隔分類的期望邊界。

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

線段數(shù)等于第一個隱藏層的隱藏層神經(jīng)元數(shù)。

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

每次連接的連接數(shù)等于新增隱藏層的神經(jīng)元數(shù)目。

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

例一

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

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

在神經(jīng)網(wǎng)絡(luò)中,當且僅當數(shù)據(jù)必須以非線性的方式分割時,才需要隱藏層。

回到我們的例子??雌饋硪粭l直線搞不定,因此,我們需要使用隱藏層。在這樣的情形下,也許我們?nèi)匀豢梢圆挥秒[藏層,但會影響到分類精確度。所以,最好使用隱藏層。

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

需要多少層?

每層需要多少神經(jīng)元?

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

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

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

y = w1x1+ w2x2+ ? + wixi+ b

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

回到我們的例子上來,人工神經(jīng)網(wǎng)絡(luò)基于多個感知器構(gòu)建,這就相當于網(wǎng)絡(luò)由多條直線組成。

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

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

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

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

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

整個網(wǎng)絡(luò)架構(gòu)如下圖所示:

例二

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

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

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

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

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

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

這就完成了網(wǎng)絡(luò)的設(shè)計,整個網(wǎng)絡(luò)架構(gòu)如下圖所示:

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴

原文標題:如何得出神經(jīng)網(wǎng)絡(luò)需要多少隱藏層、每層需要多少神經(jīng)元?

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

收藏 人收藏

    評論

    相關(guān)推薦

    利用深度循環(huán)神經(jīng)網(wǎng)絡(luò)對心電圖降噪

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

    從AlexNet到MobileNet,帶你入門深度神經(jīng)網(wǎng)絡(luò)

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

    【PYNQ-Z2試用體驗】神經(jīng)網(wǎng)絡(luò)基礎(chǔ)知識

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

    【案例分享】ART神經(jīng)網(wǎng)絡(luò)與SOM神經(jīng)網(wǎng)絡(luò)

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

    深度神經(jīng)網(wǎng)絡(luò)是什么

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

    如何構(gòu)建神經(jīng)網(wǎng)絡(luò)?

    原文鏈接:http://tecdat.cn/?p=5725 神經(jīng)網(wǎng)絡(luò)種基于現(xiàn)有數(shù)據(jù)創(chuàng)建預(yù)測的計算系統(tǒng)。如何構(gòu)建神經(jīng)網(wǎng)絡(luò)?神經(jīng)網(wǎng)絡(luò)包括:輸入
    發(fā)表于 07-12 08:02

    matlab實現(xiàn)神經(jīng)網(wǎng)絡(luò) 精選資料分享

    習(xí)神經(jīng)神經(jīng)網(wǎng)絡(luò),對于神經(jīng)網(wǎng)絡(luò)的實現(xiàn)是如何直沒有具體實現(xiàn)下:現(xiàn)看到
    發(fā)表于 08-18 07:25

    神經(jīng)網(wǎng)絡(luò)移植到STM32的方法

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

    卷積神經(jīng)網(wǎng)絡(luò)模型發(fā)展及應(yīng)用

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

    【人工神經(jīng)網(wǎng)絡(luò)基礎(chǔ)】為什么神經(jīng)網(wǎng)絡(luò)選擇了“深度”?

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

    卷積神經(jīng)網(wǎng)絡(luò)層級結(jié)構(gòu) 卷積神經(jīng)網(wǎng)絡(luò)的卷積講解

    卷積神經(jīng)網(wǎng)絡(luò)層級結(jié)構(gòu) 卷積神經(jīng)網(wǎng)絡(luò)的卷積講解 卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network,CNN)是種基于
    的頭像 發(fā)表于 08-21 16:49 ?8984次閱讀

    卷積神經(jīng)網(wǎng)絡(luò)深度神經(jīng)網(wǎng)絡(luò)的優(yōu)缺點 卷積神經(jīng)網(wǎng)絡(luò)深度神經(jīng)網(wǎng)絡(luò)的區(qū)別

    深度神經(jīng)網(wǎng)絡(luò)種基于神經(jīng)網(wǎng)絡(luò)的機器學(xué)習(xí)算法,其主要特點是由多層神經(jīng)元構(gòu)成,可以根據(jù)數(shù)據(jù)自動調(diào)整神經(jīng)
    發(fā)表于 08-21 17:07 ?4195次閱讀

    淺析深度神經(jīng)網(wǎng)絡(luò)壓縮與加速技術(shù)

    深度神經(jīng)網(wǎng)絡(luò)深度學(xué)習(xí)的種框架,它是種具備至少
    的頭像 發(fā)表于 10-11 09:14 ?767次閱讀
    淺析<b class='flag-5'>深度</b><b class='flag-5'>神經(jīng)網(wǎng)絡(luò)</b>壓縮與加速技術(shù)

    深度神經(jīng)網(wǎng)絡(luò)模型有哪些

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

    深度神經(jīng)網(wǎng)絡(luò)的設(shè)計方法

    深度神經(jīng)網(wǎng)絡(luò)(Deep Neural Networks, DNNs)作為人工智能領(lǐng)域的重要技術(shù)之,通過模擬人腦神經(jīng)元之間的連接,實現(xiàn)了對復(fù)雜數(shù)據(jù)的自主學(xué)習(xí)和智能判斷。其設(shè)計
    的頭像 發(fā)表于 07-04 13:13 ?509次閱讀