深度学习基础知识(一): 概述-神经网络起源和发展
目錄
1. 神經網絡概述
1.1 概念和起源
1.2?神經網絡基本結構
1.2.1 神經元數學模型
1.2.2 sigmoid激活函數
?1.2.3 神經網絡結構
1.3 我對神經網絡的構建和流程理解
1.3.1 單個神經元
1.3.2 單個隱含層?
1.3.3 多個隱含層?
1.3.4 調參?
?1.4 BP算法
2. 梯度消失或爆炸
3. 人們對神經網絡的預期與現實
參考
???????1. 神經網絡概述
1.1 概念和起源
概念:神經網絡是一種由許多非線性計算單元(或稱神經元、節點)組成的分層系統。
網絡深度:就是不包括輸入層的層數。
多層感知器(multilayer perceptron):在隱含層數大于1時常常稱為深層感知器,實際上是一種由多層節點有向圖構成的前饋神經網絡。其中,每一個非輸入節點時具有非線性激活函數的神經元,每一層與其下一層是全連接的。
1.2?神經網絡基本結構
1.2.1 神經元數學模型
MP神經元數學模型,包含n個輸入,n個權值,一個偏置b,以及一個輸出y。 ==>即我們高中學到的多元一次方程:
y表示激活函數
????????
1.2.2 sigmoid激活函數
f是一個非線性變換,稱為激活函數,通常選為sigmoid函數,公式為:
?1.2.3 神經網絡結構
在訓練神經網絡方面,BP(Back Propagation)反向傳播無疑是最常用最著名的算法。這是一種有監督的學習算法。
淺層網絡:主要是指具有一個隱含層的神經網絡。
深層網絡:主要是指具有2個及以上隱含層的神經網絡。
1.3 我對神經網絡的構建和流程理解
1.3.1 單個神經元
單個神經元即高中多元一次方程。
激活函數:sigmoid(y).
1.3.2 單個隱含層?
?
1.3.3 多個隱含層?
?
1.3.4 調參?
?iteration(迭代):每一次迭代都是一次權重更新,每一次權重更新需要batch_size個數據進行Forward運算得到損失函數,再BP算法更新參數。1個iteration等于使用batchsize個樣本訓練一次
bath_size:
epochs/?i?.p?k/:被定義為向前和向后傳播中所有批次的單次訓練迭代。這意味著1個周期是整個輸入數據的單次向前和向后傳遞。簡單說,epochs指的就是訓練過程中數據將被“輪”多少次,就這樣
one?epoch?= numbers of?iterations?= N = 訓練樣本的數量/batch_size
?1.4 BP算法
在訓練神經網絡方面,BP(Back Propagationi)反向傳播無疑是最常用、最著名的算法。
這是有監督學習算法,應提供一組訓練樣本,對給定的輸入,指明相應的輸出。
2. 梯度消失或爆炸
problem:1991年,Hochreiter正式指出,典型的深層網絡存在梯度消失或爆炸問題,從而明確了深度學習的一個里程碑。
該問題是,累積反向傳播誤差信號在神經網絡的層數增加時會出現指數衰減或增長的現象,從而導致數值計算快速收縮或越界。這就是深層網絡很難用反向傳播算法訓練的主要原因。
梯度消失或爆炸問題又稱為長時滯后問題,在循環神經網絡CNN中也會出現。
1990-2000年,Hochreiter的深邃思想推動了若干新方法的探索。
但除了卷積神經網絡之外,訓練深層網絡的問題直到2006年才開始得到嚴肅認真的對待。因為1995年之后,支持向量機SVM的快速發展減緩了神經網絡的有關工作進展。
所以,普遍認為,深度學習正式發端于2006年,以Hinton及其合作者發表的兩篇重要論文為標志。"A fast learning algorithm for deep belief nets"; "Reducing the dimensionality of data with neural networks"。
從那以后,大量的深度學習模型如雨后春筍般迅速發展起來,其中主要包括受限玻爾茲曼機(Restricted Boltzman Machine, RBM)、深層自編碼器(deep AutoEncoder, deep AE)、深層信念網絡(deep beliefnet)、深層玻爾茲曼機(Deep Boltzman Machine, DBM)、和積網絡(Sum-Product Network, SPN)、深層堆疊網絡(Deep Stacked Network, DSN)、卷積神經網絡(Convolutional Neural Network, CNN)、循環神經網絡(Recurrent Neural Network, RNN)、長短時記憶網絡(Long Short-Term Memory network, LSTM network)、強化學習網絡(Reinforcement Learning Network, RLN)、生成對抗網絡(Generative Adversarial Network, GAN)等。
訓練技巧:最大池化(max pooling)、丟棄輸出(dropout)、丟棄連接(dropconnect)
取得了許多歷史性突破和成就的領域:手寫數字識別、ImageNet分類和語音識別。
3. 人們對神經網絡的預期與現實
一個具有淺層結構或層數不夠深的神經網絡雖然在節點數足夠大時也可能充分逼近地表達任意的多元非線性函數,但這種淺層表達在具體實現時往往由于需要太多的結點而無法實際應用。
期望:一般說來,對于給定數目的訓練樣本,如果缺乏其他先驗知識,人們更期望使用少量的計算單元來建立目標函數的“緊表達”,以獲得更好的泛化能力。
現實:在網絡深度不夠時,這種緊表達可能根本無法建立起來。因為理論研究表明,深度為k的網絡能夠緊表達的函數在用深度為k-1的網絡來表達時有時需要的計算單元會呈指數增長。
但在網絡深度不夠時,這種緊表達可能根本無法建立起來,因為理論研究表明,深度為k的網絡能夠緊表達的函數在用深度為k-1的網絡來表達時有時需要的計算單元會呈指數增長。???????
解決:深層神經網絡(又稱深度神經網絡)在一定的條件下具有非常重要的應用前景。
參考
[1] 深度學習:卷積神經網絡從入門到精通。李玉鑑,張婷
總結
以上是生活随笔為你收集整理的深度学习基础知识(一): 概述-神经网络起源和发展的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 注意力机制~Attention Mech
- 下一篇: 知识图谱基础知识(一): 概念和构建