BERT 是双向 Transformer,这是它的一个核心创新点。下面我从 技术原理、与传统 Transformer 的区别、以及双向性的实际意义 来详细解释为什么 BERT 被称为“双向 Transformer”。


一、什么是 BERT 的“双向”?

在 BERT 的论文中,双向的原文是 "Bidirectional", 更准确地说,BERT 是“深度双向(deeply bidirectional)”的 Transformer 编码器

这个“双向”指的是:

在每一层 Transformer 中,每个词(token)的表示都能同时看到其左边和右边的上下文。

也就是说,BERT 在预训练阶段对句子的处理是 同时从左往右和从右往左都考虑上下文信息的


二、对比:BERT vs GPT

模型基于结构上下文类型是否双向
GPTTransformer Decoder单向(从左到右)
BERTTransformer Encoder双向(同时看左右)

  • GPT 采用左到右的自回归(AutoRegressive)语言建模方式,预测当前词时,只依赖其左边的词。

  • BERT 使用 Masked Language Model(MLM)来随机遮住输入中的一部分词,然后预测被遮住的词,它需要依赖左右两侧的词语来推理出被遮住的词。


三、为什么 BERT 是双向 Transformer?

1. BERT 的预训练任务:Masked Language Modeling(MLM)

BERT 用的是 Masked Language Model,即在输入中随机掩盖一部分 token(如 [MASK]),训练模型去预测这些被遮盖的词:

  • 举例:

    • 输入:The man went to the [MASK]

    • 目标:预测 [MASK]storepark

此时,模型 必须利用 [MASK] 左右两侧的信息 来做预测。因此,它在每一层都需要看到整个句子(不是单向的)。

这一点和 GPT 的左到右建模完全不同。


2. Transformer 本身结构支持双向

Transformer 编码器(Encoder)中使用的是 自注意力机制(Self-Attention),它允许每个 token 与输入序列中的所有 token 建立联系

  • 在 BERT 中,没有添加任何掩码(mask)来阻止右边的信息参与注意力,因此它是自然的双向结构。

  • GPT(Decoder)则添加了下三角 mask,阻止模型看见未来的信息,使得它只能看到左边。


四、BERT 的双向性优势

  1. 上下文更完整

    • 传统语言模型(如 GPT)只能从一个方向理解上下文,而 BERT 可以同时考虑前后信息,对句子理解更深。

    • 这对于命名实体识别、问答、自然语言推理等任务效果更好。

  2. 更强的表示能力

    • 每一个 token 的 embedding 编码,融合了整句话的语义信息,有利于更复杂的语义建模。

  3. 对称建模句子结构

    • 适用于文本蕴含、句子对匹配等需要对称理解的任务。


五、总结

  • BERT 是双向 Transformer,因为它在预训练阶段使用 MLM 任务,在每一层 Transformer 编码器中都能同时访问 token 的左右上下文。

  • 双向性的实现依赖于 Transformer 编码器 的自注意力机制,不加入方向性掩码。

  • 相比传统的单向语言模型(如 GPT),BERT 的双向特性使得它在多种自然语言理解任务中表现更强。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/diannao/93780.shtml
繁体地址,请注明出处:http://hk.pswp.cn/diannao/93780.shtml
英文地址,请注明出处:http://en.pswp.cn/diannao/93780.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

vue中使用Canvas绘制波形图和频谱图(支持.pcm)

实现方式一&#xff1a; vue中使用wavesurfer.js绘制波形图和频谱图 安装colorMap&#xff1a; npm install --save colormap1、单个频谱图 效果&#xff1a; 源码&#xff1a; <template><div class"spectrogram-container"><canvas ref"ca…

【Python系列】Flask 应用中的主动垃圾回收

博客目录一、Python 内存管理基础二、Flask 中手动触发 GC 的基本方法三、高级 GC 策略实现1. 使用装饰器进行请求级别的 GC2. 定期 GC 的实现四、Flask 特有的 GC 集成方式1. 使用 teardown_request 钩子2. 结合应用上下文管理五、智能 GC 策略六、注意事项与最佳实践七、替代…

Linux和shell

最快入门的方式是使用苹果系统。此外&#xff0c;累计补充学习&#xff1a;一、目录结构/bin&#xff0c;二进制文件 /boot&#xff0c;启动文件 /dev&#xff0c;设备文件 /home&#xff0c;主目录&#xff0c;一般外接包、安装包放在这里 /lib&#xff0c;库文件 /opt&#x…

告别内存泄漏:你的Rust语言30天征服计划

欢迎踏上Rust学习之旅&#xff01;第一周&#xff1a;奠定基础 (Week 1: Laying the Foundation)第1天&#xff1a;环境搭建与 “Hello, World!”核心概念: 安装Rust工具链 (rustup)&#xff0c;它包含了编译器rustc和包管理器Cargo。Cargo是你的好朋友&#xff0c;用于创建项目…

乱删文件,电脑不能开机,怎么办

相信不少朋友在清理电脑、释放空间时&#xff0c;都做过一件“后悔一整年”的事——乱删系统文件。本来只是想让电脑快点、干净点&#xff0c;结果第二天一开机&#xff1a;黑屏了、蓝屏了、无限重启了&#xff0c;甚至连桌面都见不到了&#xff01;很多用户在删文件时&#xf…

ICODE SLIX2有密钥保护的物流跟踪、图书馆管理ISO15693标签读写Delphi源码

本示例使用设备&#xff1a;https://item.taobao.com/item.htm?spma21dvs.23580594.0.0.6781645eXF3tm5&ftt&id959258149468 一、密钥认证 procedure TForm1.Button21Click(Sender: TObject); varctrlword:byte;passwordid:byte; //密钥类型status:byte; //存…

核环境特种机器人设备的抗辐照芯片选型方案

摘要&#xff1a;核能作为国家能源安全的重要组成部分&#xff0c;对工业自动化设备的稳定性和可靠性提出了极高的要求。机器人设备在涉核环境下的日常巡检、设备维护、应急响应等任务中发挥着不可替代的作用。然而&#xff0c;涉核环境&#xff0c;尤其是高能粒子的辐照效应&a…

Linux权限系统完全指南:从本质到安全实践

一、权限的本质&#xff1a;Linux安全的核心逻辑在Linux的多用户环境中&#xff0c;权限系统通过三个关键维度实现资源隔离&#xff1a;用户标识 (UID)&#xff1a;系统通过数字ID识别用户&#xff0c;root用户的UID固定为0组标识 (GID)&#xff1a;用户组机制实现批量权限管理…

养老院跌倒漏报率↓78%!陌讯多模态算法在智慧照护中的边缘计算优化

​摘要​​&#xff1a; 针对养老场景中复杂光照与遮挡导致的跌倒漏报问题&#xff0c;陌讯视觉算法通过多模态融合与边缘计算优化&#xff0c;实测显示在RK3588 NPU硬件上实现​​mAP0.5达89.3%​​&#xff0c;较基线模型提升28.5%&#xff0c;功耗降低至7.2W。本文解析其动态…

老年护理实训室建设方案:打造安全、规范、高效的实践教学核心平台

在老龄化社会加速发展的背景下&#xff0c;培养高素质、技能过硬的老年护理专业人才迫在眉睫。一个设计科学、功能完备的老年护理实训室&#xff0c;正是院校提升实践教学质量&#xff0c;对接行业需求的核心平台。本方案旨在构建一个安全、规范、高效的现代化实训环境。点击获…

OpenCv中的 KNN 算法实现手写数字的识别

目录 一.案例&#xff1a;手写数字的识别 1.安装opencv-python库 2.将大图分割成10050个小图&#xff0c;每份对应一个手写数字样品 3.训练集和测试集 4.为训练集和测试集准备结果标签 5.模型训练与预测 6.计算准确率 7.完整代码实现 一.案例&#xff1a;手写数字的识别…

TCP/IP 传输层详解

TCP/IP 传输层详解 传输层&#xff08;Transport Layer&#xff09;是 TCP/IP 模型的第四层&#xff08;对应 OSI 模型的传输层&#xff09;&#xff0c;核心功能是实现 端到端&#xff08;进程到进程&#xff09;的可靠通信。主要协议包括&#xff1a; TCP&#xff08;传输控制…

深度学习笔记:Overview

本文根据吴恩达老师的深度学习课程整理而来&#xff0c;在此表示感知。 文章目录1.课程笔记2.编程作业1.课程笔记 1&#xff09;深度学习笔记&#xff08;1&#xff09;&#xff1a;神经网络基础 2&#xff09;深度学习笔记&#xff08;2&#xff09;&#xff1a;浅层神经网络…

LLM之RAG理论(十八)| ChatGPT DeepResearch 深度研究功能全面技术分析报告

一、背景与行业环境1.1 DeepResearch 的诞生与战略意义ChatGPT DeepResearch&#xff08;深度研究&#xff09;是 OpenAI 于 2025 年 2 月 3 日正式发布的全新 AI 智能体产品&#xff0c;是继 o3-mini 模型发布后&#xff0c;OpenAI 在 AI 研究领域的又一重大突破。这一功能的推…

数据库学习--------数据库日志类型及其与事务特性的关系

在数据库系统中&#xff0c;日志是保证数据可靠性和一致性的重要组成部分&#xff0c;尤其与事务的特性紧密相连。无论是事务的原子性、一致性&#xff0c;还是持久性&#xff0c;都离不开日志的支持。数据库日志&#xff08;Database Log&#xff09;是数据库系统记录自身操作…

如何在 Ubuntu 24.04 或 22.04 LTS 上安装 OpenShot 视频编辑器

OpenShot 视频编辑器是一款轻量级工具,不需要高性能硬件即可编辑视频。它最初是一个爱好项目,后来成为一款拥有简单干净用户界面的流行免费编辑工具。这款直观的视频编辑器可以剪辑影片,并添加额外的视频和音频素材。最终,您可以将作品导出为您选择的格式。本教程将向您展示…

SpringMVC核心原理与实战指南

什么是MVC&#xff1f; MVC英文是Model View Controller&#xff0c;是模型(model)&#xff0d;视图(view)&#xff0d;控制器(controller)的缩写&#xff0c;一种软件设计规范。 MVC是用一种业务逻辑、数据、界面显示分离的方法&#xff0c;将业务逻辑聚集到一个部件里面&am…

【JavaEE】(7) 网络原理 TCP/IP 协议

一、应用层 应用层是程序员最关心的一层&#xff0c;需要自定义数据传输的格式&#xff0c;即前&#xff08;客户端&#xff09;后&#xff08;服务器&#xff09;端交互的接口&#xff0c;然后调用传输层的 socket api 来实现网络通信。 自定义数据传输的协议&#xff0c;主要…

深入理解 Slab / Buddy 分配器与 MMU 映射机制

&#x1f4d6; 推荐阅读&#xff1a;《Yocto项目实战教程:高效定制嵌入式Linux系统》 &#x1f3a5; 更多学习视频请关注 B 站&#xff1a;嵌入式Jerry 深入理解 Slab / Buddy 分配器与 MMU 映射机制 在现代 Linux 内核中&#xff0c;物理内存的管理和虚拟地址的映射是系统性能…