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

    深度神經(jīng)網(wǎng)絡的定義(深度神經(jīng)網(wǎng)絡的定義是什么)

    發(fā)布時間:2023-04-08 09:23:25     稿源: 創(chuàng)意嶺    閱讀: 144        

    大家好!今天讓創(chuàng)意嶺的小編來大家介紹下關于深度神經(jīng)網(wǎng)絡的定義的問題,以下是小編對此問題的歸納整理,讓我們一起來看看吧。

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

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

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

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

    本文目錄:

    深度神經(jīng)網(wǎng)絡的定義(深度神經(jīng)網(wǎng)絡的定義是什么)

    一、神經(jīng)網(wǎng)絡相關名詞解釋

    很多人認為深度學習很枯燥,大部分情況是因為對深度學習的學術詞語,特別是專有名詞很困惑,即便對相關從業(yè)者,亦很難深入淺出地解釋這些詞語的含義。 

    相信讀過此文的圈友,會對深度學習有個全新的認識,機器人圈希望可以為圈友的深度學習之路起到一些輔助作用。

    人工智能,深度學習,機器學習—無論你在做什么,如果你對它不是很了解的話—去學習它。否則的話不用三年你就跟不上時代的潮流了?!R克.庫班

    馬克.庫班的這個觀點可能聽起來很極端——但是它所傳達的信息是完全正確的! 我們正處于一場革命的旋渦之中——一場由大數(shù)據(jù)和計算能力引起的革命。

    只需要一分鐘,我們來想象一下,在20世紀初,如果一個人不了解電力,他/她會覺得如何?你會習慣于以某種特定的方式來做事情,日復一日,年復一年,而你周圍的一切事情都在發(fā)生變化,一件需要很多人才能完成的事情僅依靠一個人和電力就可以輕松搞定,而我們今天正以機器學習和深度學習的方式在經(jīng)歷一場相似的旅程。

    所以,如果你還沒有探索或理解深度學習的神奇力量——那你應該從今天就開始進入這一領域。

    與主題相關的術語

    為了幫助你了解各種術語,我已經(jīng)將它們分成3組。如果你正在尋找特定術語,你可以跳到該部分。如果你是這個領域的新手,那我建議你按照我寫的順序來通讀它們。

    1.神經(jīng)網(wǎng)絡基礎(Basics of Neural Networks) ——常用激活函數(shù)(Common Activation Functions) 

    2.卷積神經(jīng)網(wǎng)絡(Convolutional Neural Networks) 

    3.循環(huán)神經(jīng)網(wǎng)絡(Recurrent Neural Networks)

    神經(jīng)網(wǎng)絡基礎

    1)神經(jīng)元(Neuron) ——就像形成我們大腦基本元素的神經(jīng)元一樣,神經(jīng)元形成神經(jīng)網(wǎng)絡的基本結構。想象一下,當我們得到新信息時我們該怎么做。當我們獲取信息時,我們一般會處理它,然后生成一個輸出。類似地,在神經(jīng)網(wǎng)絡的情況下,神經(jīng)元接收輸入,處理它并產(chǎn)生輸出,而這個輸出被發(fā)送到其他神經(jīng)元用于進一步處理,或者作為最終輸出進行輸出。 

    2)權重(Weights) ——當輸入進入神經(jīng)元時,它會乘以一個權重。例如,如果一個神經(jīng)元有兩個輸入,則每個輸入將具有分配給它的一個關聯(lián)權重。我們隨機初始化權重,并在模型訓練過程中更新這些權重。訓練后的神經(jīng)網(wǎng)絡對其輸入賦予較高的權重,這是它認為與不那么重要的輸入相比更為重要的輸入。為零的權重則表示特定的特征是微不足道的。

    讓我們假設輸入為a,并且與其相關聯(lián)的權重為W1,那么在通過節(jié)點之后,輸入變?yōu)閍 * W1 

    3)偏差(Bias) ——除了權重之外,另一個被應用于輸入的線性分量被稱為偏差。它被加到權重與輸入相乘的結果中?;旧咸砑悠畹哪康氖莵砀淖儥嘀嘏c輸入相乘所得結果的范圍的。添加偏差后,結果將看起來像a* W1 +偏差。這是輸入變換的最終線性分量。

    4)激活函數(shù)(Activation Function) ——一旦將線性分量應用于輸入,將會需要應用一個非線性函數(shù)。這通過將激活函數(shù)應用于線性組合來完成。激活函數(shù)將輸入信號轉換為輸出信號。應用激活函數(shù)后的輸出看起來像f(a * W1 + b),其中f()就是激活函數(shù)。

    在下圖中,我們將“n”個輸入給定為X1到Xn而與其相應的權重為Wk1到Wkn。我們有一個給定值為bk的偏差。權重首先乘以與其對應的輸入,然后與偏差加在一起。而這個值叫做u。

    U =ΣW* X+ b

    激活函數(shù)被應用于u,即 f(u),并且我們會從神經(jīng)元接收最終輸出,如yk = f(u)。

    常用的激活函數(shù)  

    最常用的激活函數(shù)就是Sigmoid,ReLU和softmax

    a)Sigmoid ——最常用的激活函數(shù)之一是Sigmoid,它被定義為: 

    Sigmoid變換產(chǎn)生一個值為0到1之間更平滑的范圍。我們可能需要觀察在輸入值略有變化時輸出值中發(fā)生的變化。光滑的曲線使我們能夠做到這一點,因此優(yōu)于階躍函數(shù)。

    b)ReLU(整流線性單位) ——與Sigmoid函數(shù)不同的是,最近的網(wǎng)絡更喜歡使用ReLu激活函數(shù)來處理隱藏層。該函數(shù)定義為: 

    當X>0時,函數(shù)的輸出值為X;當X<=0時,輸出值為0。函數(shù)圖如下圖所示: 

    使用ReLU函數(shù)的最主要的好處是對于大于0的所有輸入來說,它都有一個不變的導數(shù)值。常數(shù)導數(shù)值有助于網(wǎng)絡訓練進行得更快。

    c) Softmax ——Softmax激活函數(shù)通常用于輸出層,用于分類問題。它與sigmoid函數(shù)是很類似的,唯一的區(qū)別就是輸出被歸一化為總和為1。Sigmoid函數(shù)將發(fā)揮作用以防我們有一個二進制輸出,但是如果我們有一個多類分類問題,softmax函數(shù)使為每個類分配值這種操作變得相當簡單,而這可以將其解釋為概率。

    以這種方式來操作的話,我們很容易看到——假設你正在嘗試識別一個可能看起來像8的6。該函數(shù)將為每個數(shù)字分配值如下。我們可以很容易地看出,最高概率被分配給6,而下一個最高概率分配給8,依此類推……

    5)神經(jīng)網(wǎng)絡(Neural Network) ——神經(jīng)網(wǎng)絡構成了深度學習的支柱。神經(jīng)網(wǎng)絡的目標是找到一個未知函數(shù)的近似值。它由相互聯(lián)系的神經(jīng)元形成。這些神經(jīng)元具有權重和在網(wǎng)絡訓練期間根據(jù)錯誤來進行更新的偏差。激活函數(shù)將非線性變換置于線性組合,而這個線性組合稍后會生成輸出。激活的神經(jīng)元的組合會給出輸出值。

    一個很好的神經(jīng)網(wǎng)絡定義——

    “神經(jīng)網(wǎng)絡由許多相互關聯(lián)的概念化的人造神經(jīng)元組成,它們之間傳遞相互數(shù)據(jù),并且具有根據(jù)網(wǎng)絡”經(jīng)驗“調(diào)整的相關權重。神經(jīng)元具有激活閾值,如果通過其相關權重的組合和傳遞給他們的數(shù)據(jù)滿足這個閾值的話,其將被解雇;發(fā)射神經(jīng)元的組合導致“學習”。

    6)輸入/輸出/隱藏層(Input / Output / Hidden Layer) ——正如它們名字所代表的那樣,輸入層是接收輸入那一層,本質上是網(wǎng)絡的第一層。而輸出層是生成輸出的那一層,也可以說是網(wǎng)絡的最終層。處理層是網(wǎng)絡中的隱藏層。這些隱藏層是對傳入數(shù)據(jù)執(zhí)行特定任務并將其生成的輸出傳遞到下一層的那些層。輸入和輸出層是我們可見的,而中間層則是隱藏的。

    7)MLP(多層感知器) ——單個神經(jīng)元將無法執(zhí)行高度復雜的任務。因此,我們使用堆棧的神經(jīng)元來生成我們所需要的輸出。在最簡單的網(wǎng)絡中,我們將有一個輸入層、一個隱藏層和一個輸出層。每個層都有多個神經(jīng)元,并且每個層中的所有神經(jīng)元都連接到下一層的所有神經(jīng)元。這些網(wǎng)絡也可以被稱為完全連接的網(wǎng)絡。 

    8)正向傳播(Forward Propagation) ——正向傳播是指輸入通過隱藏層到輸出層的運動。在正向傳播中,信息沿著一個單一方向前進。輸入層將輸入提供給隱藏層,然后生成輸出。這過程中是沒有反向運動的。

    9)成本函數(shù)(Cost Function) ——當我們建立一個網(wǎng)絡時,網(wǎng)絡試圖將輸出預測得盡可能靠近實際值。我們使用成本/損失函數(shù)來衡量網(wǎng)絡的準確性。而成本或損失函數(shù)會在發(fā)生錯誤時嘗試懲罰網(wǎng)絡。

    我們在運行網(wǎng)絡時的目標是提高我們的預測精度并減少誤差,從而最大限度地降低成本。最優(yōu)化的輸出是那些成本或損失函數(shù)值最小的輸出。

    如果我將成本函數(shù)定義為均方誤差,則可以寫為:

    C= 1/m ∑(y–a)^2,

    其中m是訓練輸入的數(shù)量,a是預測值,y是該特定示例的實際值。

    學習過程圍繞最小化成本來進行。

    10)梯度下降(Gradient Descent) ——梯度下降是一種最小化成本的優(yōu)化算法。要直觀地想一想,在爬山的時候,你應該會采取小步驟,一步一步走下來,而不是一下子跳下來。因此,我們所做的就是,如果我們從一個點x開始,我們向下移動一點,即Δh,并將我們的位置更新為x-Δh,并且我們繼續(xù)保持一致,直到達到底部??紤]最低成本點。

    在數(shù)學上,為了找到函數(shù)的局部最小值,我們通常采取與函數(shù)梯度的負數(shù)成比例的步長。

    11)學習率(Learning Rate) ——學習率被定義為每次迭代中成本函數(shù)中最小化的量。簡單來說,我們下降到成本函數(shù)的最小值的速率是學習率。我們應該非常仔細地選擇學習率,因為它不應該是非常大的,以至于最佳解決方案被錯過,也不應該非常低,以至于網(wǎng)絡需要融合。

    12)反向傳播(Backpropagation) ——當我們定義神經(jīng)網(wǎng)絡時,我們?yōu)槲覀兊墓?jié)點分配隨機權重和偏差值。一旦我們收到單次迭代的輸出,我們就可以計算出網(wǎng)絡的錯誤。然后將該錯誤與成本函數(shù)的梯度一起反饋給網(wǎng)絡以更新網(wǎng)絡的權重。 最后更新這些權重,以便減少后續(xù)迭代中的錯誤。使用成本函數(shù)的梯度的權重的更新被稱為反向傳播。

    在反向傳播中,網(wǎng)絡的運動是向后的,錯誤隨著梯度從外層通過隱藏層流回,權重被更新。

    13)批次(Batches) ——在訓練神經(jīng)網(wǎng)絡的同時,不用一次發(fā)送整個輸入,我們將輸入分成幾個隨機大小相等的塊。與整個數(shù)據(jù)集一次性饋送到網(wǎng)絡時建立的模型相比,批量訓練數(shù)據(jù)使得模型更加廣義化。

    14)周期(Epochs) ——周期被定義為向前和向后傳播中所有批次的單次訓練迭代。這意味著1個周期是整個輸入數(shù)據(jù)的單次向前和向后傳遞。

    你可以選擇你用來訓練網(wǎng)絡的周期數(shù)量,更多的周期將顯示出更高的網(wǎng)絡準確性,然而,網(wǎng)絡融合也需要更長的時間。另外,你必須注意,如果周期數(shù)太高,網(wǎng)絡可能會過度擬合。

    15)丟棄(Dropout) ——Dropout是一種正則化技術,可防止網(wǎng)絡過度擬合套。顧名思義,在訓練期間,隱藏層中的一定數(shù)量的神經(jīng)元被隨機地丟棄。這意味著訓練發(fā)生在神經(jīng)網(wǎng)絡的不同組合的神經(jīng)網(wǎng)絡的幾個架構上。你可以將Dropout視為一種綜合技術,然后將多個網(wǎng)絡的輸出用于產(chǎn)生最終輸出。

    16)批量歸一化(Batch Normalization) ——作為一個概念,批量歸一化可以被認為是我們在河流中設定為特定檢查點的水壩。這樣做是為了確保數(shù)據(jù)的分發(fā)與希望獲得的下一層相同。當我們訓練神經(jīng)網(wǎng)絡時,權重在梯度下降的每個步驟之后都會改變,這會改變數(shù)據(jù)的形狀如何發(fā)送到下一層。

    但是下一層預期分布類似于之前所看到的分布。 所以我們在將數(shù)據(jù)發(fā)送到下一層之前明確規(guī)范化數(shù)據(jù)。

    17)濾波器(Filters) ——CNN中的濾波器與加權矩陣一樣,它與輸入圖像的一部分相乘以產(chǎn)生一個回旋輸出。我們假設有一個大小為28 * 28的圖像,我們隨機分配一個大小為3 * 3的濾波器,然后與圖像不同的3 * 3部分相乘,形成所謂的卷積輸出。濾波器尺寸通常小于原始圖像尺寸。在成本最小化的反向傳播期間,濾波器值被更新為重量值。

    參考一下下圖,這里filter是一個3 * 3矩陣:

    與圖像的每個3 * 3部分相乘以形成卷積特征。

    18)卷積神經(jīng)網(wǎng)絡(CNN) ——卷積神經(jīng)網(wǎng)絡基本上應用于圖像數(shù)據(jù)。假設我們有一個輸入的大小(28 * 28 * 3),如果我們使用正常的神經(jīng)網(wǎng)絡,將有2352(28 * 28 * 3)參數(shù)。并且隨著圖像的大小增加參數(shù)的數(shù)量變得非常大。我們“卷積”圖像以減少參數(shù)數(shù)量(如上面濾波器定義所示)。當我們將濾波器滑動到輸入體積的寬度和高度時,將產(chǎn)生一個二維激活圖,給出該濾波器在每個位置的輸出。我們將沿深度尺寸堆疊這些激活圖,并產(chǎn)生輸出量。

    你可以看到下面的圖,以獲得更清晰的印象。

    19)池化(Pooling) ——通常在卷積層之間定期引入池層。這基本上是為了減少一些參數(shù),并防止過度擬合。最常見的池化類型是使用MAX操作的濾波器尺寸(2,2)的池層。它會做的是,它將占用原始圖像的每個4 * 4矩陣的最大值。

    你還可以使用其他操作(如平均池)進行池化,但是最大池數(shù)量在實踐中表現(xiàn)更好。

    20)填充(Padding) ——填充是指在圖像之間添加額外的零層,以使輸出圖像的大小與輸入相同。這被稱為相同的填充。

    在應用濾波器之后,在相同填充的情況下,卷積層具有等于實際圖像的大小。

    有效填充是指將圖像保持為具有實際或“有效”的圖像的所有像素。在這種情況下,在應用濾波器之后,輸出的長度和寬度的大小在每個卷積層處不斷減小。

    21)數(shù)據(jù)增強(Data Augmentation) ——數(shù)據(jù)增強是指從給定數(shù)據(jù)導出的新數(shù)據(jù)的添加,這可能被證明對預測有益。例如,如果你使光線變亮,可能更容易在較暗的圖像中看到貓,或者例如,數(shù)字識別中的9可能會稍微傾斜或旋轉。在這種情況下,旋轉將解決問題并提高我們的模型的準確性。通過旋轉或增亮,我們正在提高數(shù)據(jù)的質量。這被稱為數(shù)據(jù)增強。

    循環(huán)神經(jīng)網(wǎng)絡

    22)循環(huán)神經(jīng)元(Recurrent Neuron) ——循環(huán)神經(jīng)元是在T時間內(nèi)將神經(jīng)元的輸出發(fā)送回給它。如果你看圖,輸出將返回輸入t次。展開的神經(jīng)元看起來像連接在一起的t個不同的神經(jīng)元。這個神經(jīng)元的基本優(yōu)點是它給出了更廣義的輸出。

    23)循環(huán)神經(jīng)網(wǎng)絡(RNN) ——循環(huán)神經(jīng)網(wǎng)絡特別用于順序數(shù)據(jù),其中先前的輸出用于預測下一個輸出。在這種情況下,網(wǎng)絡中有循環(huán)。隱藏神經(jīng)元內(nèi)的循環(huán)使他們能夠存儲有關前一個單詞的信息一段時間,以便能夠預測輸出。隱藏層的輸出在t時間戳內(nèi)再次發(fā)送到隱藏層。展開的神經(jīng)元看起來像上圖。只有在完成所有的時間戳后,循環(huán)神經(jīng)元的輸出才能進入下一層。發(fā)送的輸出更廣泛,以前的信息保留的時間也較長。

    然后根據(jù)展開的網(wǎng)絡將錯誤反向傳播以更新權重。這被稱為通過時間的反向傳播(BPTT)。

    24)消失梯度問題(Vanishing Gradient Problem) ——激活函數(shù)的梯度非常小的情況下會出現(xiàn)消失梯度問題。在權重乘以這些低梯度時的反向傳播過程中,它們往往變得非常小,并且隨著網(wǎng)絡進一步深入而“消失”。這使得神經(jīng)網(wǎng)絡忘記了長距離依賴。這對循環(huán)神經(jīng)網(wǎng)絡來說是一個問題,長期依賴對于網(wǎng)絡來說是非常重要的。

    這可以通過使用不具有小梯度的激活函數(shù)ReLu來解決。

    25)激增梯度問題(Exploding Gradient Problem) ——這與消失的梯度問題完全相反,激活函數(shù)的梯度過大。在反向傳播期間,它使特定節(jié)點的權重相對于其他節(jié)點的權重非常高,這使得它們不重要。這可以通過剪切梯度來輕松解決,使其不超過一定值。

    二、什么是深度學習?深度學習能用來做什么?

    深度學習是基于機器學習延伸出來的一個新的領域,由以人大腦結構為啟發(fā)的神經(jīng)網(wǎng)絡算法為起源加之模型結構深度的增加發(fā)展,并伴隨大數(shù)據(jù)和計算能力的提高而產(chǎn)生的一系列新的算法。

    在深度學習中,計算機模型學習直接從圖像、文本或聲音中執(zhí)行分類任務。深度學習模式可以達到新的精確度,有時甚至超過人類的表現(xiàn)。大多數(shù)深度學習方法使用神經(jīng)網(wǎng)絡的架構,這也是深度學習模型通常被稱為深度神經(jīng)網(wǎng)絡的原因。

    三、用于推薦的深度神經(jīng)網(wǎng)絡模型指的是?

    藍海大腦深度學習液冷工作站人員表示:

    只將信息從一層向前饋送至下一層的人工神經(jīng)網(wǎng)絡稱為前饋神經(jīng)網(wǎng)絡。多層感知器 (MLP) 是一種前饋 ANN,由至少三層節(jié)點組成:輸入層、隱藏層和輸出層。MLP 是可應用于各種場景的靈活網(wǎng)絡。

    卷積神經(jīng)網(wǎng)絡是識別物體的圖像處理器。

    時間遞歸神經(jīng)網(wǎng)絡是解析語言模式和序列數(shù)據(jù)的數(shù)學工具。

    深度學習 (DL) 推薦模型基于現(xiàn)有技術(例如,分解)而構建,以便對變量和嵌入之間的交互進行建模,從而處理類別變量。嵌入是表示實體特征的已學習的數(shù)字向量,因此相似的實體(用戶或物品)在向量空間中具有相似的距離。例如,協(xié)作過濾深度學習方法基于用戶和物品與神經(jīng)網(wǎng)絡的交互來學習用戶和物品嵌入(潛在特征向量)。

    DL 技術還利用龐大且快速發(fā)展的新穎網(wǎng)絡架構和優(yōu)化算法,對大量數(shù)據(jù)進行訓練,利用深度學習的強大功能進行特征提取,并構建更具表現(xiàn)力的模型。

    當前基于 DL 的推薦系統(tǒng)模型:DLRM、Wide and Deep (W&D)、神經(jīng)協(xié)作過濾 (NCF)、b變分自動編碼器 (VAE) 和 BERT(適用于 NLP)構成了 NVIDIA GPU 加速 DL 模型產(chǎn)品組合的一部分,并涵蓋推薦系統(tǒng)以外的許多不同領域的各種網(wǎng)絡架構和應用程序,包括圖像、文本和語音分析。這些模型專為使用 TensorFlow 和 PyTorch 進行訓練而設計和優(yōu)化。

    四、神經(jīng)網(wǎng)絡淺談

    人工智能技術是當前炙手可熱的話題,而基于神經(jīng)網(wǎng)絡的深度學習技術更是熱點中的熱點。去年谷歌的Alpha Go 以4:1大比分的優(yōu)勢戰(zhàn)勝韓國的李世石九段,展現(xiàn)了深度學習的強大威力,后續(xù)強化版的Alpha Master和無師自通的Alpha Zero更是在表現(xiàn)上完全碾壓前者。不論你怎么看,以深度學習為代表的人工智能技術正在塑造未來。

    下圖為英偉達(NVIDIA)公司近年來的股價情況, 該公司的主要產(chǎn)品是“圖形處理器”(GPU),而GPU被證明能大大加快神經(jīng)網(wǎng)絡的訓練速度,是深度學習必不可少的計算組件。英偉達公司近年來股價的飛漲足以證明當前深度學習的井噴之勢。

    好,話不多說,下面簡要介紹神經(jīng)網(wǎng)絡的基本原理、發(fā)展脈絡和優(yōu)勢。

    神經(jīng)網(wǎng)絡是一種人類由于受到生物神經(jīng)細胞結構啟發(fā)而研究出的一種算法體系,是機器學習算法大類中的一種。首先讓我們來看人腦神經(jīng)元細胞:

    一個神經(jīng)元通常具有多個樹突 ,主要用來接受傳入信息,而軸突只有一條,軸突尾端有許多軸突末梢,可以給其他多個神經(jīng)元傳遞信息。軸突末梢跟其他神經(jīng)元的樹突產(chǎn)生連接,從而傳遞信號。

    下圖是一個經(jīng)典的神經(jīng)網(wǎng)絡(Artificial Neural Network,ANN):

    乍一看跟傳統(tǒng)互聯(lián)網(wǎng)的拓撲圖有點類似,這也是稱其為網(wǎng)絡的原因,不同的是節(jié)點之間通過有向線段連接,并且節(jié)點被分成三層。我們稱圖中的圓圈為神經(jīng)元,左邊三個神經(jīng)元組成的一列為輸入層,中間神經(jīng)元列為隱藏層,右邊神經(jīng)元列為輸出層,神經(jīng)元之間的箭頭為權重。

    神經(jīng)元是計算單元,相當于神經(jīng)元細胞的細胞核,利用輸入的數(shù)據(jù)進行計算,然后輸出,一般由一個線性計算部分和一個非線性計算部分組成;輸入層和輸出層實現(xiàn)數(shù)據(jù)的輸入輸出,相當于細胞的樹突和軸突末梢;隱藏層指既不是輸入也不是輸出的神經(jīng)元層,一個神經(jīng)網(wǎng)絡可以有很多個隱藏層。

    神經(jīng)網(wǎng)絡的關鍵不是圓圈代表的神經(jīng)元,而是每條連接線對應的權重。每條連接線對應一個權重,也就是一個參數(shù)。權重具體的值需要通過神經(jīng)網(wǎng)絡的訓練才能獲得。我們實際生活中的學習體現(xiàn)在大腦中就是一系列神經(jīng)網(wǎng)絡回路的建立與強化,多次重復的學習能讓回路變得更加粗壯,使得信號的傳遞速度加快,最后對外表現(xiàn)為“深刻”的記憶。人工神經(jīng)網(wǎng)絡的訓練也借鑒于此,如果某種映射關系出現(xiàn)很多次,那么在訓練過程中就相應調(diào)高其權重。

    1943年,心理學家McCulloch和數(shù)學家Pitts參考了生物神經(jīng)元的結構,發(fā)表了抽象的神經(jīng)元模型MP:

    符號化后的模型如下:

    Sum函數(shù)計算各權重與輸入乘積的線性組合,是神經(jīng)元中的線性計算部分,而sgn是取符號函數(shù),當輸入大于0時,輸出1,反之輸出0,是神經(jīng)元中的非線性部分。向量化后的公式為z=sgn(w^T a)(w^T=(w_1,w_2,w_3),a=〖(a_1,a_2,a_3)〗^T)。

    但是,MP模型中,權重的值都是預先設置的,因此不能學習。該模型雖然簡單,并且作用有限,但已經(jīng)建立了神經(jīng)網(wǎng)絡大廈的地基

    1958年,計算科學家Rosenblatt提出了由兩層神經(jīng)元組成(一個輸入層,一個輸出層)的神經(jīng)網(wǎng)絡。他給它起了一個名字–“感知器”(Perceptron)

    感知器是當時首個可以學習的人工神經(jīng)網(wǎng)絡。Rosenblatt現(xiàn)場演示了其學習識別簡單圖像的過程,在當時引起了轟動,掀起了第一波神經(jīng)網(wǎng)絡的研究熱潮。

    但感知器只能做簡單的線性分類任務。1969年,人工智能領域的巨擘Minsky指出這點,并同時指出感知器對XOR(異或,即兩個輸入相同時輸出0,不同時輸出1)這樣的簡單邏輯都無法解決。所以,明斯基認為神經(jīng)網(wǎng)絡是沒有價值的。

    隨后,神經(jīng)網(wǎng)絡的研究進入低谷,又稱 AI Winter 。

    Minsky說過單層神經(jīng)網(wǎng)絡無法解決異或問題,但是當增加一個計算層以后,兩層神經(jīng)網(wǎng)絡不僅可以解決異或問題,而且具有非常好的非線性分類效果。

    下圖為兩層神經(jīng)網(wǎng)絡(輸入層一般不算在內(nèi)):

    上圖中,輸出層的輸入是上一層的輸出。

    向量化后的公式為:

    注意:

    每個神經(jīng)元節(jié)點默認都有偏置變量b,加上偏置變量后的計算公式為:

    同時,兩層神經(jīng)網(wǎng)絡不再使用sgn函數(shù)作為激勵函數(shù),而采用平滑的sigmoid函數(shù):

    σ(z)=1/(1+e^(-z) )

    其圖像如下:

    理論證明: 兩層及以上的神經(jīng)網(wǎng)絡可以無限逼近真實的對應函數(shù),從而模擬數(shù)據(jù)之間的真實關系 ,這是神經(jīng)網(wǎng)絡強大預測能力的根本。但兩層神經(jīng)網(wǎng)絡的計算量太大,當時的計算機的計算能力完全跟不上,直到1986年,Rumelhar和Hinton等人提出了反向傳播(Backpropagation,BP)算法,解決了兩層神經(jīng)網(wǎng)絡所需要的復雜計算量問題,帶動了業(yè)界使用兩層神經(jīng)網(wǎng)絡研究的熱潮。

    但好景不長,算法的改進僅使得神經(jīng)網(wǎng)絡風光了幾年,然而計算能力不夠,局部最優(yōu)解,調(diào)參等一系列問題一直困擾研究人員。90年代中期,由Vapnik等人發(fā)明的SVM(Support Vector Machines,支持向量機)算法誕生,很快就在若干個方面體現(xiàn)出了對比神經(jīng)網(wǎng)絡的優(yōu)勢:無需調(diào)參;高效;全局最優(yōu)解。

    由于以上原因,SVM迅速打敗了神經(jīng)網(wǎng)絡算法成為主流。神經(jīng)網(wǎng)絡的研究再一次進入低谷, AI Winter again 。

    多層神經(jīng)網(wǎng)絡一般指兩層或兩層以上的神經(jīng)網(wǎng)絡(不包括輸入層),更多情況下指兩層以上的神經(jīng)網(wǎng)絡。

    2006年,Hinton提出使用 預訓練 ”(pre-training)和“微調(diào)”(fine-tuning)技術能優(yōu)化神經(jīng)網(wǎng)絡訓練,大幅度減少訓練多層神經(jīng)網(wǎng)絡的時間

    并且,他給多層神經(jīng)網(wǎng)絡相關的學習方法賦予了一個新名詞–“ 深度學習 ”,以此為起點,“深度學習”紀元開始了:)

    “深度學習”一方面指神經(jīng)網(wǎng)絡的比較“深”,也就是層數(shù)較多;另一方面也可以指神經(jīng)網(wǎng)絡能學到很多深層次的東西。研究發(fā)現(xiàn),在權重參數(shù)不變的情況下,增加神經(jīng)網(wǎng)絡的層數(shù),能增強神經(jīng)網(wǎng)絡的表達能力。

    但深度學習究竟有多強大呢?沒人知道。2012年,Hinton與他的學生在ImageNet競賽中,用多層的卷積神經(jīng)網(wǎng)絡成功地對包含一千類別的一百萬張圖片進行了訓練,取得了分類錯誤率15%的好成績,這個成績比第二名高了近11個百分點,充分證明了多層神經(jīng)網(wǎng)絡識別效果的優(yōu)越性。

    同時,科研人員發(fā)現(xiàn)GPU的大規(guī)模并行矩陣運算模式完美地契合神經(jīng)網(wǎng)絡訓練的需要,在同等情況下,GPU的速度要比CPU快50-200倍,這使得神經(jīng)網(wǎng)絡的訓練時間大大減少,最終再一次掀起了神經(jīng)網(wǎng)絡研究的熱潮,并且一直持續(xù)到現(xiàn)在。

    2016年基于深度學習的Alpha Go在圍棋比賽中以4:1的大比分優(yōu)勢戰(zhàn)勝了李世石,深度學習的威力再一次震驚了世界。

    神經(jīng)網(wǎng)絡的發(fā)展歷史曲折蕩漾,既有被捧上神壇的高潮,也有無人問津的低谷,中間經(jīng)歷了數(shù)次大起大落,我們姑且稱之為“三起三落”吧,其背后則是算法的改進和計算能力的持續(xù)發(fā)展。

    下圖展示了神經(jīng)網(wǎng)絡自發(fā)明以來的發(fā)展情況及一些重大時間節(jié)點。

    當然,對于神經(jīng)網(wǎng)絡我們也要保持清醒的頭腦。由上圖,每次神經(jīng)網(wǎng)絡研究的興盛期持續(xù)10年左右,從最近2012年算起,或許10年后的2022年,神經(jīng)網(wǎng)絡的發(fā)展將再次遇到瓶頸。

    神經(jīng)網(wǎng)絡作為機器學習的一種,其模型訓練的目的,就是使得參數(shù)盡可能的與真實的模型逼近。理論證明,兩層及以上的神經(jīng)網(wǎng)絡可以無限逼近真實的映射函數(shù)。因此,給定足夠的訓練數(shù)據(jù)和訓練時間,總能通過神經(jīng)網(wǎng)絡找到無限逼近真實關系的模型。

    具體做法:首先給所有權重參數(shù)賦上隨機值,然后使用這些隨機生成的參數(shù)值,來預測訓練數(shù)據(jù)中的樣本。假設樣本的預測目標為yp ,真實目標為y,定義值loss,計算公式如下:

    loss = (yp -y) ^2

    這個值稱之為 損失 (loss),我們的目標就是使對所有訓練數(shù)據(jù)的損失和盡可能的小,這就轉化為求loss函數(shù)極值的問題。

    一個常用方法是高等數(shù)學中的求導,但由于參數(shù)不止一個,求導后計算導數(shù)等于0的運算量很大,所以常用梯度下降算法來解決這樣的優(yōu)化問題。梯度是一個向量,由函數(shù)的各自變量的偏導數(shù)組成。

    比如對二元函數(shù) f =(x,y),則梯度∇f=(∂f/∂x,∂f/∂y)。梯度的方向是函數(shù)值上升最快的方向。梯度下降算法每次計算參數(shù)在當前的梯度,然后讓參數(shù)向著梯度的反方向前進一段距離,不斷重復,直到梯度接近零時截止。一般這個時候,所有的參數(shù)恰好達到使損失函數(shù)達到一個最低值的狀態(tài)。下圖為梯度下降的大致運行過程:

    在神經(jīng)網(wǎng)絡模型中,由于結構復雜,每次計算梯度的代價很大。因此還需要使用 反向傳播 (Back Propagation)算法。反向傳播算法利用了神經(jīng)網(wǎng)絡的結構進行計算,不一次計算所有參數(shù)的梯度,而是從后往前。首先計算輸出層的梯度,然后是第二個參數(shù)矩陣的梯度,接著是中間層的梯度,再然后是第一個參數(shù)矩陣的梯度,最后是輸入層的梯度。計算結束以后,所要的兩個參數(shù)矩陣的梯度就都有了。當然,梯度下降只是其中一個優(yōu)化算法,其他的還有牛頓法、RMSprop等。

    確定loss函數(shù)的最小值后,我們就確定了整個神經(jīng)網(wǎng)絡的權重,完成神經(jīng)網(wǎng)絡的訓練。

    在神經(jīng)網(wǎng)絡中一樣的參數(shù)數(shù)量,可以用更深的層次去表達。

    由上圖,不算上偏置參數(shù)的話,共有三層神經(jīng)元,33個權重參數(shù)。

    由下圖,保持權重參數(shù)不變,但增加了兩層神經(jīng)元。

    在多層神經(jīng)網(wǎng)絡中,每一層的輸入是前一層的輸出,相當于在前一層的基礎上學習,更深層次的神經(jīng)網(wǎng)絡意味著更深入的表示特征,以及更強的函數(shù)模擬能力。更深入的表示特征可以這樣理解,隨著網(wǎng)絡的層數(shù)增加,每一層對于前一層次的抽象表示更深入。

    如上圖,第一個隱藏層學習到“邊緣”的特征,第二個隱藏層學習到“邊緣”組成的“形狀”的特征,第三個隱藏層學習到由“形狀”組成的“圖案”的特征,最后的隱藏層學習到由“圖案”組成的“目標”的特征。通過抽取更抽象的特征來對事物進行區(qū)分,從而獲得更好的區(qū)分與分類能力。

    前面提到, 明斯基認為Rosenblatt提出的感知器模型不能處理最簡單的“異或”(XOR)非線性問題,所以神經(jīng)網(wǎng)絡的研究沒有前途,但當增加一層神經(jīng)元后,異或問題得到了很好地解決,原因何在?原來從輸入層到隱藏層,數(shù)據(jù)發(fā)生了空間變換,坐標系發(fā)生了改變,因為矩陣運算本質上就是一種空間變換。

    如下圖,紅色和藍色的分界線是最終的分類結果,可以看到,該分界線是一條非常平滑的曲線。

    但是,改變坐標系后,分界線卻表現(xiàn)為直線,如下圖:

    同時,非線性激勵函數(shù)的引入使得神經(jīng)網(wǎng)絡對非線性問題的表達能力大大加強。

    對于傳統(tǒng)的樸素貝葉斯、決策樹、支持向量機SVM等分類器,提取特征是一個非常重要的前置工作。在正式訓練之前,需要花費大量的時間在數(shù)據(jù)的清洗上,這樣分類器才能清楚地知道數(shù)據(jù)的維度,要不然基于概率和空間距離的線性分類器是沒辦法進行工作的。然而在神經(jīng)網(wǎng)絡中,由于巨量的線性分類器的堆疊(并行和串行)以及卷積神經(jīng)網(wǎng)絡的使用,它對噪聲的忍耐能力、對多通道數(shù)據(jù)上投射出來的不同特征偏向的敏感程度會自動重視或忽略,這樣我們在處理的時候,就不需要使用太多的技巧用于數(shù)據(jù)的清洗了。有趣的是,業(yè)內(nèi)大佬常感嘆,“你可能知道SVM等機器學習的所有細節(jié),但是效果并不好,而神經(jīng)網(wǎng)絡更像是一個黑盒,很難知道它究竟在做什么,但工作效果卻很好”。

    人類對機器學習的環(huán)節(jié)干預越少,就意味著距離人工智能的方向越近。神經(jīng)網(wǎng)絡的這個特性非常有吸引力。

    1) 谷歌的TensorFlow開發(fā)了一個非常有意思的神經(jīng)網(wǎng)絡 入門教程 ,用戶可以非常方便地在網(wǎng)頁上更改神經(jīng)網(wǎng)絡的參數(shù),并且能看到實時的學習效率和結果,非常適合初學者掌握神經(jīng)網(wǎng)絡的基本概念及神經(jīng)網(wǎng)絡的原理。網(wǎng)頁截圖如下:

    2) 深度學習領域大佬吳恩達不久前發(fā)布的《 神經(jīng)網(wǎng)絡和深度學習 》MOOC,現(xiàn)在可以在網(wǎng)易云課堂上免費觀看了,并且還有中文字幕。

    3) 《神經(jīng)網(wǎng)絡于深度學習》(Michael Nielsen著)、《白話深度學習與TensorFlow》也是不錯的入門書籍。

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


    推薦閱讀:

    湖泊景觀設計案例琵琶湖(琵琶湖深度)

    公園景觀設計方案深化深度(公園景觀設計方案深化深度研究)

    景觀設計初步(景觀設計初步設計深度要求標準)_1

    韓國女明星身高排行榜(韓國女明星身高排行榜最新)

    杭州夢玩科技有限公司(杭州夢玩科技有限公司招聘)