目錄
一、BP原理及求導
二、softmax及求導
一、BP
1、為什么沿梯度方向是上升最快方向
根據泰勒公式對f(x)在x0處展開,得到f(x) ~ f(x0) + f'(x0)(x-x0), 故得到f(x) - f(x0) ~ f'(x0)(x-x0), 所以從x0出發,變化最快,即使f(x)-f(x0)最大,也就f'(x0)(x-x0),由於f'(x0)與(x-x0)均為向量(現在x0取的是一個數,如果放在多維坐標那么x0就是一個多維向量),由余弦定理f'(x0) 與(x-x0)方向相同時,點積最大,故梯度方向是上升最快方向。
2、什么是BP
梯度反向傳播(back propagation)過程就是: 由前饋神經網絡得到損失函數,然后根據損失函數后向地更新每一層的權重,目的就是讓損失函數變小



3、BP的優勢
- 與從前往后進行求導相比,BP能夠避開了路徑被重復訪問,它對於每一個路徑只訪問一次就能求頂點對所有下層節點的偏導值。
- 能夠自適應、自主學習。這是BP算法的根本以及其優勢所在,BP算法根據預設的參數更新規則,不斷地調整神經網絡中的參數,以達到最符合期望的輸出。
4、BP的不足
- BP是基於梯度下降算法實現的,所以容易陷入局部最小而不是全局最小
- 由於BP神經網絡中的參數眾多,每次都需要更新數量較多的閾值和權值,故會導致收斂速度過慢
二、softmax函數及求導
1、softmax函數
在Logistic regression二分類問題中,我們可以使用sigmoid函數將輸入
映射到
區間中,從而得到屬於某個類別的概率。將這個問題進行泛化,推廣到多分類問題中,我們可以使用softmax函數,對輸出的值歸一化為概率值。
這里假設在進入softmax函數之前,已經有模型輸出
值,其中
是要預測的類別數,模型可以是全連接網絡的輸出
,其輸出個數為
,即輸出為
。
所以對每個樣本,它屬於類別
的概率為:
通過上式可以保證
,即屬於各個類別的概率和為1。
2、求導
對softmax函數進行求導,即求 
第
項的輸出對第
項輸入的偏導。
代入softmax函數表達式,可以得到:
所以,當
時:
當
時:
LOSS 求導
對一個樣本來說,真實類標簽分布與模型預測的類標簽分布可以用交叉熵來表示:
最終,對所有的樣本,我們有以下loss function:
其中
是樣本
屬於類別
的概率,
是模型對樣本
預測為屬於類別
的概率。
對單個樣本來說,loss function
對輸入
的導數為:

上面對
求導結果已經算出:
當
時:
當
時:
所以,將求導結果代入上式

參考博客:
