一、深度信念網絡(DBN)
深度信念,就是要有至尊寶一樣戴金箍的信念
2006年,神經網絡之父Geoffrey Hinton祭出神器深度信念網絡,一舉解決了深層神經網絡的訓練問題,推動了深度學習的快速發(fā)展。 深度信念網絡(Deep Belief Nets),是一種概率生成模型,能夠建立輸入數(shù)據和輸出類別的聯(lián)合概率分布。 深度信念網絡通過采用逐層訓練的方式,解決了深層次神經網絡的優(yōu)化問題,通過逐層訓練為整個網絡賦予了較好的初始權值,使得網絡只要經過微調就可以達到最優(yōu)解。 深度信念網絡的每個隱藏層都扮演著雙重角色:它既作為之前神經元的隱藏層,也作為之后神經元的可見層。 在逐層訓練的時候起到最重要作用的是“受限玻爾茲曼機” 結構上看,深度信念網絡可以看成受限玻爾茲曼機組成的整體
1. 玻爾茲曼機(BM)
玻爾茲曼機,(Boltzmann Machines,簡稱BM),1986年由大神Hinton提出,是一種根植于統(tǒng)計力學的隨機神經網絡,這種網絡中神經元只有兩種狀態(tài)(未激活、激活),用二進制0、1表示,狀態(tài)的取值根據概率統(tǒng)計法則決定。 由于這種概率統(tǒng)計法則的表達形式與著名統(tǒng)計力學家L.E.Boltzmann提出的玻爾茲曼分布類似,故將這種網絡取名為“玻爾茲曼機”。 在物理學上,玻爾茲曼分布是描述理想氣體在受保守外力的作用時,處于熱平衡態(tài)下的氣體分子按能量的分布規(guī)律。 在統(tǒng)計學習中,如果我們將需要學習的模型看成高溫物體,將學習的過程看成一個降溫達到熱平衡的過程。能量收斂到最小后,熱平衡趨于穩(wěn)定,也就是說,在能量最少的時候,網絡最穩(wěn)定,此時網絡最優(yōu)。 玻爾茲曼機(BM)可以用在監(jiān)督學習和無監(jiān)督學習中。 在無監(jiān)督學習中,隱變量可以看做是可見變量的內部特征表示,能夠學習數(shù)據中復雜的規(guī)則。玻爾茲曼機代價是訓練時間很長很長很長。2. 受限玻爾茲曼機(RBM)
受限玻爾茲曼機(Restricted Boltzmann Machines,簡稱RBM) 將“玻爾茲曼機”(BM)的層內連接去掉,對連接進行限制,就變成了“受限玻爾茲曼機”(RBM) 一個兩層的神經網絡,一個可見層和一個隱藏層。 可見層接收數(shù)據,隱藏層處理數(shù)據,兩層以全連接的方式相連,同層之前不相連。 受限玻爾茲曼機需要將輸出結果反饋給可見層,通過讓重構誤差在可見層和隱藏層之間循環(huán)往復地傳播,從而重構出誤差最小化的一組權重系數(shù)。 傳統(tǒng)的反向傳播方法應用于深度結構在原則上是可行的,可實際操作中卻無法解決梯度彌散的問題 梯度彌散(gradient vanishing),當誤差反向傳播時,傳播的距離越遠,梯度值就變得越小,參數(shù)更新的也就越慢。 這會導致在輸出層附近,隱藏層的參數(shù)已經收斂;而在輸入層附近,隱藏層的參數(shù)幾乎沒有變化,還是隨機選擇的初始值。
二、生成對抗網絡(GAN)
就像孫悟空和牛魔王一樣搶奪紫霞仙子,進入對抗狀態(tài)
GAN(Generative Adversarial Network)是由Goodfellow等人于2014年設計的生成模型,受博弈論中的零和博弈啟發(fā),將生成問題視作生成器和判別器這兩個網絡的對抗和博弈。 該方法由是由Goodfellow等人于2014年提出,生成對抗網絡由一個生成器與一個判別器組成,生成網器從潛在空間中隨機取樣作為輸入,其輸出結果需要盡量模仿訓練集中的真實樣本。 判別器的輸入為真實樣本或生成器的輸出,其目的是將生成器的輸出從真實樣本中盡可能分辨出來。
GAN主要優(yōu)點是超越了傳統(tǒng)神經網絡分類和特征提取的功能,能夠按照真實數(shù)據的特點生成新的數(shù)據。 兩個網絡在對抗中進步,在進步后繼續(xù)對抗,由生成式網絡得的數(shù)據也就越來越完美,逼近真實數(shù)據,從而可以生成想要得到的數(shù)據(圖片、序列、視頻等)。1. 生成器(generator)生成器從給定噪聲中(一般是指均勻分布或者正態(tài)分布)產生合成數(shù)據。試圖產生更接近真實的數(shù)據。 “生成器像是白骨精,想方設法從隨機噪聲中模擬真實數(shù)據樣本的潛在分布,以生成以假亂真的數(shù)據樣本”2. 判別器(discriminator)判別器分辨生成器的的輸出和真實數(shù)據。試圖更完美地分辨真實數(shù)據與生成數(shù)據。 “判別器是孫悟空,用火眼金睛來判斷是人畜無害的真實數(shù)據還是生成器假扮的偽裝者” 生成器和判別器都可以采用深度神經網絡實現(xiàn),建立數(shù)據的生成模型,使生成器盡可能精確你有沒出數(shù)據樣本的分布,從學習方式上對抗性學習屬于無監(jiān)督學習,
網絡訓練可以等效為目錄函數(shù)的極大-極小問題
極大:讓判別器區(qū)分真實數(shù)據和偽造數(shù)據的準確率最大化
極小:讓生成器生成的數(shù)據被判別器發(fā)現(xiàn)的概率最小化
傳統(tǒng)生成模型定義了模型的分布,進而求解參數(shù)。比如在已知數(shù)據滿足正態(tài)分布的前提下,生成模型會通過極大似然估計等方法根據樣本來求解正態(tài)的均值和方差。 生成對抗網絡擺脫了對模型分布的依賴,也不限制生成的維度,大大拓寬了生成數(shù)據樣本的范圍,還能融合不同的損失函數(shù),增加了設計的自由度。
三、循環(huán)神經網絡(RNN)
循環(huán)網絡,如同月光寶盒,時間在不停地循環(huán)
循環(huán)神經網絡(Recurrent Neural Network),也可以表示遞歸神經網絡(Recursive Neural Network)。循環(huán)神經網絡可以看成是遞歸神經網絡的特例,遞歸神經網絡可以看成是循環(huán)神經網絡的推廣。 卷積神經網絡具有空間上的參數(shù)共享的特性,可以讓同樣的核函數(shù)應用在圖像的不同區(qū)域。 把參數(shù)共享調整到時間維度上,讓神經網絡使用相同權重系數(shù)來處理具有先后順序的數(shù)據,得到的就是循環(huán)神經網絡。
時間
循環(huán)神經網絡引入了”時間“的維度,適用于處理時間序列類型的數(shù)據。
循環(huán)神經網絡就是將長度不定的輸入分割為等長的小塊,再使用相同的權重系統(tǒng)進行處理,從而實現(xiàn)對變長輸入的計算與處理。
比方說媽媽在廚房里突然喊你:“菜炒好了,趕緊來......”,即使后面的話沒有聽清楚,也能猜到十有八九是讓你趕緊吃飯
記憶
循環(huán)神經網絡t時刻的輸出取決于當前時刻的輸入,也取決于網絡前一時刻t-1甚至更早的輸出。
從這個意義上來講,循環(huán)神經網絡引入引入了反饋機制,因而具有了記憶功能。記憶功能使循環(huán)神經網絡能夠提取來自序列自身的信息,輸入序列的內部信息存儲在神經網絡的隱藏層中,并隨著時間的推移在隱藏層中流轉。循環(huán)網絡的記憶特性可以用公式表示為
W 表示從輸入到狀態(tài)的權重矩陣,U 表示從狀態(tài)到狀態(tài)的轉移矩陣。
對循環(huán)神經網絡的訓練就是根據輸出結果和真實結果之間的誤差不斷調整參數(shù) W 和 U,直到達到預設要求的過程,訓練方法也是基于梯度的反向傳播算法。 前饋神經網絡某種程序上也具有記憶特性,只要神經網絡參數(shù)經過最優(yōu)化,優(yōu)化的參數(shù)就會包含以往數(shù)據的蹤跡,但是優(yōu)化的記憶只局限于訓練數(shù)據集上,當訓練的醋應用到新的測試數(shù)據集上時,其參數(shù)并不會根據測試數(shù)據的表現(xiàn)做出進一步調整。1. 雙向RNN比如有一部電視劇,在第三集的時候才出現(xiàn)的人物,現(xiàn)在讓預測一下在第三集中出現(xiàn)的人物名字,你用前面兩集的內容是預測不出來的,所以你需要用到第四,第五集的內容來預測第三集的內容,這就是雙向RNN的想法
如果想讓循環(huán)神經網絡利用來自未來的信息,就要讓當前的狀態(tài)和以后時刻的狀態(tài)建立直聯(lián)系,就是雙向循環(huán)神經網絡。
雙向循環(huán)網絡包括正向計算和反向計算兩個環(huán)節(jié)
雙向循環(huán)網絡需要分別計算正向和反向的結果,并將兩者作為隱藏層的最終參數(shù)。
2. 深度RNN將深度結構引入循環(huán)神經網絡就可以得到深度循環(huán)網絡。 比如你學習英語的時候,背英語單詞一定不會就看一次就記住了所有要考的單詞,一般是帶著先前幾次背過的單詞,然后選擇那些背過但不熟的內容或者沒背過的單詞來背
深層雙向RNN 與雙向RNN相比,多了幾個隱藏層,因為他的想法是很多信息記一次記不下來, 深層雙向RNN就是基于這么一個想法,每個隱藏層狀態(tài)h_{t}^{i}既取決于同一時刻前一隱藏層的狀態(tài)h_{t}^{i-1},也取決于同一隱藏層的狀態(tài)h_{t-1}^{i} 深度結構的作用在于建立更清晰的表示。用“完形填空”來說,需要根據上下文,來選擇合適的詞語。有些填空只需要根據它所在的句子便可以推斷出來,這對應著單個隱藏層在時間維度上的依賴性;有些填空則可能要通讀整段或全文才能確定,這對應了時間維度和空間維度共有的依賴性。3. 遞歸RNN遞歸神經網絡能夠處理具有層次化結構的數(shù)據,可以看成循環(huán)網絡的推廣
循環(huán)神經網絡特點是在時間維度上共享參數(shù),從而展開處理序列,如果展開成樹狀態(tài)結構,用到的就是遞歸神經網絡。遞歸神經網絡首先將輸入數(shù)據轉化為某種拓撲結構,再在相同的結構上遞歸使用相同的權重系數(shù),通過遍歷方式得到結構化的預測。 例如,“兩個大學的老師”有歧義,如果單純拆分為詞序列無法消除歧義。
遞歸神經網絡通過樹狀結構將一個完整的句子打散為若干分量的組合,生成的向量不是樹結構的根節(jié)點。
四、長短期記憶網絡(LSTM)
如果非要給記憶加一個期限,希望是一萬年
長短期記憶網絡(LSTM,Long Short-Term Memory)是一種時間循環(huán)神經網絡,為了解決一般的RNN(循環(huán)神經網絡)存在的長期依賴問題而專門設計出來的,論文首次發(fā)表于1997年。由于獨特的設計結構,LSTM適合于處理和預測時間序列中間隔和延遲非常長的重要事件。
RNN通過在時間共享參數(shù)引入了記特性,從而可以將先前的信息應用在當前的任務上,可是這種記憶通常只有有限的深度。 例如龍珠超或者火影每周更新一集,即使經歷了一周的空檔期,我們還是能將前一集的內容和新一集的情節(jié)無縫銜接起來。但是RNN的記憶就沒有這么強的延續(xù)性,別說一個星期,5分鐘估計都已經歇菜了。 LSTM可以像人的記憶中選擇性地記住一些時間間隔更久遠的信息,它會根據組成元素的特性,來判斷不同信息是被遺忘或被記住繼續(xù)傳遞下去。
LSTM就是實現(xiàn)長期記憶用的,實現(xiàn)任意長度的記憶。要求模型具備對信息價值的判斷能力,結合自身確定哪些信息應該保存,哪些信息該舍棄,元還要能決定哪一部分記憶需要立刻使用。4種組成LSTM通常由下面4個模塊組成
① 記憶細胞(memory cell)
作用是存儲數(shù)值或狀態(tài),存儲的時限可以是長期也可以是短期 ② 輸入門(input gate)
決定哪些信息在記憶細胞中存儲 ③ 遺忘門(forget gate)
決定哪些信息從記憶細胞中丟棄 ④ 輸出門(output gate)
決定哪些信息從記憶細胞中輸出
五、卷積神經網絡(CNN)
將鮮花用包裝紙沿著對角線卷起來,顧名思義卷積
卷積神經網絡(convolutional neural network)指至少某一導中用了卷積運算(convolution)來代替矩陣乘法的神經網絡。
1. 卷積是什么卷積是對兩個函數(shù)進行的一種數(shù)學運算,我們稱(f?g)(n)為f,g的卷積
我們令x=τ,y=n?τ,那么x+y=n,相當于下面的直線
如果遍歷這些直線,就像毛巾卷起來一樣,顧名思義“卷積”
在卷積網絡中,卷積本質就是以核函數(shù)g作為權重系數(shù),對輸入函數(shù)f進行加權求和的過程。 其實把二元函數(shù)U(x,y)=f(x)g(y)卷成一元函數(shù)V(t),俗稱降維打擊 函數(shù) f 和 g 應該地位平等,或者說變量 x 和 y 應該地位平等,一種可取的辦法就是沿直線 x+y = t 卷起來;① 擲骰子求兩枚骰子點數(shù)加起來為4的概率,這正是卷積的應用場景。 第一枚骰子概率為為f(1)、f(2)、...f(6)
第二枚骰子概率為g(1)、g(2)、...g(m)
② 做饅頭機器不斷的生產饅頭,假設饅頭生產速度是f(t),
那么一天生產出來的饅頭總量為
生產出來后會逐漸腐敗,腐敗函數(shù)為g(t),比如10個饅頭,24小時會腐敗
10?g(t)
一天生產出來的饅頭就是
③ 做魚
卷積看做做菜,輸入函數(shù)是原料,核函數(shù)是菜譜,對于同一輸入函數(shù)鯉魚來說
核函數(shù)中的醬油權重較大,輸出紅燒魚
核函數(shù)中的糖和醋權重大較大,輸出西湖醋魚
核函數(shù)中的辣椒權重較大,輸出朝鮮辣魚
④ 圖像處理假設一幅圖有噪點,要將它進行平滑處理,可以把圖像轉為一個矩陣
如果要平滑a1,1點,就把a1,1點附近的組成矩陣f,和g進行卷積運算,再填充回去
f 和g的計算如下,其實就是以相反的方向進行計算,像卷毛巾一樣
具體參考 :
何通俗易懂地解釋卷積? https://www.zhihu.com/question/22298352 卷積為什么叫「卷」積? https://www.zhihu.com/question/54677157/answer/141245297
2. 卷積神經網絡特性
卷積運算的特性決定了神經網絡適用于處理具有網絡狀結構的數(shù)據。 典型的網絡型數(shù)據就是數(shù)字圖像,無論是灰度還是彩色圖像,都是定義在二維像素網絡上的一組標題或向量。 卷積神經網絡廣泛地應用于圖像與文本識別之中,并逐漸擴展到自然語言處理等其他領域。① 稀疏感知性
卷積層核函數(shù)的大小通常遠遠小于圖像的大小。
圖像可能在兩個維度上都有幾千個像素,但核函數(shù)最大不會超過幾十個像素。
選擇較小的核函數(shù)有助于發(fā)現(xiàn)圖像中細微的局部細節(jié),提升算法的存儲效率和運行效率。② 參數(shù)共享性
一個模型中使用相同的參數(shù)。每一輪訓練中用單個核函數(shù)去和圖像的所有分塊來做卷積。③ 平移不變性
當卷積的輸入產生平衡時,其輸出等于原始輸出相同數(shù)量的平移,說明平移操作和核函數(shù)的作用是可以交換的。
3. 卷積神經網絡分層
當輸入圖像被送入卷積神經網絡后,先后要循環(huán)通過卷積層、激勵層和池化層,最后從全連接層輸出分類結果。① 輸入層
輸入數(shù)據,通常會做一些數(shù)據處理,例如去均值、歸一化、 PCA/白化等② 卷積層
卷積層是卷積神經網絡的核心部分,參數(shù)是一個或多個隨機初始化的核函數(shù),核函數(shù)就像按照燈一樣,逐行逐列掃描輸入圖像。掃描完畢后計算出的所有卷積結果可以構成一個矩陣,這個新的矩陣叫特征映射(feature map)。卷積層得到的特征一般會送到激勵層處理③ 激勵層
主要作用是將卷積層的結果做非線性映射。常見的激勵層函數(shù)有sigmoid、tanh、Relu、Leaky Relu、ELU、Maxout④ 池化層
在連續(xù)的卷基層和激勵層中間,用于壓縮數(shù)據和參數(shù)的量,用于減少過擬合。
簡而言之,如果輸入是圖像的話,那么池化層的最主要作用就是壓縮圖像。
常見的最大池化做法就是將特征映射劃分為若干個矩形區(qū)域,挑選每個區(qū)域中的最大值。
⑤ 全連接層
兩層之間所有神經元都有權重連接,通常全連接層在卷積神經網絡尾部,輸出分類結果。
在卷積神經網絡的訓練里,待訓練的參數(shù)是卷積核。
卷積核:也就是用來做卷積的核函數(shù)。
卷積神經網絡的作用是逐層提取輸入對象的特征,訓練采用的也是反向傳播的方法,參數(shù)的不斷更新能夠提升圖像特征提取的精度
責任編輯:pj
-
神經網絡
+關注
關注
42文章
4814瀏覽量
103623 -
數(shù)據
+關注
關注
8文章
7256瀏覽量
91883 -
GaN
+關注
關注
19文章
2209瀏覽量
76812
發(fā)布評論請先 登錄
神經網絡專家系統(tǒng)在電機故障診斷中的應用
BP神經網絡的網絡結構設計原則
BP神經網絡與卷積神經網絡的比較
BP神經網絡的優(yōu)缺點分析
BP神經網絡的基本原理
人工神經網絡的原理和多種神經網絡架構方法

評論