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

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

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

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

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

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

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

介紹

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

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

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

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

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

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

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

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

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

例一

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

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

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

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

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

需要多少層?

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

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

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

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

y = w1x1+ w2x2+ ? + wixi+ b

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

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

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

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

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

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

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

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

例二

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

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

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

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

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

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

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

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

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

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

收藏 人收藏

    評(píng)論

    相關(guān)推薦

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

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

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

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

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

    語言,使用numpy.dot方法即可計(jì)算矩陣乘法。 以上便是個(gè)簡單神經(jīng)網(wǎng)絡(luò)的基本原理,對(duì)神經(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)練的目的就是為每個(gè)輸出神經(jīng)元找到合適的權(quán)向量,以達(dá)到保持拓?fù)浣Y(jié)構(gòu)的目的。SOM的訓(xùn)練過程其實(shí)很
    發(fā)表于 07-21 04:30

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

    多層感知機(jī) 深度神經(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ù)測的計(jì)算系統(tǒng)。如何構(gòu)建神經(jīng)網(wǎng)絡(luò)?神經(jīng)網(wǎng)絡(luò)包括:輸入
    發(fā)表于 07-12 08:02

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

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

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

    問題,一個(gè)神經(jīng)網(wǎng)絡(luò)的移植,另一個(gè)是STM32的計(jì)算速度。神經(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í)是機(jī)器學(xué)習(xí)和人工智能研究的最新趨勢,作為
    發(fā)表于 08-02 10:39

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

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

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

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

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

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

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

    深度神經(jīng)網(wǎng)絡(luò)深度學(xué)習(xí)的種框架,它是種具備至少個(gè)
    的頭像 發(fā)表于 10-11 09:14 ?669次閱讀
    淺析<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)是類具有多個(gè)隱藏神經(jīng)網(wǎng)絡(luò),它們在許多領(lǐng)域取得了顯著的成功,如計(jì)算機(jī)視
    的頭像 發(fā)表于 07-02 10:00 ?879次閱讀

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

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