HOME 首頁
SERVICE 服務(wù)產(chǎn)品
XINMEITI 新媒體代運營
CASE 服務(wù)案例
NEWS 熱點資訊
ABOUT 關(guān)于我們
CONTACT 聯(lián)系我們
創(chuàng)意嶺
讓品牌有溫度、有情感
專注品牌策劃15年

    設(shè)計神經(jīng)網(wǎng)絡(luò)的基本原則(設(shè)計神經(jīng)網(wǎng)絡(luò)的基本原則是)

    發(fā)布時間:2023-04-22 04:15:43     稿源: 創(chuàng)意嶺    閱讀: 128        

    大家好!今天讓創(chuàng)意嶺的小編來大家介紹下關(guān)于設(shè)計神經(jīng)網(wǎng)絡(luò)的基本原則的問題,以下是小編對此問題的歸納整理,讓我們一起來看看吧。

    開始之前先推薦一個非常厲害的Ai人工智能工具,一鍵生成原創(chuàng)文章、方案、文案、工作計劃、工作報告、論文、代碼、作文、做題和對話答疑等等

    只需要輸入關(guān)鍵詞,就能返回你想要的內(nèi)容,越精準(zhǔn),寫出的就越詳細(xì),有微信小程序端、在線網(wǎng)頁版、PC客戶端

    官網(wǎng):https://ai.de1919.com。

    創(chuàng)意嶺作為行業(yè)內(nèi)優(yōu)秀的企業(yè),服務(wù)客戶遍布全球各地,如需了解SEO相關(guān)業(yè)務(wù)請撥打電話175-8598-2043,或添加微信:1454722008

    本文目錄:

    設(shè)計神經(jīng)網(wǎng)絡(luò)的基本原則(設(shè)計神經(jīng)網(wǎng)絡(luò)的基本原則是)

    一、BP神經(jīng)網(wǎng)絡(luò)原理

    人工神經(jīng)網(wǎng)絡(luò)有很多模型,但是日前應(yīng)用最廣、基本思想最直觀、最容易被理解的是多層前饋神經(jīng)網(wǎng)絡(luò)及誤差逆?zhèn)鞑W(xué)習(xí)算法(Error Back-Prooaeation),簡稱為BP網(wǎng)絡(luò)。

    在1986年以Rumelhart和McCelland為首的科學(xué)家出版的《Parallel Distributed Processing》一書中,完整地提出了誤差逆?zhèn)鞑W(xué)習(xí)算法,并被廣泛接受。多層感知網(wǎng)絡(luò)是一種具有三層或三層以上的階層型神經(jīng)網(wǎng)絡(luò)。典型的多層感知網(wǎng)絡(luò)是三層、前饋的階層網(wǎng)絡(luò)(圖4.1),即:輸入層、隱含層(也稱中間層)、輸出層,具體如下:

    圖4.1 三層BP網(wǎng)絡(luò)結(jié)構(gòu)

    (1)輸入層

    輸入層是網(wǎng)絡(luò)與外部交互的接口。一般輸入層只是輸入矢量的存儲層,它并不對輸入矢量作任何加工和處理。輸入層的神經(jīng)元數(shù)目可以根據(jù)需要求解的問題和數(shù)據(jù)表示的方式來確定。一般而言,如果輸入矢量為圖像,則輸入層的神經(jīng)元數(shù)目可以為圖像的像素數(shù),也可以是經(jīng)過處理后的圖像特征數(shù)。

    (2)隱含層

    1989年,Robert Hecht Nielsno證明了對于任何在閉區(qū)間內(nèi)的一個連續(xù)函數(shù)都可以用一個隱層的BP網(wǎng)絡(luò)來逼近,因而一個三層的BP網(wǎng)絡(luò)可以完成任意的n維到m維的映射。增加隱含層數(shù)雖然可以更進(jìn)一步的降低誤差、提高精度,但是也使網(wǎng)絡(luò)復(fù)雜化,從而增加了網(wǎng)絡(luò)權(quán)值的訓(xùn)練時間。誤差精度的提高也可以通過增加隱含層中的神經(jīng)元數(shù)目來實現(xiàn),其訓(xùn)練效果也比增加隱含層數(shù)更容易觀察和調(diào)整,所以一般情況應(yīng)優(yōu)先考慮增加隱含層的神經(jīng)元個數(shù),再根據(jù)具體情況選擇合適的隱含層數(shù)。

    (3)輸出層

    輸出層輸出網(wǎng)絡(luò)訓(xùn)練的結(jié)果矢量,輸出矢量的維數(shù)應(yīng)根據(jù)具體的應(yīng)用要求來設(shè)計,在設(shè)計時,應(yīng)盡可能減少系統(tǒng)的規(guī)模,使系統(tǒng)的復(fù)雜性減少。如果網(wǎng)絡(luò)用作識別器,則識別的類別神經(jīng)元接近1,而其它神經(jīng)元輸出接近0。

    以上三層網(wǎng)絡(luò)的相鄰層之間的各神經(jīng)元實現(xiàn)全連接,即下一層的每一個神經(jīng)元與上一層的每個神經(jīng)元都實現(xiàn)全連接,而且每層各神經(jīng)元之間無連接,連接強(qiáng)度構(gòu)成網(wǎng)絡(luò)的權(quán)值矩陣W。

    BP網(wǎng)絡(luò)是以一種有教師示教的方式進(jìn)行學(xué)習(xí)的。首先由教師對每一種輸入模式設(shè)定一個期望輸出值。然后對網(wǎng)絡(luò)輸入實際的學(xué)習(xí)記憶模式,并由輸入層經(jīng)中間層向輸出層傳播(稱為“模式順傳播”)。實際輸出與期望輸出的差即是誤差。按照誤差平方最小這一規(guī)則,由輸出層往中間層逐層修正連接權(quán)值,此過程稱為“誤差逆?zhèn)鞑ァ保愓?005)。所以誤差逆?zhèn)鞑ド窠?jīng)網(wǎng)絡(luò)也簡稱BP(Back Propagation)網(wǎng)。隨著“模式順傳播”和“誤差逆?zhèn)鞑ァ边^程的交替反復(fù)進(jìn)行。網(wǎng)絡(luò)的實際輸出逐漸向各自所對應(yīng)的期望輸出逼近,網(wǎng)絡(luò)對輸入模式的響應(yīng)的正確率也不斷上升。通過此學(xué)習(xí)過程,確定下各層間的連接權(quán)值后。典型三層BP神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)及程序運行過程如下(標(biāo)志淵,2006):

    (1)首先,對各符號的形式及意義進(jìn)行說明:

    網(wǎng)絡(luò)輸入向量Pk=(a1,a2,...,an);

    網(wǎng)絡(luò)目標(biāo)向量Tk=(y1,y2,...,yn);

    中間層單元輸入向量Sk=(s1,s2,...,sp),輸出向量Bk=(b1,b2,...,bp);

    輸出層單元輸入向量Lk=(l1,l2,...,lq),輸出向量Ck=(c1,c2,...,cq);

    輸入層至中間層的連接權(quán)wij,i=1,2,...,n,j=1,2,...p;

    中間層至輸出層的連接權(quán)vjt,j=1,2,...,p,t=1,2,...,p;

    中間層各單元的輸出閾值θj,j=1,2,...,p;

    輸出層各單元的輸出閾值γj,j=1,2,...,p;

    參數(shù)k=1,2,...,m。

    (2)初始化。給每個連接權(quán)值wij、vjt、閾值θj與γj賦予區(qū)間(-1,1)內(nèi)的隨機(jī)值。

    (3)隨機(jī)選取一組輸入和目標(biāo)樣本

    提供給網(wǎng)絡(luò)。

    (4)用輸入樣本

    、連接權(quán)wij和閾值θj計算中間層各單元的輸入sj,然后用sj通過傳遞函數(shù)計算中間層各單元的輸出bj

    基坑降水工程的環(huán)境效應(yīng)與評價方法

    bj=f(sj) j=1,2,...,p (4.5)

    (5)利用中間層的輸出bj、連接權(quán)vjt和閾值γt計算輸出層各單元的輸出Lt,然后通過傳遞函數(shù)計算輸出層各單元的響應(yīng)Ct。

    基坑降水工程的環(huán)境效應(yīng)與評價方法

    Ct=f(Lt) t=1,2,...,q (4.7)

    (6)利用網(wǎng)絡(luò)目標(biāo)向量

    ,網(wǎng)絡(luò)的實際輸出Ct,計算輸出層的各單元一般化誤差

    。

    基坑降水工程的環(huán)境效應(yīng)與評價方法

    (7)利用連接權(quán)vjt、輸出層的一般化誤差dt和中間層的輸出bj計算中間層各單元的一般化誤差

    基坑降水工程的環(huán)境效應(yīng)與評價方法

    (8)利用輸出層各單元的一般化誤差

    與中間層各單元的輸出bj來修正連接權(quán)vjt和閾值γt。

    基坑降水工程的環(huán)境效應(yīng)與評價方法

    (9)利用中間層各單元的一般化誤差

    ,輸入層各單元的輸入Pk=(a1,a2,...,an)來修正連接權(quán)wij和閾值θj。

    基坑降水工程的環(huán)境效應(yīng)與評價方法

    (10)隨機(jī)選取下一個學(xué)習(xí)樣本向量提供給網(wǎng)絡(luò),返回到步驟(3),直到m個訓(xùn)練樣本訓(xùn)練完畢。

    (11)重新從m個學(xué)習(xí)樣本中隨機(jī)選取一組輸入和目標(biāo)樣本,返回步驟(3),直到網(wǎng)路全局誤差E小于預(yù)先設(shè)定的一個極小值,即網(wǎng)絡(luò)收斂。如果學(xué)習(xí)次數(shù)大于預(yù)先設(shè)定的值,網(wǎng)絡(luò)就無法收斂。

    (12)學(xué)習(xí)結(jié)束。

    可以看出,在以上學(xué)習(xí)步驟中,(8)、(9)步為網(wǎng)絡(luò)誤差的“逆?zhèn)鞑ミ^程”,(10)、(11)步則用于完成訓(xùn)練和收斂過程。

    通常,經(jīng)過訓(xùn)練的網(wǎng)絡(luò)還應(yīng)該進(jìn)行性能測試。測試的方法就是選擇測試樣本向量,將其提供給網(wǎng)絡(luò),檢驗網(wǎng)絡(luò)對其分類的正確性。測試樣本向量中應(yīng)該包含今后網(wǎng)絡(luò)應(yīng)用過程中可能遇到的主要典型模式(宋大奇,2006)。這些樣本可以直接測取得到,也可以通過仿真得到,在樣本數(shù)據(jù)較少或者較難得到時,也可以通過對學(xué)習(xí)樣本加上適當(dāng)?shù)脑肼暬虬凑找欢ㄒ?guī)則插值得到。為了更好地驗證網(wǎng)絡(luò)的泛化能力,一個良好的測試樣本集中不應(yīng)該包含和學(xué)習(xí)樣本完全相同的模式(董軍,2007)。

    二、一文看懂卷積神經(jīng)網(wǎng)絡(luò)-CNN(基本原理+獨特價值+實際應(yīng)用)

    在 CNN 出現(xiàn)之前,圖像對于人工智能來說是一個難題,有2個原因:

    圖像需要處理的數(shù)據(jù)量太大,導(dǎo)致成本很高,效率很低

    圖像在數(shù)字化的過程中很難保留原有的特征,導(dǎo)致圖像處理的準(zhǔn)確率不高

    下面就詳細(xì)說明一下這2個問題:

    圖像是由像素構(gòu)成的,每個像素又是由顏色構(gòu)成的。

    現(xiàn)在隨隨便便一張圖片都是 1000×1000 像素以上的, 每個像素都有RGB 3個參數(shù)來表示顏色信息。

    假如我們處理一張 1000×1000 像素的圖片,我們就需要處理3百萬個參數(shù)!

    1000×1000×3=3,000,000

    這么大量的數(shù)據(jù)處理起來是非常消耗資源的,而且這只是一張不算太大的圖片!

    卷積神經(jīng)網(wǎng)絡(luò) – CNN 解決的第一個問題就是「將復(fù)雜問題簡化」,把大量參數(shù)降維成少量參數(shù),再做處理。

    更重要的是:我們在大部分場景下,降維并不會影響結(jié)果。比如1000像素的圖片縮小成200像素,并不影響肉眼認(rèn)出來圖片中是一只貓還是一只狗,機(jī)器也是如此。

    圖片數(shù)字化的傳統(tǒng)方式我們簡化一下,就類似下圖的過程:

    假如有圓形是1,沒有圓形是0,那么圓形的位置不同就會產(chǎn)生完全不同的數(shù)據(jù)表達(dá)。但是從視覺的角度來看, 圖像的內(nèi)容(本質(zhì))并沒有發(fā)生變化,只是位置發(fā)生了變化 。

    所以當(dāng)我們移動圖像中的物體,用傳統(tǒng)的方式的得出來的參數(shù)會差異很大!這是不符合圖像處理的要求的。

    而 CNN 解決了這個問題,他用類似視覺的方式保留了圖像的特征,當(dāng)圖像做翻轉(zhuǎn),旋轉(zhuǎn)或者變換位置時,它也能有效的識別出來是類似的圖像。

    那么卷積神經(jīng)網(wǎng)絡(luò)是如何實現(xiàn)的呢?在我們了解 CNN 原理之前,先來看看人類的視覺原理是什么?

    深度學(xué)習(xí)的許多研究成果,離不開對大腦認(rèn)知原理的研究,尤其是視覺原理的研究。

    1981 年的諾貝爾醫(yī)學(xué)獎,頒發(fā)給了 David Hubel(出生于加拿大的美國神經(jīng)生物學(xué)家) 和TorstenWiesel,以及 Roger Sperry。前兩位的主要貢獻(xiàn),是“ 發(fā)現(xiàn)了視覺系統(tǒng)的信息處理 ”,可視皮層是分級的。

    人類的視覺原理如下:從原始信號攝入開始(瞳孔攝入像素 Pixels),接著做初步處理(大腦皮層某些細(xì)胞發(fā)現(xiàn)邊緣和方向),然后抽象(大腦判定,眼前的物體的形狀,是圓形的),然后進(jìn)一步抽象(大腦進(jìn)一步判定該物體是只氣球)。下面是人腦進(jìn)行人臉識別的一個示例:

    對于不同的物體,人類視覺也是通過這樣逐層分級,來進(jìn)行認(rèn)知的:

    我們可以看到,在最底層特征基本上是類似的,就是各種邊緣,越往上,越能提取出此類物體的一些特征(輪子、眼睛、軀干等),到最上層,不同的高級特征最終組合成相應(yīng)的圖像,從而能夠讓人類準(zhǔn)確的區(qū)分不同的物體。

    那么我們可以很自然的想到:可以不可以模仿人類大腦的這個特點,構(gòu)造多層的神經(jīng)網(wǎng)絡(luò),較低層的識別初級的圖像特征,若干底層特征組成更上一層特征,最終通過多個層級的組合,最終在頂層做出分類呢?

    答案是肯定的,這也是許多深度學(xué)習(xí)算法(包括CNN)的靈感來源。

    典型的 CNN 由3個部分構(gòu)成:

    卷積層

    池化層

    全連接層

    如果簡單來描述的話:

    卷積層負(fù)責(zé)提取圖像中的局部特征;池化層用來大幅降低參數(shù)量級(降維);全連接層類似傳統(tǒng)神經(jīng)網(wǎng)絡(luò)的部分,用來輸出想要的結(jié)果。

    下面的原理解釋為了通俗易懂,忽略了很多技術(shù)細(xì)節(jié),如果大家對詳細(xì)的原理感興趣,可以看這個視頻《 卷積神經(jīng)網(wǎng)絡(luò)基礎(chǔ) 》。

    卷積層的運算過程如下圖,用一個卷積核掃完整張圖片:

    這個過程我們可以理解為我們使用一個過濾器(卷積核)來過濾圖像的各個小區(qū)域,從而得到這些小區(qū)域的特征值。

    在具體應(yīng)用中,往往有多個卷積核,可以認(rèn)為,每個卷積核代表了一種圖像模式,如果某個圖像塊與此卷積核卷積出的值大,則認(rèn)為此圖像塊十分接近于此卷積核。如果我們設(shè)計了6個卷積核,可以理解:我們認(rèn)為這個圖像上有6種底層紋理模式,也就是我們用6中基礎(chǔ)模式就能描繪出一副圖像。以下就是25種不同的卷積核的示例:

    總結(jié):卷積層的通過卷積核的過濾提取出圖片中局部的特征,跟上面提到的人類視覺的特征提取類似。

    池化層簡單說就是下采樣,他可以大大降低數(shù)據(jù)的維度。其過程如下:

    上圖中,我們可以看到,原始圖片是20×20的,我們對其進(jìn)行下采樣,采樣窗口為10×10,最終將其下采樣成為一個2×2大小的特征圖。

    之所以這么做的原因,是因為即使做完了卷積,圖像仍然很大(因為卷積核比較?。詾榱私档蛿?shù)據(jù)維度,就進(jìn)行下采樣。

    總結(jié):池化層相比卷積層可以更有效的降低數(shù)據(jù)維度,這么做不但可以大大減少運算量,還可以有效的避免過擬合。

    這個部分就是最后一步了,經(jīng)過卷積層和池化層處理過的數(shù)據(jù)輸入到全連接層,得到最終想要的結(jié)果。

    經(jīng)過卷積層和池化層降維過的數(shù)據(jù),全連接層才能”跑得動”,不然數(shù)據(jù)量太大,計算成本高,效率低下。

    典型的 CNN 并非只是上面提到的3層結(jié)構(gòu),而是多層結(jié)構(gòu),例如 LeNet-5 的結(jié)構(gòu)就如下圖所示:

    卷積層 – 池化層- 卷積層 – 池化層 – 卷積層 – 全連接層

    在了解了 CNN 的基本原理后,我們重點說一下 CNN 的實際應(yīng)用有哪些。

    卷積神經(jīng)網(wǎng)絡(luò) – CNN 很擅長處理圖像。而視頻是圖像的疊加,所以同樣擅長處理視頻內(nèi)容。下面給大家列一些比較成熟的應(yīng)用�:

    圖像分類、檢索

    圖像分類是比較基礎(chǔ)的應(yīng)用,他可以節(jié)省大量的人工成本,將圖像進(jìn)行有效的分類。對于一些特定領(lǐng)域的圖片,分類的準(zhǔn)確率可以達(dá)到 95%+,已經(jīng)算是一個可用性很高的應(yīng)用了。

    典型場景:圖像搜索…

    目標(biāo)定位檢測

    可以在圖像中定位目標(biāo),并確定目標(biāo)的位置及大小。

    典型場景:自動駕駛、安防、醫(yī)療…

    目標(biāo)分割

    簡單理解就是一個像素級的分類。

    他可以對前景和背景進(jìn)行像素級的區(qū)分、再高級一點還可以識別出目標(biāo)并且對目標(biāo)進(jìn)行分類。

    典型場景:美圖秀秀、視頻后期加工、圖像生成…

    人臉識別

    人臉識別已經(jīng)是一個非常普及的應(yīng)用了,在很多領(lǐng)域都有廣泛的應(yīng)用。

    典型場景:安防、金融、生活…

    骨骼識別

    骨骼識別是可以識別身體的關(guān)鍵骨骼,以及追蹤骨骼的動作。

    典型場景:安防、電影、圖像視頻生成、游戲…

    今天我們介紹了 CNN 的價值、基本原理和應(yīng)用場景,簡單總結(jié)如下:

    CNN 的價值:

    能夠?qū)⒋髷?shù)據(jù)量的圖片有效的降維成小數(shù)據(jù)量(并不影響結(jié)果)

    能夠保留圖片的特征,類似人類的視覺原理

    CNN 的基本原理:

    卷積層 – 主要作用是保留圖片的特征

    池化層 – 主要作用是把數(shù)據(jù)降維,可以有效的避免過擬合

    全連接層 – 根據(jù)不同任務(wù)輸出我們想要的結(jié)果

    CNN 的實際應(yīng)用:

    圖片分類、檢索

    目標(biāo)定位檢測

    目標(biāo)分割

    人臉識別

    骨骼識別

    本文首發(fā)在 easyAI - 人工智能知識庫

    《 一文看懂卷積神經(jīng)網(wǎng)絡(luò)-CNN(基本原理+獨特價值+實際應(yīng)用) 》

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

    神經(jīng)網(wǎng)絡(luò)是一種模仿動物神經(jīng)網(wǎng)絡(luò)行為特征,進(jìn)行分布式并行信息處理的算法數(shù)學(xué)模型。這種網(wǎng)絡(luò)依靠系統(tǒng)的復(fù)雜程度,通過調(diào)整內(nèi)部大量節(jié)點之間相互連接的關(guān)系,從而達(dá)到處理信息的目的。

    生物神經(jīng)網(wǎng)絡(luò)主要是指人腦的神經(jīng)網(wǎng)絡(luò),它是人工神經(jīng)網(wǎng)絡(luò)的技術(shù)原型。人腦是人類思維的物質(zhì)基礎(chǔ),思維的功能定位在大腦皮層,后者含有大約10^11個神經(jīng)元,每個神經(jīng)元又通過神經(jīng)突觸與大約103個其它神經(jīng)元相連,形成一個高度復(fù)雜高度靈活的動態(tài)網(wǎng)絡(luò)。作為一門學(xué)科,生物神經(jīng)網(wǎng)絡(luò)主要研究人腦神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)、功能及其工作機(jī)制,意在探索人腦思維和智能活動的規(guī)律。

    人工神經(jīng)網(wǎng)絡(luò)是生物神經(jīng)網(wǎng)絡(luò)在某種簡化意義下的技術(shù)復(fù)現(xiàn),作為一門學(xué)科,它的主要任務(wù)是根據(jù)生物神經(jīng)網(wǎng)絡(luò)的原理和實際應(yīng)用的需要建造實用的人工神經(jīng)網(wǎng)絡(luò)模型,設(shè)計相應(yīng)的學(xué)習(xí)算法,模擬人腦的某種智能活動,然后在技術(shù)上實現(xiàn)出來用以解決實際問題。因此,生物神經(jīng)網(wǎng)絡(luò)主要研究智能的機(jī)理;人工神經(jīng)網(wǎng)絡(luò)主要研究智能機(jī)理的實現(xiàn),兩者相輔相成。

    設(shè)計神經(jīng)網(wǎng)絡(luò)的基本原則(設(shè)計神經(jīng)網(wǎng)絡(luò)的基本原則是)

    擴(kuò)展資料:

    神經(jīng)網(wǎng)絡(luò)的研究內(nèi)容相當(dāng)廣泛,反映了多學(xué)科交叉技術(shù)領(lǐng)域的特點。主要的研究工作集中在以下幾個方面:

    1、生物原型

    從生理學(xué)、心理學(xué)、解剖學(xué)、腦科學(xué)、病理學(xué)等方面研究神經(jīng)細(xì)胞、神經(jīng)網(wǎng)絡(luò)、神經(jīng)系統(tǒng)的生物原型結(jié)構(gòu)及其功能機(jī)理。

    2、建立模型

    根據(jù)生物原型的研究,建立神經(jīng)元、神經(jīng)網(wǎng)絡(luò)的理論模型。其中包括概念模型、知識模型、物理化學(xué)模型、數(shù)學(xué)模型等。

    3、算法

    在理論模型研究的基礎(chǔ)上構(gòu)作具體的神經(jīng)網(wǎng)絡(luò)模型,以實現(xiàn)計算機(jī)模擬或準(zhǔn)備制作硬件,包括網(wǎng)絡(luò)學(xué)習(xí)算法的研究。這方面的工作也稱為技術(shù)模型研究。

    神經(jīng)網(wǎng)絡(luò)用到的算法就是向量乘法,并且廣泛采用符號函數(shù)及其各種逼近。并行、容錯、可以硬件實現(xiàn)以及自我學(xué)習(xí)特性,是神經(jīng)網(wǎng)絡(luò)的幾個基本優(yōu)點,也是神經(jīng)網(wǎng)絡(luò)計算方法與傳統(tǒng)方法的區(qū)別所在。

    參考資料:百度百科-神經(jīng)網(wǎng)絡(luò)(通信定義)

    四、AI面試題第二彈(神經(jīng)網(wǎng)絡(luò)基礎(chǔ))

    提取主要特征,減小網(wǎng)絡(luò)參數(shù)量,減小計算量

    層層傳遞的梯度>1 梯度爆炸

    層層傳遞的梯度<1 梯度消失

    與權(quán)重有很大關(guān)系,激活函數(shù)的影響較小。

    每次訓(xùn)練一層隱節(jié)點,訓(xùn)練時將上一層隱節(jié)點的輸出作為輸入,而本層隱節(jié)點的輸出作為下一層隱節(jié)點的輸入,此過程就是逐層“預(yù)訓(xùn)練”(pre-training);在預(yù)訓(xùn)練完成后,再對整個網(wǎng)絡(luò)進(jìn)行“微調(diào)”(fine-tunning)。Hinton在訓(xùn)練深度信念網(wǎng)絡(luò)(Deep Belief Networks中,使用了這個方法,在各層預(yù)訓(xùn)練完成后,再利用BP算法對整個網(wǎng)絡(luò)進(jìn)行訓(xùn)練。

    這個方案主要是針對梯度爆炸提出的,其思想是設(shè)置一個梯度剪切閾值,然后更新梯度的時候,如果梯度超過這個閾值,那么就將其強(qiáng)制限制在這個范圍之內(nèi)。這可以防止梯度爆炸。

    比較常見的是l1l1l1正則,和l2l2l2正則,在各個深度框架中都有相應(yīng)的API可以使用正則化

    反向傳播中,經(jīng)過每一層的梯度會乘以該層的權(quán)重。

    舉個簡單例子:

    為了得到一致假設(shè)而使假設(shè)變得過度復(fù)雜稱為過擬合(overfitting), 過擬合表現(xiàn)在訓(xùn)練好的模型在訓(xùn)練集上效果很好,但是在測試集上效果差 。也就是說模型的泛化能力弱。

    過擬合主要由兩個原因造成,數(shù)據(jù)集太小或模型太復(fù)雜

    (1). 數(shù)據(jù)集擴(kuò)增(Data Augmentation)

    (2). 改進(jìn)模型

    ·Early Stopping。在模型效果比較好的時候便提前停止訓(xùn)練

     ·正則化(regularization)

    L1:稀疏參數(shù)

    L2:更小參數(shù)

    ·Dropout

    ·多任務(wù)學(xué)習(xí)

    深度學(xué)習(xí)中兩種多任務(wù)學(xué)習(xí)模式:隱層參數(shù)的硬共享和軟共享

    硬共享機(jī)制是指在所有任務(wù)中共享隱藏層,同時保留幾個特定任務(wù)的輸出層來實現(xiàn)。硬共享機(jī)制降低了過擬合的風(fēng)險。多個任務(wù)同時學(xué)習(xí),模型就越能捕捉到多個任務(wù)的同一表示,從而導(dǎo)致模型在原始任務(wù)上的過擬合風(fēng)險越小。

    軟共享機(jī)制是指每個任務(wù)有自己的模型,自己的參數(shù)。模型參數(shù)之間的距離是正則化的,以便保障參數(shù)相似性。

    見后文

    leaky relu

    輸入是x輸出是y,正常的流程是:我們首先把x通過網(wǎng)絡(luò)前向傳播,然后把誤差反向傳播以決定如何更新參數(shù)讓網(wǎng)絡(luò)進(jìn)行學(xué)習(xí)。使用Dropout之后,過程變成如下:

    (1)首先隨機(jī)(臨時)刪掉網(wǎng)絡(luò)中一半的隱藏神經(jīng)元,輸入輸出神經(jīng)元保持不變(圖中虛線為部分臨時被刪除的神經(jīng)元)

    (2) 然后把輸入x通過修改后的網(wǎng)絡(luò)前向傳播,然后把得到的損失結(jié)果通過修改的網(wǎng)絡(luò)反向傳播。一小批訓(xùn)練樣本執(zhí)行完這個過程后,在沒有被刪除的神經(jīng)元上按照隨機(jī)梯度下降法更新對應(yīng)的參數(shù)(w,b)。

    (3)然后繼續(xù)重復(fù)這一過程:

    恢復(fù)被刪掉的神經(jīng)元(此時被刪除的神經(jīng)元保持原樣,而沒有被刪除的神經(jīng)元已經(jīng)有所更新)

    從隱藏層神經(jīng)元中隨機(jī)選擇一個一半大小的子集臨時刪除掉(備份被刪除神經(jīng)元的參數(shù))。

    對一小批訓(xùn)練樣本,先前向傳播然后反向傳播損失并根據(jù)隨機(jī)梯度下降法更新參數(shù)(w,b) (沒有被刪除的那一部分參數(shù)得到更新,刪除的神經(jīng)元參數(shù)保持被刪除前的結(jié)果)。

    不斷重復(fù)這一過程。

    沒有對數(shù)據(jù)進(jìn)行歸一化

    忘記檢查輸入和輸出

    沒有對數(shù)據(jù)進(jìn)行預(yù)處理

    沒有對數(shù)據(jù)正則化

    使用過大的樣本

    使用不正確的學(xué)習(xí)率

    在輸出層使用錯誤的激活函數(shù)

    網(wǎng)絡(luò)中包含壞梯度

    初始化權(quán)重錯誤

    過深的網(wǎng)絡(luò)

    隱藏單元數(shù)量錯誤

    網(wǎng)絡(luò)設(shè)計不合理(任務(wù)-網(wǎng)絡(luò)不匹配)

    機(jī)器學(xué)習(xí)有個很重要的假設(shè):就是假設(shè)訓(xùn)練數(shù)據(jù)和測試數(shù)據(jù)是滿足獨立同分布的,這保障了通過訓(xùn)練數(shù)據(jù)獲得的優(yōu)秀模型也能夠在測試集獲得好的效果。但是在機(jī)器學(xué)習(xí)訓(xùn)練中輸入層的每個批量(X,Y)中X的分布是不一致的,并且神經(jīng)網(wǎng)絡(luò)的隱藏層的輸入分布在每次訓(xùn)練迭代中發(fā)生變化。 BatchNorm就是在深度神經(jīng)網(wǎng)絡(luò)訓(xùn)練過程中使得每一層神經(jīng)網(wǎng)絡(luò)的輸入保持相同分布的。

    BN的基本思想其實相當(dāng)直觀:因為深層神經(jīng)網(wǎng)絡(luò)在做非線性變換前(激活前)的 輸入值 (就是那個x=WU+B,U是輸入) 隨著網(wǎng)絡(luò)深度加深或者在訓(xùn)練過程中,其分布逐漸發(fā)生偏移或者變動,之所以訓(xùn)練收斂慢,一般是整體分布逐漸往非線性函數(shù)的取值區(qū)間的上下限兩端靠近 (對于Sigmoid函數(shù)來說,意味著激活輸入值WU+B是大的負(fù)值或正值),所以這 導(dǎo)致反向傳播時低層神經(jīng)網(wǎng)絡(luò)的梯度消失 ,這是訓(xùn)練深層神經(jīng)網(wǎng)絡(luò)收斂越來越慢的 本質(zhì)原因 , 而BN就是通過一定的規(guī)范化手段,把每層神經(jīng)網(wǎng)絡(luò)任意神經(jīng)元這個輸入值的分布強(qiáng)行拉回到均值為0方差為1的標(biāo)準(zhǔn)正態(tài)分布 ,其實就是把越來越偏的分布強(qiáng)制拉回比較標(biāo)準(zhǔn)的分布,這樣使得激活輸入值落在非線性函數(shù)對輸入比較敏感的區(qū)域,這樣輸入的小變化就會導(dǎo)致?lián)p失函數(shù)較大的變化,意思是 這樣讓梯度變大,避免梯度消失問題產(chǎn)生,而且梯度變大意味著學(xué)習(xí)收斂速度快,能大大加快訓(xùn)練速度。

    但是接下來的問題是:如果都通過BN,那么不就跟把非線性函數(shù)替換成線性函數(shù)效果相同了,意味著網(wǎng)絡(luò)的非線性表達(dá)能力下降了, 所以BN為了保證非線性的獲得,對變換后的滿足均值為0方差為1的x又進(jìn)行了scale加上shift操作(y=scale*x+shift), 每個神經(jīng)元增加了兩個參數(shù)scale和shift參數(shù),這兩個參數(shù)是通過訓(xùn)練學(xué)習(xí)到的,意思是通過scale和shift把這個值從標(biāo)準(zhǔn)正態(tài)分布左移或者右移一點并長胖一點或者變瘦一點,每個實例挪動的程度不一樣,這樣等價于激活前的值經(jīng)過標(biāo)準(zhǔn)正太分布?xì)w一化后再從正中心周圍的線性區(qū)往非線性區(qū)動了動。核心思想應(yīng)該是想找到一個線性和非線性的較好平衡點,既能享受非線性的較強(qiáng)表達(dá)能力的好處,又避免太靠非線性區(qū)兩頭使得網(wǎng)絡(luò)收斂速度太慢

    Batch Normalization 好處:(1)提高了訓(xùn)練速度,收斂速度也大大加快(2)另外調(diào)參過程也簡單多了,對于初始化要求沒那么高,而且可以使用大的學(xué)習(xí)率等 (3)可以防止梯度消失(4)BN類似于Dropout的一種防止過擬合的正則化表達(dá)方式,可以有效防止過擬合,不用太依賴dropou和正則化

    以下情況最好不要使用BN:(1)數(shù)據(jù)不平衡(2)batch_size太小

    batch_size是機(jī)器學(xué)習(xí)中的一個重要參數(shù),決定了梯度下降的方向,如果數(shù)據(jù)集比較小,完全可以采用全數(shù)據(jù)集的形式計算梯度,由全數(shù)據(jù)集確定的梯度方向能夠更好地代表樣本總體,從而更準(zhǔn)確地朝向極值所在的方向。對于大型數(shù)據(jù)集則需要使用mini-batch_size,因為隨著數(shù)據(jù)集的海量增長和內(nèi)存限制,一次性載入所有的數(shù)據(jù)進(jìn)來變得越來越不可行。

    當(dāng)batch_size=1,即在線學(xué)習(xí),模型難以達(dá)到收斂 。

    合理增加batch_size好處 :

    (1)內(nèi)存利用率提高了,大矩陣乘法的并行化效率提高

    (2)跑完一次 epoch(全數(shù)據(jù)集)所需的迭代次數(shù)減少,對于相同數(shù)據(jù)量的處理速度進(jìn)一步加快。

    (3)在一定范圍內(nèi),一般來說 Batch_Size 越大,其確定的下降方向越準(zhǔn),引起訓(xùn)練震蕩越小

    盲目增大 Batch_Size 壞處 :

    (1)內(nèi)存利用率提高了,但是內(nèi)存容量可能撐不住了

    (2)跑完一次 epoch(全數(shù)據(jù)集)所需的迭代次數(shù)減少,要想達(dá)到相同精度所需要的 epoch 數(shù)量越來越多,花費的時間越長

    (3)大的batchsize收斂到sharp minimum,而小的batchsize收斂到flat minimum,后者具有更好的泛化能力。

    總之batchsize在變得很大(超過一個臨界點)時,會降低模型的泛化能力。在這個臨界點之下,模型的性能變換隨batch size通常沒有學(xué)習(xí)率敏感

        目標(biāo)所在的真實框(ground truth) 與算法預(yù)測的目標(biāo)所在的框(bounding box)的交集與并集的比值,我們會用IOU閾值來判定預(yù)測的bounding box是否有效。一般閾值會設(shè)定在0.5,當(dāng)IOU的值大于等于0.5時,我們會把這個預(yù)測的bounding box 歸為正類,而小于0.5的歸為負(fù)類。

    牛頓法使用的是目標(biāo)函數(shù)的二階導(dǎo)數(shù),在高維情況下這個Hessian(n*n維度)矩陣非常大,計算復(fù)雜度是n*n,計算和存儲都是問題

    (1) 通過控制卷積核個數(shù)實現(xiàn)升維或者降維,從而減少模型參數(shù)和計算量

    (2) 用于不同channel上特征的融合

    (3)1x1的卷積相當(dāng)于全連接層的計算過程,并且加入了非線性激活函數(shù),從而增加了網(wǎng)絡(luò)的非線性,使得網(wǎng)絡(luò)可以表達(dá)更加復(fù)雜的特征。

    它能夠把輸入的連續(xù)實值變換為0和1之間的輸出,如果是非常大的負(fù)數(shù),那么輸出就是0;如果是非常大的正數(shù),輸出就是1

    缺點:

    (1)函數(shù)的飽和區(qū),導(dǎo)致梯度幾乎為0,造成梯度消失問題

    (2)Sigmoid 的 output 不是0均值,具體解釋見 https://blog.csdn.net/tyhj_sf/article/details/79932893

    (3)其解析式中含有冪運算,計算機(jī)求解時相對來講比較耗時。對于規(guī)模比較大的深度網(wǎng)絡(luò),這會較大地增加訓(xùn)練時間。

    它解決了Sigmoid函數(shù)的不是零均值輸出問題,然而,梯度消失(gradient vanishing)的問題和冪運算的問題仍然存在。

    (1)在正區(qū)間解決了梯度消失的問題

    (2)函數(shù)簡單,計算速度快,收斂速度遠(yuǎn)快于sigmoid和tanh

    缺點:

    (1)Relu函數(shù)輸出不是0均值

    (2)神經(jīng)元壞死問題:指的是某些神經(jīng)元可能永遠(yuǎn)不會被激活,導(dǎo)致相應(yīng)的參數(shù)永遠(yuǎn)不能被更新,有兩個主要原因?qū)е逻@種狀況發(fā)生

            (1) 非常不幸的參數(shù)初始化,這種情況比較少見 

            (2) learning rate太高導(dǎo)致在訓(xùn)練過程中參數(shù)更新太大,不幸使網(wǎng)絡(luò)進(jìn)入這種狀態(tài)。解決方法是可以采用Xavier初始化方法,以及避免將learning rate設(shè)置太大或使用adagrad等自動調(diào)節(jié)learning rate的算法

    為了解決ReLU函數(shù)帶來的神經(jīng)元壞死問題 , 提出了將ReLU的前半段設(shè)為αx,α通常設(shè)為0.01,,另外一種直觀的想法是基于參數(shù)的方法PReLU函數(shù), α可由方向傳播算法學(xué)習(xí)出來。

    ELU也是為解決ReLU存在的問題而提出,顯然,ELU有ReLU的基本所有優(yōu)點,以及:(1)不會有神經(jīng)元壞死現(xiàn)象(2)函數(shù)輸出均值接近于0

    但是ELU的小問題就是計算量稍微有點大。

    1、使用不同的激活函數(shù),比如Relu,Leak-Relu,PRelu,elu等激活函數(shù)代替sigmoid函數(shù)

    2、使用Batch Normalizaion(批量歸一化)

    3、使用殘差網(wǎng)絡(luò)

    4、預(yù)訓(xùn)練加微調(diào)

    1、梯度裁剪

    2、權(quán)重正則化

    兩個3x3的卷積核的感受野比5x5的卷積核的感受野大,在保持相同感受野的同時,用3x3的卷積核可以提升網(wǎng)絡(luò)的深度,可以很明顯的減少計算量。

    1、局部連接

    2、權(quán)值共享:減小參數(shù)量

    3、池化操作:增大感受野

    4、多層次結(jié)構(gòu):可以提取low-level以及high-level的信息

    1、數(shù)據(jù)集太小,數(shù)據(jù)樣本不足時,深度學(xué)習(xí)相對其它機(jī)器學(xué)習(xí)算法,沒有明顯優(yōu)勢。

    2、數(shù)據(jù)集沒有局部相關(guān)特性,目前深度學(xué)習(xí)表現(xiàn)比較好的領(lǐng)域主要是圖像/語音/自然語言處理等領(lǐng)域,這些領(lǐng)域的一個共性是局部相關(guān)性。圖像中像素組成物體,語音信號中音位組合成單詞,文本數(shù)據(jù)中單詞組合成句子,這些特征元素的組合一旦被打亂,表示的含義同時也被改變。對于沒有這樣的局部相關(guān)性的數(shù)據(jù)集,不適于使用深度學(xué)習(xí)算法進(jìn)行處理。舉個例子:預(yù)測一個人的健康狀況,相關(guān)的參數(shù)會有年齡、職業(yè)、收入、家庭狀況等各種元素,將這些元素打亂,并不會影響相關(guān)的結(jié)果。

    作用 :對輸入的特征圖進(jìn)行壓縮,

    一方面使特征圖變小,簡化網(wǎng)絡(luò)計算復(fù)雜度;

    一方面進(jìn)行特征壓縮,提取主要特征。

    通常來講,max-pooling的效果更好,雖然max-pooling和average-pooling都對數(shù)據(jù)做了下采樣,但是 max-pooling感覺更像是做了特征選擇,選出了分類辨識度更好的特征,提供了非線性 。 pooling的主要作用一方面是去掉冗余信息,一方面要保留feature map的特征信息,在分類問題中,我們需要知道的是這張圖像有什么object,而不大關(guān)心這個object位置在哪,在這種情況下顯然max pooling比average pooling更合適。在 網(wǎng)絡(luò)比較深的地方,特征已經(jīng)稀疏了,從一塊區(qū)域里選出最大的,比起這片區(qū)域的平均值來,更能把稀疏的特征傳遞下去 。

    average-pooling更強(qiáng)調(diào)對整體特征信息進(jìn)行一層下采樣,在減少參數(shù)維度的貢獻(xiàn)上更大一點,更多的體現(xiàn)在 信息的完整傳遞這個維度 上,在一個很大很有代表性的模型中,比如說DenseNet中的模塊之間的連接大多采用average-pooling,在減少維度的同時,更有利信息傳遞到下一個模塊進(jìn)行特征提取。

    average-pooling在 全局平均池化操作 中應(yīng)用也比較廣,在ResNet和Inception結(jié)構(gòu)中最后一層都使用了平均池化。有的時候在模型接近 分類器的末端使用全局平均池化還可以代替Flatten操作 ,使輸入數(shù)據(jù)變成一位向量。

    CNN網(wǎng)絡(luò)中另外一個不可導(dǎo)的環(huán)節(jié)就是Pooling池化操作,因為Pooling操作使得feature map的尺寸變化,假如做2×2的池化(步長也為2),假設(shè)那么第l+1層的feature map有16個梯度,那么第l層就會有64個梯度,這使得梯度無法對位的進(jìn)行傳播下去。其實解決這個問題的思想也很簡單,就是把1個像素的梯度傳遞給4個像素,但是需要保證傳遞的loss(或者梯度)總和不變。根據(jù)這條原則,mean pooling和max pooling的反向傳播也是不同的

    mean pooling的前向傳播就是把一個patch中的值求取平均來做pooling,那么反向傳播的過程也就是把 某個元素的梯度等分為n份分配給前一層,這樣就保證池化前后的梯度(殘差)之和保持不變 ,圖示如下 :

    (2) max pooling

    max pooling也要滿足梯度之和不變的原則 ,max pooling的前向傳播是把patch中最大的值傳遞給后一層,而其他像素的值直接被舍棄掉。那么 反向傳播也就是把梯度直接傳給前一層某一個像素,而其他像素不接受梯度,也就是為0。 所以max pooling操作和mean pooling操作不同點在于需要記錄下池化操作時到底哪個像素的值是最大,也就是max id,這個變量就是記錄最大值所在位置的,因為在反向傳播中要用到,那么假設(shè)前向傳播和反向傳播的過程就如下圖所示 :

    28、細(xì)粒度分類

    29、LSTM&RNN

    30、解釋LSTM結(jié)構(gòu)(相對于RNN)的好處

    31、RNN的梯度消失原因和解決辦法

    32、Object Detection

    33、Unet的介紹

    34、FCN和Unet的區(qū)別

    35、RCNN系列的算法流程和區(qū)別

    36、Fast RCNN中 bbox 回歸的損失函數(shù)什么

    37、解釋 ROI Pooling 和 ROI Align

    38、Mask RCNN中 mask branch 如何接入 Faster RCNN中

    39、解釋 FPN

    40、解釋 ROI Align

    41、簡述 YOLO 和 SSD

    42、簡述 Hough 直線檢測、Sobel 邊緣檢測算法流程

    43、Mask RCNN中的anchors如何判定為正負(fù)樣本

    44、簡述 NMS 算法流程

    45、attention起源是用在哪里?pixel還是frame,是soft還是hard

    46、anchor的正負(fù)樣本比是多少

    47、算法和激活函數(shù)等

    48、BN的原理和作用

    49、BN層反向傳播,怎么求導(dǎo)

    50、BN 的作用和缺陷,以及針對batch_size小的情況的改進(jìn)(GN)

    51、BN層,先加BN還是激活,有什么區(qū)別

    52、手推BP

    53、優(yōu)化算法舉例和他們的區(qū)別(SGD、SGDM、RMSprop、Adam)

    54、隨機(jī)梯度下降和梯度下降

    55、訓(xùn)練不收斂的原因有哪些

    56、簡述 SVM 流程、核函數(shù)尋參及常見的核函數(shù)舉例

    57、batch_size 和 learning rate 的關(guān)系(怎么平衡和調(diào)整二者)

    58、解釋過擬合和欠擬合,以及解決方法

    59、激活函數(shù)有哪些,各自區(qū)別

    60、損失函數(shù)有哪些

    61、Sigmoid 和 ReLu 對比(各自優(yōu)缺點)

    62、為什么不用sigmoid而用relu?做出了哪些改進(jìn)?

    63、梯度消失和梯度爆炸的原因和解決方法

    64、Precision 和 Recall 的定義

    65、精確率高、召回率低是為什么

    66、SVM,線性回歸和邏輯回歸的原理及區(qū)別

    67、PCA原理,PCA和SVD的區(qū)別和聯(lián)系

    68、正則化怎么選擇,有哪些方式

    69、L1、L2范數(shù),區(qū)別

    70、boost、Adaboost

    71、dropout和batch normalization

    72、講一下決策樹和隨機(jī)森林

    73、講一下GBDT的細(xì)節(jié),寫出GBDT的目標(biāo)函數(shù)。 GBDT和Adaboost的區(qū)別與聯(lián)系

    74、偏差、方差

    75、距離度量公式哪些,區(qū)別

    76、多標(biāo)簽識別怎么做

    77、data argumentation怎么處理的

    78、數(shù)據(jù)不均衡怎么處理、只有少量帶標(biāo)簽怎么處理

    79、權(quán)重初始化方法都有哪些

    80、權(quán)值衰減這個參數(shù)怎么設(shè)置

    81、分類問題有哪些評價指標(biāo)?每種的適用場景。

    82、無監(jiān)督學(xué)習(xí)了解哪些

    83、圖像處理Opencv

    84、邊緣檢測算子有哪些

    85、霍夫變換

    86、直方圖是什么

    87、canny算子是怎么做的

    88、圖像的特征提取有哪些算法,適用范圍、優(yōu)缺點

    參考:

    https://blog.csdn.net/bluesliuf/article/details/89389117

    https://zhuanlan.zhihu.com/p/107279000

    https://zhuanlan.zhihu.com/p/56475281

    以上就是關(guān)于設(shè)計神經(jīng)網(wǎng)絡(luò)的基本原則相關(guān)問題的回答。希望能幫到你,如有更多相關(guān)問題,您也可以聯(lián)系我們的客服進(jìn)行咨詢,客服也會為您講解更多精彩的知識和內(nèi)容。


    推薦閱讀:

    酒泉市內(nèi)景觀設(shè)計公司(酒泉市內(nèi)景觀設(shè)計公司排名)

    青島景觀設(shè)計哪家強(qiáng)點(青島景觀設(shè)計公司2020年招聘)

    杭州水景景觀設(shè)計有限公司(杭州水景景觀設(shè)計有限公司招聘)

    閃銀邀請碼怎么獲得(閃銀邀請碼怎么獲得的)

    女尊空間種田文排行榜