⑴ CNN、RNN、DNN的內部網路結構有什麼區別
從廣義上來說,NN(或是更美的DNN)確實可以認為包含了CNN、RNN這些具體的變種形式。在實際應用中,所謂的深度神經網路DNN,往往融合了多種已知的結構,包括卷積層或是LSTM單元。但是就題主的意思來看,這里的DNN應該特指全連接的神經元結構,並不包含卷積單元或是時間上的關聯。
因此,題主一定要將DNN、CNN、RNN等進行對比,也未嘗不可。其實,如果我們順著神經網路技術發展的脈絡,就很容易弄清這幾種網路結構發明的初衷,和他們之間本質的區別。神經網路技術起源於上世紀五、六十年代,當時叫感知機(perceptron),擁有輸入層、輸出層和一個隱含層。輸入的特徵向量通過隱含層變換達到輸出層,在輸出層得到分類結果。
早期感知機的推動者是Rosenblatt。(扯一個不相關的:由於計算技術的落後,當時感知器傳輸函數是用線拉動變阻器改變電阻的方法機械實現的,腦補一下科學家們扯著密密麻麻的導線的樣子…)但是,Rosenblatt的單層感知機有一個嚴重得不能再嚴重的問題,即它對稍復雜一些的函數都無能為力(比如最為典型的「異或」操作)。
連異或都不能擬合,你還能指望這貨有什麼實際用途么。隨著數學的發展,這個缺點直到上世紀八十年代才被Rumelhart、Williams、Hinton、LeCun等人(反正就是一票大牛)發明的多層感知機(multilayer perceptron)克服。多層感知機,顧名思義,就是有多個隱含層的感知機。
⑵ 卷積神經網路和深度神經網路的區別是什麼
沒有卷積神經網路的說法,只有卷積核的說法。
電腦圖像處理的真正價值在於:一旦圖像存儲在電腦上,就可以對圖像進行各種有效的處理。如減小像素的顏色值,可以解決曝光過度的問題,模糊的圖像也可以進行銳化處理,清晰的圖像可以使用模糊處理模擬攝像機濾色鏡產生的柔和效果。
用Photoshop等圖像處理軟體,施展的魔法幾乎是無止境的。四種基本圖像處理效果是模糊、銳化、浮雕和水彩。ß這些效果是不難實現的,它們的奧妙部分是一個稱為卷積核的小矩陣。這個3*3的核含有九個系數。為了變換圖像中的一個像素,首先用卷積核中心的系數乘以這個像素值,再用卷積核中其它八個系數分別乘以像素周圍的八個像素,最後把這九個乘積相加,結果作為這個像素的值。對圖像中的每個像素都重復這一過程,對圖像進行了過濾。採用不同的卷積核,就可以得到不同的處理效果。ß用PhotoshopCS6,可以很方便地對圖像進行處理。
模糊處理——模糊的卷積核由一組系數構成,每個系數都小於1,但它們的和恰好等於1,每個像素都吸收了周圍像素的顏色,每個像素的顏色分散給了它周圍的像素,最後得到的圖像中,一些刺目的邊緣變得柔和。
銳化卷積核中心的系數大於1,周圍八個系數和的絕對值比中間系數小1,這將擴大一個像素與之周圍像素顏色之間的差異,最後得到的圖像比原來的圖像更清晰。
浮雕卷積核中的系數累加和等於零,背景像素的值為零,非背景像素的值為非零值。照片上的圖案好像金屬表面的浮雕一樣,輪廓似乎凸出於其表面。
要進行水彩處理,首先要對圖像中的色彩進行平滑處理,把每個像素的顏色值和它周圍的二十四個相鄰的像素顏色值放在一個表中,然後由小到大排序,把表中間的一個顏色值作為這個像素的顏色值。然後用銳化卷積核對圖像中的每個像素進行處理,以使得輪廓更加突出,最後得到的圖像很像一幅水彩畫。
我們把一些圖像處理技術結合起來使用,就能產生一些不常見的光學效果,例如光暈等等。
希望我能幫助你解疑釋惑。
⑶ 什麼是DNN網路它有何優點
(一)DDN簡介
數字數據網(DDN)是利用數字信道傳輸數據信號的數據傳輸網,它的傳輸媒介有光纜、數字微波、衛星信道以及用戶端可用的普通電纜和雙絞線。DDN以光纖為中繼干線網路,組成DDN的基本單位是節點,節點間通過光纖連接,構成網狀的拓撲結構,用戶的終端設備通過數據終端單元(DTU)與就近的節點機相連。可提供點對點、點對多點透明傳輸的數據專線出租電路,為用戶傳輸數據、圖像和聲音等信息。DDN向用戶提供的是半永久性的數字連接,沿途不進行復雜的軟體處理,因此延時較短。DDN採用交叉連接裝置,可根據用戶需要,在約定的時間內接通所需帶寬的線路,信道容量的分配和接續在計算機控制下進行,具有極大的靈活性,使用戶可以開通種類繁多的信息業務,傳輸任何合適的信息。DDN的業務特點如下:
l 提供點到點的通信,通信保密性強,特別適合
金融、保險客戶的需要。
l 傳輸速率高,網路時延小。
l 信道固定分配,保證通信的可靠性,不會受其他客戶使用情況的影響。
l DDN覆蓋面廣,可聯結國內外各主要城市。
l DDN為全透明網,對客戶通信協議沒有要求,客戶可自由選擇網路設備及協議。
l 技術成熟,運行管理簡便,極少出現重大阻斷。
l DDN是同步傳輸網,且沒有交換功能,缺乏靈活性。
(二)DDN的主要優點
傳輸速率高,網路時延小。由於DDN採用了同步傳輸模式的數字時分復用技術,用戶數據信息可根據事先約定的協議,在固定的時隙以預先設定的通道帶寬和速率順序傳輸,這樣只需按時隙識別通道就可以准確地將數據信息送到目的終端。由於信息是順序到達目的終端,免去了目的終端對信息的重組,因此減小了時延。目前DDN可達到的最高傳輸速率為155Mbps,平均時延小於450μs。另外,DDN可支持網
西京亮 18:00:43
絡層以及其上的任何協議,從而可滿足數據、圖像和聲音等多種業務的需要。
⑷ 計算機接入網際網路的方式中dnn指什麼
DDN是英文Digital Data Network的縮寫,這是隨著數據通信業務發展而迅速發展起來的一種新型網路。DDN的主幹網傳輸媒介有光纖、數字微波、衛星信道等,用戶端多使用普通電纜和雙絞線。DDN將數字通信技術、計算機技術、光纖通信技術以及數字交叉連接技術有機地結合在一起,提供了高速度、高質量的通信環境,可以向用戶提供點對點、點對多點透明傳輸的數據專線出租電路,為用戶傳輸數據、圖像、聲音等信息。DDN的通信速率可根據用戶需要在N×64kbps(N=1~32)之間進行選擇,當然速度越快租用費用也越高。用戶租用DDN業務需要申請開戶。DDN的收費一般可以採用包月制和計流量制,這與一般用戶撥號上網的按時計費方式不同。DDN的租用費較貴,普通個人用戶負擔不起,因此DDN主要面向集團公司等需要綜合運用的單位。
⑸ 電腦IP的DNN要怎樣設置
是DNS,這個東西是告知電腦去哪裡找到其他網站的IP的地址。1般情況下如果有提供就填上,沒提供就自動獲得。
⑹ 深度神經網路dnn怎麼調節參數
深度神經網路(DNN)目前是許多現代AI應用的基礎。
自從DNN在語音識別和圖像識別任務中展現出突破性的成果,使用DNN的應用數量呈爆炸式增加。這些DNN方法被大量應用在無人駕駛汽車,癌症檢測,游戲AI等方面。
在許多領域中,DNN目前的准確性已經超過人類。與早期的專家手動提取特徵或制定規則不同,DNN的優越性能來自於在大量數據上使用統計學習方法,從原始數據中提取高級特徵的能力,從而對輸入空間進行有效的表示。
然而,DNN超高的准確性是以超高的計算復雜度為代價的。
通常意義下的計算引擎,尤其是GPU,是DNN的基礎。因此,能夠在不犧牲准確性和增加硬體成本的前提下,提高深度神經網路的能量效率和吞吐量的方法,對於DNN在AI系統中更廣泛的應用是至關重要的。研究人員目前已經更多的將關注點放在針對DNN計算開發專用的加速方法。
鑒於篇幅,本文主要針對論文中的如下幾部分詳細介紹:
DNN的背景,歷史和應用
DNN的組成部分,以及常見的DNN模型
簡介如何使用硬體加速DNN運算
DNN的背景
人工智慧與深度神經網路
深度神經網路,也被稱為深度學習,是人工智慧領域的重要分支,根據麥卡錫(人工智慧之父)的定義,人工智慧是創造像人一樣的智能機械的科學工程。深度學習與人工智慧的關系如圖1所示:
圖1:深度神經網路與人工智慧的關系
人工智慧領域內,一個大的子領域是機器學習,由Arthur Samuel在1959年定義為:讓計算機擁有不需要明確編程即可學習的能力。
這意味著創建一個程序,這個程序可以被訓練去學習如何去做一些智能的行為,然後這個程序就可以自己完成任務。而傳統的人工啟發式方法,需要對每個新問題重新設計程序。
高效的機器學習演算法的優點是顯而易見的。一個機器學習演算法,只需通過訓練,就可以解決某一領域中每一個新問題,而不是對每個新問題特定地進行編程。
在機器學習領域,有一個部分被稱作brain-inspired computation。因為人類大腦是目前學習和解決問題最好的「機器」,很自然的,人們會從中尋找機器學習的方法。
盡管科學家們仍在探索大腦工作的細節,但是有一點被公認的是:神經元是大腦的主要計算單元。
人類大腦平均有860億個神經元。神經元相互連接,通過樹突接受其他神經元的信號,對這些信號進行計算之後,通過軸突將信號傳遞給下一個神經元。一個神經元的軸突分支出來並連接到許多其他神經元的樹突上,軸突分支和樹突之間的連接被稱為突觸。據估計,人類大腦平均有1014-1015個突觸。
突觸的一個關鍵特性是它可以縮放通過它的信號大小。這個比例因子可以被稱為權重(weight),普遍認為,大腦學習的方式是通過改變突觸的權重實現的。因此,不同的權重導致對輸入產生不同的響應。注意,學習過程是學習刺激導致的權重調整,而大腦組織(可以被認為是程序)並不改變。
大腦的這個特徵對機器學習演算法有很好的啟示。
神經網路與深度神經網路
神經元的計算是輸入值的加權和這個概念啟發了神經網路的研究。這些加權和對應於突觸的縮放值以及神經元所接收的值的組合。此外,神經元並不僅僅是輸入信號的加權和,如果是這樣的話,級聯的神經元的計算將是一種簡單的線性代數運算。
相反的是,神經元組合輸入的操作似乎是一種非線性函數,只有輸入達到某個閾值的時候,神經元才會生成輸出。因此,通過類比,我們可以知道神經網路在輸入值的加權和的基礎上應用了非線性函數。
圖2(a)展示了計算神經網路的示意圖,圖的最左邊是接受數值的「輸入層」。這些值被傳播到中間層神經元,通常也叫做網路的「隱藏層」。通過一個或更多隱藏層的加權和最終被傳播到「輸出層」,將神經網路的最終結果輸出給用戶。
圖2:神經網路示意圖
在神經網路領域,一個子領域被稱為深度學習。最初的神經網路通常只有幾層的網路。而深度網路通常有更多的層數,今天的網路一般在五層以上,甚至達到一千多層。
目前在視覺應用中使用深度神經網路的解釋是:將圖像所有像素輸入到網路的第一層之後,該層的加權和可以被解釋為表示圖像不同的低階特徵。隨著層數的加深,這些特徵被組合,從而代表更高階的圖像特徵。
例如,線可以被組合成形狀,再進一步,可以被組合成一系列形狀的集合。最後,再訓練好這些信息之後,針對各個圖像類別,網路給出由這些高階特徵組成各個對象的概率,即分類結果。
推理(Inference)與訓練(Training)
既然DNN是機器學習演算法中的一員,那麼它的基本編程思想仍然是學習。DNN的學習即確定網路的權重值。通常,學習過程被稱為訓練網路(training)。一旦訓練完成,程序可以使用由訓練確定的權值進行計算,這個使用網路完成任務的操作被被稱為推斷(inference)。
接下來,如圖3所示,我們用圖像分類作為例子來展示如何訓練一個深度神經網路。當我們使用一個DNN的時候,我們輸入一幅圖片,DNN輸出一個得分向量,每一個分數對應一個物體分類;得到最高分數的分類意味著這幅圖片最有可能屬於這個分類。
訓練DNN的首要目標就是確定如何設置權重,使得正確分類的得分最高(圖片所對應的正確分類在訓練數據集中標出),而使其他不正確分類的得分盡可能低。理想的正確分類得分與目前的權重所計算出的得分之間的差距被稱為損失函數(loss)。
因此訓練DNN的目標即找到一組權重,使得對一個較大規模數據集的loss最小。
圖3:圖像分類
權重(weight)的優化過程類似爬山的過程,這種方法被稱為梯度下降(gradient decent)。損失函數對每個權值的梯度,即損失函數對每個權值求偏導數,被用來更新權值(例:第t到t+1次迭代:,其中α被稱為學習率(Learning rate)。梯度值表明權值應該如何變化以減小loss。這個減小loss值的過程是重復迭代進行的。
梯度可以通過反向傳播(Back-Propagation)過程很高效地進行計算,loss的影響反向通過網路來計算loss是如何被每個權重影響的。
訓練權重有很多種方法。前面提到的是最常見的方法,被稱為監督學習,其中所有的訓練樣本是有標簽的。
無監督學習是另一種方法,其中所有訓練樣本都沒有標簽,最終目標是在數據中查找結構或聚類。半監督學習結合了兩種方法,只有訓練數據的一小部分被標記(例如,使用未標記的數據來定義集群邊界,並使用少量的標記數據來標記集群)。
最後,強化學習可以用來訓練一個DNN作為一個策略網路,對策略網路給出一個輸入,它可以做出一個決定,使得下一步的行動得到相應的獎勵;訓練這個網路的過程是使網路能夠做出使獎勵(即獎勵函數)最大化的決策,並且訓練過程必須平衡嘗試新行為(Exploration)和使用已知能給予高回報的行為(Exploitation)兩種方法。
用於確定權重的另一種常用方法是fine-tune,使用預先訓練好的模型的權重用作初始化,然後針對新的數據集(例如,傳遞學習)或新的約束(例如,降低的精度)調整權重。與從隨機初始化開始相比,能夠更快的訓練,並且有時會有更好的准確性。
⑺ DNN、RNN、CNN分別是什麼意思
DNN(深度神經網路),是深度學習的基礎。
DNN可以理解為有很多隱藏層的神經網路。這個很多其實也沒有什麼度量標准, 多層神經網路和深度神經網路DNN其實也是指的一個東西,當然,DNN有時也叫做多層感知機(Multi-Layer perceptron,MLP)。
從DNN按不同層的位置劃分,DNN內部的神經網路層可以分為三類,輸入層,隱藏層和輸出層,如下圖示例,一般來說第一層是輸出層,最後一層是輸出層,而中間的層數都是隱藏層。
CNN(卷積神經網路),是一種前饋型的神經網路,目前深度學習技術領域中非常具有代表性的神經網路之一。
CNN在大型圖像處理方面有出色的表現,目前已經被大范圍使用到圖像分類、定位等領域中。相比於其他神經網路結構,卷積神經網路需要的參數相對較少,使的其能夠廣泛應用。
RNN(循環神經網路),一類用於處理序列數據的神經網路,RNN最大的不同之處就是在層之間的神經元之間也建立的權連接。
從廣義上來說,DNN被認為包含了CNN、RNN這些具體的變種形式。在實際應用中,深度神經網路DNN融合了多種已知的結構,包含卷積層或LSTM單元,特指全連接的神經元結構,並不包含卷積單元或時間上的關聯。
⑻ 深度學習之損失函數與激活函數的選擇
深度學習之損失函數與激活函數的選擇
在深度神經網路(DNN)反向傳播演算法(BP)中,我們對DNN的前向反向傳播演算法的使用做了總結。其中使用的損失函數是均方差,而激活函數是Sigmoid。實際上DNN可以使用的損失函數和激活函數不少。這些損失函數和激活函數如何選擇呢?以下是本文的內容。
MSE損失+Sigmoid激活函數的問題
先來看看均方差+Sigmoid的組合有什麼問題。回顧下Sigmoid激活函數的表達式為:
函數圖像如下:
從圖上可以看出,對於Sigmoid,當z的取值越來越大後,函數曲線變得越來越平緩,意味著此時的導數σ′(z)也越來越小。同樣的,當z的取值越來越小時,也有這個問題。僅僅在z取值為0附近時,導數σ′(z)的取值較大。在均方差+Sigmoid的反向傳播演算法中,每一層向前遞推都要乘以σ′(z),得到梯度變化值。Sigmoid的這個曲線意味著在大多數時候,我們的梯度變化值很小,導致我們的W,b更新到極值的速度較慢,也就是我們的演算法收斂速度較慢。那麼有什麼什麼辦法可以改進呢?
交叉熵損失+Sigmoid改進收斂速度
Sigmoid的函數特性導致反向傳播演算法收斂速度慢的問題,那麼如何改進呢?換掉Sigmoid?這當然是一種選擇。另一種常見的選擇是用交叉熵損失函數來代替均方差損失函數。每個樣本的交叉熵損失函數的形式:
其中,?為向量內積。這個形式其實很熟悉,在邏輯回歸原理小結中其實我們就用到了類似的形式,只是當時我們是用最大似然估計推導出來的,而這個損失函數的學名叫交叉熵。
使用了交叉熵損失函數,就能解決Sigmoid函數導數變化大多數時候反向傳播演算法慢的問題嗎?我們來看看當使用交叉熵時,我們輸出層δL的梯度情況。
對比一下均方差損失函數時在δL梯度
使用交叉熵,得到的的δl梯度表達式沒有了σ′(z),梯度為預測值和真實值的差距,這樣求得的Wl,bl的梯度也不包含σ′(z),因此避免了反向傳播收斂速度慢的問題。通常情況下,如果我們使用了sigmoid激活函數,交叉熵損失函數肯定比均方差損失函數好用。
對數似然損失+softmax進行分類輸出
在前面我們都假設輸出是連續可導的值,但是如果是分類問題,那麼輸出是一個個的類別,那我們怎麼用DNN來解決這個問題呢?
DNN分類模型要求是輸出層神經元輸出的值在0到1之間,同時所有輸出值之和為1。很明顯,現有的普通DNN是無法滿足這個要求的。但是我們只需要對現有的全連接DNN稍作改良,即可用於解決分類問題。在現有的DNN模型中,我們可以將輸出層第i個神經元的激活函數定義為如下形式:
這個方法很簡潔漂亮,僅僅只需要將輸出層的激活函數從Sigmoid之類的函數轉變為上式的激活函數即可。上式這個激活函數就是我們的softmax激活函數。它在分類問題中有廣泛的應用。將DNN用於分類問題,在輸出層用softmax激活函數也是最常見的了。
對於用於分類的softmax激活函數,對應的損失函數一般都是用對數似然函數,即:
其中yk的取值為0或者1,如果某一訓練樣本的輸出為第i類。則yi=1,其餘的j≠i都有yj=0。由於每個樣本只屬於一個類別,所以這個對數似然函數可以簡化為:
可見損失函數只和真實類別對應的輸出有關,這樣假設真實類別是第i類,則其他不屬於第i類序號對應的神經元的梯度導數直接為0。對於真實類別第i類,它的WiL對應的梯度計算為:
可見,梯度計算也很簡潔,也沒有第一節說的訓練速度慢的問題。當softmax輸出層的反向傳播計算完以後,後面的普通DNN層的反向傳播計算和之前講的普通DNN沒有區別。
梯度爆炸or消失與ReLU
學習DNN,大家一定聽說過梯度爆炸和梯度消失兩個詞。尤其是梯度消失,是限制DNN與深度學習的一個關鍵障礙,目前也沒有完全攻克。
什麼是梯度爆炸和梯度消失呢?簡單理解,就是在反向傳播的演算法過程中,由於我們使用了是矩陣求導的鏈式法則,有一大串連乘,如果連乘的數字在每層都是小於1的,則梯度越往前乘越小,導致梯度消失,而如果連乘的數字在每層都是大於1的,則梯度越往前乘越大,導致梯度爆炸。
比如如下的梯度計算:
如果不巧我們的樣本導致每一層的梯度都小於1,則隨著反向傳播演算法的進行,我們的δl會隨著層數越來越小,甚至接近越0,導致梯度幾乎消失,進而導致前面的隱藏層的W,b參數隨著迭代的進行,幾乎沒有大的改變,更談不上收斂了。這個問題目前沒有完美的解決辦法。
而對於梯度爆炸,則一般可以通過調整我們DNN模型中的初始化參數得以解決。
對於無法完美解決的梯度消失問題,一個可能部分解決梯度消失問題的辦法是使用ReLU(Rectified Linear Unit)激活函數,ReLU在卷積神經網路CNN中得到了廣泛的應用,在CNN中梯度消失似乎不再是問題。那麼它是什麼樣子呢?其實很簡單,比我們前面提到的所有激活函數都簡單,表達式為:
也就是說大於等於0則不變,小於0則激活後為0。
其他激活函數
DNN常用的激活函數還有:
tanh
這個是sigmoid的變種,表達式為:
tanh激活函數和sigmoid激活函數的關系為:
tanh和sigmoid對比主要的特點是它的輸出落在了[-1,1],這樣輸出可以進行標准化。同時tanh的曲線在較大時變得平坦的幅度沒有sigmoid那麼大,這樣求梯度變化值有一些優勢。當然,要說tanh一定比sigmoid好倒不一定,還是要具體問題具體分析。
softplus
這個其實就是sigmoid函數的原函數,表達式為:
它的導數就是sigmoid函數。softplus的函數圖像和ReLU有些類似。它出現的比ReLU早,可以視為ReLU的鼻祖。
PReLU
從名字就可以看出它是ReLU的變種,特點是如果未激活值小於0,不是簡單粗暴的直接變為0,而是進行一定幅度的縮小。如下圖。
小結
上面我們對DNN損失函數和激活函數做了詳細的討論,重要的點有:
1)如果使用sigmoid激活函數,則交叉熵損失函數一般肯定比均方差損失函數好;
2)如果是DNN用於分類,則一般在輸出層使用softmax激活函數和對數似然損失函數;
3)ReLU激活函數對梯度消失問題有一定程度的解決,尤其是在CNN模型中。
⑼ CNN(卷積神經網路)、RNN(循環神經網路)、DNN(深度神經網路)的內部網路結構有什麼區別
如下:
1、DNN:存在著一個問題——無法對時間序列上的變化進行建模。然而,樣本出現的時間順序對於自然語言處理、語音識別、手寫體識別等應用非常重要。對了適應這種需求,就出現了另一種神經網路結構——循環神經網路RNN。
2、CNN:每層神經元的信號只能向上一層傳播,樣本的處理在各個時刻獨立,因此又被稱為前向神經網路。
3、RNN:神經元的輸出可以在下一個時間戳直接作用到自身,即第i層神經元在m時刻的輸入,除了(i-1)層神經元在該時刻的輸出外,還包括其自身在(m-1)時刻的輸出!
介紹
神經網路技術起源於上世紀五、六十年代,當時叫感知機(perceptron),擁有輸入層、輸出層和一個隱含層。輸入的特徵向量通過隱含層變換達到輸出層,在輸出層得到分類結果。早期感知機的推動者是Rosenblatt。
在實際應用中,所謂的深度神經網路DNN,往往融合了多種已知的結構,包括卷積層或是LSTM單元。