伯特斯卡斯_google ai嵌入的实验室语言不可知伯特句子

2024-03-13 13:20

本文主要是介绍伯特斯卡斯_google ai嵌入的实验室语言不可知伯特句子,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

伯特斯卡斯

Multilingual Embedding Models are the ones that map text from multiple languages to a shared vector space (or embedding space). This implies that in this embedding space, related or similar words will lie closer to each other, and unrelated words will be distant (refer to the figure above).

多语言嵌入模型是将多种语言的文本映射到共享向量空间(或嵌入空间)的模型。 这意味着在这个嵌入空间中, 相关或相似的词将彼此靠近 ,而无关的词将变得遥远 (请参见上图)。

In this article, we will discuss LaBSE: Language-Agnostic BERT Sentence Embedding, recently proposed in Feng et. al. which is the state of the art in Sentence Embedding.

在这篇文章中,我们将讨论LaBSE:L anguage- 诺斯 ERT 小号 entenceēmbedding,最近提出了Feng等。 等 这是Sentence Embedding中最先进的技术。

现有方法 (Existing Approaches)

The existing approaches mostly involve training the model on a large amount of parallel data. Models like LASER: Language-Agnostic SEntence Representations and m-USE: Multilingual Universal Sentence Encoder essentially map parallel sentences directly from one language to another to obtain the embeddings. They perform pretty well across a number of languages. However, they do not perform as good as dedicated bilingual modeling approaches such as Translation Ranking (which we are about to discuss). Moreover, due to limited training data (especially for low-resource languages) and limited model capacity, these models cease to support more languages.

现有的方法主要涉及在大量并行数据上训练模型。 模型,如LASER:L anguage- 诺斯SE ntenceř对产权和M-USE:M ultilingualùniversal 小号 entenceËncoder基本上平行映射句子直接从一种语言到另获得的嵌入。 它们在多种语言中的表现都很好。 但是,它们的性能不如专用的双语建模方法(例如, 翻译排名 (我们将要讨论))好。 此外,由于训练数据有限(特别是对于资源匮乏的语言)和模型能力有限,这些模型不再支持更多的语言

Recent advances in NLP suggest training a language model on a masked language modeling (MLM) or a similar pre-training objective and then fine-tuning it on downstream tasks. Models like XLM are extended on the MLM objective, but on a cross-lingual setting. These work great on the downstream tasks but produce poor sentence-level embeddings due to the lack of a sentence-level objective.

NLP的最新进展表明,在掩盖语言建模(MLM)或类似的预训练目标上训练语言模型,然后在下游任务上对其进行微调。 像XLM这样的模型是在MLM目标上扩展的,但是是在跨语言环境下进行的。 这些在下游任务上效果很好,但是由于缺少句子级目标而产生的句子级嵌入效果很差

Rather, the production of sentence embeddings from MLMs must be learned via fine-tuning, similar to other downstream tasks.

而是,必须通过微调来学习来自传销的句子嵌入的产生,这与其他下游任务类似。

— LaBSE Paper

— LaBSE纸

与语言无关的BERT句子嵌入 (Language-Agnostic BERT Sentence Embedding)

Image for post
LaBSE Paper LaBSE Paper具有附加裕度Softmax和共享参数的双向双编码器

The proposed architecture is based on a Bidirectional Dual-Encoder (Guo et. al.) with Additive Margin Softmax (Yang et al.) with improvements. In the next few sub-sections we will decode the model in-depth:

所提出的体系结构是基于双向双编码器 (Guo等人 )和具有改进的加性余量Softmax( Yang等人 )的 。 在接下来的几个小节中,我们将对模型进行深入解码:

翻译排名任务 (Translation Ranking Task)

Image for post
Google AI Blog Google AI博客进行翻译排名任务

First things first, Guo et. al. uses a translation ranking task which essentially ranks all the target sentences in order of their compatibility with the source. This is usually not ‘all’ the sentences but some ‘K - 1’ sentences. The objective is to maximize the compatibility between the source sentence and its real translation and minimize it with others (negative sampling).

首先, 郭等。 等 使用翻译排序任务,该任务从本质上排序所有目标句子与源句子的兼容性 。 这通常不是“全部”句子,而是一些“ K-1 ”句子。 目的是最大程度地提高源句子与其实际翻译之间的兼容性,使其与其他 句子 ( 负采样 ) 的兼容性 最小化

双向双编码器 (Bidirectional Dual Encoder)

Image for post
Dual-Encoder Architecture via Guo et. al.
通过 Guo等人的双编码器架构 。 等

The dual-encoder architecture essentially uses parallel encoders to encode two sequences and then obtain a compatibility score between both the encodings using a dot-product. The model in Guo et. al. was essentially trained on a parallel corpus for the translation ranking task which was discussed in the previous section.

双编码器体系结构本质上使用并行编码器对两个序列进行编码,然后使用点积获得两种编码之间的兼容性得分 。 郭等人的模型。 等 基本上在并行语料库上接受了翻译排名任务的培训,这已在上一节中进行了讨论。

As far as ‘bidirectional’ is concerned; it basically takes the compatibility scores in both the ‘directions’, i.e. from source to target as well as from target to source. For example, if the compatibility from source x to target y is denoted by ɸ(x_i, y_i), then the score ɸ(y_i, x_i) is also taken into account and the individual losses are summed.

就“双向”而言; 它基本上在两个“方向”上取得兼容性评分,即从源到目标以及从目标到源 。 例如,如果从源x到目标y的兼容性 ɸ(x_i,y_i)表示 然后得分ɸ(y_i,x_i) 还考虑了损失,并对各个损失进行了求和。

Loss = L + L′

损失= L + L'

附加保证金Softmax(AMS) (Additive Margin Softmax (AMS))

Image for post
Embedding Space with and without Additive Margin Softmax via Yang et al.
通过 Yang等人的方法,在具有和不具有附加余量Softmax的情况下嵌入空间 。

In vector spaces, classification boundaries can be pretty narrow, hence it can be difficult to separate the vectors. AMS suggests introducing a parameter m in the original softmax loss to increase the separability between the vectors.

在向量空间中,分类边界可能非常狭窄,因此可能难以分离向量 。 AMS建议引入参数m 原始softmax损失会增加向量之间的可分离性。

Image for post
LaBSE Paper LaBSE Paper进行 AMS

Notice how the parameter m is subtracted just from the positive sample and not the negative ones which is responsible for the classification boundary.

注意如何仅从正样本中减去参数m ,而不从负样本中减去负参数m ,这是分类边界的原因。

You can refer to this blog if you’re interested in getting a better understanding of AMS.

如果您有兴趣更好地了解AMS,可以参考此博客 。

跨加速器负采样 (Cross-Accelerator Negative Sampling)

Image for post
LaBSE Paper LaBSE纸进行交叉加速器负采样

The translation ranking task suggests using negative sampling for ‘K - 1’ other sentences that aren’t potentially compatible translations of the source sentence. This is usually done by taking sentences from the rest of the batch. This in-batch negative sampling is depicted in the above figure (left). However, LaBSE leverages BERT as its encoder network. For heavy networks like these, it is infeasible to have batch sizes that are large enough to provide sufficient negative samples for training. Thus, the proposed approach leverages distributed training methods to share batches across different accelerators (GPUs) and broadcasting them in the end. Here, all the shared batches are considered as negative samples, and just the sentences in the local batch are considered for positive sampling. This is depicted in the above figure (right).

翻译排名任务建议对“ K-1 ”其他与源句潜在不兼容的译文使用否定采样。 这通常是通过从其余部分中提取句子来完成的。 上图( )显示了批生产中的负采样。 但是,LaBSE利用BERT作为其编码器网络。 对于此类繁重的网络,批量大小足够大以提供足够的阴性样本进行训练是不可行的。 因此,提出的方法利用分布式训练方法在不同的加速器(GPU)之间共享批次并最终广播它们 。 在这里,所有共享批次都被视为否定样本,而仅将本地批次中的句子视为正样本。 上图( )对此进行了描述。

预训练和参数共享 (Pre-Training and Parameter Sharing)

Finally, as mentioned earlier, the proposed architecture uses BERT encoders and are pretrained on Masked Language Model (MLM) as in Devlin et. al. and Translation Language Model (TLM) objective as in XLM (Conneau and Lample). Moreover, these are trained using a 3-stage progressive stacking algorithm i.e. an L layered encoder is first trained for L / 4 layers, then L / 2 layers and then finally L layers.

最后,如前所述,所提出的体系结构使用BERT编码器,并且像Devlin等人在Masked Language Model(MLM)上进行了预训练。 人 。 和XLM(Conneau和Lample)中的翻译语言模型(TLM)目标。 此外,使用三阶段渐进式堆栈算法对这些层进行训练,即首先对L层编码器进行L / 4层,然后L / 2层,最后L层的训练。

For more on BERT pre-training, you can refer to my blog.

有关BERT预培训的更多信息,请参阅我的博客 。

放在一起 (Putting it All Together)

LaBSE,

LaBSE,

  1. combines all the existing approaches i.e. pre-training and fine-tuning strategies with bidirectional dual-encoder translation ranking model.

    结合了所有现有方法,即预训练和微调策略与双向双编码器翻译排名模型。
  2. is a massive model and supports 109 languages.

    是一个大型模型,支持109种语言。

结果 (Results)

Image for post
Tatoeba Datasets via Google AI博客获得的 Google AI Blog Tatoeba数据集的平均准确度(%)

LaBSE clearly outperforms its competitors with a state of the art average accuracy of 83.7% on all languages.

LaBSE在所有语言上的平均准确度均达到83.7%,明显优于竞争对手。

Image for post
Google AI Blog Google AI博客进行零位设置

LaBSE was also able to produce decent results on the languages for which training data was not available (zero-shot).

LaBSE还能够在没有培训数据的语言(零射)上产生不错的成绩。

Fun Fact: The model uses a 500k vocabulary size to support 109 languages and provides cross-lingual support for even zero-shot cases.

有趣的事实:该模型使用500k的词汇量来支持109种语言,甚至为零击案例提供了跨语言支持。

结论 (Conclusion)

We discussed the Language-Agnostic BERT Sentence Embedding model and how pre-training approaches can be incorporated to obtain the state of the art sentence embeddings.

我们讨论了语言不可知的BERT句子嵌入模型,以及如何结合预训练方法来获取最新的句子嵌入状态。

The model is open-sourced at TFHub here.

该模型在TFHub开源 。

翻译自: https://towardsdatascience.com/labse-language-agnostic-bert-sentence-embedding-by-google-ai-531f677d775f

伯特斯卡斯


http://www.taodudu.cc/news/show-8491223.html

相关文章:

  • 基于JavaWeb的企业公司管理系统设计与实现
  • Silicon Labs新推出EFR32BG22芯片性能强劲,详细对比nRF52832和CC2640R2F
  • Silicon Labs BG22、xG24、BG27无线SoC比较及信驰达无线模块选型指南
  • 华为企业业务2.0,以数字平台起跳
  • html5 企业网站模板 多语言,通用HTML5企业网站模板
  • 华为企业BG全球智慧城市业务部副总裁王盾:打造智慧城市神经系统
  • 四川公务员考试考“性生活满意度”引热议
  • 120941138报:V8 的 Java 封装 jav8
  • V8的Java 封装jav8
  • Java 8 – List分组GroupBy
  • 自媒体人有哪些好用的热点工具,可以快速蹭热点?
  • 做自媒体必备4大蹭热点工具
  • 自媒体文章阅读量低怎么办?学会蹭热点热搜,流量翻倍
  • 蹭热点的Alpha Zero感想
  • 把握新手期流量:巧妙蹭热点,让你的内容点赞10W+
  • 公众号自媒体怎么做,学会这几招,蹭热点超级快
  • 自媒体百万大号怎么蹭热点?4个小技巧,拿捏了~
  • 短视频人的硬伤,蹭热点大有讲究
  • 成都速领科技:抖音蹭热点技巧是啥
  • 3.8 如何在小红书上蹭热点,这里有8个方法【玩赚小红书】
  • 这些蹭热点的方法你一定要学会,教你打造爆款内容
  • 网络推广蹭热点需要掌握的几点套路
  • 小红书热点怎么蹭?10个技巧,手把手带你用好热点
  • 蹭热点破百万播放量,这些涨粉技巧千万不能错过!
  • 【宽创国际】馆讯:泰特现代美术馆于2018年超越大英博物馆成为伦敦最受欢迎的艺术机构
  • 用VR探索20世纪俄罗斯艺术家工作室(转载)
  • 英国最值得参观的十大博物馆介绍
  • .ART描绘现代创造力和特质
  • 布朗温莎汤(Brown Windsor Soup)布朗温莎汤的特点起源与争议现代的布朗温莎汤白兰地加苏打水这个搭配如何,并讲述这样搭配的由来白兰地的特点苏打水的特点白兰地加
  • 最佳学习网站收集
  • 这篇关于伯特斯卡斯_google ai嵌入的实验室语言不可知伯特句子的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



    http://www.chinasem.cn/article/805015

    相关文章

    Go语言中nil判断的注意事项(最新推荐)

    《Go语言中nil判断的注意事项(最新推荐)》本文给大家介绍Go语言中nil判断的注意事项,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录1.接口变量的特殊行为2.nil的合法类型3.nil值的实用行为4.自定义类型与nil5.反射判断nil6.函数返回的

    Go语言数据库编程GORM 的基本使用详解

    《Go语言数据库编程GORM的基本使用详解》GORM是Go语言流行的ORM框架,封装database/sql,支持自动迁移、关联、事务等,提供CRUD、条件查询、钩子函数、日志等功能,简化数据库操作... 目录一、安装与初始化1. 安装 GORM 及数据库驱动2. 建立数据库连接二、定义模型结构体三、自动迁

    Go语言代码格式化的技巧分享

    《Go语言代码格式化的技巧分享》在Go语言的开发过程中,代码格式化是一个看似细微却至关重要的环节,良好的代码格式化不仅能提升代码的可读性,还能促进团队协作,减少因代码风格差异引发的问题,Go在代码格式... 目录一、Go 语言代码格式化的重要性二、Go 语言代码格式化工具:gofmt 与 go fmt(一)

    Go语言中泄漏缓冲区的问题解决

    《Go语言中泄漏缓冲区的问题解决》缓冲区是一种常见的数据结构,常被用于在不同的并发单元之间传递数据,然而,若缓冲区使用不当,就可能引发泄漏缓冲区问题,本文就来介绍一下问题的解决,感兴趣的可以了解一下... 目录引言泄漏缓冲区的基本概念代码示例:泄漏缓冲区的产生项目场景:Web 服务器中的请求缓冲场景描述代码

    Go语言如何判断两张图片的相似度

    《Go语言如何判断两张图片的相似度》这篇文章主要为大家详细介绍了Go语言如何中实现判断两张图片的相似度的两种方法,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 在介绍技术细节前,我们先来看看图片对比在哪些场景下可以用得到:图片去重:自动删除重复图片,为存储空间"瘦身"。想象你是一个

    Go语言中Recover机制的使用

    《Go语言中Recover机制的使用》Go语言的recover机制通过defer函数捕获panic,实现异常恢复与程序稳定性,具有一定的参考价值,感兴趣的可以了解一下... 目录引言Recover 的基本概念基本代码示例简单的 Recover 示例嵌套函数中的 Recover项目场景中的应用Web 服务器中

    Go语言中使用JWT进行身份验证的几种方式

    《Go语言中使用JWT进行身份验证的几种方式》本文主要介绍了Go语言中使用JWT进行身份验证的几种方式,包括dgrijalva/jwt-go、golang-jwt/jwt、lestrrat-go/jw... 目录简介1. github.com/dgrijalva/jwt-go安装:使用示例:解释:2. gi

    Go 语言中的 Struct Tag 的用法详解

    《Go语言中的StructTag的用法详解》在Go语言中,结构体字段标签(StructTag)是一种用于给字段添加元信息(metadata)的机制,常用于序列化(如JSON、XML)、ORM映... 目录一、结构体标签的基本语法二、json:"token"的具体含义三、常见的标签格式变体四、使用示例五、使用

    Spring AI 实现 STDIO和SSE MCP Server的过程详解

    《SpringAI实现STDIO和SSEMCPServer的过程详解》STDIO方式是基于进程间通信,MCPClient和MCPServer运行在同一主机,主要用于本地集成、命令行工具等场景... 目录Spring AI 实现 STDIO和SSE MCP Server1.新建Spring Boot项目2.a

    Go语言使用slices包轻松实现排序功能

    《Go语言使用slices包轻松实现排序功能》在Go语言开发中,对数据进行排序是常见的需求,Go1.18版本引入的slices包提供了简洁高效的排序解决方案,支持内置类型和用户自定义类型的排序操作,本... 目录一、内置类型排序:字符串与整数的应用1. 字符串切片排序2. 整数切片排序二、检查切片排序状态: