深度神經網絡
1、基本概念
DNN(Deep Neural Network)神經網絡模型又叫全連接神經網絡,是基本的深度學習框架。與RNN循環神經網絡、CNN卷積神經網絡的區別就是DNN特指全連接的神經元結構,並不包含卷積單元或是時間上的關聯。
2、DNN發展歷程
1)神經網絡技術起源於上世紀五、六十年代,當時叫感知機(perception),擁有輸入層、輸出層和一個隱含層。但單層感知機並不能解決較複雜的函數,比如“異或”操作。直到上世紀八十年代,多層感知機的提出,克服了這個問題。
2006年,Hinton利用預訓練方法緩解了局部最優解問題,將隱含層推動到了7層,神經網絡真正意義上有了“深度”,由此揭開了深度學習的熱潮。
多層感知機
2)梳理DNN的構造進行理解
首先是神經元的運算邏輯,一定是線性內核和非線性激活相結合,所以神經元的算法是非線性的。因此DNN神經元的計算內核爲X*W+b,以softmax函數(二元分類中使用Sigmoid函數)爲非線性核的構造方式。同理,RNN的核採用RNN運算內核,CNN採用卷積運算內核。
邏輯分類可以視爲一層DNN神經網絡,計算內核爲X*W+b,以softmax函數(二元分類中使用Sigmoid函數)爲非線性核的構造方式。像邏輯分類這種,線性運算單元設計爲權重相乘的,並且層與層之間的神經元全部相連的神經網絡就是全連接神經網絡,即DNN。
進一步增加隱層,,容納更多的神經元,來增強模型的能力。比起淺層模型在特徵工程和模型工程的各種嘗試,神經網絡通過更多的神經元直接增強模型的能力。
整個含隱層的DNN的算法流程就是:
X ——W1*X1+b1 ——Relu——W2*X2+b2 ——softmax——y
3、代碼實現
待續............................