SoftMax推导,SoftMax-Loss推导

在这里插入图片描述
全连接层的输入是最后一个卷积层的输出, 假设是100x4x4(通道数chanel = 100, featureMap = 4x4)的tensor, 输入到全连接层之前需要平展为N*1的向量(N=100x4x4), 这就是X.
W是全连接层的参数, T是类别数.得到一个Tx1向量,其值为(-无穷, +无穷).
将Logits输入到SoftMax层,输出向量prob(Tx1), 其值为此样本属于每个类的概率,范围为(0, 1).

SoftMax公式:

------------------------------- 在这里插入图片描述
对于某样本A,3分类(类别1,2,3)问题,样本的真实的类别是3(T=3), WxX是一个3x1的向量, aj表示这个向量的第j个值.

SoftMax Loss:


在这里插入图片描述
Sj是Softmax的输出向量的S的第j个值,是此样本属于第j个类别的概率.
Yi是一个1xT的向量,只有一个值是1, 其他全是0. 真实类别处值为1.假设为yb.
所以
在这里插入图片描述

SoftMax关于输入的导数:

在这里插入图片描述
DjSi是Si关于aj的导数.
当i==j时:
在这里插入图片描述
当i != j时:
DjSi = -SjSi

即:

在这里插入图片描述

SoftMax Loss对输入的求导:

模型在训练的时候先进行前向计算,得到在当前模型参数下的预测值,也就是Sj;
然后计算这次预测的损失,也就是下式的L;
然后反向传递损失并计算梯度(这个梯度包含损失对参数的梯度和对该层输入的梯度);
最后再正向更新参数。
在这里插入图片描述
推导如下:
在这里插入图片描述

即:

在这里插入图片描述
因此假设一个5分类任务,一张图像经过softmax层后得到的概率向量p是[0.1,0.2,0.25,0.4,0.05],真实标签y是[0,0,1,0,0],那么损失回传时该层得到的梯度就是p-y=[0.1,0.2,-0.75,0.4,0.05]。这个梯度就指导网络在下一次forward的时候更新该层的权重参数。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值