CS231n上softmax的解析梯度

问题描述 投票:0回答:1

我对CS231n中使用的softmax的梯度有一个特殊的问题。在推导softmax函数以计算每个单独类的梯度之后,即使梯度未在任何地方求和,作者也将其除以num_examples。这背后的逻辑是什么?为什么我们不能直接使用softmax渐变呢?

enter image description here

machine-learning neural-network deep-learning
1个回答
1
投票

神经网络学习的典型目标是使数据分布上的expected损失最小化,因此:

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

© www.soinside.com 2019 - 2024. All rights reserved.