神經網路是由具有適應性的簡單單元組成的廣泛並行互聯的網路,它的組織能夠模擬生物神經系統對真實世界物體所做出的的互動反應。
乙個神經元會接收到來自其他n個神經元傳遞過來的輸入訊號,這些輸入訊號通過帶權重的連線進行傳遞,神經元接收到的總輸入值將與神經元的閾值進行比較,然後通過啟用函式處理以產生神經元的輸出。
我們可以將乙個神經網路視為包含了許多引數的數學模型,這個模型是若干個函式相互巢狀代入而得。有效的神經網路學習演算法大多數以數學證明為支撐。
感知機由兩層神經元組成,輸入層接受外界輸入訊號後傳遞給輸出層,輸出層是m-p神經元(閾值邏輯單元threshold logic unit)。感知機能容易的實現邏輯與、或、非運算。
對於給定的訓練集,權重wi以及閾值θ可通過學習得到。其中閾值θ可看作乙個固定輸入為-1的啞結點所對應的連線權重wn+1,這樣閾值的學習也可以看作是權重的學習了。
由於感知機只有輸出層神經元進行啟用函式處理,即只擁有一層功能神經元,在處理線性可分問題(如邏輯與、非、或運算)上效果很好,但在非線性可分問題(邏輯異或)上無法求得合適解。
多層(多層功能神經元)網路可以解決非線性可分問題(用線性超平面無法劃分的問題)。即在輸入輸出層之外再加入中間層,這個中間層也叫隱含層。隱含層可以是一到多層,當隱含層很多時,這時的神經網路就是深度神經網路。隱含層和輸出層都是擁有啟用函式的功能神經元。
神經網路的學習過程就是根據訓練資料來調整神經元之間的連線權以及每個功能神經元的閾值,也就是說,神經網路學到的東西蘊涵在連線權與閾值中。
*多層網路學習演算法的目標是通過調整網路中的權重和閾值使得神經網路模型的泛化誤差最小。*對於多層網路的訓練,需要用到更加強大的演算法,比如誤差逆傳播演算法(bp演算法)。
如何設定隱含層神經元的個數仍是個未決問題,實際應用中通常靠「試錯法」(trial-by-error)調整。
若用e表示神經網路在訓練集上的誤差,則他顯然是關於連線權ω和閾值θ的函式。因此,神經網路的訓練過程可看做乙個引數尋優過程,即在引數空間中,尋找一組最優引數使得e最小。
引數空間內梯度為0的點,只要其誤差函式值小於鄰點的誤差函式值,就是區域性極小點;可能存在多個區域性極小值,但只有乙個全域性極小值。
基於梯度的搜尋是使用最廣泛的引數尋優方法,我們從某些初始解出發,迭代尋找最優引數值。每次迭代中,我們先計算誤差函式在當前點的梯度,然後根據梯度來確定搜尋方向。如果誤差函式僅有乙個區域性極小,那麼此時找到的區域性極小就是全域性最小;但是如果有多個區域性極小,我們就需要跳出區域性極小,進一步接近全域性最小。
rbf(radial basis function,徑向基函式)網路是一種單隱層前饋神經網路。它的特點是:單隱層前饋神經網路結構;使用徑向基函式作為隱層的啟用函式,而輸出層則是對隱層神經元輸出的線性組合。
具體訓練過程:第一步,確定神經元中心,常用的包括隨機取樣、聚類等;第二步,利用bp演算法來確定引數。
art(adaptive resonance theory,自適應協振理論)網路是一種競爭型學習網路(神經網路中一種常用的無監督學習策略,在使用該策略時,網路的輸出神經元相互競爭,每一時刻只有乙個競爭獲勝的神經元被啟用)。它的特點是:兩層的神經網路結構,分別是比較層(輸入)和識別層(輸出);無監督的學習方式;競爭型的神經網路,即同時只有乙個識別層結點被啟用;識別層的神經元數量可以動態增加。
art網路訓練過程:對輸入的資料向量,找到與每個識別層神經元所對應的模式類代表向量的距離最小的神經元。如果這個距離小於閾值,則將這個資料歸入該神經元所屬的類中,並重新計算這個神經元的代表向量,否則重置模組並在識別層上增設乙個新的神經元,其代表向量就設為當前輸入向量。
som(self-organizing map,自組織對映)網路也是一種競爭學習型的無監督神經網路,它能將高維輸入資料對映到低維空間(通常為二維),同時保持 輸入資料在高維空間的拓撲結構。它的特點是:兩層的神經網路結構,分別是輸入層和輸出層(輸出層以矩陣方式排列在二維空間中);無監督的學習方式;競爭型的神經網路,即同時只有乙個識別層結點被啟用;
訓練過程如下:對每個訓練樣本,找到距離訓練樣本最近的輸出神經元,我們稱為最佳匹配單元;調整最佳匹配單元及其附近神經元的權向量,使得權向量與當前輸入樣本的距離縮小;不斷迭代直到收斂。
級聯相關網路是一種結構自適應網路,其不像一般的神經網路,它還將網路結構也當作學習的目標之一,並希望能在訓練過程中找到最符合資料特點的網路結構。和前饋神經網路相比,級聯相關網路無需設定網路層數、隱層神經元數目,所以訓練速度較快,但在資料較小時容易陷入過擬合。
訓練過程如下:剛開始訓練時,只有輸入和輸出層,處於最小拓撲結構;隨著訓練的進行,逐漸加入新的隱層神經元;其是通過最大化新神經元的輸出與網路誤差之間的相關性(correlation)來訓練相關引數。
遞迴神經(recurrent neural networks)網路允許網路**現環形結構,從而可讓一些神經元的輸出反饋回來作為輸入訊號。這樣的結構使得網路狀態不僅與自身狀態相關,還跟前一刻的狀態相關,從而能處理與時間有關的動態變化。
elman網路是最常用的乙個遞迴神經網路,其使用隱層神經元的輸出與下一刻的神經元輸入一起作為下一刻的輸入。它使用sigmoid啟用函式,並使用bp演算法進行訓練。
boltzmann機是一種「基於能量的模型」,其為網路狀態定義乙個「能量」,當能量最小化時網路達到理想狀態。它的特點是:兩層結構,顯層與隱層,顯層即代表輸入也代表輸出,隱層則被理解為資料的內部表達;神經元是布林型
訓練過程(對比散度 contrastive divergence 演算法)如下:通過輸入層算出隱層分布,再通過隱層分布重新算出輸入層的新分布;並利用新分布與舊分布之間的差別調整連線權重。
理論上來說,引數越多的模型複雜度越高,容量越大,這意味著它能完成更複雜的學習任務。但同樣的,複雜模型的缺點是訓練慢,且易陷入過擬合。
提高容量可以通過增加隱層的數目,隱層多了,相應的神經元連線權、閾值等引數就會更多;提高模型複雜度也可以通過單純增加隱層神經元數目來實現。但從增加模型複雜度角度看,增加隱層數目比增加隱層神經元數目更有效,因為這不僅增加了擁有啟用函式的神經元數目,還增加了啟用函式巢狀的層數。
困難:多層神經網路(深度學習)難以直接使用bp演算法進行訓練,因為誤差在多隱層內傳播時,往往會「發散」而不能收斂到穩定狀態。
深度學習採用無監督逐層訓練(unsupervised layer-wise training)來訓練模型,其基本思想是每次用無監督方法訓練一層隱結點,並用本層結點的輸出作為下一層隱結點的輸入,這稱為「預訓練」;在預訓練全部完成後,再對整個網路進行「微調」訓練。
機器學習第五章 神經網路1
1 定義 神經網路是由具有適應性的簡單單元組成的廣泛並行相連的網路,他的組織能夠模擬生物神經系統對真實世界物體作出互動反應 2神經網路中最基本的成分是神經元模型。3sigmoid函式可以把較大範圍內的輸入值,擠壓到0 1的輸入值範圍內 4感知機由兩層神經元組成,包括輸入層和輸出層。輸出層是mp神經元...
第五章 神經網路
單層感知器和啟用函式 亦或問題 與非概念 bp演算法 神經網路中誤差反向傳播 back propagation 演算法的工作原理 標準bp演算法與累積bp演算法 用到隨機梯度下降 競爭型學習som網路自組織對映 競爭學習演算法 競爭輸出乙個獲勝的 最優的 向量歸一化 競爭層 輸入層 k means的...
第五章 卷積神經網路
1單選 2分 已知兩層3 3的卷積核與一層5 5的卷積核具有相同的感受野,那麼前者 3 3 和後者 5 5 的參數量和計算量是什麼關係 特徵圖尺寸為32 2單選 2分 在批標準化 bn 操作中,如果batch size大小為32,特徵圖深度為16,那麼該bn層的總引數以及可訓練引數個數分別為 3單選...