激活函數與Loss的梯度


一、梯度

1、導數、偏微分、梯度的區別:

  1)導數:是標量,是在某一方向上變化的效率

  2)偏微分,partial derivate:特殊的導數,也是標量。函數的自變量的方向,函數的自變量越多,偏微分就越多。

  

  3)梯度,gradient:把所有的偏微分集合成向量,是向量。

  

  梯度向量的長度代表函數在當前點變化的速率。

2、梯度的作用:

  1)作用通過梯度來找到函數的極小值

  2)如何找到極小值,通過以下公式:

  

  學習步長就是學習率。

 

  不斷更新自變量,當偏導(梯度)趨近於0的時候,函數值也就趨近於極小值。

  3)舉例:

  

 

 3、梯度的優化方法:

  

  不同的優化方法具有不同的效率、准確率。有的快,有的准確率高。主要通過以下幾個方向優化:

  1)初始化數據(initialization)

    初始狀態的不同,對結果的影響可能有很大區別

    如果不清楚的話,就使用目前主流的初始化方法。

  2)學習率(learning rate)

    過大會導致數據不收斂,過小會導致計算量的增加。

  3)動量(monument)

    給數據一個慣性,當慣性達到一定程度后,可以減少數據陷入局部極小值的情況。

4、凸函數(convex function):

向一個碗一樣,兩點中點處,均值大於實際值,如下圖所示

 

5、局部極小值(local minima):

 

 局部極小值較多的情況的解決辦法:

 

6、鞍點(saddle point):

  一個點,在某一方向上是極小值,在另一方向上又是極大值。如下圖中紅點所示:

  

 

二、激活函數

1、激活函數的點

  1)作用

  當函數值達到某一閾值后,激活函數將函數值設置為特定值(根據激活函數公式而定),從而達到激活的目的

  

  2)激活函數均不可導

 

2、常用激活函數

  1)sigmoid

  

  * sigmoid導數(derivative):

  

   * sigmoid用處:

   a)因為sigmoid輸出的值是在0~1之間,所以適用於概率問題;也適用於圖像的RGB問題,因為RGB值是0~255之間

   b)sigmoid的缺點:因為sigmoid函數在處於+∞和-∞時候,導數趨近於0,會使得數據處於更新非常緩慢(長時間loss保持不變的情況),即:梯度彌散問題。

  * sigmoid函數的pytorch實現

  

  2)tanh

  

  輸出值在[-1, 1]之間

  在RNN里面用得比較多

  * tanh的求導推導過程

  

  * tanh在pytorch中的實現

  

  3)relu(Rectified Liner Unit,調整的線性流單元)

  

  * 被大量的實驗證明,relu函數很適合做deep learning。

  因為:z<0時,梯度是0,z>0時,梯度是1。因為在向后傳播時候,因為梯度是1,所以對於搜索最優解,梯度計算時候非常方便,也不會被放大和縮小,很難出現梯度彌散和梯度爆炸的情況。所以在神經網絡中優先使用此函數。

  * relu在pytorch中的實現

  

 

三、Loss以及Loss的梯度

1、MSE(mean square error):均方差

  

 

   pytorch中mse的求解方法:torch.norm().pow(2)  # 要記得平方

  * MSE求導

  

  * 使用pytorch自動求導

  1)法一:

  使用torch.autograd.grad()

   

  2)法二:

  使用mse.backward()

  

  * 注意w.norm(),w.grad(),w.grad().norm()的區別:

  w.norm()是均方差的平方根

  w.grad()是導數

  w.grad().norm()是導數的均方差的平方根

2、Cross Entropy Loss:

  

   Softmax:

  

  * softmax特點:

  1)輸出的所有值的范圍是0~1

  2)所有概率之和等於1。(注:sigmoid函數,所有概率的和一般是不等於1的)

  輸出概率最大值的 索引。

  3)會將原有值之間的差距拉大。

  * softmax求導:

  

  

  1)當i=j時

  

  2)當i ≠ j時

  

  3)綜合

  

  * softmax在pytorch中的實現

  

  上圖中最后4行,分別表示:δp1/δai ,δp2/δai (i∈[0, 2])求偏導

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM