讀書筆記 神經網路與深度學習(三)前饋神經網路

2021-09-25 02:42:13 字數 2403 閱讀 8406

從機器學習的角度看,神經網路一般可以看做是乙個非線性模型。

淨輸入z 在經過乙個非線性函式f(·)後,得到神經元的活性值(activation)a,a = f(z), 其中非線性函式f(·)稱為啟用函式(activation function)。

啟用函式 啟用函式在神經元中非常重要的。為了增強網路的表示能力和學習能力,啟用函式需要具備以下幾點性質:

連續並可導(允許少數點上不可導)的非線性函式。可導的啟用函式可以直接利用數值優化的方法來學習網路引數。

啟用函式及其導函式要盡可能的簡單,有利於提高網路計算效率。

啟用函式的導函式的值域要在乙個合適的區間內,不能太大也不能太小,否則會影響訓練的效率和穩定性。

sigmoid型函式是指一類s型曲線函式,為兩端飽和函式.常用的sigmoid型 函式有logistic函式和tanh函式。

對於函式f(x),若x → −∞時,其導數f′(x) → 0,則稱其為左飽和。若x → +∞時,其導數f′(x) → 0,則稱其為右飽和。當同時滿足左、右飽和時,就稱為兩端飽和。

修正線性單元(rectified linear unit,relu),也叫rectifier函式,是目前深層神經網路中經常使用的啟用函式。

swish 函式是一種自門控(self-gated)啟用函式。swish(x) = xσ(βx), 其中σ(·)為logistic函式,β 為可學習的引數或乙個固定超引數。σ(·) ∈ (0, 1)可以看作是一種軟性的門控機制。當σ(βx)接近於1時,門處於「開」狀態,啟用函式的輸出近似於x本身;當σ(βx)接近於0時,門的狀態為「關」,啟用函式的輸出近似於0。

輸入是上一層神經元的全部原始輸入,是乙個向量x = [x1; x2; · · · , xd]。

前饋網路包括全連線前饋網路[本章中的第4.3節] 和卷積神經網路[第5章]等。

前饋網路可以看作乙個函式,通過簡單非線性函式的多次復合,實現輸入空間到輸出空間的複雜對映。這種網路結構簡單,易於實現

記憶網路,也稱為反饋網路,網路中的神經元不但可以接收其它神經元的資訊,也可以接收自己的歷史資訊。和前饋網路相比,記憶網路中的神經元具有記憶功能,在不同的時刻具有不同的狀態。記憶神經網路中的資訊傳播可以是單向或雙向傳遞,因此可用乙個有向迴圈圖或無向圖來表示。記憶網路包括迴圈神經網路[第6章],hopfield網路[第6章]、玻爾茲曼機[第12章]等。

為了增強記憶網路的記憶容量,可以引入外部記憶單元和讀寫機制,用來儲存一些網路的中間狀態,成為記憶增強神經網路。

前饋網路和反饋網路難以處理圖結構的資料。

圖網路是前饋網路和記憶網路的泛化,包含很多事實現方式,如圖卷積網路,訊息傳遞網路等。

前饋神經網路fnn,是最早發明的簡單人工神經網路。也稱為多層感知器。(實際上是多層的logistic回歸模型)

前饋神經網路通過逐層的資訊傳遞, 最後得到網路最後的輸出。

前饋神經網路具有很強的擬合能力,常見的連續非線性函式都可以用前饋網路來近似。

根據通用近似定理,對於具有線性輸出層和至少乙個使用「擠壓」性質的啟用函式的隱藏層組成的前饋神經網路,只要其隱藏層神經元的數量足夠,它可以以任意的精度來近似任何從乙個定義在實數空間 rd 中的有界閉集函式 。所謂「擠壓」性質的函式是指像 sigmoid 函式的有界函式,但神經網路的通用近似性質也被證明對於其它型別的啟用函式,比如relu,也都是適用的。

依據通用近似定理,神經網路在某種程度上可以作為乙個「萬能」函式來使用,用來進行複雜的特徵轉換或者逼近乙個負責的條件分布。

梯度下降法需要計算損失函式對引數的偏導數,如果通過鏈式法則逐一對每個引數進行求偏導比較低效。在神經網路的訓練中經常使用反向傳播演算法來高效地計算梯度。

第l層的誤差項可以通過第l + 1層的誤差項計算得到,這就是誤差的反向傳播。

反向傳播演算法的含義是:第l 層的乙個神經元的誤差項(或敏感性)是所有與該神經元相連的第l + 1層的神經元的誤差項的權重和。然後,再乘上該神經元啟用函式的梯度。在計算出每一層的誤差項之後,我們就可以得到每一層引數的梯度。

因此,基於誤差反向傳播演算法(backpropagation,bp)的前饋神經網路訓練過程可以

分為以下三步:

前饋計算每一層的淨輸入z(l) 和啟用值a(l),直到最後一層;

反向傳播計算每一層的誤差項δ(l);

計算每一層引數的偏導數,並更新引數。

目前,幾乎所有的主流深度學習框架都包含了自動梯度計算的功能,即我們可以只考慮網路結構並用**實現,其梯度可以自動進行計算,無需人工干預,這樣可以大幅提高開發效率。

神經網路的引數學習比線性模型要更加困難,主要原因有兩點:(1)非凸優化問題和(2)梯度消失問題。

本章介紹的前饋神經網路是一種型別最簡單的網路,相鄰兩層的神經元之間為全連線關係,也稱為全連線神經網路(fully connected neural network,fcnn)或多層感知器。

雖然當時前饋神經網路的引數學習依然有很多難點,但其作為一種連線主義的典型模型,標誌人工智慧從高度符號化的知識期向低符號化的學習期開始轉變。

讀書筆記《神經網路與深度學習》

機器學習是人工只能的乙個分支,機器學習本身是乙個非常大的概念。輸入資料報括 歷史資料 正確期望值 錯誤期望值 輸入資料後有模型自行進行聚類 規則區分 乙個連續決策的過程,其數學本質是馬爾科夫決策過程。馬爾科夫過程 對於乙個系統,有乙個狀態轉移到另乙個狀態的過程中,存在著轉移概率,且轉移概率可以通過前...

讀書筆記 神經網路與深度學習(五)迴圈神經網路

建立乙個額外的延時單元,儲存歷史資訊。延時神經網路在前饋網路中非輸出層都增加了乙個延時器,記錄最近幾次神經元的輸出。這樣就具有了短期記憶能力。自回歸模型是統計學上常用的一類時間序列模型,用乙個變數的歷史資訊來 自己。有外部輸入的非線性自回歸模型是乙個擴充套件,每個時刻都有乙個外部輸入x,產生乙個輸出...

ML讀書筆記(前向神經網路)

a.1.擬合異或的問題 2個輸入變數x和y,寫出異或真值表 0,0 0,0,1 1,1,0 1,1,1 0 擬合異或 如果直接使用線性變化 啟用函式,即f ax by c f可以為sigmoid函式,根據啟用函式單調性,由第1和第2條可得b是正數,由第1和第3條可得a是正數,第2和第4條可得a是負數...