1. 關於利用卷積神經網路提取文本特徵,單層卷積和多層卷積有什麼差別,哪一種好,該怎麼去證明
關於利用卷積神經網路提取文本。大眾單層卷積和多層卷積有什麼區轉差率,哪一種它有很大的差距?因為他們倆的方向是不同的。
2. 深度學習和神經網路的區別是什麼
這兩個概念實際上是互相交叉的,例如,卷積神經網路(Convolutional neural networks,簡稱CNNs)就是一種深度的監督學習下的機器學習模型,而深度置信網(Deep Belief Nets,簡稱DBNs)就是一種無監督學習下的機器學習模型。
深度學習的概念源於人工神經網路的研究。含多隱層的多層感知器就是一種深度學習結構。深度學習通過組合低層特徵形成更加抽象的高層表示屬性類別或特徵,以發現數據的分布式特徵表示。
深度學習的概念由Hinton等人於2006年提出。基於深信度網(DBN)提出非監督貪心逐層訓練演算法,為解決深層結構相關的優化難題帶來希望,隨後提出多層自動編碼器深層結構。此外Lecun等人提出的卷積神經網路是第一個真正多層結構學習演算法,它利用空間相對關系減少參數數目以提高訓練性能。
3. 前饋神經網路、BP神經網路、卷積神經網路的區別與聯系
一、計算方法不同
1、前饋神經網路:一種最簡單的神經網路,各神經元分層排列。每個神經元只與前一層的神經元相連。接收前一層的輸出,並輸出給下一層.各層間沒有反饋。
2、BP神經網路:是一種按照誤差逆向傳播演算法訓練的多層前饋神經網路。
3、卷積神經網路:包含卷積計算且具有深度結構的前饋神經網路。
二、用途不同
1、前饋神經網路:主要應用包括感知器網路、BP網路和RBF網路。
2、BP神經網路:
(1)函數逼近:用輸入向量和相應的輸出向量訓練一個網路逼近一個函數;
(2)模式識別:用一個待定的輸出向量將它與輸入向量聯系起來;
(3)分類:把輸入向量所定義的合適方式進行分類;
(4)數據壓縮:減少輸出向量維數以便於傳輸或存儲。
3、卷積神經網路:可應用於圖像識別、物體識別等計算機視覺、自然語言處理、物理學和遙感科學等領域。
聯系:
BP神經網路和卷積神經網路都屬於前饋神經網路,三者都屬於人工神經網路。因此,三者原理和結構相同。
三、作用不同
1、前饋神經網路:結構簡單,應用廣泛,能夠以任意精度逼近任意連續函數及平方可積函數.而且可以精確實現任意有限訓練樣本集。
2、BP神經網路:具有很強的非線性映射能力和柔性的網路結構。網路的中間層數、各層的神經元個數可根據具體情況任意設定,並且隨著結構的差異其性能也有所不同。
3、卷積神經網路:具有表徵學習能力,能夠按其階層結構對輸入信息進行平移不變分類。
(3)多層感知器為什麼沒有卷積網路好擴展閱讀:
1、BP神經網路優劣勢
BP神經網路無論在網路理論還是在性能方面已比較成熟。其突出優點就是具有很強的非線性映射能力和柔性的網路結構。網路的中間層數、各層的神經元個數可根據具體情況任意設定,並且隨著結構的差異其性能也有所不同。但是BP神經網路也存在以下的一些主要缺陷。
①學習速度慢,即使是一個簡單的問題,一般也需要幾百次甚至上千次的學習才能收斂。
②容易陷入局部極小值。
③網路層數、神經元個數的選擇沒有相應的理論指導。
④網路推廣能力有限。
2、人工神經網路的特點和優越性,主要表現在以下三個方面
①具有自學習功能。例如實現圖像識別時,只在先把許多不同的圖像樣板和對應的應識別的結果輸入人工神經網路,網路就會通過自學習功能,慢慢學會識別類似的圖像。自學習功能對於預測有特別重要的意義。預期未來的人工神經網路計算機將為人類提供經濟預測、效益預測,其應用前途是很遠大的。
②具有聯想存儲功能。用人工神經網路的反饋網路就可以實現這種聯想。
③具有高速尋找優化解的能力。尋找一個復雜問題的優化解,往往需要很大的計算量,利用一個針對某問題而設計的反饋型人工神經網路,發揮計算機的高速運算能力,可能很快找到優化解。
4. 「深度學習」和「多層神經網路」的區別
深度學習是一種學習方式,指的是採用深度模型進行學習,不是模型。多層神經網路是一種模型
5. 有卷積神經網路/循環神經網路的matlab編程書籍嗎,求推薦,能分享最好
推薦書籍:《MATLAB深度學習 機器學習、神經網路與人工智慧》
作 者 :(美)Phil Kim著;敖富江,杜靜,周浩譯
出版發行 : 北京:清華大學出版社 , 2018.03
本書共6章,內容包括:機器學習、神經網路、多層神經網路的訓練、
神經網路與分類問題、深度學習、卷積神經網路。
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)來有效克服,在這篇文章中,逐層初始化是通過無監督學習實現的。
當前多數分類、回歸等學習方法為淺層結構演算法,其局限性在於有限樣本和計算單元情況下對復雜函數的表示能力有限,針對復雜分類問題其泛化能力受到一定製約。深度學習可通過學習一種深層非線性網路結構,實現復雜函數逼近,表徵輸入數據分布式表示,並展現了強大的從少數樣本集中學習數據集本質特徵的能力。(多層的好處是可以用較少的參數表示復雜的函數)
而為了克服神經網路訓練中的問題,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. 多層感知器為什麼性能沒有卷積網路好
1.感知器 感知器(Perceptron),是神經網路中的一個概念,在1950s由Frank Rosenblatt第一次引入。
2.單層感知器 單層感知器(Single Layer Perceptron)是最簡單的神經網路。它包含輸入層和輸出層,而輸入層和輸出層是直接相連的。 圖1.1便是一。
8. 卷積神經網路和深度神經網路的區別是什麼
作者:楊延生
鏈接:
來源:知乎
著作權歸作者所有,轉載請聯系作者獲得授權。
"深度學習"是為了讓層數較多的多層神經網路可以訓練,能夠work而演化出來的一系列的 新的結構和新的方法。
新的網路結構中最著名的就是CNN,它解決了傳統較深的網路參數太多,很難訓練的問題,使用了逗局部感受野地和逗權植共享地的概念,大大減少了網路參數的數量。關鍵是這種結構確實很符合視覺類任務在人腦上的工作原理。
新的結構還包括了:LSTM,ResNet等。
新的方法就多了:新的激活函數:ReLU,新的權重初始化方法(逐層初始化,XAVIER等),新的損失函數,新的防止過擬合方法(Dropout, BN等)。這些方面主要都是為了解決傳統的多層神經網路的一些不足:梯度消失,過擬合等。
---------------------- 下面是原答案 ------------------------
從廣義上說深度學習的網路結構也是多層神經網路的一種。
傳統意義上的多層神經網路是只有輸入層、隱藏層、輸出層。其中隱藏層的層數根據需要而定,沒有明確的理論推導來說明到底多少層合適。
而深度學習中最著名的卷積神經網路CNN,在原來多層神經網路的基礎上,加入了特徵學習部分,這部分是模仿人腦對信號處理上的分級的。具體操作就是在原來的全連接的層前面加入了部分連接的卷積層與降維層,而且加入的是一個層級。
輸入層 - 卷積層 -降維層 -卷積層 - 降維層 -- .... -- 隱藏層 -輸出層
簡單來說,原來多層神經網路做的步驟是:特徵映射到值。特徵是人工挑選。
深度學習做的步驟是 信號->特徵->值。 特徵是由網路自己選擇。