2017-07-24 17 views
0

我對CS231n中使用的softmax的梯度有特殊疑問。在推導softmax函數以計算每個單獨類的梯度後,作者將梯度除以num_examples,即使梯度不是在任何地方求和。這背後的邏輯是什麼。爲什麼我們不能直接使用softmax漸變?CS231n上softmax的分析梯度

enter image description here

回答

1

神經網絡學習的典型目標是最小化的預期損失了數據分發,這樣的:

minimise E_{x,y} L(x,y) 
現在

,在實踐中,我們使用這個數量的估計,這是由一個樣本的平均值,爲一個訓練集xi,yi

minimise 1/N SUM L(xi, yi) 

什麼是給定的在上述推導爲d L(XI,YI)/ d THETA,但由於我們希望儘量減少1/N SUM L(XI,YI)我們應該計算其梯度,這是:

d 1/N SUM L(xi, yi)/d theta = 1/N SUM d L(xi, yi)/d theta 

這是隻是偏導數的一個性質(和的導數是導數的和等等)。請注意,在所有上述推導中,作者都​​會談論Li,而實際優化是在L(通知缺少索引i)的基礎上執行的,其定義爲L = 1/N SUM_i Li