【NLP 系列】Bert 词向量的空间分布

nlp,系列,bert,向量,空间,分布 · 浏览次数 : 120

小编点评

**背景** * Bert 预训练模型针对分词、ner、文本分类等下游任务取得了很好的效果。 * 但在语义相似度任务上,表现相较于 Word2Vec、Glove 等并没有明显的提升。 * 学者研究发现,这是因为 Bert 词向量存在各向异性(不同方向表现出的特征不一致),高频词分布在狭小的区域,靠近原点,低频词训练不充分,分布相对稀疏,远离原点,词向量整体空间分布呈现圆形。 **问题分析** * 由于 Bert 词向量存在各向异性,高频词距离原点更近,低频词训练不充分,远离原点,导致其不适用于语义相似度任务。 * 理论解释在介绍之前,先熟悉几个关于凸优化问题的概念,包括凸集、凸包、凸锥等。 * 定理1说明未出现词的向量会被优化无穷远,远离原点。 * 定理2则是说明词向量的分布不包含原点,而是在原点的一侧2)低频词低频词的分析则是在未出现词的基础上,因为分析低频词的embedding对损失函数的影响,将损失函数分为了两部分:总损失函数为:原来定理3 才是理解路上的最大绊脚石! **理论解释** * 由于 Bert 词向量存在各向异性,高频词分布在狭小的区域,靠近原点,低频词训练不充分,远离原点,导致其不适用于语义相似度任务。 * 理论解释在介绍之前,先熟悉几个关于凸优化问题的概念,包括凸集、凸包、凸锥等。 * 定理1说明未出现词的向量会被优化无穷远,远离原点。 * 定理2则是说明词向量的分布不包含原点,而是在原点的一侧2)低频词低频词的分析则是在未出现词的基础上,因为分析低频词的embedding对损失函数的影响,将损失函数分为了两部分:总损失函数为:原来定理3 才是理解路上的最大绊脚石! **结论** Bert 词向量确实存在表征退化问题,词向量存在各向异性,高频词距离原点更近,低频词训练不充分,远离原点,整体分布呈现圆锥形,导致其不适用于语义相似度任务。

正文

作者:京东零售 彭馨

1. 背景

我们知道Bert 预训练模型针对分词、ner、文本分类等下游任务取得了很好的效果,但在语义相似度任务上,表现相较于 Word2Vec、Glove 等并没有明显的提升。有学者研究发现,这是因为 Bert 词向量存在各向异性(不同方向表现出的特征不一致),高频词分布在狭小的区域,靠近原点,低频词训练不充分,分布相对稀疏,远离原点,词向量整体的空间分布呈现锥形,如下图,导致计算的相似度存在问题。

2. 问题分析

为什么Bert词向量会呈现圆锥形的空间分布且高频词更靠近原点?

查了一些论文发现,除了这篇 ICLR 2019 的论文《Representation Degeneration Problem in Training Natural Language Generation Models》给出了一定的理论解释,几乎所有提及到 Bert 词向量空间分布存在问题的论文,都只是在引用该篇的基础上,直接将词向量压缩到二维平面上进行观测统计(肉眼看的说服力明显不够😂)

图中(b)(c)可以看出原生 Word2Vec 和分类任务的词向量经 SVD 投影,分布在原点周围,而原生 Transformer 则分布在圆锥形区域,且任意两个词向量都正相关,会降低模型性能,这种现象被称为表征退化问题

  • ①造成这种现象的直观解释是:在模型训练过程中,真词的embedding会被推向隐藏状态的方向,而其他词会被推向其负方向,结果是词汇表中大多数单词的嵌入将被推向与大多数隐藏状态负相关的相似方向,因此在嵌入空间的局部区域中聚集在一起。

  • ②理论解释则是分析未出现词的嵌入,发现表征退化和隐藏状态的结构有关:当隐藏状态的凸包不包含原点时,退化出现,并且当使用层归一化进行训练时,很可能发生这种情况。并发现低频词很可能在优化过程中被训练为彼此接近,因此位于局部区域。

论文将对理论解释部分给出证明,下面从我的理解,来解读一下😂,最后再简单说一下另外两篇对 Bert 词向量观测统计的论文。

3. 理论解释

在介绍之前,先熟悉几个关于凸优化问题的概念(不知道其实也问题不大😂):

  • 凸集:

  • 凸包:
    点集Q的凸包是指一个最小凸多边形,满足Q中的点或者在多边形边上或者在其内。(最小的凸集)

  • 锥:

  • 凸锥:
    如果一个集合既是锥,又是凸集,则该集合是凸锥。

1)未出现词

因为不容易直接分析高、低频词,作者另辟蹊径,选择和低频词比较相似的未出现词来分析目标函数。

因为其他参数固定,则上式等价于:

文中说定理1 中的 A 显而易见,那就只能大家自行理解这个凸集了。B 则是对上面最小化公式的求解,下面给出证明

证明:

证明:

以上还是很好理解的,定理1说明未出现词的向量会被优化无穷远,远离原点(模越来越大)。定理2则是说明词向量的分布不包含原点,而是在原点的一侧

2)低频词

低频词的分析则是在未出现词的基础上,因为分析低频词的embedding对损失函数的影响,将损失函数分为了两部分:

总损失函数为:

原来定理3 才是理解路上的最大绊脚石!

下面简述一下对词向量进行观测统计的论文

论文1《On the Sentence Embeddings from Pre-trained Language Models

其实这篇论文就是字节的 Bert-flow(不熟悉 Bert-flow 可见《对比学习——文本匹配》)。论文计算了词嵌入与原点的平均l2距离,并根据词频做了排序(词频越高排名越靠前,第0位词频最高),得出高频词靠近原点、低频词远离原点的结论,如下表上半部分:
image.png
表的下半部分则为词嵌入和它的k个近邻之间的平均l2距离和点积,可以看出低频词相较于高频词,和它们的k近邻距离更远,说明低频词相对高频词分布更稀疏。

论文2《Learning to Remove: Towards Isotropic Pre-trained BERT Embedding

该论文则是通过随机计算两个词的相似度,发现都远大于0(说明词向量的方向基本都一致,不一致不会都远大于0),以此说明词向量不是均匀分布在向量空间中,而是分布在一个狭窄的圆锥体中。
image.png

4. 总结

都有理论解释了,结论自然就是 Bert 词向量确实存在表征退化问题,词向量存在各向异性,高频词距离原点更近,低频词训练不充分,远离原点,整体分布呈现圆锥形,导致其不适用于语义相似度任务。不过不知道该理论解释有没有说服你😄😄😄,有不同见解或疑问,欢迎前来交流。
针对此类问题,可以采用一下方法对其进行纠正,如论文[1]中加入cos正则,论文[2]中将锥形分布转化为高斯分布。因为词向量有问题,句向量自然跑不了,所以《对比学习——文本匹配》中的算法其实也都是为了解决这个问题。
 
附:(定理3证明)
image.png
image.png

与【NLP 系列】Bert 词向量的空间分布相似的内容:

【NLP 系列】Bert 词向量的空间分布

我们知道Bert 预训练模型针对分词、ner、文本分类等下游任务取得了很好的效果,但在语义相似度任务上,表现相较于 Word2Vec、Glove 等并没有明显的提升。

带你了解NLP的词嵌入

摘要:今天带领大家学习自然语言处理中的词嵌入的内容。 本文分享自华为云社区《【MindSpore易点通】深度学习系列-词嵌入》,作者:Skytier。 1 特征表示 在自然语言处理中,有一个很关键的概念是词嵌入,这是语言表示的一种方式,可以让算法自动的理解一些同类别的词,比如苹果、橘子,比如袜子、手

自然语言处理 Paddle NLP - 任务式对话系统-理论

基础 [自然语言处理(NLP)](https://www.cnblogs.com/vipsoft/p/17450994.html) [自然语言处理PaddleNLP-词向量应用展示](https://www.cnblogs.com/vipsoft/p/17451860.html) [自然语言处理(N

自然语言处理 Paddle NLP - 开放域对话系统-理论

基础 [自然语言处理(NLP)](https://www.cnblogs.com/vipsoft/p/17450994.html) [自然语言处理PaddleNLP-词向量应用展示](https://www.cnblogs.com/vipsoft/p/17451860.html) [自然语言处理(N

[转帖]ChatGPT发展历程、原理、技术架构详解和产业未来 (收录于先进AI技术深度解读)

https://zhuanlan.zhihu.com/p/590655677 陈巍谈芯::本文将介绍ChatGPT的特点、功能、技术架构、局限、产业应用、投资机会和未来。作者本人曾担任华为系自然语言处理( NLP )企业的首席科学家。 ChatGPT的关键改进可以参考paper:Augmenting

[转帖]陈巍谈芯:NLP里比BERT更优秀的XLNet长什么样?

https://zhuanlan.zhihu.com/p/447836322 ​ 目录 收起 一、XLNet的优势 1)独得AR与AE两大绝学 2)集成了Tansformer-XL 二、XLNet的结构特点 1) 置换语言模型(PermutationLanguage Modeling,PLM) 2)

CCL 2024 Task7 双任务冠军

近期参加NLP领域CCL2024评测,现将赛题背景和实现方法分享,推理文本纠错领域的发展。 1、背景信息 随着教育的发展和网络的普及,作文评价的规模越来越大,人工评改作文的成本和效率成为一大难题。为了解决这一问题,许多研究者和机构开始探索利用计算机技术来实现作文的自动评改,通过分析作文的语言、内容、

chatGPT初体验

chatGPT NLP技术,通过统计的手段模拟出更正确的答案。 他与以前的NLP不一样,他有上下文语义,他能够模拟场景,能够总结很多文章信息。 因此对于谷歌等搜索引擎就很有攻击性了,因为chatGPT能够自己做总结,有上下文语义等。再也不用看csdn哪些破文章抄来抄去浪费时间。还有就是对于问题的总结

一文详解自然语言处理两大任务与代码实战:NLU与NLG

> 自然语言处理(NLP)涵盖了从基础理论到实际应用的广泛领域,本文深入探讨了NLP的关键概念,包括词向量、文本预处理、自然语言理解与生成、统计与规则驱动方法等,为读者提供了全面而深入的视角。 > 作者 TechLead,拥有10+年互联网服务架构、AI产品研发经验、团队管理经验,同济本复旦硕,复旦

聊聊自然语言处理NLP

## 概述 自然语言处理(NLP)的正式定义:是一个使用计算机科学、人工智能(AI)和形式语言学概念来分析自然语言的研究领域。不太正式的定义表明:它是一组工具,用于从自然语言源(如web页面和文本文档)获取有意义和有用的信息。NLP工具的实现一般是基于机器学习与深度学习、其它算法(Lucene Co