天天看點

cnn是深度神經網絡嗎,cnn神經網絡算法

cnn是深度神經網絡嗎,cnn神經網絡算法

1、深度學習和有效學習的差別

深度學習和有效學習的差別分别是:

1、深度學習是:Deep Learning,是一種機器學習的技術,由于深度學習在現代機器學習中的比重和價值非常巨大,是以常常将深度學習單獨拿出來說。

最初的深度學習網絡是利用神經網絡來解決特征層分布的一種學習過程。通常我們了解的DNN(深度神經網絡),CNN(卷積神經網絡),RNN(循環神經網絡),LSTM(長短期記憶網絡)都是隸屬于深度學習的範疇。

也是現代機器學習最常用的一些手段。通過這些手段,深度學習在視覺識别,語音識别,自然語言處理(NLP)等領域取得了使用傳統機器學習算法所無法取得的成就。

2、有效學習是:所謂有效學習就是智能系統從環境到行為映射的學習,以使獎勵信号(強化信号)函數值最大,由于外部給出的資訊很少。

有效學習系統必須依靠自身的經曆進行自我學習。通過這種學習擷取知識,改進行動方案以适應環境。有效學習最關鍵的三個因素是狀态,行為和環境獎勵。

機器學習是:Maching Learning,是實作人工智能的一種手段,也是目前被認為比較有效的實作人工智能的手段。

目前在業界使用機器學習比較突出的領域很多,例如計算機視覺、自然語言處理、推薦系統、文本分類等,大家生活中經常用到的比如高速公路上的ETC的車牌識别,蘋果手機的Siri,看今日頭條時給你推薦的新聞,再比如大家用天貓買東西看評論的時候的評價描述。

谷歌人工智能寫作項目:小發貓

cnn是深度神經網絡嗎,cnn神經網絡算法

2、把圖像輸入深度學習網絡中先縮小,對準确率有影響嗎

沒有cnn神經網絡深度學習。

深度學習利用了ResNet-50、MobileNetV2和MaskR-CNN等神經網絡的相同結構,同時接受頻域資訊作為輸入,即使在輸入大小為一半的情況下,該方法仍能将ResNet-50的前1位精度提高1.42%。

頻域學習比傳統的空間降采樣方法(将圖像空間大小調整為224×224,大多數CNN模型的預設輸入大小)在預處理階段更好地保留了圖像資訊,進而提高了精度。

3、深度學習和神經網絡的差別是什麼

這兩個概念實際上是互相交叉的,例如,卷積神經網絡(Convolutional neural networks,簡稱CNNs)就是一種深度的監督學習下的機器學習模型,而深度置信網(Deep Belief Nets,簡稱DBNs)就是一種無監督學習下的機器學習模型。

深度學習的概念源于人工神經網絡的研究。含多隐層的多層感覺器就是一種深度學習結構。深度學習通過組合低層特征形成更加抽象的高層表示屬性類别或特征,以發現資料的分布式特征表示。

深度學習的概念由Hinton等人于2006年提出。基于深信度網(DBN)提出非監督貪心逐層訓練算法,為解決深層結構相關的優化難題帶來希望,随後提出多層自動編碼器深層結構。此外Lecun等人提出的卷積神經網絡是第一個真正多層結構學習算法,它利用空間相對關系減少參數數目以提高訓練性能。

4、深度學習和cnn有什麼差別?

應該說,CNN(convolutional neural network)隻是深度學習中的一種算法,并且由于Lenet_5等模型的原因目前應用較為廣泛。其實,除了CNN之外,深度學習中還有其他的網絡算法,比如Hinton的DBNs,對于語音和自然語言處理還是不錯的,CNN目前主要應用于圖像識别和圖像分類

5、一維信号分類需要用複雜的深度學習神經網絡嗎?

一維信号分類需要用複雜的深度學習神經網絡。

一維信号分類需要用複雜的深度學習神經網絡來進行分類,同時深度學習算法(包括CNN)也肯定可以直接處理一維信号。舉個例子,深度殘差收縮網絡,就是用于處理一維振動信号的一種深度學習方法,可以作為參考。深度殘差收縮網絡其實是深度殘差網絡(ResNet)的新型改進,将軟門檻值化作為非線性層引入ResNet的網絡結構之中,其目的是提高深度學習方法在含噪聲資料或複雜資料上的特征學習效果。

直接把多通道的一維信号合并成二維圖像,然後直接按圖像卷積的方法去做~~當然,如果像ECG這種隻有單通道一維信号,也可以直接一維卷積,效果一般~~可以看看語音處理的相關Net,其中比較推薦的是用 dilated conv 來做

6、深度學習與神經網絡有什麼差別

深度學習與神經網絡關系

2017-01-10

最近開始學習深度學習,基本上都是zouxy09部落客的文章,寫的蠻好,很全面,也會根據自己的思路,做下删減,細化。

五、Deep Learning的基本思想

假設我們有一個系統S,它有n層(S1,…Sn),它的輸入是I,輸出是O,形象地表示為: I =>S1=>S2=>…..=>Sn => O,如果輸出O等于輸入I,即輸入I經過這個系統變化之後沒有任何的資訊損失(呵呵,大牛說,這是不可能的。資訊論中有個“資訊逐層丢失”的說法(資訊處理不等式),設處理a資訊得到b,再對b處理得到c,那麼可以證明:a和c的互資訊不會超過a和b的互資訊。這表明資訊處理不會增加資訊,大部分處理會丢失資訊。當然了,如果丢掉的是沒用的資訊那多好啊),保持了不變,這意味着輸入I經過每一層Si都沒有任何的資訊損失,即在任何一層Si,它都是原有資訊(即輸入I)的另外一種表示。現在回到我們的主題Deep Learning,我們需要自動地學習特征,假設我們有一堆輸入I(如一堆圖像或者文本),假設我們設計了一個系統S(有n層),我們通過調整系統中參數,使得它的輸出仍然是輸入I,那麼我們就可以自動地擷取得到輸入I的一系列層次特征,即S1,…, Sn。

對于深度學習來說,其思想就是對堆疊多個層,也就是說這一層的輸出作為下一層的輸入。通過這種方式,就可以實作對輸入資訊進行分級表達了。

另外,前面是假設輸出嚴格地等于輸入,這個限制太嚴格,我們可以略微地放松這個限制,例如我們隻要使得輸入與輸出的差别盡可能地小即可,這個放松會導緻另外一類不同的Deep Learning方法。上述就是Deep Learning的基本思想。

六、淺層學習(Shallow Learning)和深度學習(Deep Learning)

淺層學習是機器學習的第一次浪潮。

20世紀80年代末期,用于人工神經網絡的反向傳播算法(也叫Back Propagation算法或者BP算法)的發明,給機器學習帶來了希望,掀起了基于統計模型的機器學習熱潮。這個熱潮一直持續到今天。人們發現,利用BP算法可以讓一個人工神經網絡模型從大量訓練樣本中學習統計規律,進而對未知事件做預測。這種基于統計的機器學習方法比起過去基于人工規則的系統,在很多方面顯出優越性。這個時候的人工神經網絡,雖也被稱作多層感覺機(Multi-layer Perceptron),但實際是種隻含有一層隐層節點的淺層模型。

20世紀90年代,各種各樣的淺層機器學習模型相繼被提出,例如支撐向量機(SVM,Support Vector Machines)、 Boosting、最大熵方法(如LR,Logistic Regression)等。這些模型的結構基本上可以看成帶有一層隐層節點(如SVM、Boosting),或沒有隐層節點(如LR)。這些模型無論是在理論分析還是應用中都獲得了巨大的成功。相比之下,由于理論分析的難度大,訓練方法又需要很多經驗和技巧,這個時期淺層人工神經網絡反而相對沉寂。

深度學習是機器學習的第二次浪潮。

2006年,加拿大多倫多大學教授、機器學習領域的泰鬥Geoffrey Hinton和他的學生RuslanSalakhutdinov在《科學》上發表了一篇文章,開啟了深度學習在學術界和工業界的浪潮。這篇文章有兩個主要觀點:1)多隐層的人工神經網絡具有優異的特征學習能力,學習得到的特征對資料有更本質的刻畫,進而有利于可視化或分類;2)深度神經網絡在訓練上的難度,可以通過“逐層初始化”(layer-wise pre-training)來有效克服,在這篇文章中,逐層初始化是通過無監督學習實作的。

目前多數分類、回歸等學習方法為淺層結構算法,其局限性在于有限樣本和計算單元情況下對複雜函數的表示能力有限,針對複雜分類問題其泛化能力受到一定制約。深度學習可通過學習一種深層非線性網絡結構,實作複雜函數逼近,表征輸入資料分布式表示,并展現了強大的從少數樣本集中學習資料集本質特征的能力。(多層的好處是可以用較少的參數表示複雜的函數)

深度學習的實質,是通過建構具有很多隐層的機器學習模型和海量的訓練資料,來學習更有用的特征,進而最終提升分類或預測的準确性。是以,“深度模型”是手段,“特征學習”是目的。差別于傳統的淺層學習,深度學習的不同在于:1)強調了模型結構的深度,通常有5層、6層,甚至10多層的隐層節點;2)明确突出了特征學習的重要性,也就是說,通過逐層特征變換,将樣本在原空間的特征表示變換到一個新特征空間,進而使分類或預測更加容易。與人工規則構造特征的方法相比,利用大資料來學習特征,更能夠刻畫資料的豐富内在資訊。

七、Deep learning與Neural Network

深度學習是機器學習研究中的一個新的領域,其動機在于建立、模拟人腦進行分析學習的神經網絡,它模仿人腦的機制來解釋資料,例如圖像,聲音和文本。深度學習是無監督學習的一種。

深度學習的概念源于人工神經網絡的研究。含多隐層的多層感覺器就是一種深度學習結構。深度學習通過組合低層特征形成更加抽象的高層表示屬性類别或特征,以發現資料的分布式特征表示。

Deep learning本身算是machine learning的一個分支,簡單可以了解為neural network的發展。大約二三十年前,neural network曾經是ML領域特别火熱的一個方向,但是後來确慢慢淡出了,原因包括以下幾個方面:

1)比較容易過拟合,參數比較難tune,而且需要不少trick;

2)訓練速度比較慢,在層次比較少(小于等于3)的情況下效果并不比其它方法更優;

是以中間有大約20多年的時間,神經網絡被關注很少,這段時間基本上是SVM和boosting算法的天下。但是,一個癡心的老先生Hinton,他堅持了下來,并最終(和其它人一起Bengio、Yann.lecun等)提成了一個實際可行的deep learning架構。

Deep learning與傳統的神經網絡之間有相同的地方也有很多不同。

二者的相同在于deep learning采用了神經網絡相似的分層結構,系統由包括輸入層、隐層(多層)、輸出層組成的多層網絡,隻有相鄰層節點之間有連接配接,同一層以及跨層節點之間互相無連接配接,每一層可以看作是一個logistic regression模型;這種分層結構,是比較接近人類大腦的結構的。

而為了克服神經網絡訓練中的問題,DL采用了與神經網絡很不同的訓練機制。傳統神經網絡(這裡作者主要指前向神經網絡)中,采用的是back propagation的方式進行,簡單來講就是采用疊代的算法來訓練整個網絡,随機設定初值,計算目前網絡的輸出,然後根據目前輸出和label之間的差去改變前面各層的參數,直到收斂(整體是一個梯度下降法)。而deep learning整體上是一個layer-wise的訓練機制。這樣做的原因是因為,如果采用back propagation的機制,對于一個deep network(7層以上),殘差傳播到最前面的層已經變得太小,出現所謂的gradient diffusion(梯度擴散)。這個問題我們接下來讨論。

八、Deep learning訓練過程

8.1、傳統神經網絡的訓練方法為什麼不能用在深度神經網絡

BP算法作為傳統訓練多層網絡的典型算法,實際上對僅含幾層網絡,該訓練方法就已經很不理想。深度結構(涉及多個非線性處理單元層)非凸目标代價函數中普遍存在的局部最小是訓練困難的主要來源。

BP算法存在的問題:

(1)梯度越來越稀疏:從頂層越往下,誤差校正信号越來越小;

(2)收斂到局部最小值:尤其是從遠離最優區域開始的時候(随機值初始化會導緻這種情況的發生);

(3)一般,我們隻能用有标簽的資料來訓練:但大部分的資料是沒标簽的,而大腦可以從沒有标簽的的資料中學習;

8.2、deep learning訓練過程

如果對所有層同時訓練,時間複雜度會太高;如果每次訓練一層,偏差就會逐層傳遞。這會面臨跟上面監督學習中相反的問題,會嚴重欠拟合(因為深度網絡的神經元和參數太多了)。

2006年,hinton提出了在非監督資料上建立多層神經網絡的一個有效方法,簡單的說,分為兩步,一是每次訓練一層網絡,二是調優,使原始表示x向上生成的進階表示r和該進階表示r向下生成的x'盡可能一緻。方法是:

1)首先逐層建構單層神經元,這樣每次都是訓練一個單層網絡。

2)當所有層訓練完後,Hinton使用wake-sleep算法進行調優。

将除最頂層的其它層間的權重變為雙向的,這樣最頂層仍然是一個單層神經網絡,而其它層則變為了圖模型。向上的權重用于“認知”,向下的權重用于“生成”。然後使用Wake-Sleep算法調整所有的權重。讓認知和生成達成一緻,也就是保證生成的最頂層表示能夠盡可能正确的複原底層的結點。比如頂層的一個結點表示人臉,那麼所有人臉的圖像應該激活這個結點,并且這個結果向下生成的圖像應該能夠表現為一個大概的人臉圖像。Wake-Sleep算法分為醒(wake)和睡(sleep)兩個部分。

1)wake階段:認知過程,通過外界的特征和向上的權重(認知權重)産生每一層的抽象表示(結點狀态),并且使用梯度下降修改層間的下行權重(生成權重)。也就是“如果現實跟我想象的不一樣,改變我的權重使得我想象的東西就是這樣的”。

2)sleep階段:生成過程,通過頂層表示(醒時學得的概念)和向下權重,生成底層的狀态,同時修改層間向上的權重。也就是“如果夢中的景象不是我腦中的相應概念,改變我的認知權重使得這種景象在我看來就是這個概念”。

deep learning訓練過程具體如下:

1)使用自下上升非監督學習(就是從底層開始,一層一層的往頂層訓練):

采用無标定資料(有标定資料也可)分層訓練各層參數,這一步可以看作是一個無監督訓練過程,是和傳統神經網絡差別最大的部分(這個過程可以看作是feature learning過程):

具體的,先用無标定資料訓練第一層,訓練時先學習第一層的參數(這一層可以看作是得到一個使得輸出和輸入差别最小的三層神經網絡的隐層),由于模型capacity的限制以及稀疏性限制,使得得到的模型能夠學習到資料本身的結構,進而得到比輸入更具有表示能力的特征;在學習得到第n-1層後,将n-1層的輸出作為第n層的輸入,訓練第n層,由此分别得到各層的參數;

2)自頂向下的監督學習(就是通過帶标簽的資料去訓練,誤差自頂向下傳輸,對網絡進行微調):

基于第一步得到的各層參數進一步fine-tune整個多層模型的參數,這一步是一個有監督訓練過程;第一步類似神經網絡的随機初始化初值過程,由于DL的第一步不是随機初始化,而是通過學習輸入資料的結構得到的,因而這個初值更接近全局最優,進而能夠取得更好的效果;是以deep learning效果好很大程度上歸功于第一步的feature learning過程。

7、“深度學習”和“多層神經網絡”的差別 5

“深度學習”和“多層神經網絡”不存在差別關系。深度學習的網絡結構是多層神經網絡的一種。深度學習中最著名的卷積神經網絡CNN,在原來多層神經網絡的基礎上,加入了特征學習部分,這部分是模仿人腦對信号處理上的分級的。廣義上說深度學習的網絡結構也是多層神經網絡的一種。傳統意義上的多層神經網絡是隻有輸入層、隐藏層、輸出層。其中隐藏層的層數根據需要而定,沒有明确的理論推導來說明到底多少層合适。而深度學習中最著名的卷積神經網絡CNN,在原來多層神經網絡的基礎上,加入了特征學習部分,這部分是模仿人腦對信号處理上的分級的。具體操作就是在原來的全連接配接的層前面加入了部分連接配接的卷積層與降維層,而且加入的是一個層級。輸入層-卷積層-降維層-卷積層-降維層--.--隐藏層-輸出層簡單來說,原來多層神經網絡做的步驟是:特征映射到值。特征是人工挑選。深度學習做的步驟是信号->特征->值。特征是由網絡自己選擇。需要使用深度學習解決的問題有以下的特征:深度不足會出現問題。人腦具有一個深度結構。認知過程逐層進行,逐漸抽象。深度學習的核心思想:把學習結構看作一個網絡,則深度學習的核心思路如下:①無監督學習用于每一層網絡的pre-train;②每次用無監督學習隻訓練一層,将其訓練結果作為其高一層的輸入;③用自頂而下的監督算法去調整所有層

8、深度學習和神經網絡的差別是什麼?

這兩個概念實際上是互相交叉的,例如,卷積神經網絡(Convolutional neural networks,簡稱CNNs)就是一種深度的監督學習下的機器學習模型,而深度置信網(Deep Belief Nets,簡稱DBNs)就是一種無監督學習下的機器學習模型。

深度學習的概念源于人工神經網絡的研究。含多隐層的多層感覺器就是一種深度學習結構。深度學習通過組合低層特征形成更加抽象的高層表示屬性類别或特征,以發現資料的分布式特征表示。

深度學習的概念由Hinton等人于2006年提出。基于深信度網(DBN)提出非監督貪心逐層訓練算法,為解決深層結構相關的優化難題帶來希望,随後提出多層自動編碼器深層結構。此外Lecun等人提出的卷積神經網絡是第一個真正多層結構學習算法,它利用空間相對關系減少參數數目以提高訓練性能。

繼續閱讀