deep learning中各种loss function大杂烩

这篇博客介绍了深度学习中常见的三种损失函数:Softmax Loss用于分类,通过最大化类别间差距和最小化类内差距实现;Center Loss引入聚类中心,进一步减小类内距离;而Triplet Loss则通过扩大正负样本间的距离来优化特征表示。文章通过公式解释和可视化帮助理解这些损失函数的作用。
摘要由CSDN通过智能技术生成

deep learning中各种loss function大杂烩

学习深度学习也有一段时间啦,很多论文都会在 loss function 上做文章,说明还是非常最重要的呢,因此总结一下自己对不同的loss function的理解。

Softmax Loss

网络的全连接层出来后,会加上一个softmax层,softmax的输入是该样本在某个类下的得分(这个得分没有范围限制),经过softmax层之后,输出为该样本属于某个类的概率(范围是0到1)。softmax的计算公式如下,想要更直观地理解公式,可以随便带几个值进去试一试。

e W y i T x i + b y i ∑ j = 1 n e W j T x i + b j \frac{e^{W_{y_{i}}^{T} \boldsymbol{x}_{i}+b_{y_{i}}}}{\sum_{j=1}^{n} e^{W_{j}^{T} \boldsymbol{x}_{i}+b_{j}}} j=1neWjTxi+bjeWyiTxi+byi

softmax loss 就是对计算出来的概率求损失函数值,其公式如下所示,预测错比预测对的损失要大,预测错得离谱比预测错得轻微的损失要大。举个例子,某样本的真是标签是类别3,即y=[0 0 1 0],模型1预测得到的softmax输出为[0.1 0.2 0.6 0.1],即得到正确的分类标签,对应的loss=-log(0.6);模型2预测得到的softmax输出为[0.2 0.4 0.3 0.1],即得到错误的分类标签,对应的loss=-log(0.3);模型3预测得到的softmax输出为[0.2 0.5 0.1 0.2],即得到错误的分类标签,对应的loss=-log(0.1);直观地感受一下,模型1分类正确,模型2、3分类错误,但模型3较模型2错误的更离谱,所以,我们得到的损失函数值排序为:loss=-log(0.6)<loss=-log(0.3)<loss=-log(0.1)。
L S = − ∑ i = 1 m log ⁡ e W y i T x i + b y i ∑ j = 1 n e W j T x i + b j \mathcal{L}_{S}=-\sum_{i=1}^{m} \log \frac{e^{W_{y_{i}}^{T} \boldsymbol{x}_{i}+b_{y_{i}}}}{\sum_{j=1}^{n} e^{W_{j}^{T} \boldsymbol{x}_{i}+b_{j}}} LS=

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值