深度神經網絡

深度神經網絡(DNN)是在輸入層和輸出層之間具有多個隱藏層的人工神經網絡(ANN)。 類似於淺層神經網絡,神經網絡可以模擬複雜的非線性關係。

神經網絡的主要目的是接收一組輸入,對它們進行逐步複雜的計算,並給出解決實際問題的輸出,如分類。 我們限制自己前饋神經網絡。

我們在深度網絡中有一個輸入,一個輸出和一系列連續的數據。

深度神經網絡

神經網絡被廣泛用於監督學習和強化學習問題。 這些網絡基於彼此連接的一組層。

在深度學習中,大多數非線性隱藏層的數量可能很大; 大約1000層。

DL模型產生比正常ML網絡好得多的結果。

我們主要使用梯度下降法來優化網絡並最小化損失函數。

可以使用Imagenet,一個數百萬數字圖像的存儲庫,將數據集分類爲貓和狗等類別。 除了靜態圖像和時間序列和文本分析,DL網絡越來越多地用於動態圖像。

訓練數據集是深度學習模型的重要組成部分。 另外,反向傳播是訓練DL模型的主要算法。

DL處理訓練具有複雜輸入輸出變換的大型神經網絡。

DL的一個例子是照片與照片中人物的名字的映射,就像他們在社交網絡上所做的一樣,用短語描述照片是DL的另一個最近的應用。
深度神經網絡

神經網絡是具有像x1,x2,x3 …這樣的輸入的函數,它們在兩個(淺層網絡)或幾個中間運算(也稱爲層(深層網絡))中轉換爲輸出,如z1,z2,z3等。

權重和偏差從一層到另一層改變。 ‘w’和’v’是神經網絡層的權重或突觸。

深度學習的最佳用例是監督式學習問題。這裏,我們有大量的數據輸入和一組期望的輸出。
深度神經網絡

這裏我們應用反向傳播算法來獲得正確的輸出預測。

深度學習的最基本數據集是MNIST,一個手寫數字數據集。

我們可以深入訓練一個帶Keras的卷積神經網絡來對來自這個數據集的手寫數字的圖像進行分類。

神經網絡分類器的觸發或激活產生一個分數。 例如,爲了將患者分類爲病態和健康,我們考慮諸如身高,體重和體溫,血壓等參數。

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

輸出層和隱藏層中的每個節點都有自己的分類器。 輸入層獲取輸入並將其分數傳遞給下一個隱藏層以供進一步激活,並繼續輸出直至達到輸出。

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

信用分配路徑(CAP)在神經網絡中是從輸入到輸出的一系列變換。 CAP闡述了投入和產出之間可能的因果關係。

給定前饋神經網絡的CAP深度或者CAP深度是隱藏層的數量加上包含輸出層的數量。 對於信號可能多次傳播通過一層的遞歸神經網絡,CAP深度可能是無限的。

深網和淺網

沒有明確的深度門檻,將淺層學習與深度學習分開; 但大多數人都可能會認同,對於具有多個非線性層的深度學習,CAP必須大於2。

神經網絡中的基本節點是模仿生物神經網絡中的神經元的感知。 然後有多層次的感知或MLP。 每組輸入都被一組權重和偏差修改; 每條邊都有一個獨特的重量,每個節點都有獨特的偏差。

神經網絡的預測精度取決於其權重和偏差。

提高神經網絡準確性的過程稱爲訓練。 前向支撐網的輸出與已知的正確值進行比較。

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

訓練的重點是儘可能少地將訓練成本在數百萬個訓練示例中進行。爲此,網絡調整權重和偏差,直到預測與正確的輸出相匹配。

一旦訓練良好,神經網絡每次都有可能做出準確的預測。

當模式變得複雜並且你希望你的計算機識別它們時,你必須去尋找神經網絡。在這樣複雜的模式情況下,神經網絡勝過所有其他競爭算法。

現在有GPU可以比以前更快地訓練它們。 深度神經網絡已經徹底改變了人工智能領域

事實證明,計算機擅長執行重複性計算,並遵循詳細的指令,但對識別複雜模式並不擅長。

如果存在簡單模式識別的問題,支持向量機(svm)或邏輯迴歸分類器可以很好地完成這項工作,但隨着模式複雜度的增加,除了深度神經網絡外,沒有其他辦法。

因此,對於像人臉這樣的複雜模式,淺層神經網絡會失敗,除了用於更深層次的深層神經網絡外別無選擇。深層網絡能夠通過將複雜的模式分解爲更簡單的模式來完成他們的工作。例如,人臉; 深度網絡會使用邊緣來檢測嘴脣,鼻子,眼睛,耳朵等部位,然後重新組合成人臉

正確預測的準確性已經變得非常準確,最近在谷歌模式識別挑戰賽上,一場深刻的網絡擊敗了人類。

這種分層感知器網絡的想法已經存在了一段時間;在這個領域,深層網絡模仿人腦。但其中一個缺點是,他們花費很長時間來訓練硬件限制

然而最近的高性能GPU已經能夠在一週內訓練出如此深的網絡; 而快速cpus可能需要數週或數月時間才能完成。

選擇一個深度網絡

如何選擇深網? 我們必須決定是否構建分類器,或者如果試圖找到數據中的模式,以及我們是否要使用無監督學習。 爲了從一組未標記的數據中提取模式,使用受限制的波爾茲曼機器或自動編碼器。

在選擇深層網絡時考慮以下幾點 -

  • 對於文本處理,情感分析,解析和名稱實體識別,我們使用循環網絡或遞歸神經張量網絡或RNTN;
  • 對於在字符級別運行的任何語言模型,可使用遞歸網絡。
  • 對於圖像識別,可使用深層信念網絡DBN或卷積網絡。
  • 對於物體識別,可使用RNTN或卷積網絡。
  • 對於語音識別,可使用遞歸網絡。

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

對於時間序列分析,總是建議使用經常性網絡。

神經網絡已經存在了50多年了, 但直到現在他們已經上升到突出位置。 原因是他們很難訓練; 當我們試圖用一種稱爲反向傳播的方法來訓練它們時,我們遇到了一個叫做消失或爆炸漸變的問題。當發生這種情況時,訓練需要較長的時間,而準確性需要一個後座。 在訓練數據集時,我們不斷計算成本函數,即預測輸出與一組標記訓練數據的實際輸出之差。然後通過調整權重和偏差值直到最小值 被獲得。 訓練過程使用一個梯度,這是成本將隨着體重或偏差值的變化而變化的速率。

受限制的波爾茲曼網絡或自動編碼器-RBN

2006年,在解決梯度消失問題方面取得了突破性進展。 Geoff Hinton設計了一項新的戰略,導致限制玻爾茲曼機器 - RBM,一種淺層兩層網絡的發展。

第一層是可見層,第二層是隱藏層。 可見層中的每個節點都連接到隱藏層中的每個節點。 網絡被稱爲受限制,因爲同一層內的任何兩層都不允許共享連接。

自動編碼器是將輸入數據編碼爲矢量的網絡。 他們創建隱藏的或壓縮的原始數據表示。 矢量在減少維度方面很有用; 矢量將原始數據壓縮爲更少數量的基本維度。 自動編碼器與解碼器配對,允許基於其隱藏表示重構輸入數據。

RBM是雙向翻譯器的數學等價物。正向傳遞需要輸入並將它們轉換爲編碼輸入的一組數字。同時向後傳遞將這組數字轉換爲重建的輸入。訓練有素的網絡以高度準確的方式執行反向支撐。

在任何一個步驟中,權重和偏差都起着至關重要的作用;它們幫助RBM解碼輸入之間的相互關係,並確定哪些輸入對於檢測模式至關重要。通過前進和後退過程,RBM被訓練以重新構建具有不同權重和偏差的輸入,直到輸入和結構儘可能接近。 RBM的一個有趣的方面是數據不需要標記。這對於像照片,視頻,聲音和傳感器數據這樣的真實世界數據集非常重要,所有這些數據都傾向於未標記。 RBM不是通過人工手動標記數據,而是自動對數據進行分類;通過適當調整權重和偏差,RBM能夠提取重要特徵並重構輸入。 RBM是特徵提取器神經網絡的一部分,其被設計爲識別數據中的固有模式。這些也被稱爲自動編碼器,因爲它們必須編碼自己的結構。

深度神經網絡

深信仰網絡 - DBNs

深度信念網絡(DBN)是通過結合RBM和引入聰明的訓練方法形成的。 我們有了一個新模型,最終解決漸變漸消的問題。 Geoff Hinton發明了RBM和Deep Belief Nets,作爲反向傳播的替代品。

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

DBN可以被視爲一疊RBM,其中一個RBM的隱藏層是其上方的RBM的可見層。 訓練第一個RBM以儘可能準確地重建其輸入。

第一RBM的隱藏層被視爲第二RBM的可見層,並且第二RBM使用來自第一RBM的輸出被訓練。 這個過程是迭代的,直到網絡中的每個層都被訓練完畢。

在DBN中,每個RBM都會學習整個輸入。 DBN可以通過連續微調整個輸入來工作,因爲模型慢慢地改善,就像慢慢聚焦圖像的鏡頭一樣。由於多層感知器MLP優於單感知器,因此RBM的堆疊優於單RBM。

在這個階段,成果管理制已經檢測到數據中的固有模式,但沒有任何名稱或標籤。爲了完成DBN的訓練,我們必須爲模式引入標籤並通過監督式學習對網絡進行微調。

我們需要一個非常小的標記樣本集,以便可以將特徵和模式與名稱關聯起來。這個小標記的數據集用於訓練。與原始數據集相比,這組標記數據可能非常小。

權重和偏差稍微改變,導致網絡對模式的感知發生小的變化,並且總精度經常略微增加。

與淺網相比,使用GPU提供非常準確的結果,也可以在合理的時間內完成培訓,我們也看到了解決漸變問題的解決方案。

生成對抗網絡 - GAN

生成對抗網絡是包含兩個網絡的深層神經網絡,彼此相對,因此是「對抗」的名稱。

2014年,蒙特利爾大學的研究人員發表了一篇論文,介紹了GAN。Facebook的AI專家Yann LeCun在談到GAN時稱之爲「對抗性培訓」,這是ML在過去10年中最有趣的想法。

GAN的潛力是巨大的,因爲網絡掃描學會模仿任何數據分佈。可以教導GAN在任何領域創建與我們自己驚人相似的平行世界:圖像,音樂,演講,散文。他們是機器人藝術家,他們的輸出效果非常好。

在GAN中,一個稱爲生成器的神經網絡生成新的數據實例,而另一個神經網絡鑑別器評估它們的真實性。

假設我們正在嘗試生成類似MNIST數據集中發現的手寫數字,該數據來自現實世界。當從真實的MNIST數據集中顯示實例時,鑑別器的工作是將它們識別爲真實的。

現在考慮GAN的以下步驟 -

  • 生成器網絡以隨機數形式輸入並返回圖像。
  • 此生成的圖像作爲輸入提供給鑑別器網絡以及從實際數據集中提取的圖像流。
  • 鑑別器接收真實圖像和假圖像並返回概率,0到1之間的數字,1表示真實性的預測,0表示假的。
  • 所以有一個雙反饋循環 -
    • 鑑別器與圖像的基本事實處於反饋循環中。
    • 發生器與鑑別器處於反饋環路。

遞歸神經網絡 - RNN

RNNS是數據可以在任何方向流動的神經網絡。 這些網絡用於語言建模或自然語言處理(NLP)等應用程序。

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

RNN被稱爲經常性的,因爲它們爲序列的每個元素重複相同的任務,其輸出基於先前的計算。 因此,RNN可以說有一個「記憶」,可以捕獲以前計算的信息。 從理論上講,RNN可以以很長的序列使用信息,但實際上,它們只能回顧幾個步驟。

深度神經網絡

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

卷積深度神經網絡 - CNN

如果增加神經網絡中的層數以使其更深,它會增加網絡的複雜性,並允許我們對更復雜的函數進行建模。但是,權重和偏差的數量將呈指數增長。事實上,對於正常的神經網絡來說,學習這些困難的問題是不可能的。這導致了一個解決方案,即卷積神經網絡。

CNN廣泛用於計算機視覺;已經應用於自動語音識別的聲學建模。

卷積神經網絡背後的想法是通過圖像的「移動過濾器」的想法。這個移動過濾器或卷積適用於節點的某個鄰域,例如可能是像素,其中應用的過濾器是節點值的0.5倍 -

着名研究人員Yann LeCun開創了卷積神經網絡。 Facebook作爲面部識別軟件使用這些網絡。 CNN一直是機器視覺項目的解決方案。卷積網絡有很多層。在Imagenet挑戰中,2015年,一臺機器能夠在物體識別方面擊敗人類。

簡而言之,卷積神經網絡(CNN)是多層神經網絡。 圖層有時可達17或更多,並假定輸入數據爲圖像。

深度神經網絡

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