从三角不等式到Margin Softmax

1b24b0d97a011c519b95813d0527d155.gif

©PaperWeekly 原创 · 作者 | 苏剑林

单位 | 追一科技

研究方向 | NLP、神经网络

在《基于 GRU 和 am-softmax 的句子相似度模型分类与排序的不等价性”,但没有比较定量地解释这种不等价性的来源。

在这篇文章里,我们来重提这个话题,从距离的三角不等式的角度来推导和理解 margin 的必要性。

971db41039014cf8ad6796badb158c0a.png

三角不等式

平时,我们说的距离一般指比较直观的“欧氏距离”,但在数学上距离,距离又叫“度量”,它有公理化的定义,是指定义在某个集合上的二元函数 ,满足:

1. 非负性:;

2. 同一性:;

3. 对称性:;

4. 三角不等式:。

顾名思义,距离是用来度量 之间的差异程度的。理论上来说,只要满足前两点要求,就可以用来度量差异了,比如概率里边常用的 KL 散度,就仅仅满足前两点。第 3、4 点的加入,本质上来说是为了使得这样定义出来的距离与我们常见的欧氏距离更加接近,比如对称性是“距离没有方向”的体现,而三角不等式是“两点之间直线最短”的体现,这些类似有利于我们通过欧氏距离的类比来思考更一般的距离。

从这个定义来看,深度学习其实比较少碰到符合上述 4 点要求的距离,比如通常的分类是直接用内积加 softmax,而内积只满足第三点;余弦距离 也只满足前 3 点,不满足第 4 点。不过,某些函数我们可以微调一下定义,使得它成为一个距离,比如我们知道欧氏距离是满足三角不等式的,所以

3067fa6f9d31ce01493691ea73dbe807.png

必然也满足三角不等式。所以,余弦距离 是不满足三角不等式的,但是改为 就满足了。

9bf31f7bdd5bce7d360c33d260d8baae.png

分类与排序

像人脸识别或者句子相似度等场景,在预测阶段我们是拿特征去排序的,我们自然希望随便拿一个样本,就能够检索出所有同类样本,这就要求“类内差距小于类间差距”;但是,如果我们将其作为分类任务训练的话,则未必能达到这个目的,因为分类任务的目标是“最靠近所属类的中心”。具体例子可以参考下图:

25e7bc8143f5451581dfdd2f6dc26548.png

▲ 一种可能的分类结果,其中红色点代表类别中心,其他点代表样本

在该图中, 属于类 , 输于类 ,从分类角度来看 ã€�,因此分类都是正确的,但是 ,所以用 去检索的话,找到的是不同类的 ,而不是同类的 。

我们可以通过三角不等式更加定量地描述这种不等关系:我们希望达到 ,根据三角不等式有 ,所以一个充分的条件是

3cbb6c0d7848e9b73b7d71b52aa417f6.png

两端加上 ,并利用三角不等式 ,我们得到上式的一个充分条件是

8848f259d191501d6fdf733db65ff312.png

要注意的是,分类任务只要求对于 来说有 ,而上式多出了 ,多出来的一项就是 margin 项。

注意到 分别是样本 到其所属类中心的距离,所以我们可以认为 是“类平均直径”,它应该接近一个常数 ,我们可以将它作为超参数调整。如果要自适应调整的话,可以考虑先 训练一段时间,然后估计“类平均直径”作为 再训练,然后再重新估计 并训练,等等。

c7dd6001cf153fc92376ae8b9224a7ad.png

AM-Softmax

通过上面的推导,我们知道为了保证分类模型的特征可以用于排序,那么每个样本不仅仅要最靠近类中心,而且是距离加上 之后还要最靠近类中心,即如果 属于类 的话,那么就要求:

7fd4564c20e4e493181f81f91aa5a629.png

根据《将“softmax+交叉熵”推广到多标签分类问题,就可以往 里边加入 来构造 loss。所以我们就可以构造如下的 loss:

04609ab5ffc2a09f6377ab1d6ca1c892.png

这便是带加性 margin 的交叉熵,其中 是缩放比例,相当于 softmax 的温度参数。

不过别忘了,上述推导都是基于 满足三角不等式,而我们平常用的打分函数并不满足三角不等式。对于训练检索模型来说,我们通常用余弦距离来打分,前面说了余弦距离可以通过开根号来满足三角不等式,所以对应的要求变为(以 为例):

ec266a16feef77395b4ec368590d9fcd.png

两边乘以 得到

316b050816142b34865cb9d080fedde5.png

显然右端是有上界的,所以适当调整 ,可以使得

981f9448be6ae7080f5e9522441fee4e.png

成为一个充分条件,这时候对应的 margin 交叉熵是

9ccb2eb6905853a78d5455b35a64bc6c.png

这就是 AM-Softmax。

0fbd32e81599800dc2783206e9c7a1e5.png

回顾与小结

本文从三角不等式的角度推导了用分类模型做排序任务时 margin 的必要性,假定所用的打分函数满足三角不等式的前提下,能比较自然地导出相关结果。

特别鸣谢

感谢 TCCI 天桥脑科学研究院对于 PaperWeekly 的支持。TCCI 关注大脑探知、大脑功能和大脑健康。

更多阅读

a9c737ccd80281bd82717dc42aafa1c3.png

4240c9672d8a90bdfdd2a9b215d54357.png

4d5b660f0c0c09b4852e501f09b50a6f.png

21dad390638de3c49f1744145d459ae5.gif

#投 稿 通 道#

 让你的文字被更多人看到 

如何才能让更多的优质内容以更短路径到达读者群体,缩短读者寻找优质内容的成本呢?答案就是:你不认识的人。

总有一些你不认识的人,知道你想知道的东西。PaperWeekly 或许可以成为一座桥梁,促使不同背景、不同方向的学者和学术灵感相互碰撞,迸发出更多的可能性。 

PaperWeekly 鼓励高校实验室或个人,在我们的平台上分享各类优质内容,可以是最新论文解读,也可以是学术热点剖析科研心得竞赛经验讲解等。我们的目的只有一个,让知识真正流动起来。

📝 稿件基本要求:

• 文章确系个人原创作品,未曾在公开渠道发表,如为其他平台已发表或待发表的文章,请明确标注 

• 稿件建议以 markdown 格式撰写,文中配图以附件形式发送,要求图片清晰,无版权问题

• PaperWeekly 尊重原作者署名权,并将为每篇被采纳的原创首发稿件,提供业内具有竞争力稿酬,具体依据文章阅读量和文章质量阶梯制结算

📬 投稿通道:

• 投稿邮箱:hr@paperweekly.site 

• 来稿请备注即时联系方式(微信),以便我们在稿件选用的第一时间联系作者

• 您也可以直接添加小编微信(pwbot02)快速投稿,备注:姓名-投稿

a139329d8a75e1de74821db60c04d021.png

△长按添加PaperWeekly小编

🔍

现在,在「知乎」也能找到我们了

进入知乎首页搜索「PaperWeekly」

点击「关注」订阅我们的专栏吧

·

cb8b66048c11e7ac95352db25d12e9d8.png


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部