-
當(dāng)前位置:首頁 > 創(chuàng)意學(xué)院 > 技術(shù) > 專題列表 > 正文
深度神經(jīng)網(wǎng)絡(luò)原理(深度神經(jīng)網(wǎng)絡(luò)原理圖)
大家好!今天讓創(chuàng)意嶺的小編來大家介紹下關(guān)于深度神經(jīng)網(wǎng)絡(luò)原理的問題,以下是小編對此問題的歸納整理,讓我們一起來看看吧。
開始之前先推薦一個非常厲害的Ai人工智能工具,一鍵生成原創(chuàng)文章、方案、文案、工作計劃、工作報告、論文、代碼、作文、做題和對話答疑等等
只需要輸入關(guān)鍵詞,就能返回你想要的內(nèi)容,越精準(zhǔn),寫出的就越詳細(xì),有微信小程序端、在線網(wǎng)頁版、PC客戶端
官網(wǎng):https://ai.de1919.com。
創(chuàng)意嶺作為行業(yè)內(nèi)優(yōu)秀的企業(yè),服務(wù)客戶遍布全球各地,如需了解SEO相關(guān)業(yè)務(wù)請撥打電話175-8598-2043,或添加微信:1454722008
本文目錄:
一、深度學(xué)習(xí)的理論解釋有哪些?
深度學(xué)習(xí)的概念源于人工神經(jīng)網(wǎng)絡(luò)的研究。含多隱層的多層感知器就是一種深度學(xué)習(xí)結(jié)構(gòu)。深度學(xué)習(xí)通過組合低層特征形成更加抽象的高層表示屬性類別或特征,以發(fā)現(xiàn)數(shù)據(jù)的分布式特征表示。
深度學(xué)習(xí)的概念由Hinton等人于2006年提出。基于深信度網(wǎng)(DBN)提出非監(jiān)督貪心逐層訓(xùn)練算法,為解決深層結(jié)構(gòu)相關(guān)的優(yōu)化難題帶來希望,隨后提出多層自動編碼器深層結(jié)構(gòu)。此外Lecun等人提出的卷積神經(jīng)網(wǎng)絡(luò)是第一個真正多層結(jié)構(gòu)學(xué)習(xí)算法,它利用空間相對關(guān)系減少參數(shù)數(shù)目以提高訓(xùn)練性能。
深度學(xué)習(xí)是機器學(xué)習(xí)研究中的一個新的領(lǐng)域,其動機在于建立、模擬人腦進行分析學(xué)習(xí)的神經(jīng)網(wǎng)絡(luò),它模仿人腦的機制來解釋數(shù)據(jù),例如圖像,聲音和文本。
同機器學(xué)習(xí)方法一樣,深度機器學(xué)習(xí)方法也有監(jiān)督學(xué)習(xí)與無監(jiān)督學(xué)習(xí)之分.不同的學(xué)習(xí)框架下建立的學(xué)習(xí)模型很是不同.例如,卷積神經(jīng)網(wǎng)絡(luò)(Convolutional neural networks,簡稱CNNs)就是一種深度的監(jiān)督學(xué)習(xí)下的機器學(xué)習(xí)模型,而深度置信網(wǎng)(Deep Belief Nets,簡稱DBNs)就是一種無監(jiān)督學(xué)習(xí)下的機器學(xué)習(xí)模型。
深度學(xué)習(xí)是機器學(xué)習(xí)研究中的一個新的領(lǐng)域,其動機在于建立、模擬人腦進行分析學(xué)習(xí)的神經(jīng)網(wǎng)絡(luò),它模仿人腦的機制來解釋數(shù)據(jù),例如圖像,聲音和文本。深度學(xué)習(xí)是無監(jiān)督學(xué)習(xí)的一種。 深度學(xué)習(xí)的概念源于人工神經(jīng)網(wǎng)絡(luò)的研究。含多隱層的多層感知器就是一種深度學(xué)習(xí)結(jié)構(gòu)。深度學(xué)習(xí)通過組合低層特征形成更加抽象的高層表示屬性類別或特征,以發(fā)現(xiàn)數(shù)據(jù)的分布式特征表示。 深度學(xué)習(xí)的概念由Hinton等人于2006年提出?;谏钚哦染W(wǎng)(DBN)提出非監(jiān)督貪心逐層訓(xùn)練算法,為解決深層結(jié)構(gòu)相關(guān)的優(yōu)化難題帶來希望,隨后提出多層自動編碼器深層結(jié)構(gòu)。此外Lecun等人提出的卷積神經(jīng)網(wǎng)絡(luò)是第一個真正多層結(jié)構(gòu)學(xué)習(xí)算法,它利用空間相對關(guān)系減少參數(shù)數(shù)目以提高訓(xùn)練性能。從一個輸入中產(chǎn)生一個輸出所涉及的計算可以通過一個流向圖(flow graph)來表示:流向圖是一種能夠表示計算的圖,在這種圖中每一個節(jié)點表示一個基本的計算并且一個計算的值(計算的結(jié)果被應(yīng)用到這個節(jié)點的孩子節(jié)點的值)。考慮這樣一個計算集合,它可以被允許在每一個節(jié)點和可能的圖結(jié)構(gòu)中,并定義了一個函數(shù)族。輸入節(jié)點沒有父親,輸出節(jié)點沒有孩子。
這種流向圖的一個特別屬性是深度(depth):從一個輸入到一個輸出的最長路徑的長度。
傳統(tǒng)的前饋神經(jīng)網(wǎng)絡(luò)能夠被看做擁有等于層數(shù)的深度(比如對于輸出層為隱層數(shù)加1)。SVMs有深度2(一個對應(yīng)于核輸出或者特征空間,另一個對應(yīng)于所產(chǎn)生輸出的線性混合)。
二、深度學(xué)習(xí)與神經(jīng)網(wǎng)絡(luò)有什么區(qū)別
找深度學(xué)習(xí)和神經(jīng)網(wǎng)絡(luò)的不同點,其實主要的就是:
原來多層神經(jīng)網(wǎng)絡(luò)做的步驟是:特征映射到值。特征是人工挑選。
深度學(xué)習(xí)做的步驟是 信號->特征->值。 特征是由網(wǎng)絡(luò)自己選擇。
另外,深度學(xué)習(xí)作為機器學(xué)習(xí)的領(lǐng)域中一個新的研究方向,在被引進機器學(xué)習(xí)后,讓機器學(xué)習(xí)可以更加的接近最初的目標(biāo),也就是人工智能。
深度學(xué)習(xí)主要就是對樣本數(shù)據(jù)的內(nèi)在規(guī)律還有表示層次的學(xué)習(xí),這些學(xué)習(xí)過程中獲得的信息對諸如文字,圖像和聲音等數(shù)據(jù)的解釋有很大的幫助。它的最終目標(biāo)是讓機器能夠像人一樣具有分析學(xué)習(xí)能力,能夠識別文字、圖像和聲音等數(shù)據(jù)。 深度學(xué)習(xí)是一個復(fù)雜的機器學(xué)習(xí)算法,在語音和圖像識別方面取得的效果,遠(yuǎn)遠(yuǎn)超過先前相關(guān)技術(shù)。
深度學(xué)習(xí)在搜索技術(shù),數(shù)據(jù)挖掘,機器學(xué)習(xí),機器翻譯,自然語言處理,多媒體學(xué)習(xí),語音,推薦和個性化技術(shù),以及其他相關(guān)領(lǐng)域都取得了很多成果。深度學(xué)習(xí)使機器模仿視聽和思考等人類的活動,解決了很多復(fù)雜的模式識別難題,使得人工智能相關(guān)技術(shù)取得了很大進步。
而神經(jīng)網(wǎng)絡(luò)則是可以分為兩種,一種是生物神經(jīng)網(wǎng)絡(luò),而另一種則是人工神經(jīng)網(wǎng)絡(luò)。
生物神經(jīng)網(wǎng)絡(luò)就是生物的大腦神經(jīng)元、主要是由細(xì)胞以及觸點組成的,主要的作用就是讓生物產(chǎn)生意識,或者是幫助生物實現(xiàn)思考還有行動的目的。
神經(jīng)網(wǎng)絡(luò)可以指向兩種,一個是生物神經(jīng)網(wǎng)絡(luò),一個是人工神經(jīng)網(wǎng)絡(luò)。
人工神經(jīng)網(wǎng)絡(luò)(Artificial Neural Networks,簡寫為ANNs)也簡稱為神經(jīng)網(wǎng)絡(luò)(NNs)或稱作連接模型(Connection Model),它是一種模仿動物神經(jīng)網(wǎng)絡(luò)行為特征,進行分布式并行信息處理的算法數(shù)學(xué)模型。這種網(wǎng)絡(luò)依靠系統(tǒng)的復(fù)雜程度,通過調(diào)整內(nèi)部大量節(jié)點之間相互連接的關(guān)系,從而達(dá)到處理信息的目的。
人工神經(jīng)網(wǎng)絡(luò):是一種應(yīng)用類似于大腦神經(jīng)突觸聯(lián)接的結(jié)構(gòu)進行信息處理的數(shù)學(xué)模型。在工程與學(xué)術(shù)界也常直接簡稱為“神經(jīng)網(wǎng)絡(luò)”或類神經(jīng)網(wǎng)絡(luò)。
三、神經(jīng)網(wǎng)絡(luò)中的對抗攻擊與對抗樣本
對抗攻擊
對抗攻擊論文參考:
《Intriguing properties of neural networks》
《神經(jīng)網(wǎng)絡(luò)有趣的特性》
《Threat of Adversarial Attacks on Deep Learning in Computer Vision: A Survey》,以下簡稱『Survey』。
圖片做適當(dāng)修改后能欺騙深度學(xué)習(xí)模型的可能性
1.舉例理解:
左邊是一張能夠被GoogLeNet正常分類為熊貓的圖片,在添加一定的噪音后變成右圖,在人的肉眼看來,它還是熊貓,但GoogLeNet會判定為長臂猿。這種被修改后人類無法明顯察覺,卻被機器識別錯誤的數(shù)據(jù)即為 對抗樣本 ,而這整個過程就可以理解為 對抗攻擊 。
2.數(shù)學(xué)理解:
神經(jīng)網(wǎng)絡(luò)中每層神經(jīng)元的輸入 a = g(Wx+b),其中 g 為激活函數(shù),W 為權(quán)重參數(shù),x 為上一層的樣本數(shù)據(jù),b 為偏置參數(shù),那么從拓?fù)鋵W(xué)角度來看,在一個二維平面上,這個過程相當(dāng)于哪幾個步驟呢?
(1)一次使用權(quán)重參數(shù)矩陣 W 的線性變換
(2)一次使用偏執(zhí)向量 b 的移動
(3)一次應(yīng)用非線性激活函數(shù) g 的變換
在 二維平面 ,其實是將整個平面進行了 旋轉(zhuǎn)、移動和拉伸 三步。
分類問題
簡單分類問題:通過較少幾次變換將問題轉(zhuǎn)換為一條直線可分割的空間。
既是一層神經(jīng)網(wǎng)絡(luò)就可以完成分類,通過變換空間布局,最終通過一條直線完成分類。
舉例:
簡單轉(zhuǎn)換ing........
轉(zhuǎn)換結(jié)果看下圖
復(fù)雜分類問題:通過多幾次的轉(zhuǎn)換完成將問題轉(zhuǎn)換為一條直線可分割的空間。
就是多層神經(jīng)網(wǎng)絡(luò)完成分類,通過變換空間布局,最終通過一條直線完成分類。
舉例:
動態(tài)多步轉(zhuǎn)換
以上是從低維度理解神經(jīng)網(wǎng)絡(luò)的訓(xùn)練,其中也有難以拉伸的例外,下圖所示的圓套圓的情況,就是難以在二維空間將其拉伸到理想的位置的例子。
但,增加神經(jīng)元,可以在 三維空間 中輕松將其分離。
看!
歸納 同樣對于復(fù)雜問題可以通過,增加神經(jīng)元在高維度通過更長且復(fù)雜的方式解決。
但是例如兩個相互套起來的環(huán),按照推測需要在四維空間中才能完全分開,然而我們難以想象四維空間,在現(xiàn)實世界的數(shù)據(jù)集中,這種死結(jié)或者纏繞問題可能會更復(fù)雜。
對于神經(jīng)網(wǎng)絡(luò)來,可以選擇 將打成死結(jié)的數(shù)據(jù)盡可能拉伸開,而不是完全解開 ,如下圖,對于分類問題來說,已經(jīng)具有較高的準(zhǔn)確率和召回率。
部分情況下,為了更精確地分類,較寬的神經(jīng)網(wǎng)絡(luò)可能相對深度來說更重要。
綜上所述
1. 神經(jīng)網(wǎng)絡(luò)中包含語義信息的不在每個獨立的神經(jīng)單元,而是整個空間。 神經(jīng)網(wǎng)絡(luò)在最后一層能將樣本中諸多變化的因子理清楚并理解其語義,并不是因為某個獨立神經(jīng)元中包含了什么特定的語義,而是 對整個空間進行變換后從最終的表征層中學(xué)到的 ,經(jīng)過學(xué)習(xí),神經(jīng)網(wǎng)絡(luò)會 放大某些相關(guān)因子,同時縮小某些無關(guān)因子 。
2. 神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)到的輸入到輸出的映射在很大程度上是不連續(xù)的。 就像上面圖中為了解開一個死結(jié)所做的拉伸結(jié)果一樣, 在人看來,在拉伸距離較大的地方我們可以認(rèn)為這種映射是連續(xù)的, 然而 對于仍然纏繞在一起的部分,之前可以用來劃分界限的直線或者超平面已經(jīng)無法連續(xù) 。
通過仔細(xì)觀察可以區(qū)分出來,但是上文只是一個簡單的例子,現(xiàn)實世界中的真實數(shù)據(jù)較為復(fù)雜,對于肉眼來說可能很難分清楚纏繞在一起的部分。對于神經(jīng)網(wǎng)絡(luò)來說, 對抗樣本已經(jīng)嚴(yán)重的跨過了用于分類的界限 ,而對于肉眼其實還 看不出來它有移動。
()線性特性的攻擊行為()和()高效制造對抗樣本的方法()
參考論文:
《Explaining and harnessing adversarial examples》
《對抗性例子的解讀和掌握》
深度神經(jīng)網(wǎng)絡(luò)在高緯空間中的線性特性已經(jīng)足以產(chǎn)生這種攻擊行為 ,并提出了一種 更高效生成對抗樣本的方法 ,接下來我們就簡單分析一下這一理論和方法。
目前神經(jīng)網(wǎng)絡(luò)為了提高訓(xùn)練效率所使用的激活函數(shù)在局部都過于線性。
例如:
類比先前舉出的拓?fù)鋵W(xué)例子,在 最后的表征層 都是 通過直線或超平面完成的分類 ,在線性的假設(shè)下,暫且不通過二維或三維空間來理解,先從一個簡單的數(shù)學(xué)公式角度開始。
數(shù)學(xué)解釋
公式內(nèi)容解釋:
w 是訓(xùn)練好的參數(shù)向量
x 表示真實樣本數(shù)據(jù)向量
η 表示給圖像加入的噪音向量
x ~表示加入噪音后新生成的樣本
當(dāng)加入足夠小的 η 時,肉眼無法區(qū)分出 x 的變化,直觀感覺上左邊的式子可能也不會變化很大。
事實上 ,然而 η 當(dāng)?shù)姆较蚺c w 完全一致的時候,即使很小,也會使整個激活值變化很大。
假設(shè)證明:
如果 w 是一個 n 維向量,而其權(quán)值的平均大小為 m,那么激活值將會增加 nm。可見,在一個肉眼幾乎無法差覺的擾動干擾下,對神經(jīng)網(wǎng)絡(luò)最終激活層的計算會產(chǎn)生巨大的干擾,從而迷惑神經(jīng)網(wǎng)絡(luò)訓(xùn)練出來的模型。
尋找正確方向
當(dāng) η 與 w 的方向一致時會使激活值最大,那么,如何找到這個正確的方向呢?
結(jié)論,那就是損失函數(shù)在待構(gòu)造樣本上的梯度方向,即下面的式子。
ε 是一個調(diào)節(jié)系數(shù)
sign() 是一個符號函數(shù),代表的意思也很簡單,就是取一個值的符號
(當(dāng)值大于 0 時取 1,當(dāng)值等于 0 時取 0,當(dāng)值小于 0 時取 -1)
▽ 表示求 x 的梯度,可以理解為偏導(dǎo),
J 是訓(xùn)練模型的損失函數(shù)。
結(jié)論的由來
在正常的神經(jīng)網(wǎng)絡(luò)模型訓(xùn)練過程中,有一個過程叫反向傳播,就是對參數(shù)求偏導(dǎo),然后將參數(shù)更新,我們結(jié)合下面這張圖看一下。
假設(shè)圖中的函數(shù)即為 損失函數(shù) ,為了使損失函數(shù)降到最低,我們會根據(jù)當(dāng)前值的梯度去調(diào)整。
當(dāng)梯度小于 0 的時候我們可以看出,當(dāng)前值需要右移。
而當(dāng)梯度大于 0 的時候,當(dāng)前值需要左移。
這個過程實際上就是用 θ 減去 θ。擴展到損失函數(shù) J(θ, x, y) 中,θ 即為 我們要調(diào)整的參數(shù) ,因此在樣本 x 和 y 不改變的情況下,我們會**不斷去調(diào)整參數(shù) θ **以尋求局部最優(yōu)解,即 θ = θ - θ 。
生成對抗樣本,也可以采用類似的方法,那就是 固定參數(shù) θ,調(diào)整 x 同時使損失函數(shù)增大 ,而不是變小,此時就應(yīng)該讓 x 往相反的方向走,即 x = x + x ,這樣是不是很容易可以理解上面 η 的定義呢?在實踐中,我們還需要通過 ε 這個參數(shù)來 調(diào)節(jié)噪音的大小 ,這種方法相比之前提到的優(yōu)化方法非常高效,基本只需要一次計算就可以找到對抗樣本,因此作者將這種方法叫做 快速梯度符號法 (Fast Gradient Sign Method,F(xiàn)GSM)??偨Y(jié)一下FGSM,這種方法通過替換目標(biāo)值 y 就可以 讓攻擊樣本朝著指定的分類目標(biāo)走 ,即,可以做任意目標(biāo)的欺騙。
將線性假設(shè)簡化到二維空間,我們要求的 η 其方向正好就接近于參數(shù) w 的方向,不再展開說明,有興趣的讀者可以自行畫一畫。
建立在一個高維空間線性的假設(shè)或猜測前提下,需要 實驗 支撐,根據(jù)下列圖片分析展開。
圖片解釋
這張圖是對數(shù)據(jù)集CIFAR-10的分類器的決策邊界示意圖。
其中每個小格子代表的是不同的CIFAR-10樣本,
每個小格子中:
橫向從左往右代表的是FGSM算法中的梯度方向,
縱向代表的是FGSM梯度方向的正交方向,
白色表示模型能分類正確的情況
彩色代表預(yù)測出錯的情況
不同的顏色代表不同的錯誤預(yù)測分類。
可以看出,在出錯的區(qū)域都程線性分布,另外,如果橫軸的方向走的不夠遠(yuǎn),即便再往其他方向走都無法使模型出錯,而一單進入這個區(qū)域,就會出現(xiàn)大量的對抗樣本。而在隨機找到的對抗樣本中,這種分布也是很隨機的,甚至很難找到,見下圖。
從實驗結(jié)果表明
高維空間中的線性假設(shè)也是合理的
舉例
一匹叫做 Clever Hans 的馬,剛出現(xiàn)的時候人們認(rèn)為這匹馬會做算術(shù),但實際上它只是會閱讀人的表情,當(dāng)它點馬蹄的次數(shù)接近正確答案時,人們的表情會更興奮,它就知道該這個時候停止了。
隱喻神經(jīng)網(wǎng)絡(luò),一個測試效果良好的分類器,其實并不像人類一樣學(xué)習(xí)到了所分類樣本的真正底層概念,只不過剛好構(gòu)建了一個在訓(xùn)練數(shù)據(jù)上運行相當(dāng)良好的模型,所以,你以為你以為的就是你以為的嗎?
分類器能夠在訓(xùn)練集的不同子集上訓(xùn)練時獲得大致相同的分類權(quán)重,因為機器學(xué)習(xí)算法能夠泛化, 基礎(chǔ)分類權(quán)重的穩(wěn)定性反過來又會導(dǎo)致對抗性樣本的穩(wěn)定性。因此, 對抗攻擊可以認(rèn)為是存在于任何神經(jīng)網(wǎng)絡(luò)模型。
以上是論文二的線性特性的攻擊行為
高效制造對抗樣本的方法
目前來看還沒有能夠完全抵抗這種攻擊的方法,其實結(jié)合攻擊的原理也不難看出,即便分類器做得再好,總能使一個樣本用最小的干擾走到錯誤的分類區(qū)域,我們能做的更多是如何構(gòu)造魯棒性更強的模型,同時也保持對這個領(lǐng)域的關(guān)注?!篠urvey』(注意第一篇論文的引用有注釋)中總結(jié)的目前抵御攻擊的辦法可以分為三大類:
1.修改訓(xùn)練樣本 ———— 通過添加更多的對抗樣本到訓(xùn)練集中可以有效避免一部分攻擊 ,但這更像是一種無奈的做法, 當(dāng)擴大樣本集的時候,其實分類邊界有可能也在隨之?dāng)U大 。
2.修改訓(xùn)練網(wǎng)絡(luò) ,這類方法會對訓(xùn)練網(wǎng)絡(luò)做出一定調(diào)整,其中有一種方式是模擬生物學(xué) 在最后一層使用更加非線性的激活函數(shù) ,但這種方式又會 導(dǎo)致訓(xùn)練效率和效果下降 。修改訓(xùn)練網(wǎng)絡(luò)的方法分為 完全抵抗 和 僅檢測 兩種方式,完全抵抗其實就是讓模型能將對抗樣本識別為正確的分類,而僅檢測是為了發(fā)現(xiàn)這種攻擊樣本,從而拒絕服務(wù)。
3.附加網(wǎng)絡(luò) ,這種方式是在 不改變原有模型的情況下使用額外的網(wǎng)絡(luò)進行輔助 ,這樣可以使原有網(wǎng)絡(luò)保持不變,其中最有效的一種方式是生成式對抗網(wǎng)絡(luò)——GAN。同樣的,這種方式也分為 完全抵抗 和 僅檢測 兩種方式。
總結(jié)一下
定義:
對抗樣本:是指在數(shù)據(jù)集中通過故意添加細(xì)微的干擾所形成的輸入樣本,會導(dǎo)致模型以高置信度給出一個錯誤的輸出。
原因分析:
對抗樣本出現(xiàn)的主要原因之一是過度線性, 神經(jīng)網(wǎng)絡(luò)主要是基于線性塊構(gòu)建的,實現(xiàn)的整體函數(shù)被證明是高度線性的,如果一個線性函數(shù)具有許多輸入,那么它的值可以非常迅速地改變。
參考:
四、深度學(xué)習(xí)什么是對抗式神經(jīng)網(wǎng)絡(luò)?
對抗式神經(jīng)網(wǎng)絡(luò) GAN
讓機器學(xué)會“左右互搏”
GAN網(wǎng)絡(luò)的原理本質(zhì)上就是這兩篇小說中主人公練功的人工智能或機器學(xué)習(xí)版本。
一個網(wǎng)絡(luò)中有兩個角色,修煉的過程中左手扮演攻方,即生成器(generator),試圖生成和自然世界中擬完成任務(wù)足夠相似的目標(biāo);右手扮演守方,即判別器(discriminator),試圖把這個假的、生成的目標(biāo)和真實目標(biāo)區(qū)分開來。經(jīng)過反復(fù)多次雙手互搏,左手右手的功力都會倍增,從而達(dá)到“舍我其誰”的目標(biāo)。
以上就是關(guān)于深度神經(jīng)網(wǎng)絡(luò)原理相關(guān)問題的回答。希望能幫到你,如有更多相關(guān)問題,您也可以聯(lián)系我們的客服進行咨詢,客服也會為您講解更多精彩的知識和內(nèi)容。
推薦閱讀:
京東快遞杭州龍井營業(yè)部(京東快遞杭州龍井營業(yè)部地址)