首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

CNN入门讲解:我的Softmax和你的不太一样

时隔一个月,我又回来了

好了,好了

(做出停止鼓掌的手势

今天我们的主题是CNN最后最后那个Softmax Function

可是网上已经把关于Softmax讲烂了

于是今天,我只想谈谈我对Softmax某些方面的理解

建议大家看之前,先去别的地方学习一些Softmax

敲黑板了,前排玩手机的同学麻烦叫一下后排的睡觉的同学

首先这是卷积神经网络最后一层全连接层的构造,W是神经元的权值,K是要分类的类别数,X是上一层的输出平铺(Flatten)后的结果

下面是softmax 的公式

那么我们怎么理解上面的公式呢

首先我们先来看Softmax Function公式本身,非常好理解

1. 当输入为X, 预测类别为j 的概率为P

2. 所有预测类别概率和为1

然后我们把CNN 和 Softmax 相结合

假设首先我们现在的任务是区别一图片是不是猫

假设这个神经网络模型已经训练完了

全连接层已经知道

当我们得到以上特征,我就可以判断这个东东是猫了

假设现在我们要给猫和狐狸分类,输入x是一堆特征,最后得到猫的特征表示值1.9,狐狸特征表示值0.6,这样意思是输入包含了更多猫的特征,包含更少狐狸的特征

这个时候,根据常理,为了做出判断,你肯定会选特征表示值最大(max)的那个,对,也就是猫(1.9)

到这里你肯定会问,既然max可以帮我搞定分类问题,为什么还需要Softmax

因为在实际运用中,特征表示值的用途不大, 我们更希望得到具有统计意义的概率

那我们来看看Softmax 是怎么实现的

根据上面的图示,我们可以得到如下Softmax公式,当输入为X时,输出为猫的概率

Softmax 输出概率图

Softmax 物理意义图

然后我们把上面的Softmax物理意义图拆分一下, 变成如下图

现在把分子拆分成如上图,我想你应该明白了

没错 ,预测结果与输入特征之间存在明显相关性

并且,Softmax 具有更好的解释性,包含属于猫的这一类的特征越多,输出为猫的概率就越大

(插播一句,这里所谓的概率,是相对概率,而不是绝对概率,假设上图P输出的概率为0.75,物理含义是,当输入为X时,预测为猫的概率是预测不是猫的概率的3倍))

上面的情况是假设不同特征是相互独立的

然而,这可能在许多情况下不成立,因为特征之间可能存在协同作用或冗余

这种协同或者作用会直接影响输出概率,比如猫前脚和猫后脚

为了解决这种情况,我们可以:(来自我们Lab办公室的李博士建议)

1)去除有协同作用或冗余的特征,如x3 =X1⋅x2x3=x1⋅x2(但是如果我们不知道哪些特征值是相关的,我们可能会引入更多无用的特征!

2)当两个特征经常一起被激活时,训练过程将学习较小的权重W1和W2,使得它们的联合效果更接近真实效果

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180901G1KR2E00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券