深度学习的关键术语
摘要: 本文著重介紹了深度學習的一些關鍵術語,其中包括生物神經(jīng)元,多層感知器(MLP),前饋神經(jīng)網(wǎng)絡和遞歸神經(jīng)網(wǎng)絡。對于初學者來說,掌握它們可以防止在學習請教時的尷尬~
深度學習已經(jīng)成為編程界的一股潮流,因為其在許多領域取得了令人難以置信的成功,使其在研究和工業(yè)領域廣受歡迎。那么到底什么是深度學習呢?深度學習是應用深層神經(jīng)網(wǎng)絡技術:即利用具有多個隱藏層的神經(jīng)網(wǎng)絡結構來解決問題的過程。深度學習是一個過程,如數(shù)據(jù)挖掘,它采用深度神經(jīng)網(wǎng)絡架構,它是特定類型的機器學習算法。
深度學習最近取得了令人吃驚的成就。但,至少在我看來,謹記一些事情是很重要的:
如上圖所示,深度學習其本質就是數(shù)據(jù)挖掘,因為(深度)神經(jīng)網(wǎng)絡是機器學習(過程與體系結構)。同樣可以看到的事實是,深度神經(jīng)網(wǎng)絡與當代人工智能有很大關系,至少兩者可以交織在一起(然而,它們不是同一事物,人工智能是具有許多其他算法以及超越神經(jīng)網(wǎng)絡的技術)。還需要注意的是深度學習/深度神經(jīng)網(wǎng)絡與計算機視覺、自然語言處理和生成模型之間的聯(lián)系,鑒于近年來在這些領域取得的巨大進步,深度學習和神經(jīng)網(wǎng)絡技術的聯(lián)系是微妙的,但這種聯(lián)系具有特別重要的意義。
那么,讓我們來看看一些與深度學習相關的術語。
1. 深度學習:
如上所述,深度學習是應用深度神經(jīng)網(wǎng)絡技術解決問題的過程。深度神經(jīng)網(wǎng)絡是具有最小隱藏層的神經(jīng)網(wǎng)絡(見下文)。像數(shù)據(jù)挖掘一樣,深度學習是指一個過程,它采用深層神經(jīng)網(wǎng)絡體系結構,其是特定類型的機器學習算法。
2. 人工神經(jīng)網(wǎng)絡(ANN):
機器學習架構最初是由深度學習的腦神經(jīng)(尤其是神經(jīng)元)所啟發(fā)的。實際上,單獨的人工神經(jīng)網(wǎng)絡(非深度變種)已經(jīng)存在了很長時間,并且歷史上能夠解決某些類型的問題。然而,相對最近,神經(jīng)網(wǎng)絡架構被設計出來,其中包括隱藏的神經(jīng)元層(不僅僅是輸入層和輸出層),而且這種復雜程度增加了深度學習的能力,并提供了一套更強大的問題解決工具。
人工神經(jīng)網(wǎng)絡在結構上與深度神經(jīng)網(wǎng)絡有很大的不同,因此沒有明確的神經(jīng)網(wǎng)絡定義。所有人工神經(jīng)網(wǎng)絡通常引用的特征是擁有自適應加權集合,以及將輸入的非線性函數(shù)逼近神經(jīng)元的能力。
3. 生物神經(jīng)元
通常,生物神經(jīng)網(wǎng)絡和人工神經(jīng)網(wǎng)絡之間存在明確的聯(lián)系。流行的出版物宣傳了人工神經(jīng)網(wǎng)絡在某種程度上是人類(或其他生物)大腦中發(fā)生的確切復本,但這顯然是不準確的。充其量,早期的人工神經(jīng)網(wǎng)絡受到生物學的啟發(fā)。兩者之間的抽象關系不比原子與太陽系的組成和功能之間的抽象比較明確。
也就是說,如果僅僅了解人工神經(jīng)網(wǎng)絡的靈感,它確實能讓我們看到生物神經(jīng)元如何在很高的水平上工作。
我們感興趣的生物神經(jīng)元的主要組成部分是:
- 核:保存遺傳信息(即,DNA)。
- 細胞主體:處理輸入激活,并將其轉換成輸出激活。
- 樹突:從其他神經(jīng)元接受激活。
- 軸突:傳遞激活到其他神經(jīng)元。
- 軸突末梢:與相鄰的樹突形成神經(jīng)元之間的突觸。
被稱為神經(jīng)遞質的化學物質然后擴散穿過軸突末端和鄰近的樹突之間的突觸間隙,構成神經(jīng)傳遞。神經(jīng)元的基本操作是激活神經(jīng)元,處理,然后通過其軸突末端再傳播出軸突,穿過突觸間隙并到達許多接受神經(jīng)元的樹突,重復這個過程。
4. 感知器
感知器是一個簡單的線性二元分類器。感知器獲取輸入和相關權重(表示相對輸入重要性),并將它們組合以產(chǎn)生輸出,然后用于分類。感知器已經(jīng)存在了很長時間,早期的實現(xiàn)可以追溯到20世紀50年代,其中第一個涉及早期的ANN實現(xiàn)。
5. 多層感知機(MLP)
多層感知機(MLP)是幾個完全相鄰連接的感知機層的實現(xiàn),形成一個簡單的前饋神經(jīng)網(wǎng)絡(見下文)。這種多層感知機具有單感知機不具備的非線性激活功能的優(yōu)勢。
6. 前饋神經(jīng)網(wǎng)絡
前饋神經(jīng)網(wǎng)絡是神經(jīng)網(wǎng)絡結構的最簡單形式,其中的連接是非周期性的。原始的人工神經(jīng)網(wǎng)絡,前饋網(wǎng)絡中的信息從輸入節(jié)點(隱藏層)向輸出節(jié)點單向前進,沒有周期存在。前饋網(wǎng)絡不同于后來的經(jīng)常性網(wǎng)絡架構(RNN)(見下文),其中連接形成有向循環(huán)。
7. 經(jīng)常性神經(jīng)網(wǎng)絡(RNN)
與上述前饋神經(jīng)網(wǎng)絡相比,遞歸神經(jīng)網(wǎng)絡的連接形成有向循環(huán)。這種雙向流動允許使用內部的時間狀態(tài)表示,這反過來又允許序列處理,并且提供了識別語音和手寫的能力。
8. 激活函數(shù)
在神經(jīng)網(wǎng)絡中,激活函數(shù)通過組合網(wǎng)絡的加權輸入產(chǎn)生輸出決策邊界。激活函數(shù)的范圍是從線性到sigmoid(邏輯)再到雙曲線(相切)和超越。為了采用反向傳播(見下文),網(wǎng)絡中必須利用可區(qū)分的激活函數(shù)。
9. 反向傳播
我曾經(jīng)遇到過的最簡潔、最基本的反向傳播定義是數(shù)據(jù)科學家Mikio L. Braun 對Quora給出了以下答案:
BP只是個別錯誤的漸變下降,你可以將神經(jīng)網(wǎng)絡的預測與期望的輸出進行比較,然后根據(jù)神經(jīng)網(wǎng)絡的權重計算誤差的梯度。這將給你一個參數(shù)權重空間的方向,在這個空間中誤差會變小。
10. 成本函數(shù)
在訓練神經(jīng)網(wǎng)絡時,必須評估網(wǎng)絡輸出的正確性。由于我們知道訓練數(shù)據(jù)的正確輸出,所以可以比較訓練的輸出。成本函數(shù)衡量實際產(chǎn)出與訓練產(chǎn)出之間的差異。實際產(chǎn)出和預期產(chǎn)出之間的零成本意味著網(wǎng)絡一直在盡可能地進行訓練,這顯然是理想的。
那么,通過什么機制來調整成本函數(shù),并將其最小化呢?
11. 梯度消失
梯度下降是一種用于尋找局部函數(shù)最小值的優(yōu)化算法。盡管不能保證全局最小值,但梯度下降法對于精確求解或者難以求解的函數(shù)特別有用,例如將導數(shù)設置為零并求解。
如上所述,在神經(jīng)網(wǎng)絡的情況下,隨機梯度下降用于對網(wǎng)絡參數(shù)做出明智的調整,目的是最小化成本函數(shù),從而使網(wǎng)絡的實際輸出更接近于迭代地達到預期的輸出。這種迭代最小化成本過程采用的是微積分,即微分。在訓練步驟之后,網(wǎng)絡權重根據(jù)成本函數(shù)的梯度和網(wǎng)絡的當前權重來接收更新,以便下一個訓練步驟的結果可能更接近正確(通過較小的成本函數(shù)測量)。反向傳播(錯誤的后向傳播)是用于將這些更新分發(fā)給網(wǎng)絡的方法。
12. 消失漸變問題
反向傳播使用鏈式規(guī)則來計算梯度,其中朝向n層神經(jīng)網(wǎng)絡的“前”(輸入)的層將其小數(shù)更新的梯度值乘以n倍,然后將該穩(wěn)定值用作更新。這意味著梯度將呈指數(shù)形式下降,這是一個n值較大的問題,而前面的層次需要越來越多的時間進行有效訓練。
13. 卷積神經(jīng)網(wǎng)絡
通常與計算機視覺和圖像識別相關聯(lián),卷積神經(jīng)網(wǎng)絡(CNN)采用卷積的數(shù)學概念來模擬生物視覺皮層的神經(jīng)連接網(wǎng)格。
首先,如Denny Britz所描述的那樣,卷積可以被認為是圖像矩陣表示上的滑動窗口(參見下文)。
這個概念在神經(jīng)網(wǎng)絡結構中的實現(xiàn)導致神經(jīng)元集合專用于處理圖像部分,至少在計算機視覺中被使用時。在其他領域(如自然語言處理)中使用時,也可以使用相同的方法,因為輸入(單詞,句子等)可以排列在矩陣中并以類似的方式處理。
14. 長短期記憶網(wǎng)絡(LSTM)
長短期記憶網(wǎng)絡(LSTM)是一種經(jīng)常性神經(jīng)網(wǎng)絡,它經(jīng)過優(yōu)化,可以從相關事件之間的時間相關數(shù)據(jù)中學習,這些數(shù)據(jù)可能具有未定義或未知的時間長度。他們特殊的架構允許持久性,給ANN帶來“記憶”。LSTM網(wǎng)絡最近在手寫識別和自動語音識別方面取得了突破。
這只是深度學習術語的一小部分,并且隨著你對機器學習研究了解,許多其他的概念正在等待你的探索。
文章原標題《deep-learning-key-terms-explained》
作者:Matthew Mayo
詳細內容請查看原文
總結
- 上一篇: 使用.NET Core快速开发一个较正规
- 下一篇: 深度学习基本概念的了解