Transformer Decoder 中的掩码多头自注意力机制:防止未来信息泄露的关键

在 Transformer 的 Decoder 结构中,掩码多头自注意力机制(Masked Multi-Head Attention)中的掩码(Mask)主要用于防止模型在生成当前词时“偷看”未来的词,确保生成过程的因果性。以下是掩码的具体含义和作用:

1. 掩码的作用

  • 防止未来信息泄露:在解码器中,掩码确保模型在生成每个词时,只能关注到当前词及之前的词,而不能看到未来的词。这通过将未来位置的注意力权重设置为负无穷大来实现,使得这些位置在经过 softmax 操作后权重接近于 0,从而被忽略。

  • 处理变长序列:掩码还可以用于屏蔽填充(padding)部分,确保模型只关注真实的词元,而不是填充的无意义部分。

2. 技术实现

  • 掩码矩阵:掩码通常是一个下三角矩阵,对角线及左下部分为 1,其余部分为 0。例如,一个 4 维的下三角矩阵如下:

    复制

    tensor([[1, 0, 0, 0],
            [1, 1, 0, 0],
            [1, 1, 1, 0],
            [1, 1, 1, 1]])
  • 应用掩码:在计算注意力分数时,将掩码矩阵与注意力分数矩阵相乘。掩码为 0 的位置会被加上一个非常大的负数(如负无穷),这样在经过 softmax 操作后,这些位置的值将接近 0,从而屏蔽未来的信息。

3. 示例

假设有一个 4 维的注意力分数矩阵:

复制

tensor([[[ 0.5530,  0.6123,  0.3896, -0.0834],
         [ 0.0271,  0.2272,  0.1394, -0.1029],
         [ 0.4198,  0.2406,  0.1581,  0.0425],
         [ 0.4801,  0.2925,  0.1978,  0.0919]],
        [[-0.4385, -0.1696, -0.2063, -0.5110],
         [-0.3161, -0.0823, -0.0555, -0.2165],
         [-0.1579,  0.0111,  0.0187, -0.1701],
         [ 0.0276,  0.0543,  0.0457, -0.0404]]])

应用掩码后的注意力分数矩阵为:

复制

tensor([[[ 0.5530,    -inf,    -inf,    -inf],
         [ 0.0271,  0.2272,    -inf,    -inf],
         [ 0.4198,  0.2406,  0.1581,    -inf],
         [ 0.4801,  0.2925,  0.1978,  0.0919]],
        [[-0.4385,    -inf,    -inf,    -inf],
         [-0.3161, -0.0823,    -inf,    -inf],
         [-0.1579,  0.0111,  0.0187,    -inf],
         [ 0.0276,  0.0543,  0.0457, -0.0404]]])

经过 softmax 归一化后的掩码注意力分数矩阵为:

复制

tensor([[[1.0000, 0.0000, 0.0000, 0.0000],
         [0.4501, 0.5499, 0.0000, 0.0000],
         [0.3838, 0.3208, 0.2954, 0.0000],
         [0.3066, 0.2542, 0.2312, 0.2080]],
        [[1.0000, 0.0000, 0.0000, 0.0000],
         [0.4418, 0.5582, 0.0000, 0.0000],
         [0.2961, 0.3506, 0.3533, 0.0000],
         [0.2513, 0.2581, 0.2559, 0.2348]]])

可以看到,未来位置的注意力权重被成功屏蔽。

4. 总结

掩码多头自注意力机制中的掩码主要用于防止模型在生成当前词时看到未来的词,确保生成过程的因果性。通过将未来位置的注意力权重设置为负无穷大,掩码确保模型只关注当前词及之前的词。此外,掩码还可以用于处理变长序列,屏蔽填充部分。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/965242.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Ubuntu24登录PostgreSql数据库的一般方法

命令格式如 psql -U user -d db 或者 sudo psql -U user -d db 修改配置 /etc/postgresql/16/main/postgresql.conf 改成md5,然后重新启动pgsql sudo systemctl restart postgresql

ESP-Skainet智能语音助手,ESP32-S3物联网方案,设备高效语音交互

在科技飞速发展的今天,智能语音助手正逐渐渗透到我们生活的方方面面,而智能语音助手凭借其卓越的技术优势,成为了智能生活领域的一颗璀璨明星。 ESP-Skainet智能语音助手的强大之处在于其支持唤醒词引擎(WakeNet)、离…

数据结构与算法学习笔记----博弈论

# 数据结构与算法学习笔记----博弈论 author: 明月清了个风 first publish time: 2025.2.6 ps⭐️包含了博弈论中的两种问题Nim游戏和SG函数,一共四道例题,给出了具体公式的证明过程。 Acwing 891. Nim游戏 [原题链接](891. Nim游戏 - AcWing题库) 给…

Go 语言 | 入门 | 先导课程

快速入门 1.第一份代码 先检查自己是否有正确下载 Go,如果没有直接去 Go 安装 进行安装。 # 检查是否有 Go $ go version go version go1.23.4 linux/amd64然后根据 Go 的入门教程 开始进行学习。 # 初始化 Go 项目 $ mkdir example && cd example # Go…

ChatGPT提问技巧:行业热门应用提示词案例--咨询法律知识

ChatGPT除了可以协助办公,写作文案和生成短视频脚本外,和还可以做为一个法律工具,当用户面临一些法律知识盲点时,可以向ChatGPT咨询获得解答。赋予ChatGPT专家的身份,用户能够得到较为满意的解答。 1.咨询法律知识 举…

WPS中解除工作表密码保护(忘记密码)

1.下载vba插件 项目首页 - WPS中如何启用宏附wps.vba.exe下载说明分享:WPS中如何启用宏:附wps.vba.exe下载说明本文将详细介绍如何在WPS中启用宏功能,并提供wps.vba.exe文件的下载说明 - GitCode 并按照步骤安装 2.wps中点击搜索,输入开发…

【ThreeJS 01】了解 WebGL 以及 ThreeJS

文章目录 01 介绍02 什么是 WebGL,为什么用 ThreeJS什么是 WebGL?Three.js 来帮忙 01 介绍 这个课程的主讲人是 Bruno Simon, 这是他的作品集 他还做了一些有趣的项目: https://my-room-in-3d.vercel.app https://organic-sphe…

SpringBoot+Dubbo+zookeeper 急速入门案例

项目目录结构&#xff1a; 第一步&#xff1a;创建一个SpringBoot项目&#xff0c;这里选择Maven项目或者Spring Initializer都可以&#xff0c;这里创建了一个Maven项目&#xff08;SpringBoot-Dubbo&#xff09;&#xff0c;pom.xml文件如下&#xff1a; <?xml versio…

Unity Shader Graph 2D - 使用DeepSeek协助绘制一个爱心

最近十分流行使用DeepSeek AI&#xff0c;于是想尝试着能不能用DeepSeek来帮助我实现一些Shader Graph效果&#xff0c;正好之前看到了爱心图形&#xff0c;就说干脆用DeepSeek来告诉我怎么使用Shader Graph来绘制一个爱心。 问DeepSeek怎么绘制爱心 首先打开DeepSeek的网站&a…

如何正确配置您的WordPress邮件设置

在运营WordPress网站时&#xff0c;确保邮件能够顺利发送和接收是非常重要的。无论是通知、确认邮件&#xff0c;还是营销邮件&#xff0c;邮件的可靠性会直接影响用户体验。许多站长常常会遇到邮件无法送达、被标记为垃圾邮件等问题。要解决这些问题&#xff0c;使用SMTP是一个…

MySQL调优01 - 单库调优思想

单库调优 文章目录 单库调优一&#xff1a;系统中性能优化的核心思维二&#xff1a;MySQL性能优化实践1&#xff1a;连接层的优化1.1&#xff1a;连接数是越大越好吗&#xff1f;1.2&#xff1a;偶发高峰类业务的连接数配置1.3&#xff1a;分库分表情况下的连接数配置1.4&#…

OLED显示屏使用学习——(二)

四、OLED 原理图设计注意事项 4.1 SPI 接口设计 在 SPI 接口中需保证 BS0,BS1,BS2 全为 0&#xff0c;也不是接地&#xff1b;所以在接口配置电阻中 4.2 IIC 接口设计 在 iic 接口中需要将 BS1 配置为 1&#xff0c;BS0 为 0&#xff1b;所以 R1,R4 焊接&#xff0c;R2&am…

string类OJ练习题

目录 文章目录 前言 一、反转字符串 二、反转字符串 II 三、反转字符串中的单词 III 四、验证一个字符串是否是回文 五、字符串相加&#xff08;大数加法&#xff09; 六、字符串相乘&#xff08;大数乘法&#xff09; 七、把字符串转化为整数&#xff08;atoi&#xff09; 总结…

6-图像金字塔与轮廓检测

文章目录 6.图像金字塔与轮廓检测(1)图像金字塔定义(2)金字塔制作方法(3)轮廓检测方法(4)轮廓特征与近似(5)模板匹配方法6.图像金字塔与轮廓检测 (1)图像金字塔定义 高斯金字塔拉普拉斯金字塔 高斯金字塔:向下采样方法(缩小) 高斯金字塔:向上采样方法(放大)…

javaEE-6.网络原理-http

目录 什么是http? http的工作原理&#xff1a; 抓包工具 fiddler的使用 HTTP请求数据: 1.首行:​编辑 2.请求头(header) 3.空行&#xff1a; 4.正文&#xff08;body&#xff09; HTTP响应数据 1.首行&#xff1a;​编辑 2.响应头 3.空行&#xff1a; 4.响应正文…

网络安全-防御 第一次作业(由于防火墙只成功启动了一次未补截图)

防火墙安全策略课堂实验报告 一、拓扑 本实验拓扑包含预启动设备、DMZ区域&#xff08;含OA Server和Web Server&#xff09;、防火墙&#xff08;FW1&#xff09;、Trust区域&#xff08;含办公区PC和生产区PC&#xff09;等。具体IP地址及连接关系如给定拓扑图所示&#xf…

开源项目介绍-词云生成

开源词云项目是一个利用开源技术生成和展示词云的工具或框架&#xff0c;广泛应用于文本分析、数据可视化等领域。以下是几个与开源词云相关的项目及其特点&#xff1a; Stylecloud Stylecloud 是一个由 Maximilianinir 创建和维护的开源项目&#xff0c;旨在通过扩展 wordclou…

使用DeepSeek的技巧笔记

来源&#xff1a;新年逼自己一把&#xff0c;学会使用DeepSeek R1_哔哩哔哩_bilibili 前言 对于DeepSeek而言&#xff0c;我们不再需要那么多的提示词技巧&#xff0c;但还是要有两个注意点&#xff1a;你需要理解大语言模型的工作原理与局限,这能帮助你更好的知道AI可完成任务…

redis 运维指南

一、Redis 概述 Redis&#xff08;Remote Dictionary Server&#xff09;是一款开源的内存数据存储系统&#xff0c;使用 ANSI C 语言编写&#xff0c;支持网络通信&#xff0c;可基于内存进行数据存储以实现高效读写&#xff0c;同时也提供了持久化功能将数据保存到磁盘。它以…

Windows本地部署DeepSeek-R1大模型并使用web界面远程交互

文章目录 前言1. 安装Ollama2. 安装DeepSeek-r1模型3. 安装图形化界面3.1 Windows系统安装Docker3.2 Docker部署Open WebUI3.3 添加Deepseek模型 4. 安装内网穿透工具5. 配置固定公网地址 前言 最近爆火的国产AI大模型Deepseek详细大家都不陌生&#xff0c;不过除了在手机上安…