BERT (Bidirectional Encoder Representations from Transformers)
BERT 是 Google 推出的双向 Transformer,能够结合上下文从左右两侧理解每个词。介绍其工作原理、NLP 用途和分词代码。
BERT(来自 Transformer 的双向编码器表示)是 Google 研究人员设计的一种突破性深度学习架构,旨在帮助机器更好地理解人类语言中的细微差别。BERT 于 2018 年推出,通过引入双向训练方法,彻底改变了自然语言处理(NLP)领域。以往的模型会按顺序从左到右或从右到左读取文本,而 BERT 会同时查看一个词前后的词语来分析其上下文。这种方法让模型比前代模型更有效地理解微妙含义、习语和同形异义词(有多个含义的词)。
BERT 的工作原理#
从根本上说,BERT 依赖 Transformer架构,具体来说是编码器机制。它通过一种称为掩码语言建模(MLM)的训练技术实现“双向”特性。在预训练期间,句子中约 15% 的词语会被随机遮蔽(隐藏),模型则尝试根据周围上下文预测缺失的词语。这促使模型学习深层的双向表示。
此外,BERT 还使用下一句预测 (NSP) 来理解句子之间的关系。在这项任务中,模型会收到句子对,并必须判断第二个句子在逻辑上是否承接第一个句子。这项能力对于需要理解语篇的任务至关重要,例如问答和文本摘要。
实际应用#
BERT 的多功能性使其成为许多现代 AI 系统中的标准组件。以下是两个具体应用示例:
-
搜索引擎优化: Google 将 BERT 集成到其搜索算法中,以便更好地解读复杂查询。例如,在查询 “2019 brazil traveler to usa need a visa” 中,单词 “to” 至关重要。传统模型通常会将 “to” 视为停用词(过滤掉的常见词),因此无法识别其中的方向关系。BERT 能理解用户是从巴西前往美国,而不是从美国前往巴西,因此可以提供高度相关的搜索结果。
-
客户反馈中的情感分析: 企业使用 BERT 自动分析数千条客户评价或支持工单。由于 BERT 能理解上下文,因此可以区分 “This vacuum sucks”(负面情感)和 “This vacuum sucks up all the dirt”(正面情感)。这种精准的情感分析有助于企业对支持问题进行分类,并准确跟踪品牌口碑。
与相关概念的比较#
了解 BERT 的具体定位时,将它与其他重要架构进行区分会很有帮助。
- BERT 与 GPT(生成式预训练 Transformer): 两者都采用 Transformer 架构,但目标不同。BERT 使用 编码器堆栈,针对理解和判别任务(例如分类、实体提取)进行了优化。相比之下,GPT 使用解码器堆栈,专为文本生成而设计,通过预测序列中的下一个词来撰写文章或代码。
- BERT 与 YOLO26:这两种模型应用于不同领域。BERT 处理顺序文本数据以执行语言任务。YOLO26 是一种先进的视觉模型,处理像素网格以实现实时目标检测。不过,现代多模态系统往往会将两者结合起来;例如,YOLO 模型可以检测图像中的物体,然后由基于 BERT 的模型回答关于这些物体之间关系的问题。
实现示例:分词#
要使用 BERT,必须先将原始文本转换为数字词元。模型使用特定词汇表(例如 WordPiece)将词语拆分。虽然 BERT 是文本模型,但类似的预处理概念也适用于计算机视觉,例如将图像拆分为图像块。
以下 Python 代码片段演示如何使用 transformers 库对句子进行分词,以供 BERT 处理。请注意,虽然 Ultralytics 专注于视觉领域,但理解分词是构建多模态 AI工作流的关键。
from transformers import BertTokenizer
# Initialize the tokenizer with the pre-trained 'bert-base-uncased' vocabulary
tokenizer = BertTokenizer.from_pretrained("bert-base-uncased")
# Tokenize a sample sentence relevant to AI
text = "Ultralytics simplifies computer vision."
# Convert text to input IDs (numerical representations)
encoded_input = tokenizer(text, return_tensors="pt")
# Display the resulting token IDs
print(f"Token IDs: {encoded_input['input_ids']}")在 AI 领域中的重要意义#
BERT 的问世标志着 NLP 领域的“ImageNet 时刻”,证明了迁移学习——先在海量数据集上预训练模型,再针对特定任务对模型进行微调——对于文本任务非常有效。这减少了为每个新问题设计专用架构和准备大型标注数据集的需求。
如今,RoBERTa 和 DistilBERT 等 BERT 变体仍在为边缘 AI应用提供高效支持。希望构建全面 AI 解决方案的开发者,通常会将这些语言模型与Ultralytics Platform上的视觉工具集成,打造既能看见又能理解世界的系统。










