我正在用 Python 编写自己的基本机器学习库作为练习,以获得良好的概念理解。我已经成功实现了激活功能的反向传播,例如和 sigmoid 函数。但是,这些在其输出中被标准化。像 ReLU 这样的函数是无界的,所以它的输出可以很快爆发。在我的理解中,最后添加了一个分类层,通常使用 SoftMax 函数,以将输出压缩在 0 和 1 之间。
反向传播如何与此一起工作?我是否只是将 SoftMax 函数视为另一个激活函数并计算其梯度?如果是这样,那个渐变是什么,我将如何实现它?如果没有,培训过程如何运作?如果可能,最好使用伪代码答案。