目录
简介
公式
softmax
- 函数 Softmax(x) 也是一个 non-linearity, 但它的特殊之处在于它通常是网络中一次操作. 这是因为它接受了一个实数向量并返回一个概率分布.其定义如下. 定义 x 是一个实数的向量(正数或负数都无所谓, 没有限制). 然后, 第i个 Softmax(x) 的组成是
输出是一个概率分布: 每个元素都是非负的, 并且每行/列所有元素的总和都是1,每个值都是0-1.
- 优点是进行归一化
- 缺点是容易溢出
log_softmax
- 在softmax的结果上再做多一次log运算,全都是负数。,虽然在数学上等价于log(softmax(x)),但做这两个 单独操作速度较慢,数值上也不稳定
- 解决softmax的溢出问题
nn.CrossEntropyLoss() 与 NLLLoss()
- NLLLoss 的 输入 是一个对数概率向量和一个目标标签. 它不会为我们计算对数概率. 适合网络的最后一层是log_softmax.
- 损失函数 nn.CrossEntrop