神經網路 梯度下降和反向傳播的關係

2021-09-28 23:32:09 字數 1844 閱讀 2053

神經網路就是乙個」萬能的模型+誤差修正函式「,每次根據訓練得到的結果與預想結果進行誤差分析,進而修改權值和閾值,一步一步得到能輸出和預想結果一致的模型。

舉乙個例子:比如某廠商生產一種產品,投放到市場之後得到了消費者的反饋,根據消費者的反饋,廠商對產品進一步公升級,優化,從而生產出讓消費者更滿意的產品。這就是神經網路的核心。

機器學習可以看做是數理統計的乙個應用,在數理統計中乙個常見的任務就是擬合,也就是給定一些樣本點,用合適的曲線揭示這些樣本點隨著自變數的變化關係。

深度學習同樣也是為了這個目的,只不過此時,樣本點不再限定為(x, y)點對,而可以是由向量、矩陣等等組成的廣義點對(x,y)。而此時,(x,y)之間的關係也變得十分複雜,不太可能用乙個簡單函式表示。然而,人們發現可以用多層神經網路來表示這樣的關係,而多層神經網路的本質就是乙個多層復合的函式。

說白了,深度學習就是弄出來乙個超級大的函式,這個函式含有海量的權值引數、偏置引數,再通過一系列復合的複雜運算,得到結果。

時間萬物,可以抽象成數學模型,用數字來表示,深度學習網路就是對這些數字進行各種數**算,計算得到人們期望的結果。

前向傳遞輸入訊號直至輸出產生誤差,反向傳播誤差資訊更新權重矩陣。

其根本就是求偏導以及高數中的鏈式法則

梯度下降 是 找損失函式極小值的一種方法,

反向傳播 是 求解梯度的一種方法。

在訓練階段,深度神經網路經過前向傳播之後,得到的**值與先前給出真實值之間存在差距。我們可以使用損失函式來體現這種差距。損失函式的作用可以理解為:當前向傳播得到的**值與真實值接近時,取較小值。反之取值增大。並且,損失函式應是以引數(w 權重, b 偏置)為自變數的函式。

它是指通過輸入大量訓練資料,使得神經網路中的各引數(w 權重, b 偏置)不斷調整「學習」到乙個合適的值。使得損失函式最小。

採用 梯度下降 的方式,一點點地調整引數,找損失函式的極小值(最小值)

由淺入深,我們最容易想到的調整引數(權重和偏置)是窮舉。即取遍引數的所有可能取值,比較在不同取值情況下得到的損失函式的值,即可得到使損失函式取值最小時的引數值。然而這種方法顯然是不可取的。因為在深度神經網路中,引數的數量是乙個可怕的數字,動輒上萬,十幾萬。並且,其取值有時是十分靈活的,甚至精確到小數點後若干位。若使用窮舉法,將會造成乙個幾乎不可能實現的計算量。

第二個想到的方法就是微分求導。通過將損失函式進行全微分,取全微分方程為零或較小的點,即可得到理想引數。(補充:損失函式取下凸函式,才能使得此方法可行。現實中選取的各種損失函式大多也正是如此。)可面對神經網路中龐大的引數總量,純數學方法幾乎是不可能直接得到微分零點的。

因此我們使用了梯度下降法。既然無法直接獲得該點,那麼我們就想要一步一步逼近該點。乙個常見的形象理解是,爬山時一步一步朝著坡度最陡的山坡往下,即可到達山谷最底部。(至於為何不能閃現到谷底,原因是引數數量龐大,表示式複雜,無法直接計算)我們都知道,向量場的梯度指向的方向是其函式值上公升最快的方向,也即其反方向是下降最快的方向。計算梯度的方式就是求偏導。

這裡需要引入乙個步長的概念。個人理解是:此梯度對引數當前一輪學習的影響程度。步長越大,此梯度影響越大。若以平面直角座標系中的函式舉例,若初始引數x=10,步長為1 。那麼引數需要調整十次才能到達谷底。若步長為5,則只需2次。若為步長為11,則永遠無法到達真正的谷底。

採用反向傳播演算法。

神經網路 梯度下降

優化問題newton s method 牛頓法 least squares method最小二乘法 gradient descent梯度下降法 當 cost對w的梯度最小 斜率最小 時,誤差最小。我們從圖中可以看出,cost 誤差最小的時候正是這條 cost 曲線最低的地方,不過在藍點的 w 卻不知...

神經網路的正向傳播和反向傳播

顧名思義全連線神經網路便是指相鄰網路層的各神經元是全連線的,如下圖 xi 代表輸入層第i個資料 wmn jw j wmnj 代表j層第m位置和j 1層第n位置間的權重,j是第幾層網路 zij z i j zij 代表神經元的輸入和,yij y i j yij 代表第j隱藏層第i個神經元的輸出 k j...

神經網路反向傳播理解

訓練神經網路的目標是 優化代價函式,使得代價函式找到乙個 全域性最小值或者區域性最小值。不管使用何種梯度下降演算法 bgd,sgd adam 都需要先算出各個引數的梯度。反向傳播的作用 就是快速算出所有引數的偏導數。求導數通常可以分為兩類,一類是直接用定義,第二類是公式法 包括鏈式法 定義法 定義法...