DNN(深度神经网络)
深度神經網絡(Deep Neural Networks, 以下簡稱DNN)
神經網絡發展
-
第一代神經網絡又稱為感知器,由科學家Frank Rosenblatt發明于1950至1960年代,它的算法只有兩層,輸入層輸出層,,主要使用的是一種叫做sigmoid神經元(sigmoid neuron)的神經元模型,主要是線性結構。它不能解決線性不可分的問題,如異或操作。
-
為了解決第一代神經網絡的缺陷,在1980年左右提出第二代神經網絡多層感知器(MLP)。和第一代神經網絡相比,第二代在輸入輸出層之間有增加了隱含層的感知機,引入一些非線性的結構,解決了之前無法模擬異或邏輯的缺陷。第二代神經網絡讓科學家們發現神經網絡的層數直接決定了它對現實的表達能力,但是隨著層數的增加,優化函數愈發容易出現局部最優解的現象,由于存在梯度消失的問題,深層網絡往往難以訓練,效果還不如淺層網絡。
-
2006年Hinton采取無監督預訓練(Pre-Training)的方法解決了梯度消失的問題,使得深度神經網絡變得可訓練,將隱含層發展到7層,有一個預訓練的過程。使用微調技術作為反向傳播和調優手段。減少了網絡訓練時間,并且提出了一個新的概念叫做"深度學習,
直到2012年,在ImageNet競賽中,Hinton教授的團隊,使用以卷積神經網絡為基礎的深度學習方案,他們訓練的模型面對15萬張測試圖像時,預測的頭五個類別的錯誤率只有 15.3%,而排名第二的日本團隊,使用的SVM方法構建的模型,相應的錯誤率則高達 26.2%。從此一戰成名!2012年后深度學習就成為主流。
DNN
DNN是一個很廣的概念,CNN(卷積神經網絡)、RNN(遞歸神經網絡)等都屬于其范疇之內。CNN多用于網絡結構數據類型的任務,如圖像;RNN多用于時間序列類型的任務,如音頻、文本(NLP)等
DNN神經網絡的組成:
神經網絡的特點:
由于DNN層數多,權重系數w和偏置b的數量很多。在DNN是如何定義的呢?
以下圖一個三層的DNN為例,第二層的第4個神經元到第三層的第2個神經元的線性系數定義為w324。上標3代表w所在的層數,而下標對應的是輸出的第三層索引2和輸入的第二層索引4,輸入層是沒有w參數的
偏置b,以這個三層的DNN為例,第二層的第三個神經元對應的偏置定義為b23上標2代表所在的層數,下標3代表偏置所在的神經元的索引。輸入層是沒有偏置參數b的。
總結
以上是生活随笔為你收集整理的DNN(深度神经网络)的全部內容,希望文章能夠幫你解決所遇到的問題。