在最后一层中将Sigmoid替换为Softmax

时间:2019-12-08 18:24:29

标签: neural-network backpropagation softmax

我实现了自己的神经网络,并通过反向传播算法对其进行了训练。输入值在0..1范围内,每个内部层和最后一层的输出都用S型曲线处理。我将其用于分类(我在输出中寻找最大值的索引)。

在前进过程中,我可以用Softmax替换最后一层的Sigmoid。但是我找不到关于如何实现反向传递(计算梯度)的清晰描述。

对于S形,当最后一层的神经元给出Y,但需要输出Z时,我将梯度设置为G =(Z-Y)* Y *(1-Y)。

Softmax是否有类似的公式,以便我可以替换它,同时保留其余的当前机制(使用梯度G的方式,等等)?

0 个答案:

没有答案