
Datawhale干货 ag真人百家乐 229622点co
作家:杜晓东,Datawhale成员
在大模子时间,Embedding(向量示意)的进击性愈发突显。
不论是在 RAG 系统,依然在跨模态任务中王人上演看重要扮装。
本文带你持重了解文本向量的前世今生,让你简略更好地了解向量,使用向量。
在大模子时间,Embedding(向量示意)的进击性愈发突显。
不论是在 RAG 系统,依然在跨模态任务中王人上演看重要扮装。
本文带你持重了解文本向量的前世今生,让你简略更好地了解向量,使用向量。
1. 文本示意模子简介
文本是一类十分进击的非结构化数据,何如示意文本数据一直是机器学习领域的一个重心辩论所在。文本向量即是深度学习时间产生的一种文本示意的关节。
1.1 独热编码
最肤浅的文本示意模子即是独热编码(One-Hot Encoding),用于将词汇表中的每个词调遣为一个高维寥落向量,每个词的向量中唯有一个位置为1,其余位置为0。假设咱们有一个词汇表(辞书)V,其中包含N个唯独的词。每个词不错示意为一个长度为N的二进制向量。在这个向量中,唯有一个位置为1,对应于该词在词汇表中的位置,其余位置均为0。举例,假藉词汇表为:["I", "love", "machine", "learning"]:"I" 的独热示意为[1, 0, 0, 0] "love" 的独热示意为[0, 1, 0, 0] "machine" 的独热示意为[0, 0, 1, 0] "learning" 的独热示意为[0, 0, 0, 1]
张开剩余94%这种示意关节的 波折:
高维寥落性:对于大词汇表,独热向量的维度十分高且寥落,导致臆想和存储效果低。
无法捕捉词语之间的关系:独热示意无法捕捉词语之间的语义关系,所有这个词词被认为是孤独且等距的。
高维寥落性:对于大词汇表,独热向量的维度十分高且寥落,导致臆想和存储效果低。
无法捕捉词语之间的关系:独热示意无法捕捉词语之间的语义关系,所有这个词词被认为是孤独且等距的。
1.2 词袋模子与N-gram模子
在 词袋模子(Bag-of-Words, BoW)中,每个文档被示意为一个固定长度的向量。向量的每个位置对应于词汇表中的一个词,向量的值为该词在文档中出现的次数(或其他统计量,如词频-逆文档频率(TF-IDF))。假设有两个文档,文档1: "I love machine learning."和文档2: "I love machine learning. Machine learning is great.":
构建词汇表:["I", "love", "machine", "learning", "is", "great"]
文档1的词袋向量:[1, 1, 1, 1, 0, 0]
文档2的词袋向量:[1, 1, 2, 2, 1, 1]
构建词汇表:["I", "love", "machine", "learning", "is", "great"]
文档1的词袋向量:[1, 1, 1, 1, 0, 0]
文档2的词袋向量:[1, 1, 2, 2, 1, 1]
词袋模子莫得磋议词的规定和坎坷文信息, N-gram模子通过磋议文本中团结 n 个词的序列来捕捉词的规定和局部坎坷文信息。n-gram 不错是 unigram(1-gram),bigram(2-gram),trigram(3-gram)等。假设有一个文档:"I love machine learning.":
生成 bigram(2-gram):["I love", "love machine", "machine learning"]
构建词汇表:["I love", "love machine", "machine learning"]
文档的 bigram 向量:[1, 1, 1]
生成 bigram(2-gram):["I love", "love machine", "machine learning"]
构建词汇表:["I love", "love machine", "machine learning"]
文档的 bigram 向量:[1, 1, 1]
1.3 主题模子
从文本库中发现存代表性的主题(主题数算作超参数需要我方界说)->词散布,示意主题和词的对应关系
每篇著作对应着哪些主题->主题散布,示意文档和主题的对应关系
从文本库中发现存代表性的主题(主题数算作超参数需要我方界说)->词散布,示意主题和词的对应关系
每篇著作对应着哪些主题->主题散布,示意文档和主题的对应关系
主题模子的优点:
全局主题建模,简略发现长距离词依赖信息;
全局主题建模,简略发现长距离词依赖信息;
1.4 词向量
词向量(词镶嵌,Word Embedding)是将每个词王人映射到低维空间上的一个无边向量(Dense Vector)。这里的低维空间上的每一维也不错看作是中一个主题模子中的一个主题,只不外不像主题模子中那么直不雅(不具备可证据性)。词向量在学习时磋议到了面前词的坎坷文信息,以Word2Vec为例,它履行上是一种浅层的神经收罗模子(输入层、映射层、输出层),它有两种收罗结构,划分是CBOW和Skip-gram,参考下图:
不论是CBOW依然Skip-gram,王人是通过 最大化坎坷文词出现的概率来进行模子的优化。其他常见的词镶嵌关节,还有 GloVe(Global Vectors for Word Representation)、FastText。
词向量的几何性:词镶嵌的向量空间具备 几何性,因此允许使用 向量之间的距离和角度来预计相似性。常用的相似度度量包括:
余弦相似度:预计两个向量之间的角度,相似度越高,角度越小。
欧氏距离:预计两个向量之间的直线距离,距离越小,词语之间越相似。
余弦相似度:预计两个向量之间的角度,相似度越高,角度越小。
欧氏距离:预计两个向量之间的直线距离,距离越小,词语之间越相似。
词向量存在的问题:
坎坷文无关:词向量为静态向量,即吞并个词在不同的坎坷文中有换取的向量示意,这导致词向量无法惩办“一词多义”问题。
OOV问题:未登录词问题(Out-Of-Vocabulary),词镶嵌模子在试验时缔造一个固定的词汇表,任何不在词汇表中的词王人被视为 OOV。
语法和语义信息的捕捉不及:词镶嵌模子主要捕捉词语的共现信息,可能无法充分捕捉词语之间的复杂语法和语义关系。
坎坷文无关:词向量为静态向量,即吞并个词在不同的坎坷文中有换取的向量示意,这导致词向量无法惩办“一词多义”问题。
OOV问题:未登录词问题(Out-Of-Vocabulary),词镶嵌模子在试验时缔造一个固定的词汇表,任何不在词汇表中的词王人被视为 OOV。
语法和语义信息的捕捉不及:词镶嵌模子主要捕捉词语的共现信息,可能无法充分捕捉词语之间的复杂语法和语义关系。
1.5 句向量
句向量(Sentence Embedding)是将通盘句子调遣为固定长度的向量示意的关节。最肤浅的句向量赢得形状是基于平均词向量的关节:将句子中的每个词调遣为词向量,然后对这些词向量取平均得到句子向量。
1.5.1 词向量+sif或者usif
1.5.2 Doc2vec
Doc2vec是基于 Word2Vec 模子彭胀而来,相对于word2vec不同之处在于,在输入层,增添了一个新的句子向量 Paragraph vector,Paragraph vector不错被看作是另一个词向量。Doc2vec每次试验亦然 滑动截取句子中一小部分词来试验,Paragraph Vector在 吞并个句子的多少次试验中是分享的,这么试验出来的Paragraph vector就会平缓在每句子中的几次试验中不停自若下来,酿成该句子的主旨。
雷同于 Word2Vec,它也包含两种试验形状:
PV-DM (Distributed Memory Model of paragraph vectors)模子
给定一个文档D和一个窗口大小w,选拔一个指标词w_t和它的坎坷文词w_{t-1}, ..., w_{t+w}
将文档D的向量和坎坷文词的向量一谈输入模子,进行相加求平均或者累加组成一个新的向量X,基于该向量预测指标词w_t
PV-DM (Distributed Memory Model of paragraph vectors)模子
给定一个文档D和一个窗口大小w,选拔一个指标词w_t和它的坎坷文词w_{t-1}, ..., w_{t+w}
将文档D的向量和坎坷文词的向量一谈输入模子,进行相加求平均或者累加组成一个新的向量X,基于该向量预测指标词w_t
给定一个文档D和一个窗口大小w,选拔一个指标词w_t和它的坎坷文词w_{t-1}, ..., w_{t+w}
将文档D的向量和坎坷文词的向量一谈输入模子,进行相加求平均或者累加组成一个新的向量X,基于该向量预测指标词w_t
PV-DBOW(Distributed Bag of Words of paragraph vector)模子
给定一个文档D,就地选拔一个指标词w_t
使用文档D的向量预测指标词w_t
PV-DBOW(Distributed Bag of Words of paragraph vector)模子
给定一个文档D,就地选拔一个指标词w_t
使用文档D的向量预测指标词w_t
给定一个文档D,就地选拔一个指标词w_t
使用文档D的向量预测指标词w_t
Doc2vec的推理优化:在预测新的*句子向量(推理)时,Paragraph vector领先被 就地运行化,放入模子中再再行凭证 就地梯度着落不停迭代求得最终自若下来的句子向量。与试验时比较,此时 该模子的词向量和投影层到输出层的soft weights参数固定,只剩下Paragraph vector用梯度着落法求得,是以预测新句子时天然也要放入模子中不停迭代求出, 比较于试验时,速率会快得多。
2. 基于Bert的文本向量
2.1 Bert向量的各向异性
将文本输入Bert模子中后,频频使用临了一个粉饰层中[CLS]秀气对应的向量或对临了一个粉饰层作念MeanPooling,来赢得该文本对应的向量示意。
为什么Bert向量示意不可径直用于相似度臆想?中枢原因即是: 各向异性(anisotropy)。各向异性是一个物理学、材料科学领域的宗旨,底本指材料或系统在不同方朝上阐述出不同物感性质的时事。算作吃货的咱们确定十分有教会,吃肉的期间顺纹切的肉比横纹切的肉更有嚼劲。雷同的还有木头的顺纹和横纹的抗压和抗拉才气也不同,石墨单晶的电导率在不同所在各异很大。 各向异性在向量空间上的含义即是散布与所在研究系,而各向同性即是各个所在王人雷同,比如二维的空间,各向异性和各向同性对比如下(左图为各向异性,右图为各向同性)。
Bert的各向异性是指:“Anisotropic” means word embeddings occupy a narrow cone in the vector space. 肤浅证据即是, 词向量在向量空间中占据了一个狭隘的圆锥形骸。Bert的词向量在空间中的散布呈现锥形,辩论者发现高频的词王人聚拢原点(所有这个词词的均值),而低频词鉴别原点,这会导致即使一个高频词与一个低频词的语义等价,然则词频的各异也会带来渊博的各异,从而词向量的距离不可很好的抒发词间的语义关系性。另外,还存在 高频词散布紧凑,低频词的散布寥落的问题。散布寥落会导致区间的语义不完好意思(poorly defined),低频词向量试验的不充分,从而导致进行向量相似度臆想时出现问题。
不仅仅Bert,大普遍Transformer架构的预试验模子学习到的词向量空间(包括GPT-2),王人有雷同的问题(感好奇爱慕的不错去看「Gao et al. 2019」https://arxiv.org/abs/1907.12009,「Wang et al. 2020」https://openreview.net/pdf?id=ByxY8CNtvr,「Ethayarajh, 2019」https://arxiv.org/abs/1909.00512):
各项异性的波折:一个好的向量示意应该同期闲隙 alignment和 uniformity,前者示意 相似的向量距离应该左近,后者就示意 向量在空间上应该尽量均匀,最佳是各向同性的。各向异性就有个问题,那即是临了学到的 向量王人挤在一谈,互相之间臆想余弦相似度王人很高,并不是一个很好的示意。
各项异性问题的优化关节:
有监督学习优化:通过标注语料构建双塔Bert或者单塔Bert来进行 模子微调,使聚拢卑鄙任务的Bert层向量愈加聚拢句子相似embedding的抒发,从而使向量空间平滑。有监督学习优化的代表是 SBERT。
无监督学习优化:
通过对Bert的向量空间进行 线性变换,缓解各向异性的问题。无监督学习优化的代表是 Bert-flow和 Bert-whitening。
基于 对比学习的念念想,通过对文本自身进行 增广(转译、删除、插入、调换规定、Dropout等),彭胀出的句子算作正样本,其他句子的增广算作负样本,通过拉近正样本对的向量距离,ag百家乐真的假的同期增多与负样本的向量距离,已矣模子优化,又叫 自监督学习优化,代表即是 SimCSE。
有监督学习优化:通过标注语料构建双塔Bert或者单塔Bert来进行 模子微调,使聚拢卑鄙任务的Bert层向量愈加聚拢句子相似embedding的抒发,从而使向量空间平滑。有监督学习优化的代表是 SBERT。
无监督学习优化:
通过对Bert的向量空间进行 线性变换,缓解各向异性的问题。无监督学习优化的代表是 Bert-flow和 Bert-whitening。
基于 对比学习的念念想,通过对文本自身进行 增广(转译、删除、插入、调换规定、Dropout等),彭胀出的句子算作正样本,其他句子的增广算作负样本,通过拉近正样本对的向量距离,同期增多与负样本的向量距离,已矣模子优化,又叫 自监督学习优化,代表即是 SimCSE。
通过对Bert的向量空间进行 线性变换,缓解各向异性的问题。无监督学习优化的代表是 Bert-flow和 Bert-whitening。
基于 对比学习的念念想,通过对文本自身进行 增广(转译、删除、插入、调换规定、Dropout等),彭胀出的句子算作正样本,其他句子的增广算作负样本,通过拉近正样本对的向量距离,同期增多与负样本的向量距离,已矣模子优化,又叫 自监督学习优化,代表即是 SimCSE。
2.2 有监督学习优化-Sentence-BERT(SBERT)
BERT向量模子(SBERT模子)与BERT交互式语义模子(BERT二分类模子)的区别:
SBERT模子通过对预试验的BERT结构进行修改,并通过在有监督任务(如天然谈话推理、语义文本相似度)上进行微调,优化Bert向量径直进行相似度臆想的性能。
SBERT模子分为 孪生(Siamese)和 三级(triplet)收罗,针对不同的收罗结构,竖立了三个不同的指标函数:
Classification Objective Function:孪生(Siamese)收罗试验,针对分类问题。上左图,u,v划分示意输入的2个句子的向量示意,*|u-v|*示意取两个向量element-wise的全王人值。模子试验时使用交叉熵亏空函数臆想loss。
Classification Objective Function:孪生(Siamese)收罗试验,针对分类问题。上左图,u,v划分示意输入的2个句子的向量示意,*|u-v|*示意取两个向量element-wise的全王人值。模子试验时使用交叉熵亏空函数臆想loss。
Regression Objective Function:孪生(Siamese)收罗试验,针对回顾问题。上右图,径直臆想u,v向量的余弦相似度,试验时使用均方罪状(Mean Squared Error, MSE)进行loss臆想。3. Triplet Objective Function:三级(triplet)收罗试验,模子有变成三个句子输入。给定一个锚定句𝑎,一个确定句𝑝和一个辩说句𝑛,模子通过使𝑎与𝑝的距离小于与𝑎与𝑛的距离,来优化模子,即
Regression Objective Function:孪生(Siamese)收罗试验,针对回顾问题。上右图,径直臆想u,v向量的余弦相似度,试验时使用均方罪状(Mean Squared Error, MSE)进行loss臆想。3. Triplet Objective Function:三级(triplet)收罗试验,模子有变成三个句子输入。给定一个锚定句𝑎,一个确定句𝑝和一个辩说句𝑛,模子通过使𝑎与𝑝的距离小于与𝑎与𝑛的距离,来优化模子,即
其中,𝜖 示意边距,在论文中,距离度量为欧式距离,边距大小为1。
吞并期间的其他针对句向量的辩论,「USE(Universal Sentence Encoder)」https://arxiv.org/abs/1803.11175、「InferSent」https://arxiv.org/abs/1705.02364等,他们的共性在于王人使用了“双塔”类的结构。
对于天然推理任务?天然谈话推理(Natural Language Inference, NLI)是天然谈话处理(NLP)中的一个进击任务,旨在判断两个给定句子之间的逻辑关系。具体来说,NLI任务频频触及三个主要的逻辑关系:
蕴含(Entailment):前提(Premise)蕴含假设(Hypothesis),即如若前提为真,则假设也为真。
矛盾(Contradiction):前提与假设相矛盾,即如若前提为真,则假设为假。
中立(Neutral):前提与假设既不蕴含也不矛盾,即前提为真时,假设可能为真也可能为假。
使用NLI的标注数据集(SNLI,MNLI等)试验出的语义向量模子,展现出了较好的语义彭胀性和鲁棒性,妥当进行zero-shot或者few-shot。
对于天然推理任务?天然谈话推理(Natural Language Inference, NLI)是天然谈话处理(NLP)中的一个进击任务,旨在判断两个给定句子之间的逻辑关系。具体来说,NLI任务频频触及三个主要的逻辑关系:
蕴含(Entailment):前提(Premise)蕴含假设(Hypothesis),即如若前提为真,则假设也为真。
矛盾(Contradiction):前提与假设相矛盾,即如若前提为真,则假设为假。
中立(Neutral):前提与假设既不蕴含也不矛盾,即前提为真时,假设可能为真也可能为假。
蕴含(Entailment):前提(Premise)蕴含假设(Hypothesis),即如若前提为真,则假设也为真。
矛盾(Contradiction):前提与假设相矛盾,即如若前提为真,则假设为假。
中立(Neutral):前提与假设既不蕴含也不矛盾,即前提为真时,假设可能为真也可能为假。
使用NLI的标注数据集(SNLI,MNLI等)试验出的语义向量模子,展现出了较好的语义彭胀性和鲁棒性,妥当进行zero-shot或者few-shot。
2.3 无监督学习优化
2.3.1 Bert-flow
既然Bert向量空间不均匀,那就想主张把该向量空降映射一个均匀的空间中,举例 圭臬高斯(Standard Gaussian)散布。「BERT-flow」 https://arxiv.org/abs/2011.05864,即是基于流式生成模子,将BERT的示意可逆地映射到一个圭臬高斯散布上。具体作念法是,在Bert后头接一个flow模子,flow模子的试验是无监督的,况且Bert的参数是不参与试验,唯有flow的参数被优化,而试验的指标则为最大化事先臆想好的Bert的句向量的似然函数。试验经过肤浅说即是学习一个可逆的映射𝑓,把遵命高斯散布的变量𝑧映射到BERT编码的𝑢,那𝑓−1就不错把𝑢映射到均匀的高斯散布,这时咱们最大化从高斯散布中产生BERT示意的概率,就学习到了这个映射:
对于流式生成模子的旨趣,感好奇爱慕的我方看:
ICLR 2015 NICE-Non-linear Independent Components Estimation
ICLR 2017 Density estimation using Real NVP
NIPS 2018 Glow: Generative Flow with Invertible 1×1 Convolutions
ICLR 2015 NICE-Non-linear Independent Components Estimation
ICLR 2017 Density estimation using Real NVP
NIPS 2018 Glow: Generative Flow with Invertible 1×1 Convolutions
2.3.2 Bert-whitening
「Bert-whitening」(https://spaces.ac.cn/archives/8069)的作家即是苏神@苏剑林(https://www.zhihu.com/people/su-jian-lin-22),他领先分析了余弦相似度的假设:余弦相似度的臆想为两个向量的内积除以各自的模长,而该式子的局限性为仅在圭臬正交基下成立。同期,经过假设分析,得出论断: 一个合适“各向同性”的空间就不错认为它源于圭臬正交基。他以为Bert-flow天然灵验,然则试验flow模子太隔断,不错找到一个 更肤浅的形状已矣空间调遣。圭臬正态散布的均值为0、协方差矩阵为单元阵,它的作念法即是将Bert向量的均值变换为0、协方差矩阵变换为单元阵,也即是传统数据挖掘中中的**白化(whitening)**操作。
2.3.3 SimCSE
欺诈模子中的Dropout mask,对每一个样例进行 两次前向传播,得到两个不同的embeddings向量,将吞并个样例得到的向量对算作正样本对,对于每一个向量,选取吞并个batch中所有这个词样例产生的embeddings向量算作负样本,以此来试验模子。试验亏空函数为:
欺诈模子中的Dropout mask,对每一个样例进行 两次前向传播,得到两个不同的embeddings向量,将吞并个样例得到的向量对算作正样本对,对于每一个向量,选取吞并个batch中所有这个词样例产生的embeddings向量算作负样本,以此来试验模子。试验亏空函数为:
SimCSE也提供了 有监督学习的试验范式,欺诈NLI标注数据集进行试验,将每一个样例和与其相对的entailment算作正样本对,吞并个batch中其他样例的entailment算作负样本,该样本相对应的contradiction算作hard negative进行试验。试验亏空函数为:
SimCSE也提供了 有监督学习的试验范式,欺诈NLI标注数据集进行试验,将每一个样例和与其相对的entailment算作正样本对,吞并个batch中其他样例的entailment算作负样本,该样本相对应的contradiction算作hard negative进行试验。试验亏空函数为:
3. 大模子时间的预测ag真人百家乐 229622点co
发布于:浙江省