softmax的特征分布会呈放射状的原因

        为直观了解softmax loss,在mnist数据集上训练了一个lenet模型作为例子。先将特征维降低到2,并画了10w个训练样本的2维特征在平面上,如图2所示。从图中可以看到,如果使用欧式距离作为度量方式,则f2与f1之间的距离比f2到f3的近很多,达不到好的效果。而同时可以看到,对于这些特征以角度进行划分的效果会比欧式距离和内积要好,所以之前很多都会采用余弦相似度作为度量方法,尽管训练的时候用的是softmax loss。而softmax loss是非归一化特征的内积运算,因此训练的度量方法和测试用的度量方法一定的分歧。

为什么softmax loss会趋向取产生这样“呈放射状”的特征分布呢?

原因是softmax loss实际上表现为soft version of max operator。对特征向量的量级进行缩放不会影响到它们的类别结果,回顾softmax loss的公式定义如下:

其中m是训练样本数量,n是类别数量,fi是第i个样本的特征,yi是对应的标签(范围是[1,n]),W和b分别是softmax loss之前的最后一个内积层的权重矩阵和偏置向量,Wj是W的第j列,对应着第j类别,在测试的阶段,通过下式进行分类:

这里先假定(Wi x f + bi) - (Wj x f + bj) >= 0,再假定去掉偏置项b,则以表示x被分类到类别i的概率。对于任意给定的尺度s>1,若,那么Pi ( sf ) >= Pi ( f )会恒成立。这意味着softmax loss会趋向于使区分能力强的特征具有更大的量级,也是为什么softmax的特征分布会呈放射状的原因。然而我们并不需要这种特性。通过归一化,能够消除这个影响。因此,通常会采用余弦来度量两个向量的相似度。

 

参考:

NormFace(2017)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值