BERT模型入门(1)BERT的基本概念

文章目录


BERT是B idirectional E ncoder R epresentations from Transformers的首字母简写,中文意思是:Transformer的双向编码器表示。它是谷歌发布的最先进的嵌入模型。BERT在许多NLP任务中提供了更好的结果,如问答、文本生成、句子分类等,从而在NLP领域取得了重大突破。BERT成功的一个主要原因在于它是一个基于上下文的嵌入模型,而其他流行的嵌入模型,如word2vec,则是上下文无关的。

首先,让我们了解基于上下文和上下文无关嵌入模型之间的区别。考虑以下两个句子:

句子A:He got bit by Python.

句子B:Python is a popular programming language.

通过阅读上述两个句子,我们可以理解到"Python"这个词在两个句子中的意思不同。在句子A中,"Python"指的是蛇,而在句子B中,"Python"指的是编程语言。

现在,如果我们使用word2vec这样的嵌入模型为上述两个句子中的"Python"这个词获取嵌入,那么"Python"的嵌入在两个句子中将是相同的,这使得"Python"在两个句子中的意思相同。这是因为word2vec是一个上下文无关模型,它会忽略上下文,总是为"Python"提供相同的嵌入,无论上下文如何。

与之不同,BERT是一个基于上下文的模型。它会理解上下文,然后基于上下文生成单词的嵌入。因此,对于上述两个句子,它会根据上下文为"Python"提供不同的嵌入。但这是如何工作的?BERT是如何理解上下文的?让我们更深入地探讨这个问题。

让我们以句子A为例:He got bit by Python.。首先,BERT将句子中的每个单词与句子中的所有其他单词关联起来,以理解每个单词的上下文意义。因此,为了理解"Python"这个词的上下文意义,BERT将"Python"这个词与句子中的所有单词关联起来。通过这样做,BERT可以理解句子A中的"Python"通过"咬"这个词指的是蛇,如下所示:

图2.1 -- 将"Python"这个词与所有其他单词关联

现在,让我们看看句子B:Python is a popular programming language.

同样地,BERT将句子中的每个单词与句子中的所有单词关联起来,以理解每个单词的上下文意义。因此,BERT将"Python"这个词与句子中的所有单词关联起来,以理解"Python"这个词的意思。通过这样做,BERT理解句子B中的"Python"与编程语言有关,通过使用"编程"这个词,如下所示:

图2.2 -- 将"Python"这个词与所有其他单词关联

因此,与word2vec这样的上下文无关模型不同,后者无论上下文如何都生成静态嵌入,BERT基于上下文生成动态嵌入。

好了,问题是BERT究竟是如何工作的?它是如何理解上下文的?现在我们有了BERT的基本概念,接下来我们将更详细地探讨BERT,并找到这些问题的答案。


感谢您的阅读,欢迎关注!


相关推荐
冬奇Lab1 小时前
OpenClaw 源码精读(3):Agent 执行引擎——AI 如何「思考」并与真实世界交互?
人工智能·aigc
没事勤琢磨3 小时前
如何让 OpenClaw 控制使用浏览器:让 AI 像真人一样操控你的浏览器
人工智能
用户5191495848453 小时前
CrushFTP 认证绕过漏洞利用工具 (CVE-2024-4040)
人工智能·aigc
牛马摆渡人5283 小时前
OpenClaw实战--Day1: 本地化
人工智能
前端小豆3 小时前
玩转 OpenClaw:打造你的私有 AI 助手网关
人工智能
BugShare3 小时前
写一个你自己的Agent Skills
人工智能·程序员
机器之心4 小时前
英伟达护城河被AI攻破,字节清华CUDA Agent,让人人能搓CUDA内核
人工智能·openai
后端小肥肠5 小时前
公众号躺更神器!OpenClaw+Claude Skill 实现自动读对标 + 写文 + 配图 + 存入草稿箱
人工智能·aigc·agent
爱可生开源社区5 小时前
SCALE | 重构 AI 时代数据库能力的全新评估标准
人工智能
Jahzo5 小时前
openclaw本地化部署体验与踩坑记录--飞书机器人配置
人工智能·开源