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,并找到这些问题的答案。


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


相关推荐
EQUINOX118 分钟前
3b1b线性代数基础
人工智能·线性代数·机器学习
Kacey Huang38 分钟前
YOLOv1、YOLOv2、YOLOv3目标检测算法原理与实战第十三天|YOLOv3实战、安装Typora
人工智能·算法·yolo·目标检测·计算机视觉
加德霍克39 分钟前
【机器学习】使用scikit-learn中的KNN包实现对鸢尾花数据集或者自定义数据集的的预测
人工智能·python·学习·机器学习·作业
漂亮_大男孩39 分钟前
深度学习|表示学习|卷积神经网络|局部链接是什么?|06
深度学习·学习·cnn
Light Gao43 分钟前
AI赋能未来:Agent能力与AI中间件平台对行业的深远影响
人工智能·ai·中间件·大模型
骇客野人1 小时前
【人工智能】循环神经网络学习
人工智能·rnn·学习
lly_csdn1232 小时前
【Image Captioning】DynRefer
python·深度学习·ai·图像分类·多模态·字幕生成·属性识别
速融云2 小时前
汽车制造行业案例 | 发动机在制造品管理全解析(附解决方案模板)
大数据·人工智能·自动化·汽车·制造
AI明说3 小时前
什么是稀疏 MoE?Doubao-1.5-pro 如何以少胜多?
人工智能·大模型·moe·豆包
XianxinMao3 小时前
重构开源LLM分类:从二分到三分的转变
人工智能·语言模型·开源