鍍金池/ 教程/ 人工智能/ 深度神經(jīng)網(wǎng)絡(luò)
人工神經(jīng)網(wǎng)絡(luò)
深度學(xué)習(xí)
深度學(xué)習(xí)簡介
深度神經(jīng)網(wǎng)絡(luò)
深度學(xué)習(xí)的應(yīng)用
計(jì)算圖
訓(xùn)練神經(jīng)網(wǎng)絡(luò)
基本原理
機(jī)器學(xué)習(xí)基礎(chǔ)
深度學(xué)習(xí)庫和框架
深度學(xué)習(xí)開發(fā)環(huán)境

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

深度神經(jīng)網(wǎng)絡(luò)(DNN)是在輸入層和輸出層之間具有多個(gè)隱藏層的人工神經(jīng)網(wǎng)絡(luò)(ANN)。 類似于淺層神經(jīng)網(wǎng)絡(luò),神經(jīng)網(wǎng)絡(luò)可以模擬復(fù)雜的非線性關(guān)系。

神經(jīng)網(wǎng)絡(luò)的主要目的是接收一組輸入,對它們進(jìn)行逐步復(fù)雜的計(jì)算,并給出解決實(shí)際問題的輸出,如分類。 我們限制自己前饋神經(jīng)網(wǎng)絡(luò)。

我們在深度網(wǎng)絡(luò)中有一個(gè)輸入,一個(gè)輸出和一系列連續(xù)的數(shù)據(jù)。

神經(jīng)網(wǎng)絡(luò)被廣泛用于監(jiān)督學(xué)習(xí)和強(qiáng)化學(xué)習(xí)問題。 這些網(wǎng)絡(luò)基于彼此連接的一組層。

在深度學(xué)習(xí)中,大多數(shù)非線性隱藏層的數(shù)量可能很大; 大約1000層。

DL模型產(chǎn)生比正常ML網(wǎng)絡(luò)好得多的結(jié)果。

我們主要使用梯度下降法來優(yōu)化網(wǎng)絡(luò)并最小化損失函數(shù)。

可以使用Imagenet,一個(gè)數(shù)百萬數(shù)字圖像的存儲庫,將數(shù)據(jù)集分類為貓和狗等類別。 除了靜態(tài)圖像和時(shí)間序列和文本分析,DL網(wǎng)絡(luò)越來越多地用于動態(tài)圖像。

訓(xùn)練數(shù)據(jù)集是深度學(xué)習(xí)模型的重要組成部分。 另外,反向傳播是訓(xùn)練DL模型的主要算法。

DL處理訓(xùn)練具有復(fù)雜輸入輸出變換的大型神經(jīng)網(wǎng)絡(luò)。

DL的一個(gè)例子是照片與照片中人物的名字的映射,就像他們在社交網(wǎng)絡(luò)上所做的一樣,用短語描述照片是DL的另一個(gè)最近的應(yīng)用。

神經(jīng)網(wǎng)絡(luò)是具有像x1,x2,x3 …這樣的輸入的函數(shù),它們在兩個(gè)(淺層網(wǎng)絡(luò))或幾個(gè)中間運(yùn)算(也稱為層(深層網(wǎng)絡(luò)))中轉(zhuǎn)換為輸出,如z1,z2,z3等。

權(quán)重和偏差從一層到另一層改變。 ‘w’和’v’是神經(jīng)網(wǎng)絡(luò)層的權(quán)重或突觸。

深度學(xué)習(xí)的最佳用例是監(jiān)督式學(xué)習(xí)問題。這里,我們有大量的數(shù)據(jù)輸入和一組期望的輸出。

這里我們應(yīng)用反向傳播算法來獲得正確的輸出預(yù)測。

深度學(xué)習(xí)的最基本數(shù)據(jù)集是MNIST,一個(gè)手寫數(shù)字?jǐn)?shù)據(jù)集。

我們可以深入訓(xùn)練一個(gè)帶Keras的卷積神經(jīng)網(wǎng)絡(luò)來對來自這個(gè)數(shù)據(jù)集的手寫數(shù)字的圖像進(jìn)行分類。

神經(jīng)網(wǎng)絡(luò)分類器的觸發(fā)或激活產(chǎn)生一個(gè)分?jǐn)?shù)。 例如,為了將患者分類為病態(tài)和健康,我們考慮諸如身高,體重和體溫,血壓等參數(shù)。

高分表示病人生病,低分表示他健康。

輸出層和隱藏層中的每個(gè)節(jié)點(diǎn)都有自己的分類器。 輸入層獲取輸入并將其分?jǐn)?shù)傳遞給下一個(gè)隱藏層以供進(jìn)一步激活,并繼續(xù)輸出直至達(dá)到輸出。

從正向輸入到輸出從左向右的過程稱為向前傳播。

信用分配路徑(CAP)在神經(jīng)網(wǎng)絡(luò)中是從輸入到輸出的一系列變換。 CAP闡述了投入和產(chǎn)出之間可能的因果關(guān)系。

給定前饋神經(jīng)網(wǎng)絡(luò)的CAP深度或者CAP深度是隱藏層的數(shù)量加上包含輸出層的數(shù)量。 對于信號可能多次傳播通過一層的遞歸神經(jīng)網(wǎng)絡(luò),CAP深度可能是無限的。

深網(wǎng)和淺網(wǎng)

沒有明確的深度門檻,將淺層學(xué)習(xí)與深度學(xué)習(xí)分開; 但大多數(shù)人都可能會認(rèn)同,對于具有多個(gè)非線性層的深度學(xué)習(xí),CAP必須大于2。

神經(jīng)網(wǎng)絡(luò)中的基本節(jié)點(diǎn)是模仿生物神經(jīng)網(wǎng)絡(luò)中的神經(jīng)元的感知。 然后有多層次的感知或MLP。 每組輸入都被一組權(quán)重和偏差修改; 每條邊都有一個(gè)獨(dú)特的重量,每個(gè)節(jié)點(diǎn)都有獨(dú)特的偏差。

神經(jīng)網(wǎng)絡(luò)的預(yù)測精度取決于其權(quán)重和偏差。

提高神經(jīng)網(wǎng)絡(luò)準(zhǔn)確性的過程稱為訓(xùn)練。 前向支撐網(wǎng)的輸出與已知的正確值進(jìn)行比較。

成本函數(shù)或損失函數(shù)是生成的輸出和實(shí)際輸出之間的差異。

訓(xùn)練的重點(diǎn)是盡可能少地將訓(xùn)練成本在數(shù)百萬個(gè)訓(xùn)練示例中進(jìn)行。為此,網(wǎng)絡(luò)調(diào)整權(quán)重和偏差,直到預(yù)測與正確的輸出相匹配。

一旦訓(xùn)練良好,神經(jīng)網(wǎng)絡(luò)每次都有可能做出準(zhǔn)確的預(yù)測。

當(dāng)模式變得復(fù)雜并且你希望你的計(jì)算機(jī)識別它們時(shí),你必須去尋找神經(jīng)網(wǎng)絡(luò)。在這樣復(fù)雜的模式情況下,神經(jīng)網(wǎng)絡(luò)勝過所有其他競爭算法。

現(xiàn)在有GPU可以比以前更快地訓(xùn)練它們。 深度神經(jīng)網(wǎng)絡(luò)已經(jīng)徹底改變了人工智能領(lǐng)域

事實(shí)證明,計(jì)算機(jī)擅長執(zhí)行重復(fù)性計(jì)算,并遵循詳細(xì)的指令,但對識別復(fù)雜模式并不擅長。

如果存在簡單模式識別的問題,支持向量機(jī)(svm)或邏輯回歸分類器可以很好地完成這項(xiàng)工作,但隨著模式復(fù)雜度的增加,除了深度神經(jīng)網(wǎng)絡(luò)外,沒有其他辦法。

因此,對于像人臉這樣的復(fù)雜模式,淺層神經(jīng)網(wǎng)絡(luò)會失敗,除了用于更深層次的深層神經(jīng)網(wǎng)絡(luò)外別無選擇。深層網(wǎng)絡(luò)能夠通過將復(fù)雜的模式分解為更簡單的模式來完成他們的工作。例如,人臉; 深度網(wǎng)絡(luò)會使用邊緣來檢測嘴唇,鼻子,眼睛,耳朵等部位,然后重新組合成人臉

正確預(yù)測的準(zhǔn)確性已經(jīng)變得非常準(zhǔn)確,最近在谷歌模式識別挑戰(zhàn)賽上,一場深刻的網(wǎng)絡(luò)擊敗了人類。

這種分層感知器網(wǎng)絡(luò)的想法已經(jīng)存在了一段時(shí)間;在這個(gè)領(lǐng)域,深層網(wǎng)絡(luò)模仿人腦。但其中一個(gè)缺點(diǎn)是,他們花費(fèi)很長時(shí)間來訓(xùn)練硬件限制

然而最近的高性能GPU已經(jīng)能夠在一周內(nèi)訓(xùn)練出如此深的網(wǎng)絡(luò); 而快速cpus可能需要數(shù)周或數(shù)月時(shí)間才能完成。

選擇一個(gè)深度網(wǎng)絡(luò)

如何選擇深網(wǎng)? 我們必須決定是否構(gòu)建分類器,或者如果試圖找到數(shù)據(jù)中的模式,以及我們是否要使用無監(jiān)督學(xué)習(xí)。 為了從一組未標(biāo)記的數(shù)據(jù)中提取模式,使用受限制的波爾茲曼機(jī)器或自動編碼器。

在選擇深層網(wǎng)絡(luò)時(shí)考慮以下幾點(diǎn) -

  • 對于文本處理,情感分析,解析和名稱實(shí)體識別,我們使用循環(huán)網(wǎng)絡(luò)或遞歸神經(jīng)張量網(wǎng)絡(luò)或RNTN;
  • 對于在字符級別運(yùn)行的任何語言模型,可使用遞歸網(wǎng)絡(luò)。
  • 對于圖像識別,可使用深層信念網(wǎng)絡(luò)DBN或卷積網(wǎng)絡(luò)。
  • 對于物體識別,可使用RNTN或卷積網(wǎng)絡(luò)。
  • 對于語音識別,可使用遞歸網(wǎng)絡(luò)。

一般來說,具有整型線性單位或RELU的深層信念網(wǎng)絡(luò)和多層感知器都是分類的好選擇。

對于時(shí)間序列分析,總是建議使用經(jīng)常性網(wǎng)絡(luò)。

神經(jīng)網(wǎng)絡(luò)已經(jīng)存在了50多年了, 但直到現(xiàn)在他們已經(jīng)上升到突出位置。 原因是他們很難訓(xùn)練; 當(dāng)我們試圖用一種稱為反向傳播的方法來訓(xùn)練它們時(shí),我們遇到了一個(gè)叫做消失或爆炸漸變的問題。當(dāng)發(fā)生這種情況時(shí),訓(xùn)練需要較長的時(shí)間,而準(zhǔn)確性需要一個(gè)后座。 在訓(xùn)練數(shù)據(jù)集時(shí),我們不斷計(jì)算成本函數(shù),即預(yù)測輸出與一組標(biāo)記訓(xùn)練數(shù)據(jù)的實(shí)際輸出之差。然后通過調(diào)整權(quán)重和偏差值直到最小值 被獲得。 訓(xùn)練過程使用一個(gè)梯度,這是成本將隨著體重或偏差值的變化而變化的速率。

受限制的波爾茲曼網(wǎng)絡(luò)或自動編碼器-RBN

2006年,在解決梯度消失問題方面取得了突破性進(jìn)展。 Geoff Hinton設(shè)計(jì)了一項(xiàng)新的戰(zhàn)略,導(dǎo)致限制玻爾茲曼機(jī)器 - RBM,一種淺層兩層網(wǎng)絡(luò)的發(fā)展。

第一層是可見層,第二層是隱藏層。 可見層中的每個(gè)節(jié)點(diǎn)都連接到隱藏層中的每個(gè)節(jié)點(diǎn)。 網(wǎng)絡(luò)被稱為受限制,因?yàn)橥粚觾?nèi)的任何兩層都不允許共享連接。

自動編碼器是將輸入數(shù)據(jù)編碼為矢量的網(wǎng)絡(luò)。 他們創(chuàng)建隱藏的或壓縮的原始數(shù)據(jù)表示。 矢量在減少維度方面很有用; 矢量將原始數(shù)據(jù)壓縮為更少數(shù)量的基本維度。 自動編碼器與解碼器配對,允許基于其隱藏表示重構(gòu)輸入數(shù)據(jù)。

RBM是雙向翻譯器的數(shù)學(xué)等價(jià)物。正向傳遞需要輸入并將它們轉(zhuǎn)換為編碼輸入的一組數(shù)字。同時(shí)向后傳遞將這組數(shù)字轉(zhuǎn)換為重建的輸入。訓(xùn)練有素的網(wǎng)絡(luò)以高度準(zhǔn)確的方式執(zhí)行反向支撐。

在任何一個(gè)步驟中,權(quán)重和偏差都起著至關(guān)重要的作用;它們幫助RBM解碼輸入之間的相互關(guān)系,并確定哪些輸入對于檢測模式至關(guān)重要。通過前進(jìn)和后退過程,RBM被訓(xùn)練以重新構(gòu)建具有不同權(quán)重和偏差的輸入,直到輸入和結(jié)構(gòu)盡可能接近。 RBM的一個(gè)有趣的方面是數(shù)據(jù)不需要標(biāo)記。這對于像照片,視頻,聲音和傳感器數(shù)據(jù)這樣的真實(shí)世界數(shù)據(jù)集非常重要,所有這些數(shù)據(jù)都傾向于未標(biāo)記。 RBM不是通過人工手動標(biāo)記數(shù)據(jù),而是自動對數(shù)據(jù)進(jìn)行分類;通過適當(dāng)調(diào)整權(quán)重和偏差,RBM能夠提取重要特征并重構(gòu)輸入。 RBM是特征提取器神經(jīng)網(wǎng)絡(luò)的一部分,其被設(shè)計(jì)為識別數(shù)據(jù)中的固有模式。這些也被稱為自動編碼器,因?yàn)樗鼈儽仨毦幋a自己的結(jié)構(gòu)。

深信仰網(wǎng)絡(luò) - DBNs

深度信念網(wǎng)絡(luò)(DBN)是通過結(jié)合RBM和引入聰明的訓(xùn)練方法形成的。 我們有了一個(gè)新模型,最終解決漸變漸消的問題。 Geoff Hinton發(fā)明了RBM和Deep Belief Nets,作為反向傳播的替代品。

DBN在結(jié)構(gòu)上與MLP(多層感知器)類似,但在訓(xùn)練時(shí)卻非常不同。 正是這種培訓(xùn)使DBNs能夠超越淺層次的對手

DBN可以被視為一疊RBM,其中一個(gè)RBM的隱藏層是其上方的RBM的可見層。 訓(xùn)練第一個(gè)RBM以盡可能準(zhǔn)確地重建其輸入。

第一RBM的隱藏層被視為第二RBM的可見層,并且第二RBM使用來自第一RBM的輸出被訓(xùn)練。 這個(gè)過程是迭代的,直到網(wǎng)絡(luò)中的每個(gè)層都被訓(xùn)練完畢。

在DBN中,每個(gè)RBM都會學(xué)習(xí)整個(gè)輸入。 DBN可以通過連續(xù)微調(diào)整個(gè)輸入來工作,因?yàn)槟P吐馗纳?,就像慢慢聚焦圖像的鏡頭一樣。由于多層感知器MLP優(yōu)于單感知器,因此RBM的堆疊優(yōu)于單RBM。

在這個(gè)階段,成果管理制已經(jīng)檢測到數(shù)據(jù)中的固有模式,但沒有任何名稱或標(biāo)簽。為了完成DBN的訓(xùn)練,我們必須為模式引入標(biāo)簽并通過監(jiān)督式學(xué)習(xí)對網(wǎng)絡(luò)進(jìn)行微調(diào)。

我們需要一個(gè)非常小的標(biāo)記樣本集,以便可以將特征和模式與名稱關(guān)聯(lián)起來。這個(gè)小標(biāo)記的數(shù)據(jù)集用于訓(xùn)練。與原始數(shù)據(jù)集相比,這組標(biāo)記數(shù)據(jù)可能非常小。

權(quán)重和偏差稍微改變,導(dǎo)致網(wǎng)絡(luò)對模式的感知發(fā)生小的變化,并且總精度經(jīng)常略微增加。

與淺網(wǎng)相比,使用GPU提供非常準(zhǔn)確的結(jié)果,也可以在合理的時(shí)間內(nèi)完成培訓(xùn),我們也看到了解決漸變問題的解決方案。

生成對抗網(wǎng)絡(luò) - GAN

生成對抗網(wǎng)絡(luò)是包含兩個(gè)網(wǎng)絡(luò)的深層神經(jīng)網(wǎng)絡(luò),彼此相對,因此是“對抗”的名稱。

2014年,蒙特利爾大學(xué)的研究人員發(fā)表了一篇論文,介紹了GAN。Facebook的AI專家Yann LeCun在談到GAN時(shí)稱之為“對抗性培訓(xùn)”,這是ML在過去10年中最有趣的想法。

GAN的潛力是巨大的,因?yàn)榫W(wǎng)絡(luò)掃描學(xué)會模仿任何數(shù)據(jù)分布??梢越虒?dǎo)GAN在任何領(lǐng)域創(chuàng)建與我們自己驚人相似的平行世界:圖像,音樂,演講,散文。他們是機(jī)器人藝術(shù)家,他們的輸出效果非常好。

在GAN中,一個(gè)稱為生成器的神經(jīng)網(wǎng)絡(luò)生成新的數(shù)據(jù)實(shí)例,而另一個(gè)神經(jīng)網(wǎng)絡(luò)鑒別器評估它們的真實(shí)性。

假設(shè)我們正在嘗試生成類似MNIST數(shù)據(jù)集中發(fā)現(xiàn)的手寫數(shù)字,該數(shù)據(jù)來自現(xiàn)實(shí)世界。當(dāng)從真實(shí)的MNIST數(shù)據(jù)集中顯示實(shí)例時(shí),鑒別器的工作是將它們識別為真實(shí)的。

現(xiàn)在考慮GAN的以下步驟 -

  • 生成器網(wǎng)絡(luò)以隨機(jī)數(shù)形式輸入并返回圖像。
  • 此生成的圖像作為輸入提供給鑒別器網(wǎng)絡(luò)以及從實(shí)際數(shù)據(jù)集中提取的圖像流。
  • 鑒別器接收真實(shí)圖像和假圖像并返回概率,0到1之間的數(shù)字,1表示真實(shí)性的預(yù)測,0表示假的。
  • 所以有一個(gè)雙反饋循環(huán) -
    • 鑒別器與圖像的基本事實(shí)處于反饋循環(huán)中。
    • 發(fā)生器與鑒別器處于反饋環(huán)路。

遞歸神經(jīng)網(wǎng)絡(luò) - RNN

RNNS是數(shù)據(jù)可以在任何方向流動的神經(jīng)網(wǎng)絡(luò)。 這些網(wǎng)絡(luò)用于語言建?;蜃匀徽Z言處理(NLP)等應(yīng)用程序。

RNN的基本概念是利用順序信息。 在一個(gè)正常的神經(jīng)網(wǎng)絡(luò)中,假定所有的輸入和輸出都是相互獨(dú)立的。 如果我們想要預(yù)測句子中的下一個(gè)單詞,我們必須知道哪些單詞在它之前。

RNN被稱為經(jīng)常性的,因?yàn)樗鼈優(yōu)樾蛄械拿總€(gè)元素重復(fù)相同的任務(wù),其輸出基于先前的計(jì)算。 因此,RNN可以說有一個(gè)“記憶”,可以捕獲以前計(jì)算的信息。 從理論上講,RNN可以以很長的序列使用信息,但實(shí)際上,它們只能回顧幾個(gè)步驟。

長期短期記憶網(wǎng)絡(luò)(LSTM)是最常用的RNN。
與卷積神經(jīng)網(wǎng)絡(luò)一起,RNN被用作模型的一部分來生成未標(biāo)記圖像的描述。 這似乎很有效,這是相當(dāng)驚人的。

卷積深度神經(jīng)網(wǎng)絡(luò) - CNN

如果增加神經(jīng)網(wǎng)絡(luò)中的層數(shù)以使其更深,它會增加網(wǎng)絡(luò)的復(fù)雜性,并允許我們對更復(fù)雜的函數(shù)進(jìn)行建模。但是,權(quán)重和偏差的數(shù)量將呈指數(shù)增長。事實(shí)上,對于正常的神經(jīng)網(wǎng)絡(luò)來說,學(xué)習(xí)這些困難的問題是不可能的。這導(dǎo)致了一個(gè)解決方案,即卷積神經(jīng)網(wǎng)絡(luò)。

CNN廣泛用于計(jì)算機(jī)視覺;已經(jīng)應(yīng)用于自動語音識別的聲學(xué)建模。

卷積神經(jīng)網(wǎng)絡(luò)背后的想法是通過圖像的“移動過濾器”的想法。這個(gè)移動過濾器或卷積適用于節(jié)點(diǎn)的某個(gè)鄰域,例如可能是像素,其中應(yīng)用的過濾器是節(jié)點(diǎn)值的0.5倍 -

著名研究人員Yann LeCun開創(chuàng)了卷積神經(jīng)網(wǎng)絡(luò)。 Facebook作為面部識別軟件使用這些網(wǎng)絡(luò)。 CNN一直是機(jī)器視覺項(xiàng)目的解決方案。卷積網(wǎng)絡(luò)有很多層。在Imagenet挑戰(zhàn)中,2015年,一臺機(jī)器能夠在物體識別方面擊敗人類。

簡而言之,卷積神經(jīng)網(wǎng)絡(luò)(CNN)是多層神經(jīng)網(wǎng)絡(luò)。 圖層有時(shí)可達(dá)17或更多,并假定輸入數(shù)據(jù)為圖像。

CNN大大減少了需要調(diào)整的參數(shù)數(shù)量。 因此,CNN可以有效地處理原始圖像的高維度。


上一篇:計(jì)算圖