摘要
本文使用纯 Python 和 PyTorch 对比实现cross-entropy交叉熵损失函数及其反向传播.
相关
原理和详细解释, 请参考文章 :
通过案例详解cross-entropy交叉熵损失函数
系列文章索引 :
https://blog.csdn.net/oBrightLamp/article/details/85067981
正文
1. 定义:
E = − ∑ i = 1 k y i l o g ( s i ) E = -\sum_{i = 1}^{k}y_{i}log(s_{i})\\ E=−i=1∑kyilog(si)
2. 梯度:
▽ E ( s ) = ( ∂ E ∂ s 1 , ∂ E ∂ s 2 , ⋯   , ∂ E ∂ s k ) = ( − y 1 s 1 , − y 2 s 2 , ⋯   , − y k s k ) \triangledown E_{(s)} =(\frac{\partial E}{\partial s_{1}},\frac{\partial E}{\partial s_{2}}, \cdots, \frac{\partial E}{\partial s_{k}}) \\ \quad \\ =( -\frac{y_1}{s_1}, -\frac{y_2}{s_2},\cdots,-\frac{y_k}{s_k}) ▽E(s)

本文详细介绍了如何用纯Python和PyTorch分别实现cross-entropy交叉熵损失函数,并给出了反向传播的过程。通过对比,展示了两种实现方式的异同。

652

被折叠的 条评论
为什么被折叠?



