粗略地說,神經網絡是壹組連接的輸入/輸出單元,其中每個連接都與壹個權重相關聯。在學習階段,通過調整權值來逐步提高神經網絡的預測精度。由於單元之間的聯系,神經網絡學習也被稱為連接器學習。
神經網絡是在模擬人腦神經元數學模型的基礎上建立起來的。它由壹系列神經元組成,細胞之間相互連接。從信息處理的角度來看,神經元可以看作是壹個多輸入單輸出的信息處理單元。根據神經元的特性和功能,可以將神經元抽象成壹個簡單的數學模型。
神經網絡有三個要素:拓撲結構、連接方式和學習規則。
神經網絡的拓撲結構:神經網絡的單元通常是分層排列的。根據網絡的層數,神經網絡可分為單層神經網絡、兩層神經網絡和三層神經網絡。結構簡單的神經網絡學習收斂快,但精度低。
神經網絡每層的層數和單元數取決於問題的復雜程度。問題越復雜,神經網絡的層數就越多。比如兩層神經網絡常用來解決線性問題,而多層網絡可以解決多元非線性問題。
神經網絡連接:包括層與層之間的連接和各層內部的連接,連接的強度用權重表示。
根據層次之間的連接方式,可以分為:
1)前饋網絡:連接是單向的,上層單元的輸出是下層單元的輸入,如反向傳播網絡、Kohonen網絡等。
2)反饋網絡:除了單連接外,最後壹層單元的輸出作為第壹層單元的輸入,如Hopfield網絡。
根據連接的範圍,它分為:
1)全連接神經網絡:每個單元與相鄰層上的所有單元相連。
2)本地連接網絡:每個單元只與相鄰層的壹些單元連接。
神經網絡學習
根據學習方法:
感知器:壹種有監督的學習方法,訓練樣本的類別是已知的,它在學習過程中指導模型的訓練。
認知裝置:無監督學習法,訓練樣本類別未知,每個單元通過競爭學習。
根據學習時間:
離線網絡:學習過程和使用過程是獨立的。
在線網絡:學習過程和使用過程同步進行。
根據學習規則:
關聯學習網絡:根據連接之間的活躍程度改變權重系數。
糾錯學習網絡:根據輸出單元的外部反饋改變權系數。
自組織學習網絡:自適應地學習輸入。
從數學美看人工神經網絡的大眾化:
神經網絡有很多種,常用的有以下四種:
1)Hopfield網絡,典型的反饋網絡,單層結構,單元組成相同。
2)反向傳播網絡、前饋網絡、多層結構、最小均方誤差校正學習規則常用於語言識別和分類。
3)Kohonen網絡:典型的自組織網絡,由輸入層和輸出層組成,全連通。
4)藝術網絡:自組織網絡
深度神經網絡:
卷積神經網絡(CNN)
遞歸神經網絡(RNN)遞歸神經網絡
深度信念網絡(DBN)深度信念網絡
深度學習是指在多層神經網絡上使用各種機器學習算法解決圖像、文本等各種問題的算法集合。深度學習壹般可以歸為神經網絡,但在實現上有很多變化。
深度學習的核心是特征學習,目的是通過層次網絡獲取層次特征信息,從而解決過去手工設計特征的重要問題。
機器學習vs .深度學習?
神經網絡(主要是感知器)常用於分類。
神經網絡的分類知識體現在網絡連接中,隱含存儲在連接的權重中。
神經網絡的學習是通過叠代算法逐步修正權值的優化過程。學習的目標是通過改變權重使訓練集的樣本正確分類。
神經網絡特別適合於下列情況的分類:
1)數據比較少,沒有足夠的樣本來建立模型。
2)數據結構難以用傳統的統計方法描述。
3)分類模型難以表示為傳統的統計模型。
缺點:
1)?需要較長的訓練時間,所以比較適合訓練時間充足的應用。
2)?需要大量的參數,這些參數通常主要由經驗確定,例如網絡拓撲或“結構”。
3)?可解釋性差。這壹特點使得神經網絡在數據挖掘的初期並不被看好。
優勢:
1)分類準確率高。
2)強大的並行分布式處理能力。
3)高分布式存儲和學習能力。
4)對噪聲數據具有很強的魯棒性和容錯性。
基於神經網絡的最流行的分類算法是20世紀80年代提出的反向傳播算法。在多通道前饋神經網絡上學習反向傳播算法。?
定義網絡拓撲
在開始訓練之前,用戶必須指定輸入層的單元數量、隱藏層的數量(如果有多個層)、每個隱藏層的單元數量和輸出層的單元數量,以確定網絡拓撲。
規範化訓練樣本中每個屬性的值將有助於加快學習過程。壹般來說,輸入值是歸壹化的,因此它們在0.0和1.0之間。
離散值屬性可以重新編碼,以便每個字段都有壹個輸入單元。例如,如果屬性A的域是(a0,a1,a2),則可以分配三個輸入單元來表示A..也就是我們可以用I0,I1,I2作為輸入單位。每個單元被初始化為0。如果A = a0,則I0設置為1;如果A = a1,則I1設置為1;像這樣繼續下去。
壹個輸出單元可以用來表示兩個類(值1表示壹個類,值0表示另壹個類)。如果有兩個以上的類,每個類使用壹個輸出單元。
關於設置多少個“最佳”隱藏層單元,沒有明確的規定。
網絡設計是壹個實驗過程,可能會影響準確性。權重的初始值也會影響精度。如果訓練好的網絡精度太低,通常需要采用不同的網絡拓撲或使用不同的初始權值來重復訓練。
反向傳播算法的學習過程:
叠代處理壹組訓練樣本,並將每個樣本的網絡預測與實際類別標簽進行比較。
在每次叠代之後,修改權重以最小化網絡預測和實際類別之間的均方誤差。
這種修改是“向後”進行的。即從輸出層,通過每個隱藏層,到第壹個隱藏層(因此稱為反向傳播)。雖然不能保證,但總的來說,權利最終會收斂,學習過程會停止。
算法的終止條件:訓練集中正確分類的樣本達到壹定比例,或者權重系數趨近穩定。
反向傳播算法分為以下步驟:
1)初始化權
網絡的權重通常被初始化為壹個小的隨機數(例如,範圍是從-1.0到1.0,或者從-0.5到0.5)。
為每個單元提供壹個偏置,該偏置也被初始化為壹個小的隨機數。
2)向前傳播輸入
對於每個樣品x,重復以下兩個步驟:
向前傳播輸入,向後傳播錯誤。
計算每層中每個單元的輸入和輸出。輸入層:輸出=輸入=樣本X的屬性;即對於單位j,Oj = Ij = Xj。隱層和輸出層:輸入=上壹層輸出的線性組合,即對於單元j,Ij =wij Oi+θj,output =
3)反向傳播誤差
計算每層中每個單元的誤差。
輸出層單元j,錯誤:
Oj是單位J的實際產量,t J是J的實際產量
隱藏層單元j,錯誤:
Wjk是j到下壹層單元格k的連接權重,Errk是單元格k的誤差。
更新權重和偏差以反映傳播誤差。
權利通過以下公式更新:
?其中△wij是重量wij的變化。l是學習率,通常取0到1之間的值。
?偏移量由下式更新:
?其中△θj是失調θj的變化..
例子
人類視覺的原則:
深度學習的很多研究成果都離不開大腦認知原理的研究,尤其是視覺原理的研究。1981諾貝爾醫學獎授予了出生於加拿大的美國神經生物學家大衛·胡貝爾(David Hubel)、托爾斯滕·威塞爾(Torsten Wiesel)和羅傑·斯佩裏。前兩者的主要貢獻是“發現視覺系統的信息處理”,視覺皮層是有層次的。
人的視覺原理是這樣的:從原始信號攝取(像素被瞳孔攝取)開始,然後做初步處理(大腦皮層的壹些細胞找到邊緣和方向),然後抽象(大腦確定我們面前的物體形狀是圓的),然後進壹步抽象(大腦進壹步確定物體是氣球)。
對於不同的對象,人類視覺也通過這種分層分類來識別:
最底層特征基本相似,即邊緣越高特征越多(車輪、眼睛、軀幹等。)這樣的對象。在頂層,不同的高級特征最終組合成相應的圖像,使人們能夠準確地區分不同的物體。
人們很自然地會想:是否可以模仿人腦的這種特征,構造壹個多層神經網絡,在較低層識別出初級的圖像特征,再用幾個底層特征形成較高層的特征,最後通過多層次的組合在頂層進行分類?答案是肯定的,這也是很多深度學習算法(包括CNN)的靈感來源。
卷積神經網絡是壹種多層神經網絡,擅長處理與圖像尤其是大圖像相關的機器學習問題。通過壹系列方法,卷積網絡成功地降低了數據量巨大的圖像識別問題的維數,最終使其能夠被訓練。
CNN最早由Yann LeCun提出,並應用於手寫字體識別。LeCun提出的網絡稱為LeNet,其網絡結構如下:
這是壹個典型的卷積網絡,由卷積層、匯集層和全連通層組成。其中卷積層和池層合作形成多個卷積組,逐層提取特征,最後通過幾個全連通層完成分類。
CNN通過卷積模擬特征分化,通過共享和匯集卷積的權重來降低網絡參數的數量級,最終通過傳統的神經網絡完成分類等任務。
降低參數的階數:如果用傳統的神經網絡對壹張圖片進行分類,那麽圖片的每壹個像素都連接到隱層節點上。對於壹張1000x1000像素的圖片,如果有1M個隱藏層單元,則有10個10個。
但在CNN中,基於以下兩個假設,參數的數量可以大大減少:
1)最底層的特征都是局部的,也就是說大小為10x10的濾波器可以表示邊緣等底層特征。
2)圖像上不同的小片段和不同圖像上的小片段的特征是相似的,也就是說,可以用同壹套分類器來描述各種不同的圖像。
基於以上兩個假設,第壹層網絡結構可以簡化。
用100的10x10的小濾鏡,可以描繪出整個畫面上的底層特征。
卷積運算的定義如下圖所示:
如上所示,5x5圖像使用3x3卷積核:
1 0 1
0 1 0
1 0 1
對圖像進行卷積(可以理解為有滑動窗口,卷積核乘以對應的圖像像素再求和),得到3×3的卷積結果。
這個過程可以理解為用壹個濾波器(卷積核)對圖像的小區域進行濾波,從而得到這些小區域的特征值。在實際訓練過程中,卷積核的值是在學習過程中學習的。
在具體應用中,往往有多個卷積核。可以認為每個卷積核代表壹種圖像模式。如果與該卷積核卷積的圖像塊的值大,則認為該圖像塊非常接近該卷積核。如果設計六個卷積核,可以理解為這個圖像上有六個底層紋理圖案,也就是說,壹個圖像可以用六個基本圖案來繪制。以下是24種不同卷積核的示例:
合並的過程如下圖所示:
可以看到原圖是20x20,采樣窗口是10x10,最後采樣成2x2的特征圖。
這樣做是因為即使卷積後,圖像仍然很大(因為卷積核比較小),所以為了降低數據維數,進行采樣。
即使減少了大量數據,特征的統計性質仍然可以描述圖像,並且由於降低了數據維度,有效地避免了過擬合。
在實際應用中,可分為最大池法和均值池法。
LeNet網絡結構:
註意上圖中S2和C3的連接方式不是全連接,而是部分連接。最後,通過完全連接層C5和F6獲得10個輸出,對應於10個數字的概率。
卷積神經網絡的訓練過程和傳統神經網絡類似,也參考了反向傳播算法。
第壹階段,正向傳播階段:
a)從樣本集中取壹個樣本(X,Yp)並將X輸入到網絡中;
b)計算相應的實際輸出op
第二階段,反向傳播階段
a)計算實際輸出Op和相應的理想輸出Yp之間的差值;
b)通過最小化誤差反向傳播調整權重矩陣。