RetroMAE 预训练任务

news2025/6/7 20:35:05

RetroMAE 预训练任务的具体步骤,围绕 编码(Encoding)、解码(Decoding)、增强解码(Enhanced decoding) 三个核心阶段展开,以下结合图中流程拆解:

一、阶段 A:编码(Encoding)

目标:对输入文本做适度掩码,生成句子级语义嵌入(用于后续重建依据)。
步骤:

  1. 输入处理:原始文本序列(如 [CLS],x1​,x2​,[M],x4​ )中,按一定比例(“适度掩码”,如 15% - 30% )替换部分 token 为掩码标记 [M],得到掩码后序列 Xenc​。
  2. 编码器编码:将 Xenc​ 输入 Transformer 编码器(Encoder),输出包含全局语义的句子嵌入 hX​(绿色矩形,通常用 位置的隐向量表示 ),同时保留可见 token(如 x3​ )的局部语义用于后续任务(如 MLM 辅助学习 )。

二、阶段 B:解码(Decoding)

目标:对输入文本做激进掩码,结合编码阶段的句子嵌入,重建掩码 token,强化模型语义理解。
步骤:

  1. 深度掩码输入:对原始文本序列做更 “激进” 的掩码(如 50% - 70% 比例),得到新的掩码序列(如 [x1​,[M],x3​,[M]] ),并拼接编码阶段的句子嵌入(绿色矩形),形成解码输入 HXdec​​。
  2. 解码器重建:将 HXdec​​ 输入单层 Transformer 解码器(结构简化,聚焦重建),通过掩码语言建模(MLM)任务,学习从句子嵌入和少量可见 token(如 x1​,x3​ )中恢复原始掩码 token(如 x2​,x4​ ),迫使模型理解语义关联。

三、阶段 C:增强解码(Enhanced decoding)

目标:基于句子嵌入和每行可见上下文,对所有输入 token 做精细化重建,进一步挖掘语义依赖。
步骤:

  1. 构建注意力掩码矩阵:定义特殊的注意力掩码规则(Eq. 7 描述):
    • 主对角线位置填充 −∞(灰色):表示 token 无法 “看到自己”(避免自依赖,强制模型从上下文学习 );
    • 可见上下文位置填充 0(蓝色):允许 token 基于这些位置的语义做重建。
  2. 全局语义重建:输入完整 token 序列(如 x1​,x2​,x3​,x4​ ),结合编码阶段的句子嵌入(绿色矩形),通过 Transformer 结构和上述注意力掩码,让每个 token 依据独特的可见上下文重建自身(如 x1​ 参考 x2​/x3​/x4​ 语义,x2​ 参考 x1​/x3​/x4​ 等 ),强化模型对全局语义和局部依赖的捕捉能力。

核心逻辑总结

RetroMAE 通过 “适度编码生成语义底座 → 激进解码强化语义关联 → 增强解码细化语义依赖” 的三阶段流程,让模型在预训练中:

  • 先学会提炼文本全局语义(编码阶段 );
  • 再强制从极少信息中恢复内容(解码阶段,提升语义推理 );
  • 最后精细化学习 token 间复杂依赖(增强解码阶段 )。
    最终目标是让模型生成更优质的文本表示,尤其适配检索任务(如 dense retrieval ),为下游应用(如文本向量检索、问答系统 )打牢预训练基础。

形象的举个例子

咱们用 **“修复破损的故事书”** 来类比 RetroMAE 的预训练流程,把文本理解成故事书的内容,token 是书中的文字 / 段落,模型是 “修复师”,帮你直观看懂三阶段逻辑:

阶段 A:编码(Encoding)—— 提取故事 “核心大纲”

  • 场景:你拿到一本缺了几页(适度掩码) 的旧故事书(原始文本),比如《小红帽》里 “小红帽遇到狼” 的段落被挖掉几句(掩码 token),变成:

    小红帽带着 [M] ,走在 [M] 的路上,遇到了 [M] ……

  • 模型操作
    修复师(编码器)快速翻书,跳过挖掉的部分,先总结出故事的核心大纲(句子嵌入,绿色矩形):“一个女孩带东西去外婆家,路上遇到危险角色” 。
    同时,记住书里没被挖掉的关键句子(如 “小红帽”“路” ),辅助理解故事背景。

阶段 B:解码(Decoding)—— 用大纲猜 “挖掉的内容”

  • 场景:现在修复师拿到一本被挖掉大半内容(激进掩码) 的书,比如《小红帽》只剩:

    小红帽 [M] ,[M] 外婆 [M] ……

  • 模型操作
    修复师拿着阶段 A 总结的核心大纲(“女孩带东西去外婆家遇危险” ),结合仅存的只言片语(如 “小红帽”“外婆” ),开始猜挖掉的内容:

    • 第一处 [M] 可能是 “带着蛋糕”(因为去外婆家常带食物 );
    • 第二处 [M] 可能是 “去”(逻辑补全动作 );
    • 第三处 [M] 可能是 “家”(补全 “外婆家” )。
      这个过程就是用大纲(句子嵌入) + 少量残留文字(可见 token),重建大量缺失内容(掩码 token),强迫修复师(模型)理解 “小红帽→外婆家→带东西” 的语义关联。

阶段 C:增强解码(Enhanced decoding)—— 精细修复每一句话

  • 场景:现在有一本完整但 “每句话都被做了特殊标记” 的书(所有 token 都要重建),规则是:

    • 每句话里,不能参考自己的文字(主对角线填 −∞,灰色,比如 “小红帽” 这句话,不能直接用 “小红帽” 三个字猜,得看上下文 );
    • 只能参考其他句子的信息(可见上下文填 0,蓝色,比如用 “路很长”“太阳很晒” 猜 “小红帽走得很慢” )。
  • 模型操作
    修复师需要逐句修复,但每修一句话时,不能用这句话自己的词,必须看其他句子的内容推理:

    • 修 “小红帽带着蛋糕” 时,得参考 “路很远”→ 推测 “蛋糕用篮子装”(因为路远需要容器 );
    • 修 “狼很狡猾” 时,得参考 “小红帽天真”→ 推测 “狼假装成外婆”(因为角色性格对比 )。
      这个过程就是让模型学习句子间的深层依赖,比如 “人物性格→行为逻辑”“场景描述→物品细节” 的关联,最终精细修复整个故事(重建所有 token )。

类比总结:RetroMAE 预训练像 “分阶段修复故事书”

  • 编码(A):先抓故事核心(全局语义),记住关键碎片(可见 token );
  • 解码(B):用核心 + 碎片,猜大量缺失内容(强化语义推理 );
  • 增强解码(C):精细修复每处细节,但强制参考其他部分(学习复杂依赖 )。

最终,模型(修复师)学会了 “从全局到局部、从碎片到完整” 理解文本的能力,预训练完成后,就能更好处理检索任务(比如找 “小红帽遇狼” 相关的故事片段 ),或者文本生成(比如续写故事 )啦~

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

软件工程:如何做好软件产品

1、什么是产品 从项目到产品 产品:满足行业共性需求的标准产品。即要能够做到配置化的开发,用同一款产品最大限度地满足不同客户的需求,同时让产品具有可以快速响应客户需求变化的能力。 好的产品一定吸收了多个项目的共性,一定是…

蓝桥杯 省赛 2025python(B组)题目(分析)

目录 第一题 为什么答案是103而不是104? 第二题 为什么必须按长度排序? 第三题 易错点总结 第四题 逻辑问题: 可能超过时间复杂度的代码示例 1. 暴力枚举所有可能的子串 2. 递归回溯 第五题 1. 暴力枚举法 2. 优化枚举 3.数…

React - 组件通信

组件通信 概念:组件通信就是组件之间数据传递,根据组件嵌套关系不同,有不同的通信方法 父传子 —— 基础实现 实现步骤 父组件传递数据 - 在子组件标签上绑定属性子组件接收数据 - 子组件通过props参数接收数据 声明子组件并使用 //声明子…

飞牛使用Docker部署Tailscale 内网穿透教程

之前发过使用docker部署Tailscale的教程,不过是一年前的事情了,今天再重新发表一遍,这次使用compose部署更加方便,教程也会更加详细一点,希望对有需要的朋友有所帮助! 对于大部分用户来说,白嫖 …

《数据挖掘》- 房价数据分析

这里写目录标题 采用的技术1. Python编程语言2. 网络爬虫库技术点对比与区别项目技术栈的协同工作流程 代码解析1. 导入头文件2. 读取原始数据3. 清洗数据4. 数据分割4.1 统计房屋信息的分段数量4.2 将房屋信息拆分为独立列4.3 处理面积字段4.4 删除原始房屋信息列 5. 可视化分…

C++之动态数组vector

Vector 一、什么是 std::vector?二、std::vector 的基本特性(一)动态扩展(二)随机访问(三)内存管理 三、std::vector 的基本操作(一)定义和初始化(二&#xf…

【Zephyr 系列 11】使用 NVS 实现 BLE 参数持久化:掉电不丢配置,开机自动加载

🧠关键词:Zephyr、NVS、非易失存储、掉电保持、Flash、AT命令保存、配置管理 📌目标读者:希望在 BLE 模块中实现掉电不丢配置、支持产测参数注入与自动加载功能的开发者 📊文章长度:约 5200 字 🔍 为什么要使用 NVS? 在实际产品中,我们经常面临以下场景: 用户或…

【Android】Android Studio项目代码异常错乱问题处理(2020.3版本)

问题 项目打开之后,发现项目文件直接乱码, 这样子的 这本来是个Java文件,结果一打开变成了这种情况,跟见鬼一样,而且还不是这一个文件这样,基本上一个项目里面一大半都是这样的问题。 处理方法 此时遇到…

一些免费的大A数据接口库

文章目录 一、Python开源库(适合开发者)1. AkShare2. Tushare3. Baostock 二、公开API接口(适合快速调用)1. 新浪财经API2. 腾讯证券接口3. 雅虎财经API 三、第三方数据平台(含免费额度)1. 必盈数据2. 聚合…

机器学习算法时间复杂度解析:为什么它如此重要?

时间复杂度的重要性 虽然scikit-learn等库让机器学习算法的实现变得异常简单(通常只需2-3行代码),但这种便利性往往导致使用者忽视两个关键方面: 算法核心原理的理解缺失 忽视算法的数据适用条件 典型算法的时间复杂度陷阱 SV…

SSIM、PSNR、LPIPS、MUSIQ、NRQM、NIQE 六个图像质量评估指标

评价指标 1. SSIM(Structural Similarity Index) 📌 定义 结构相似性指数(Structural Similarality Index)是一种衡量两幅图像相似性的指标,考虑了亮度、对比度和结构信息的相似性,比传统的 P…

【笔记】旧版MSYS2 环境中 Rust 升级问题及解决过程

下面是一份针对在旧版 MSYS2(安装在 D 盘)中,基于 Python 3.11 的 Poetry 虚拟环境下升级 Rust 的处理过程笔记(适用于 WIN 系统 SUNA 人工智能代理开源项目部署要求)的记录。 MSYS2 旧版环境中 Rust 升级问题及解决过…

矩阵QR分解

1 orthonormal 向量与 Orthogonal 矩阵 orthonormal 向量定义为 ,任意向量 相互垂直,且模长为1; 如果将 orthonormal 向量按列组织成矩阵,矩阵为 Orthogonal 矩阵,满足如下性质: ; 当为方阵时&…

【MATLAB去噪算法】基于CEEMDAN联合小波阈值去噪算法(第四期)

CEEMDAN联合小波阈值去噪算法相关文献 一、EMD 与 EEMD 的局限性 (1)EMD (经验模态分解) 旨在自适应地将非线性、非平稳信号分解成一系列 本征模态函数 (IMFs),这些 IMFs 从高频到低频排列。 核心问题:模态混合 (Mode Mixing) 同…

从理论崩塌到新路径:捷克科学院APL Photonics论文重构涡旋光技术边界

理论预言 vs 实验挑战 光子轨道角动量(Orbital Angular Momentum, OAM)作为光场调控的新维度,曾被理论预言可突破传统拉曼散射的对称性限制——尤其是通过涡旋光(如拉盖尔高斯光束)激发晶体中常规手段无法探测的"…

智能推荐系统:协同过滤与深度学习结合

智能推荐系统:协同过滤与深度学习结合 系统化学习人工智能网站(收藏):https://www.captainbed.cn/flu 文章目录 智能推荐系统:协同过滤与深度学习结合摘要引言技术原理对比1. 协同过滤算法:基于相似性的推…

文档处理组件Aspose.Words 25.5全新发布 :六大新功能与性能深度优化

在数字化办公日益普及的今天,文档处理的效率与质量直接影响到企业的运营效率。Aspose.Words 作为业界领先的文档处理控件,其最新发布的 25.5 版本带来了六大新功能和多项性能优化,旨在为开发者和企业用户提供更强大、高效的文档处理能力。 六…

固态继电器与驱动隔离器:电力系统的守护者

在电力系统中, 固态继电器合驱动隔离器像两位“电力守护神”,默默地确保电力设备的安全与稳定运行。它们通过高效、可靠的性能,保障了电力设备在各种环境下的正常工作。 固态继电器是电力控制中的关键组成部分,利用半导体器件来实…

【数据分析】基于adonis2与pairwise.adonis2的群组差异分析教程

禁止商业或二改转载,仅供自学使用,侵权必究,如需截取部分内容请后台联系作者! 文章目录 介绍加载R包数据下载导入数据数据预处理adonis分析pairwise.adonis2分析总结系统信息介绍 本教程主要用于执行和分析基于距离矩阵的多样性和群落结构分析,特别是通过adonis2和pairwi…

Nginx + Tomcat负载均衡群集

目录 一、案例环境 二、部署 Tomcat(102/103) 1、准备环境 (1)关闭firewalld 防火墙 (2)安装JDK 2、安装配置 Tomcat (1)Tomcat 的安装和配置 (2)移动…