0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

自然语言处理BERT中CLS的效果如何?

深度学习自然语言处理 来源:AI自然语言处理与知识图谱 作者:Elesdspline 2021-04-04 17:01 次阅读

要说自然语言处理在18年最夺目闪耀的是什么事情,那当属 BERT 刷新各个任务的记录了,至今已经过去了近两年半的时间,但其影响力未曾衰减,无论学术界还是工业界,很多的工作与部署都围绕其展开,对很多的下游任务都有举足轻重的作用,真的是里程碑啊。

相信大家都有过BERT、ALBERT等预训练语言模型应用在自己任务上的实践经历,可能是情感分析、分类、命名实体识别、阅读理解、相似度计算等等,使用的方法也无非是在自己任务上 fine-tune 或者作为预训练Embedding,使用的预训练模型大多是公开的,大佬们(财大气粗、资源无数)训练好的。(有钱真好)

在用预训练模型的时候,根据任务的不同,用到信息也不同,有的需要是词表示,比如命名实体识别、词性标注等任务,有的需要的是句子表示,比如分类、句子语意匹配等。这里我要说的句子表示这一类的任务,大家经常会用到的 [CLS] 特征信息作为句子向量表示,CLS 作为 BERT/ALBERT序列信息中特殊的一个存在,在最开始设计模型的时候便考虑将其作为后续文本分类的表示,然而直接使用 CLS 的效果真的会满足我们的预期嘛?相信大家在实践的过程中都有所体会~,另外 ALBERT 和 BERT 在下游任务应用上面孰好孰坏,是否有一个定论?

我最近看到了一篇 Arxiv 的文章,题目是 《Evaluation of BERT and ALBERT Sentence Embedding Performance on Downstream NLP Tasks》,这篇文章在 BERT/ALBERT 提取信息作为句子信息表示应用在下游任务,对其效果进行了评测,或许会解答我们实践中的疑惑,也或者会给我们一些预训练模型在下游任务应用的启发,让我们来看下~

评测对比

有一系列的对比实验,来看在下游任务上面的效果~

[CLS] embeddings

CLS 通过 Self-Attention 机制来获取句子级别的信息表示,在不同的任务上 Fine-tune 之后,CLS 会捕捉特定环境下的上下文信息表示。

Pooled embeddings

将文本中的所有词做 Avg-pooling 或者 max-pooling。

Sentence-X(SBERT/ALBERT)

BERT 在语义相似度任务上面也取得了很不错的效果,然后其内部的结构在计算过程中会导致非常耗时,不适合做语义相似度匹配任务,特别是在工业界,BERT 的耗时无法满足上线的需要。针对这个问题,有人提出 Sentence-BERT,采用孪生网络模型框架,将不同的句子输入到参数共享的两个BERT模型中,获取句子信息表示,用于语义相似度计算,最终相比BERT效率大大提升,满足工业界线上需要。SBERT 从65小时降到5秒,具体详见参考资料2。

99cb1f6c-88e9-11eb-8b86-12bb97331649.png

CNN-SBERT/SALBERT

在上图中,SBERT 采用 Avg-pooling 获取句子向量表示,本文将其替换成 CNN 网络结构获取句子向量表示。

99fe6886-88e9-11eb-8b86-12bb97331649.png

结果分析

评测任务

STS:Semantic Textual Similarity

NLI:Natural Language Inference

评测指标

Pearson and Spearman’s rank coefficients(皮尔逊和斯皮尔曼相关系数)

评测数据

Semantic Textual Similarity benchmark(STSb)

Multi-Genre Natural Language Inference(MultiNLI)

Stanford Natural Language Inference(SNLI)

上面列出来相关的评测任务、评测指标以及评测所用到的数据,下面先给出一张结果表,然后再详细分析~

9a3609a8-88e9-11eb-8b86-12bb97331649.png

详细分析

微调有效:这个是符合我们认知的,肯定是微调的效果要好。

CLS 效果:CLS 的效果要逊色很多,无论是在微调上面,还是不微调上面,CLS的效果都要远逊色于平均池化操作或者其他方法。

不同方法效果:总体上来看,CNN-BERT > SBERT > Avg pooling > CLS

BERT 与 ALBERT:从上图中大概能够看出,不微调的情况下,两者的效果差不多,但是微调之后,ALBERT的效果要比BERT差很多,仅仅在STSb上微调的时候,CLS 和平均池化的方法要好于BERT。

CNN的效果

从上图来看,最好的结果是采用了 CNN 网络结构,说明 CNN 起到了正向的作用,仔细观察发现,CNN 对 ALBERT 的改进要远大于对 BERT 的改善提高。ALBERT 由于内部参数共享,可能存在不稳定性,CNN 网络结构或许可以减缓这种不稳定性。

下图也进行了一些对比,在几个不同的数据集上验证 CNN 的有效性,从最终的 Avg 结果来看,CNN 网络结构对 ALBERT 有改善提升。

9a91a5e2-88e9-11eb-8b86-12bb97331649.png

以上是根据实验结果进行的简单分析,其中有一些结论和对比可以在我们日常的实践中借鉴并尝试,说不定会有不错的效果~

原文标题:【BERT】BERT中CLS效果真的好嘛?这篇文章告诉你答案

文章出处:【微信公众号:深度学习自然语言处理】欢迎添加关注!文章转载请注明出处。

责任编辑:haq

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 人工智能
    +关注

    关注

    1791

    文章

    47208

    浏览量

    238298
  • 自然语言
    +关注

    关注

    1

    文章

    288

    浏览量

    13347

原文标题:【BERT】BERT中CLS效果真的好嘛?这篇文章告诉你答案

文章出处:【微信号:zenRRan,微信公众号:深度学习自然语言处理】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    自然语言处理与机器学习的关系 自然语言处理的基本概念及步骤

    自然语言处理(Natural Language Processing,简称NLP)是人工智能和语言学领域的一个分支,它致力于研究如何让计算机能够理解、解释和生成人类语言。机器学习(Ma
    的头像 发表于 12-05 15:21 457次阅读

    语音识别与自然语言处理的关系

    在人工智能的快速发展,语音识别和自然语言处理(NLP)成为了两个重要的技术支柱。语音识别技术使得机器能够理解人类的语音,而自然语言处理则让
    的头像 发表于 11-26 09:21 339次阅读

    ASR与自然语言处理的结合

    ASR(Automatic Speech Recognition,自动语音识别)与自然语言处理(NLP)是人工智能领域的两个重要分支,它们在许多应用紧密结合,共同构成了自然语言理解和
    的头像 发表于 11-18 15:19 401次阅读

    自然语言处理与机器学习的区别

    在人工智能的快速发展自然语言处理(NLP)和机器学习(ML)成为了两个核心的研究领域。它们都致力于解决复杂的问题,但侧重点和应用场景有所不同。 1. 自然语言
    的头像 发表于 11-11 10:35 555次阅读

    图像识别技术包括自然语言处理

    计算机视觉技术对图像进行处理、分析和理解,从而实现对图像的目标、场景、行为等信息的识别和理解。图像识别技术包括图像预处理、特征提取、分类器设计、模型训练等多个环节。 1.2 自然语言
    的头像 发表于 07-16 10:54 738次阅读

    用于自然语言处理的神经网络有哪些

    取得了显著进展,成为处理自然语言任务的主要工具。本文将详细介绍几种常用于NLP的神经网络模型,包括递归神经网络(RNN)、长短时记忆网络(LSTM)、卷积神经网络(CNN)、变换器(Transformer)以及预训练模型如BERT
    的头像 发表于 07-03 16:17 1130次阅读

    自然语言处理技术有哪些

    自然语言处理(Natural Language Processing,简称NLP)是人工智能领域的一个分支,它致力于使计算机能够理解、解释和生成人类语言自然语言
    的头像 发表于 07-03 14:30 1103次阅读

    自然语言处理模式的优点

    自然语言处理(Natural Language Processing,简称NLP)是人工智能领域的一个重要分支,它致力于使计算机能够理解、生成和处理人类语言。随着技术的发展,
    的头像 发表于 07-03 14:24 765次阅读

    自然语言处理技术的核心是什么

    自然语言处理(Natural Language Processing,简称NLP)是人工智能领域的一个重要分支,其核心目标是使计算机能够理解、生成和处理人类语言。NLP技术的发展已经取
    的头像 发表于 07-03 14:20 718次阅读

    自然语言处理是什么技术的一种应用

    自然语言处理(Natural Language Processing,简称NLP)是人工智能和语言学领域的一个分支,它涉及到使用计算机技术来处理、分析和生成
    的头像 发表于 07-03 14:18 819次阅读

    自然语言处理包括哪些内容

    自然语言处理(Natural Language Processing,简称NLP)是人工智能领域的一个重要分支,它涉及到计算机与人类语言之间的交互。NLP的目标是让计算机能够理解、生成和处理
    的头像 发表于 07-03 14:15 828次阅读

    自然语言处理属于人工智能的哪个领域

    之间的交互,旨在使计算机能够理解、生成和处理自然语言自然语言处理:人工智能的皇冠上的明珠 引言 人工智能作为一门跨学科的研究领域,涵盖了计算机科学、数学、心理学、
    的头像 发表于 07-03 14:09 1310次阅读

    什么是自然语言处理 (NLP)

    自然语言处理(Natural Language Processing, NLP)是人工智能领域中的一个重要分支,它专注于构建能够理解和生成人类语言的计算机系统。NLP的目标是使计算机能够像人类一样
    的头像 发表于 07-02 18:16 1164次阅读

    自然语言处理技术的原理的应用

    自然语言处理(Natural Language Processing, NLP)作为人工智能(AI)领域的一个重要分支,旨在使计算机能够理解和处理人类自然语言。随着互联网的普及和大数据
    的头像 发表于 07-02 12:50 516次阅读

    神经网络在自然语言处理的应用

    自然语言处理(NLP)是人工智能领域中的一个重要分支,它研究的是如何使计算机能够理解和生成人类自然语言。随着人工智能技术的飞速发展,神经网络在自然语言
    的头像 发表于 07-01 14:09 489次阅读