深度学习-人工神经网络概述
生活随笔
收集整理的這篇文章主要介紹了
深度学习-人工神经网络概述
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
人工神經網絡
- 簡述
- 很多術語聽起來很唬人,“人工神經網絡”就屬于其中之一。在很多人看來,我們對人類的神經系統還沒有研究透徹,這就來了一個“人工的”神經網絡,人腦這樣復雜,那么人工神經網絡一定相當高深莫測。如果遇到一個耐心的學術專家,花上一兩個小時給你講講人工神經網絡的底細,那么你會發現,就這么回事而已。但是,如果遇到一個不太耐心或者喜好賣弄的,那么不好意思,你除了對他肅然起敬剩下的就是“這東西此生與我無緣了”。
- 人工神經網絡這個名詞聽起來像是用人工的辦法來模擬人腦,加上他使用了與生物有關的名詞如“神經元”,讓人感覺神秘的同時又會聯想到仿生學或者認知科學等知識。但是,除了借用生物學上的一些名詞,并且做了一些形象的比喻外,人工神經網絡和人腦沒有半點關系,它的本質就是數據結構中必定提到的一種概念—有向圖,只不過這個有向圖有一點特殊罷了。它的節點被稱為神經元,它的有向弧被稱為連接神經元的神經。
-
- 如圖,所有的節點都是分層的,每一層節點可以通過有向弧指向下一層的節點,但是同一層的節點之間沒有弧連接,而且每一個節點不能跨層到達某個節點。圖中只有三層節點,但是理論上,人工神經網絡的層數是任意的。但是,實際應用中不會設計超過5層的網絡,因為層數過多,計算相當復雜。
- 每一條弧上有一個值,稱為權重或者權值,根據這些值可以使用一個非常簡單的公式算出它們所指向節點的值。至于具體如何計算,暫時不說明。
- 當然,為了方便交流,有一些約定俗成的說法。上圖中最左邊第一層被稱為輸入層,因為在各種應用中,這個模型的輸入值只是賦予了這一層節點,圖中其他節點的值都是根據這些輸入值直接或者間接得到的。同樣的,最右邊那一層稱為輸出層,節點稱為輸出節點,因為我們想要通過這個模型獲得的輸出值都是這一層節點得到的。當然,中間各層被稱為中間層,由于對外不可見,又叫做隱藏層(隱含層)。
- 有弧上的值作為參數,前一層節點的值作為變量組成一個計算下一層節點值的函數,稱為神經元函數。
- 到此,人工神經網絡的原理就講完了,就是這樣一個很基礎很簡單的模型卻在如今被廣泛使用。因為,如今很多人工智能的問題其實本質上都是多維空間進行模式分類的問題,而人工神經網絡最擅長的就是模式分類。如今,模式分類廣泛使用,如語音識別。機器翻譯、人臉識別、疾病預測、股市預測等。
- 原理
- 一個模式的特征值(如坐標),從輸入層開始,按照一定的規則和公式一層層向后傳遞,最后在輸出層,哪個節點數值最大,輸入的模式就被分在哪一類中。這就是人工神經網絡的基本原理。
- 在人工神經網絡中,需要設計的部分只有兩個,一個是它的結構,即網絡分幾層、每層幾個節點、節點之間如何連接等;第二就是非線性函數f的設計,常用的是指數函數。(使用指數函數,人工神經網絡的模式分類能力等價于最大熵模型)。
- 值得一說的是,如果把不同輸出節點上得到的值看成一種概率分布,那么這個神經網絡就是一個概率模型了。
- 但是,模型的參數,也就是弧上的權重是如何得到的呢,其實,和傳統機器學習模型一樣,也是訓練得到的。
- 人工神經網絡的訓練也分為有監督訓練和無監督訓練。對于成本函數的設計這里不多敘述。對于復雜的人工神經網絡,訓練計算量是非常巨大的,而且這還是一個NP-complete問題,因此很多機器學習專家投入其中尋找優秀的近似方法。
- 與貝葉斯網絡的關系
- 其實,從圖上看來,人工神經網絡和貝葉斯網絡十分類似,對于上面的那個有向圖,說是貝葉斯網絡也完全正確
- 它們有很多共同之處。
- 都是有向圖,每一個節點的取值只取決于前一級的節點,與更前面的節點無關,也就是遵循馬爾可夫假設。
- 訓練方法類似,且訓練計算量都很大。使用人工神經網絡是要有訓練等待的準備。
- 對于很多模式分類問題,效果上類似,兩者都能解決,但是,效率不同。如果都看成統計模型,準確性也是類似的。
- 它們有很多不同之處。
- 人工神經網絡在結構上是完全標準化的,而貝葉斯網絡很靈活。有利有弊。
- 雖然神經元函數為非線性函數,但是各個變量只能先進行線性組合,最后對一個變量(即前面組合出來的結果)進行非線性變換,因此計算機實現容易。而在貝葉斯網絡中,變量可以組合成任意的函數,毫無限制,獲得靈活性的同時大大加大了復雜性。
- 貝葉斯網絡更容易考慮上下文前后的相關性,因此可以解碼一個輸入的序列,比如將一段語音識別為文字。而人工神經網絡的輸出相對孤立,它可以識別一個個字,但很難處理一個序列,因此它主要的應用常常是估計一個概率模型的參數,比如機器翻譯中語言模型參數的訓練等,而不是作為一個解碼器。
- 補充說明
- 這部分有趣的數學解釋可以查看吳軍的《數學之美》。
- 如果你真的對神經網絡感興趣,尤其是對卷積神經網絡感興趣,那么不妨看看這本《深度學習之PyTorch實戰計算機視覺》,我的下載區提供了下載,這雖然是講PyTorch的書,但是前面一半幾乎都是在詳細講解神經網絡的構成和搭建,是我所見的為數不多的能把神經網絡講明白的書。(前提你有一定的線性代數基礎)
- 上面書籍下載僅供試讀,不得用于商業用途,侵刪。
總結
以上是生活随笔為你收集整理的深度学习-人工神经网络概述的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 机器学习-分类之多层感知机原理及实战
- 下一篇: 深度学习项目-神经元结构可视化