码迷,mamicode.com
首页 > Web开发 > 详细

【MatConvNet代码解析】 vl_nnsoftmaxloss

时间:2018-05-12 11:54:11      阅读:693      评论:0      收藏:0      [点我收藏+]

标签:技术   类别   width   bsp   index.php   输入   soft   one   现在   

背景知识:http://deeplearning.stanford.edu/wiki/index.php/Softmax%E5%9B%9E%E5%BD%92

技术分享图片

假设softmax层的输入(softmax前一次的输出),或者理解为一般分类器的得分f(x)=</theta,x>中的/theta可以随便减一个常量。

或者假设现在的类别数目为N,不妨设为N=3,那么会有三个分类器,假设每个分类器的得分为f_j(x)=</theta_j,x>

我们知道在做softmax操作其实就是将exp(f_j(x))归一化。

所以这里每一个f_j(x)其实都可以去减三个分类器得分中任意一个,只要大家减同一个值,不影响结果。

 

所以在MatConvNet才会有这样的代码

技术分享图片

这里大家减去的是N个分类器得分中最大的那个得分,代码中的x就是上面所述的分类器得分。

技术分享图片

最后的损失函数为t,如果愿意硬推,不按照背景知识去解释,依然可以解释。解释如下:

技术分享图片

技术分享图片

【MatConvNet代码解析】 vl_nnsoftmaxloss

标签:技术   类别   width   bsp   index.php   输入   soft   one   现在   

原文地址:https://www.cnblogs.com/qq552048250/p/9028148.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!