一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

视觉语言模型获得及任务处理方法、装置、设备及介质与流程

2021-12-14 20:59:00 来源:中国专利 TAG:


1.本公开涉及人工智能技术领域,具体而言,涉及一种视觉语言模型 获得方法、视觉语言任务处理方法、装置、设备及可读存储介质。


背景技术:

2.视觉和语言是人工智能的两项基本能力,两者之间的交互支持一系 列独特的模拟人类大脑处理信息的能力,如视觉语言(vision-language, vl)理解(例如视觉问答)和vl生成(例如图像描述)。vl技术在机 器人视觉、帮助视障人士等方面具有良好的应用前景。
3.受自然语言预训练技术的发展的启发,对vl模型进行预训练以提高 模型处理vl任务的性能成为发展趋势。相关技术中用掩码(mask)标 记替换某些输入的图像/单词标记作为vl模型输入的训练数据,然后以 vl模型可恢复被替换的输入为目标对vl模型进行预训练。但由于在为 处理具体下游任务而对vl模型进行微调时不设计人工进行掩码的输入, 预训练过程与微调过程的差异较大,导致最终获得的vl模型的精度较 差。
4.如上所述,如何提高训练后的vl模型处理任务的准确度成为亟待解 决的问题。
5.在所述背景技术部分公开的上述信息仅用于加强对本公开的背景的 理解,因此它可以包括不构成对本领域普通技术人员已知的现有技术的 信息。


技术实现要素:

6.本公开的目的在于提供一种视觉语言模型获得方法、装置、设备及可 读存储介质,至少在一定程度上克服由于相关技术预训练过程与微调过程 的差异导致训练后的vl模型处理任务的准确度较低的问题。
7.本公开的其他特性和优点将通过下面的详细描述变得显然,或部分 地通过本公开的实践而习得。
8.根据本公开的一方面,提供一种视觉语言模型获得方法,包括:获 取预训练图像和与所述预训练图像对应的文本描述;将所述文本描述进 行遮盖处理获得掩码文本描述;获取初始视觉语言模型;将所述预训练 图像和所述掩码文本描述输入所述初始视觉语言模型以获得预测文本描 述;基于所述预训练图像、所述文本描述、所述掩码文本描述和所述预 测文本描述通过所述初始视觉语言模型执行多个预训练任务以训练所述 初始视觉语言模型,获得预训练后的视觉语言模型以处理图像文本任 务。
9.根据本公开的一实施例,所述将所述预训练图像和所述掩码文本描 述输入所述初始视觉语言模型以获得预测文本描述包括:将所述预训练 图像和所述掩码文本描述输入所述初始视觉语言模型,获得所述初始视 觉语言模型输出的预测文本描述分布;从所述预测文本描述分布中采样 获得所述预测文本描述。
10.根据本公开的一实施例,所述初始视觉语言模型包括初始句子编码 器、初始目标编码器、初始跨模态编码器和初始跨模态解码器;所述多 个预训练任务包括掩码语言建模
任务和掩码句子生成任务;所述预测文 本描述分布包括第一编码器预测文本描述分布和第一解码器预测文本描 述分布;所述预测文本描述包括编码器预测文本描述和解码器预测文本 描述;所述将所述预训练图像和所述掩码文本描述输入所述初始视觉语 言模型,获得所述初始视觉语言模型输出的预测文本描述分布包括:将 所述预训练图像输入所述初始目标编码器获得第一目标编码器输出;将 所述掩码文本描述输入所述初始句子编码器获得第一句子编码器输出; 将所述第一目标编码器输出与所述第一句子编码器输出通过所述初始跨 模态编码器执行所述掩码语言建模任务,获得所述第一编码器预测文本 描述分布;将所述第一目标编码器输出与所述第一句子编码器输出通过 所述初始跨模态解码器执行所述掩码句子生成任务,获得所述第一解码 器预测文本描述分布;所述从所述预测文本描述分布中采样获得所述预 测文本描述包括:从所述第一编码器预测文本描述分布中采样获得所述 编码器预测文本描述;从所述第一解码器预测文本描述分布中采样获得 所述解码器预测文本描述。
11.根据本公开的一实施例,所述方法还包括:将所述预训练图像进行 遮盖处理获得掩码预训练图像;所述多个预训练任务还包括掩码目标分 类任务和图像句子匹配任务;所述模型基于所述预训练图像、所述文本 描述、所述掩码文本描述和所述预测文本描述通过所述初始视觉语言模 型执行多个预训练任务以训练所述初始视觉语言模型包括:以所述文本 描述为标签基于所述第一编码器预测文本描述分布获得第一掩码语言建 模损失;将所述文本描述输入所述初始句子编码器获得第二句子编码器 输出;将所述掩码预训练图像输入所述初始目标编码器获得第二目标编 码器输出;将所述第二目标编码器输出与所述第二句子编码器输出通过 所述初始跨模态编码器执行所述掩码目标分类任务,获得第一编码器预 测目标分布;以所述预训练图像为标签基于所述第一编码器预测目标分 布获得第一掩码目标分类损失;根据所述第二句子编码器输出和所述第 一目标编码器输出执行所述图像句子匹配任务,获得图像句子匹配损失; 以所述文本描述为标签基于所述第一解码器预测文本描述分布获得第一 掩码句子生成损失;基于所述编码器预测文本描述、所述解码器预测文 本描述和所述预训练图像通过所述初始句子编码器、所述初始目标编码 器、所述初始跨模态编码器和所述初始跨模态解码器获得第二阶段任务 损失;基于所述第一掩码语言建模损失、所述第一掩码目标分类损失、 所述图像句子匹配损失、所述第一掩码句子生成损失和所述第二阶段任 务损失获得预训练总损失函数;利用所述预训练总损失函数训练所述初 始句子编码器、所述初始目标编码器、所述初始跨模态编码器和所述初 始跨模态解码器。
12.根据本公开的一实施例,所述基于所述编码器预测文本描述、所述 解码器预测文本描述和所述预训练图像通过所述初始句子编码器、所述 初始目标编码器、所述初始跨模态编码器和所述初始跨模态解码器获得 第二阶段任务损失包括:将所述编码器预测文本描述输入所述初始句子 编码器获得第三句子编码器输出;将所述第一目标编码器输出与所述第 三句子编码器输出通过所述初始跨模态编码器执行所述掩码语言建模任 务,获得第二编码器预测文本描述分布;以所述文本描述为标签基于所 述第二编码器预测文本描述分布获得第二掩码语言建模损失;将所述第 一目标编码器输出与所述第三句子编码器输出通过所述初始跨模态编码 器执行所述掩码目标分类任务,获得第二编码器预测目标分布;以所述 预训练图像为标签基于所述第二编码器预测目标分布获得第二掩码目标 分
类损失;将所述解码器预测文本描述输入所述初始句子编码器获得第 四句子编码器输出;将所述第一目标编码器输出与所述第四句子编码器 输出通过所述初始跨模态解码器执行所述掩码句子生成任务,获得第二 解码器预测文本描述分布;以所述文本描述为标签基于所述第二解码器 预测文本描述分布获得第二掩码句子生成损失;将所述第二掩码语言建 模损失、所述第二掩码目标分类损失和所述第二掩码句子生成损失相加 获得所述第二阶段任务损失。
13.根据本公开的一实施例,所述基于所述编码器预测文本描述、所述 解码器预测文本描述和所述预训练图像通过所述初始句子编码器、所述 初始目标编码器、所述初始跨模态编码器和所述初始跨模态解码器获得 第二阶段任务损失包括:将所述编码器预测文本描述输入所述初始句子 编码器获得第三句子编码器输出;将所述第一目标编码器输出与所述第 三句子编码器输出通过所述初始跨模态解码器执行所述掩码句子生成任 务,获得第三解码器预测文本描述分布;以所述文本描述为标签基于所 述第三解码器预测文本描述分布获得第三掩码句子生成损失;将所述解 码器预测文本描述输入所述初始句子编码器获得第四句子编码器输出; 将所述第一目标编码器输出与所述第四句子编码器输出通过所述初始跨 模态编码器执行所述掩码语言建模任务,获得第三编码器预测文本描述 分布;以所述文本描述为标签基于所述第三编码器预测文本描述分布获 得第三掩码语言建模损失;将所述第一目标编码器输出与所述第四句子 编码器输出通过所述初始跨模态编码器执行所述掩码目标分类任务,获 得第三编码器预测目标分布;以所述预训练图像为标签基于所述第三编 码器预测目标分布获得第三掩码目标分类损失;将所述第三掩码语言建 模损失、所述第三掩码目标分类损失和所述第三掩码句子生成损失相加 获得所述第二阶段任务损失。
14.根据本公开的一实施例,所述基于所述编码器预测文本描述、所述 解码器预测文本描述和所述预训练图像通过所述初始句子编码器、所述 初始目标编码器、所述初始跨模态编码器和所述初始跨模态解码器获得 第二阶段任务损失包括:将所述编码器预测文本描述输入所述初始句子 编码器获得第三句子编码器输出;将所述第一目标编码器输出与所述第 三句子编码器输出通过所述初始跨模态解码器执行所述掩码句子生成任 务,获得第三解码器预测文本描述分布;以所述文本描述为标签基于所 述第三解码器预测文本描述分布获得第三掩码句子生成损失;将所述解 码器预测文本描述输入所述初始句子编码器获得第四句子编码器输出; 将所述第一目标编码器输出与所述第四句子编码器输出通过所述初始跨 模态编码器执行所述掩码语言建模任务,获得第三编码器预测文本描述 分布;以所述文本描述为标签基于所述第三编码器预测文本描述分布获 得第三掩码语言建模损失;将所述第一目标编码器输出与所述第四句子 编码器输出通过所述初始跨模态编码器执行所述掩码目标分类任务,获 得第三编码器预测目标分布;以所述预训练图像为标签基于所述第三编 码器预测目标分布获得第三掩码目标分类损失;所述第二阶段任务损失 包括所述第三掩码语言建模损失、所述第三掩码目标分类损失和所述第 三掩码句子生成损失;所述基于所述第一掩码语言建模损失、所述第一 掩码目标分类损失、所述图像句子匹配损失、所述第一掩码句子生成损 失和所述第二阶段任务损失获得预训练总损失函数包括:获取编解码器 切换参数;基于所述第一掩码语言建模损失、所述第一掩码目标分类损 失、所述图像句子匹配损失、所述第一掩码句子生成损失、所述第二阶 段任务损失和
所述编解码器切换参数获得预训练总损失函数。
15.根据本公开的再一方面,提供一种视觉语言任务处理方法,包括:获 取待处理任务的任务输入数据;将所述任务输入数据经由通过如上所述的 方法获得预训练后的视觉语言模型进行处理;获得所述预训练后的视觉语 言模型输出的任务处理结果。
16.根据本公开的再一方面,提供一种视觉语言模型获得装置,包括: 数据获取模块,用于获取预训练图像和与所述预训练图像对应的文本描 述;掩码处理模块,用于将所述文本描述进行遮盖处理获得掩码文本描 述;模型初始化模块,用于获取初始视觉语言模型;第一预训练模块, 用于将所述预训练图像和所述掩码文本描述输入所述初始视觉语言模型 以获得预测文本描述;第二预训练模块,用于基于所述预训练图像、所 述文本描述、所述掩码文本描述和所述预测文本描述通过所述初始视觉 语言模型执行多个预训练任务以训练所述初始视觉语言模型,获得预训 练后的视觉语言模型以处理图像文本任务。
17.根据本公开的一实施例,所述第一预训练模块包括:文本描述预测 模块,用于将所述预训练图像和所述掩码文本描述输入所述初始视觉语 言模型,获得所述初始视觉语言模型输出的预测文本描述分布;文本描 述采样模块,用于从所述预测文本描述分布中采样获得所述预测文本描 述。
18.根据本公开的一实施例,所述初始视觉语言模型包括初始句子编码 器、初始目标编码器、初始跨模态编码器和初始跨模态解码器;所述多 个预训练任务包括掩码语言建模任务和掩码句子生成任务;所述预测文 本描述分布包括第一编码器预测文本描述分布和第一解码器预测文本描 述分布;所述预测文本描述包括编码器预测文本描述和解码器预测文本 描述;所述文本描述预测模块包括:目标编码模块,用于将所述预训练 图像输入所述初始目标编码器获得第一目标编码器输出;句子编码模块, 用于将所述掩码文本描述输入所述初始句子编码器获得第一句子编码器 输出;跨模态编码模块,用于将所述第一目标编码器输出与所述第一句 子编码器输出通过所述初始跨模态编码器执行所述掩码语言建模任务, 获得所述第一编码器预测文本描述分布;跨模态解码模块,用于将所述 第一目标编码器输出与所述第一句子编码器输出通过所述初始跨模态解 码器执行所述掩码句子生成任务,获得所述第一解码器预测文本描述分 布;所述文本描述采样模块,还用于从所述第一编码器预测文本描述分 布中采样获得所述编码器预测文本描述;从所述第一解码器预测文本描 述分布中采样获得所述解码器预测文本描述。
19.根据本公开的一实施例,所述掩码处理模块,还用于将所述预训练 图像进行遮盖处理获得掩码预训练图像;所述多个预训练任务还包括掩 码目标分类任务和图像句子匹配任务;所述第二预训练模块包括:掩码 语言建模损失计算模块,用于以所述文本描述为标签基于所述第一编码 器预测文本描述分布获得第一掩码语言建模损失;所述句子编码模块, 还用于将所述文本描述输入所述初始句子编码器获得第二句子编码器输 出;所述目标编码模块,还用于将所述掩码预训练图像输入所述初始目 标编码器获得第二目标编码器输出;所述跨模态编码模块,还用于将所 述第二目标编码器输出与所述第二句子编码器输出通过所述初始跨模态 编码器执行所述掩码目标分类任务,获得第一编码器预测目标分布;所 述第二预训练模块还包括:掩码目标分类损失计算模块,用于以所述预 训练图像为标签基于所述第一编码器预测目标分布获得第一掩码目标分 类损失;图像句子匹配损失计算模块,用于根据所述第二句子编码器输 出和所述第一目标编码器输出执行所述
图像句子匹配任务,获得图像句 子匹配损失;掩码句子生成损失计算模块,用于以所述文本描述为标签 基于所述第一解码器预测文本描述分布获得第一掩码句子生成损失;阶 段损失计算模块,用于基于所述编码器预测文本描述、所述解码器预测 文本描述和所述预训练图像通过所述初始句子编码器、所述初始目标编 码器、所述初始跨模态编码器和所述初始跨模态解码器获得第二阶段任 务损失;总损失计算模块,用于基于所述第一掩码语言建模损失、所述 第一掩码目标分类损失、所述图像句子匹配损失、所述第一掩码句子生 成损失和所述第二阶段任务损失获得预训练总损失函数;所述第二预训 练模块还用于利用所述预训练总损失函数训练所述初始句子编码器、所 述初始目标编码器、所述初始跨模态编码器和所述初始跨模态解码器。
20.根据本公开的一实施例,所述句子编码模块,还用于将所述编码器 预测文本描述输入所述初始句子编码器获得第三句子编码器输出;所述 跨模态编码模块,还用于将所述第一目标编码器输出与所述第三句子编 码器输出通过所述初始跨模态编码器执行所述掩码语言建模任务,获得 第二编码器预测文本描述分布;所述掩码语言建模损失计算模块,还用 于以所述文本描述为标签基于所述第二编码器预测文本描述分布获得第 二掩码语言建模损失;所述跨模态编码模块,还用于将所述第一目标编 码器输出与所述第三句子编码器输出通过所述初始跨模态编码器执行所 述掩码目标分类任务,获得第二编码器预测目标分布;所述掩码目标分 类损失计算模块,还用于以所述预训练图像为标签基于所述第二编码器 预测目标分布获得第二掩码目标分类损失;所述句子编码模块,还用于 将所述解码器预测文本描述输入所述初始句子编码器获得第四句子编码 器输出;所述跨模态解码模块,还用于将所述第一目标编码器输出与所 述第四句子编码器输出通过所述初始跨模态解码器执行所述掩码句子生 成任务,获得第二解码器预测文本描述分布;所述掩码句子生成损失计 算模块,还用于以所述文本描述为标签基于所述第二解码器预测文本描 述分布获得第二掩码句子生成损失;所述阶段损失计算模块,还用于将 所述第二掩码语言建模损失、所述第二掩码目标分类损失和所述第二掩 码句子生成损失相加获得所述第二阶段任务损失。
21.根据本公开的一实施例,所述句子编码模块,还用于将所述编码器 预测文本描述输入所述初始句子编码器获得第三句子编码器输出;所述 跨模态解码模块,还用于将所述第一目标编码器输出与所述第三句子编 码器输出通过所述初始跨模态解码器执行所述掩码句子生成任务,获得 第三解码器预测文本描述分布;所述掩码句子生成损失计算模块,还用 于以所述文本描述为标签基于所述第三解码器预测文本描述分布获得第 三掩码句子生成损失;所述句子编码模块,还用于将所述解码器预测文 本描述输入所述初始句子编码器获得第四句子编码器输出;所述跨模态 编码模块,还用于将所述第一目标编码器输出与所述第四句子编码器输 出通过所述初始跨模态编码器执行所述掩码语言建模任务,获得第三编 码器预测文本描述分布;所述掩码语言建模损失计算模块,还用于以所 述文本描述为标签基于所述第三编码器预测文本描述分布获得第三掩码 语言建模损失;所述跨模态编码模块,还用于将所述第一目标编码器输 出与所述第四句子编码器输出通过所述初始跨模态编码器执行所述掩码 目标分类任务,获得第三编码器预测目标分布;所述掩码目标分类损失 计算模块,还用于以所述预训练图像为标签基于所述第三编码器预测目 标分布获得第三掩码目标分类损失;所述阶段损失计算模块,还用于将 所述第三掩码语言建
模损失、所述第三掩码目标分类损失和所述第三掩 码句子生成损失相加获得所述第二阶段任务损失。
22.根据本公开的一实施例,所述句子编码模块,还用于将所述编码器 预测文本描述输入所述初始句子编码器获得第三句子编码器输出;所述 跨模态解码模块,还用于将所述第一目标编码器输出与所述第三句子编 码器输出通过所述初始跨模态解码器执行所述掩码句子生成任务,获得 第三解码器预测文本描述分布;所述掩码句子生成损失计算模块,还用 于以所述文本描述为标签基于所述第三解码器预测文本描述分布获得第 三掩码句子生成损失;所述句子编码模块,还用于将所述解码器预测文 本描述输入所述初始句子编码器获得第四句子编码器输出;所述跨模态 编码模块,还用于将所述第一目标编码器输出与所述第四句子编码器输 出通过所述初始跨模态编码器执行所述掩码语言建模任务,获得第三编 码器预测文本描述分布;所述掩码语言建模损失计算模块,还用于以所 述文本描述为标签基于所述第三编码器预测文本描述分布获得第三掩码 语言建模损失;所述跨模态编码模块,还用于将所述第一目标编码器输 出与所述第四句子编码器输出通过所述初始跨模态编码器执行所述掩码 目标分类任务,获得第三编码器预测目标分布;所述掩码目标分类损失 计算模块,还用于以所述预训练图像为标签基于所述第三编码器预测目 标分布获得第三掩码目标分类损失;所述第二阶段任务损失包括所述第 三掩码语言建模损失、所述第三掩码目标分类损失和所述第三掩码句子 生成损失;所述总损失计算模块,还用于:获取编解码器切换参数;基 于所述第一掩码语言建模损失、所述第一掩码目标分类损失、所述图像 句子匹配损失、所述第一掩码句子生成损失、所述第二阶段任务损失和 所述编解码器切换参数获得预训练总损失函数。
23.根据本公开的再一方面,提供一种视觉语言任务处理装置,包括:包 括:数据获取模块,用于获取待处理任务的任务输入数据;任务处理模 块,用于将所述任务输入数据经由通过如上所述的方法获得预训练后的 视觉语言模型进行处理;结果输出模块,用于获得所述预训练后的视觉语 言模型输出的任务处理结果。
24.根据本公开的再一方面,提供一种设备,包括:存储器、处理器及存 储在所述存储器中并可在所述处理器中运行的可执行指令,所述处理器 执行所述可执行指令时实现如上述任一种方法。
25.根据本公开的再一方面,提供一种计算机可读存储介质,其上存储 有计算机可执行指令,所述可执行指令被处理器执行时实现如上述任一 种方法。
26.本公开的实施例提供的视觉语言模型获得方法,通过将预训练图像 和掩码文本描述输入初始视觉语言模型获得预测文本描述,基于预训练 图像、文本描述、掩码文本描述和预测文本描述通过初始视觉语言模型 执行多个预训练任务以训练初始视觉语言模型,获得预训练后的视觉语 言模型以处理图像文本任务,从而可实现一定程度上提高训练后的vl模 型处理任务的准确度。
27.应当理解的是,以上的一般描述和后文的细节描述仅是示例性的, 并不能限制本公开。
附图说明
28.通过参照附图详细描述其示例实施例,本公开的上述和其它目标、 特征及优点将
变得更加显而易见。
29.图1示出本公开实施例中一种系统结构的示意图。
30.图2示出本公开实施例中一种视觉语言模型获得方法的流程图。
31.图3a是根据一示例性实施例示出的一种预测文本描述获得方法的流 程图。
32.图3b示出本公开实施例中一种视觉语言模型架构的框图。
33.图4a是根据一示例性实施例示出的一种预训练任务执行方法的流程 图。
34.图4b示出本公开实施例中一种掩码语言建模任务流程示意图。
35.图4c示出本公开实施例中一种掩码目标分类任务流程示意图。
36.图4d示出本公开实施例中一种图像句子匹配任务流程示意图。
37.图4e示出本公开实施例中一种掩码句子生成任务流程示意图。
38.图5a示出了图4a中所示的步骤s4126在一实施例中的处理过程示 意图。
39.图5b示出本公开实施例中一种视觉语言模型的预训练流程示意图。
40.图6a示出了图4a中所示的步骤s4126在另一实施例中的处理过程 示意图。
41.图6b示出本公开实施例中另一种视觉语言模型的预训练流程示意 图。
42.图7a示出了图4a中所示的步骤s4126在再一实施例中的处理过程 示意图。
43.图7b示出了图4a中所示的步骤s414在一实施例中的处理过程示意 图。
44.图7c示出本公开实施例中再一种视觉语言模型的预训练流程示意 图。
45.图8是根据一示例性实施例示出的一种视觉语言任务处理方法的流 程图。
46.图9示出本公开实施例中一种视觉语言模型获得装置的框图。
47.图10示出本公开实施例中另一种视觉语言模型获得装置的框图。
48.图11示出本公开实施例中一种视觉语言任务处理装置的框图。
49.图12示出本公开实施例中一种电子设备的结构示意图。
具体实施方式
50.现在将参考附图更全面地描述示例实施例。然而,示例实施例能够 以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这 些实施例使得本公开将更加全面和完整,将示例实施例的构思全面地传 达给本领域的技术人员。附图仅为本公开的示意性图解,并非一定是按 比例绘制。图中相同的附图标记表示相同或类似的部分,因而将省略对 它们的重复描述。
51.此外,所描述的特征、结构或特性可以以任何合适的方式结合在一 个或更多实施例中。在下面的描述中,提供许多具体细节从而给出对本 公开的实施例的充分理解。然而,本领域技术人员将意识到,可以实践 本公开的技术方案而省略所述特定细节中的一个或更多,或者可以采用 其它的方法、装置、步骤等。在其它情况下,不详细示出或描述公知结 构、方法、装置、实现或者操作以避免喧宾夺主而使得本公开的各方面 变得模糊。
52.此外,术语“第一”、“第二”等仅用于描述目的,而不能理解为 指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此, 限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更 多个该特征。在本公开的描述中,“多个”的含义是至少两个,例如两 个,三个等,除非另有明确具体的限定。符号“/”一般表示前后关联对 象是一种“或”的关系。
53.在本公开中,除非另有明确的规定和限定,“连接”等术语应做广 义理解,例如,可以是电连接或可以互相通讯;可以是直接相连,也可 以通过中间媒介间接相连。对于本领域的普通技术人员而言,可以根据 具体情况理解上述术语在本公开中的具体含义。
54.如上所述,语言预训练已经在自然语言领域广泛应用,并且在多种 自然语言理解任务的处理中具有优异的性能。通用预训练模型 (generative pre-training,gpt)是语言预训练的早期成果之一,通过充 分利用单向单词上下文来学习通用语言表示。类似于语言预训练技术, 一些相关技术中用掩码(mask)标记替换某些输入的图像/单词标记作为 vl模型输入的训练数据,然后以vl模型可恢复被替换的输入为目标对 vl模型进行预训练。但由于在为处理具体下游任务而对vl模型进行微 调时不设计人工进行掩码的输入,预训练过程与微调过程的差异较大。 一些相关技术中的vl预训练采用通用的预训练多模态(视觉模态和语言 模态)编码器的方法,用于处理vl理解下游任务,但无法直接应用于 vl生成任务。另一些相关技术中采用基于单流输入的编码器-解码器结 构,对vl理解任务和vl生成任务进行联合预训练,但单流结构的设计 通过相同的变换器块处理两种模态输入,无法充分挖掘每种模态的特性 以及每个vl代理任务的固有特性差异,这严重限制了预训练的编码器
-ꢀ
解码器在不同类型的vl下游任务上的通用化。
55.因此,本公开提供了一种获得视觉语言模型的预训练方法,将预训 练图像和掩码文本描述输入初始视觉语言模型获得预测文本描述,基于 预训练图像、文本描述、掩码文本描述和预测文本描述通过初始视觉语 言模型执行多个预训练任务以训练初始视觉语言模型,获得预训练后的 视觉语言模型以处理图像文本任务,可弥补针对vl的预训练与微调过程 的差异,以生成的合适的视觉-语言对。
56.本公开还提供了一种双流解耦的编码器-解码器网络设计,由两个编 码器处理每个模态输入,同时在处理每种代理任务时采用解耦的跨模态 编码器-解码器,其中目标/句子编码器通过内部交互独立学习每个模态的 表示形式,这为处理vl理解任务和vl生成任务的多模态推理提供了基 础。通过预训练一个可适用于vl理解任务与vl生成任务的通用的编码 器-解码器结构,可充分利用不同模态和不同vl代理任务中的特性差异,
57.图1示出了可以应用本公开的视觉语言模型获得方法或视觉语言模 型获得装置的示例性系统架构10。
58.如图1所示,系统架构10可以包括终端设备102、网络104、服务器 106和数据库108。终端设备102可以是具有显示屏并且支持输入、输出 的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算 机和台式计算机等等。网络104用以在终端设备102和服务器106之间提 供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线 通信链路或者光纤电缆等等。服务器106可以是提供各种服务的服务器 或服务器集群等。数据库108可以是关系型数据库、非关系型数据库等 等。
59.用户可以使用终端设备102通过网络104与服务器106和数据库108 交互,以接收或发送数据等。例如用户可以使用终端设备102上传图片, 并输入针对该图片的问题,终端设备102通过网络104将图片和问题传输 至服务器106进行处理。服务器106也可通过网络104从数据库108接收 数据或向数据库108发送数据等,例如模型训练服务器106可从数据库 108获得大量训练图像及对应的文本描述,通过训练图像及对应的文本描 述训练视觉语言模型,以使视觉语言模型可用于处理接收的图片和问题。 后台处理服务器106接收图
片和问题后,通过视觉语言模型预测问题的 答案,并将如问题答案等信息通过网络104反馈给终端设备102。
60.应该理解,图1中的终端设备、网络、数据库和服务器的数目仅仅 是示意性的。根据实现需要,可以具有任意数目的终端设备、网络、数 据库和服务器。
61.图2是根据一示例性实施例示出的一种视觉语言模型获得方法的流 程图。如图2所示的方法例如可以应用于上述系统的服务器端,也可以 应用于上述系统的终端设备。
62.参考图2,本公开实施例提供的方法20可以包括以下步骤。
63.在步骤s202中,获取预训练图像和与预训练图像对应的文本描述。 可从大规模的图像-文本对准数据集中得到图像-文本对,作为预训练图 像及其对应的文本描述。文本可为段落、句子、短语等等。
64.在一些实施例中,例如,也可对图像-文本对中的初始图像进行特征 提取处理,将每个图像表示为一组特征图像区域,将各个特征图像区域 的特征向量作为用于训练视觉语言模型的预训练图像;对图像-文本对中 的文本进行分词处理获得单词序列,将单词序列转化为单词向量作为用 于训练视觉语言模型的文本描述。
65.在另一些实施例中,例如,预训练图像中还可包括各个特征图像区 域的位置特征,文本描述中还可包括各个单词在初始文本中的位置特 征。
66.在步骤s204中,将文本描述进行遮盖处理获得掩码文本描述。可通 过用掩码标记(例如[mask])随机替换文本描述中的单词,例如可以15%、 18%或20%的概率遮盖输入的单词标记生成掩码文本描述。
[0067]
在步骤s206中,获取初始视觉语言模型。视觉语言模型可由相互连 接的编码器和解码器构成,编码器/解码器可由多个的变换器 (transformer)构成,通过变换器之间的连接关系将自注意力机制和/或 互注意力机制作用于整个视觉语言模型。视觉语言模型的具体结构可参 照图3a和图3b,此处不予详述。
[0068]
在步骤s208中,将预训练图像和掩码文本描述输入初始视觉语言模 型以获得预测文本描述。可将预训练图像和掩码文本描述输入初始视觉 语言模型,获得初始视觉语言模型输出的预测文本描述分布,然后从预 测文本描述分布中采样获得预测文本描述,具体实施方式可参照图3a, 此处不予详述。预测文本描述为根据预训练图像和原文本描述中未进行 掩码的部分对掩码部分进行了预测,因此获得的预测文本描述为完整的 描述预训练图像的文本。
[0069]
在步骤s210中,基于预训练图像、文本描述、掩码文本描述和预测 文本描述通过初始视觉语言模型执行多个预训练任务以训练初始视觉语 言模型,获得预训练后的视觉语言模型以处理图像文本任务。多个预训 练任务可包括掩码语言建模(masked language modeling,mlm)、掩码 目标分类(masked object classification,moc)、图像句子匹配 (image-sentence matching,ism)、掩码句子生成(masked sentencegeneration,msg)等等,具体任务执行方式可参照图4a至图7c,此处 不予详述。可根据视觉语言模型的实际应用选择具体的任务对初始视觉 语言模型进行预训练,在一些实施例中,例如若需将视觉语言模型主要 应用到vl生成任务时,可通过mlm、msg任务对其进行预训练;再例 如需将视觉语言模型既适用于vl理解任务、又适用于vl生成任务时, 可同时采用mlm、moc、ism、msg四个任务对初始视觉语言模型进 行预训练。
[0070]
根据本公开实施例提供的视觉语言模型获得方法,通过将预训练图 像和掩码文本描述输入初始视觉语言模型获得预测文本描述,基于预训 练图像、文本描述、掩码文本描述和预测文本描述通过初始视觉语言模 型执行多个预训练任务以训练初始视觉语言模型,获得预训练后的视觉 语言模型以处理图像文本任务,从而可将初始视觉语言模型根据预训练 图像和掩码文本描述输出的预测文本描述用于预训练,减小了预训练与 后续微调过程的差异,实现了一定程度上提高训练后的vl模型处理任务 的准确度。
[0071]
图3a是根据一示例性实施例示出的一种预测文本描述获得方法的流 程图。如图3a所示的方法例如可以应用于上述系统的服务器端,也可以 应用于上述系统的终端设备。
[0072]
参考图3a,本公开实施例提供的方法30可以包括以下步骤。
[0073]
在步骤s302中,获取预训练图像和与预训练图像对应的文本描述。 可从大规模图像-句子基准数据集中得到的图像-句子对可将每个 输入图像表示为一组由目标检测器(例如:快速循环卷积神经网络 (faster r-cnn))得到的目标图像区域的特征向量(即图像标记) 其中n
i
为输入图像的目标图像区域的个数,r
i
表示第i个 目标图像区域的特征向量。对于每一个图像对应的句子我们将其 分词后表示为单词标记序列其中n
s
为输入句子的单词的 个数,表示第j个单词的特征向量。图像标记中的目标图像区域的特征 向量和单词标记序列中的单词的特征向量都可融合有位置感知特征,图 像标记中的位置感知特征可以为图像区域的2维坐标向量(如宽、高、与 原图像左上角距离等等信息构成的向量),单词标记序列可包括各个单词 1维的位置信息,如该单词在句子中的第几个(index)等等。
[0074]
在步骤s304中,将文本描述进行遮盖处理获得掩码文本描述。可对 单词标记序列中的单词随机地进行遮盖处理,如将随机将序列中15%的 单词标记替换为[mask]后,转换为单词标记向量作为掩码文本描述。
[0075]
在步骤s306中,获取包括初始句子编码器、初始目标编码器、初始 跨模态编码器和初始跨模态解码器的初始视觉语言模型。目标编码器和 句子编码器可通过一系列变换器模块进行实施,可以独立地利用各模态 内部上下文信息对每个模态的输入进行编码。跨模态编码器也可由一系 列变换器模块构成,跨模态编码器的输入为目标编码器和句子编码器的 输出,进行跨模态编码后得到每一个图像/单词标记的包括上下文信息的 多模态特征,充分捕捉用于跨模态vl理解的模式间交互信息。跨模态解 码器也可由一系列变换器构成,其输入也为目标编码器和句子编码器的 输出,通过自注意力机制从所有“过去的”单词标记中收集上下文信息, 然后对所有图像标记通过互注意力机制进行下一个单词的预测,根据输 入图像逐字地自动重构输入的句子,模拟了句子中单词序列生成过程, 从而支持vl生成的下游任务。
[0076]
在一些实施例中,例如,图3b示出了本公开实施例的一种包括句子 编码器、目标编码器、跨模态编码器和跨模态解码器的视觉语言模型架 构。
[0077]
如图3b所示,接收输入单词标记3122的为句子编码器312,利用k
s
个 堆叠的文本变换器模块3124去捕获输入的单词标记3122序列的模态内部 上下文信息。单词标记3122序列中还包括两种特殊的标记[cls]和[sep], 用于指示输入的单词标记
的句子的起始位置和结束位 置。
[0078]
接收输入图像标记3142的为目标编码器314,通过k
i
个堆叠的图像 变换器模块3144对输入的图像标记3142序列的通过自注意力机制进行编 码,以利用从先前变换器模块中提取的模态内部上下文信息增强每个图 像标记表示形式。输入的图像标记3142中包括一个特殊的图像标记[img] (其向量为所有探测区域的平均池化的目标表示),该标记作为输入的图 像标记3142序列的开端。
[0079]
句子编码器312输出的增强的单词标记可表示为图像 编码器314输出的增强的图像标记可表示为可先将它们结 合在一起作为多模态输入:将输入到一组由k
e
个堆 叠变换器模块(3124,3144,3162)构成的跨模态编码器316中,得到每一 个图像/单词标记的上下文多模态特征
[0080]
还可将输入到一组由堆叠的k
d
层变换器模块(3124,3144,3182, 3184)的构成的跨模态解码器318中,自注意力变换器模块3182通过自 注意力机制从所有“过去的”单词标记中收集上下文信息,然后对所有 图像标记通过互注意力机制进行下一个单词的预测,互注意力变换器模 块3184根据输入图像逐字地自动重构输入的句子,模拟了句子中单词序 列生成过程,从而支持vl生成的下游任务。
[0081]
在步骤s308中,将预训练图像输入初始目标编码器获得第一目标编 码器输出。第一目标编码器输出可为上述图3b中的增强的图像标记 [0082]
在步骤s310中,将掩码文本描述输入初始句子编码器获得第一句子 编码器输出。第一句子编码器输出可为上述图3b中的增强的单词标记 [0083]
在步骤s312中,将第一目标编码器输出与第一句子编码器输出通过 初始跨模态编码器执行掩码语言建模任务,获得第一编码器预测文本描 述分布。mlm任务的目标是根据非掩码单词标记和图像标记来恢复掩码 部分的单词。可通过一个覆盖整个词汇表的分类器,由交叉熵损失函数 (softmax)的驱动,利用跨模态编码器中输出的掩膜单词标记的上下文 多模态特征重新生成掩膜标记对应的原始的单词,获得 表示预测的掩码对应的原始的单词的第一编码器预测文本描述分布。
[0084]
在步骤s314中,将第一目标编码器输出与第一句子编码器输出通过 初始跨模态解码器执行掩码句子生成任务,获得第一解码器预测文本描 述分布。根据步骤s306中跨模态解码器的具体实施方式,msg任务致力 于教跨模态解码器如何根据输入图像逐字地自回归解码输入的句子,使 整个视觉模型具有生成句子的能力。msg的目标是测量联合负对数概率 来重建依赖于所有“过去”单词标记和输入图像的顺序单词标记,获得 表示预测的原始的输入句子的第一解码器预测文本描述分布。
[0085]
在步骤s316中,从第一编码器预测文本描述分布中采样获得编码器 预测文本描
述。可随机从从第一编码器预测文本描述分布中获得一个预 测的输入句子,以在后续预训练过程中替换掩码文本描述。
[0086]
在步骤s318中,从第一解码器预测文本描述分布中采样获得解码器 预测文本描述。可随机从从第一解码器预测文本描述分布中获得一个预 测的输入句子,以在后续预训练过程中替换掩码文本描述。
[0087]
在预训练过程中,mlm任务中两模态之间的信息传递不受限制,在 单一任务中可进行掩码单词/视觉标记的预测;而msg则需要对输入句 子进行自回归重构,且仅触发图像到文本的信息传递。
[0088]
根据本公开实施例提供的视觉语言模型,通过两个模态的编码器在 捕获内部交互信息时彼此独立又可共享跨模态的任务,提供了跨模态推 理的基础,并通过引入两个解耦的跨模态编码器和跨模态解码器在预训 练过程中对两种任务进行解耦,一个跨模态编码器或跨模态解码器各负 责一种类型的任务,可充分利用每个vl任务的不同固有特质(如mlm 的特质体现在两模态之间的无限制信息传递,而msg的特质体现为视觉 到文本的信息传递),促进了预训练的跨模态的vl任务对视觉语言模型 的通用化。
[0089]
根据本公开实施例提供的预测文本描述获取方法,使用预训练图像 和掩码文本描述作为输入执行标准的vl预训练任务,获得预测文本描述 分布的输出,通过使用从该输出中采样得到的合理替代词来替换掉掩码 单词标记来进行更接近实际的vl预训练,由于在微调过程中不涉及人工 掩码标记,因此可一定程度减小预训练过程与后续的下游任务微调过程 的差异。
[0090]
图4a是根据一示例性实施例示出的一种预训练任务执行方法的流程 图。如图4a所示的方法例如可以应用于上述系统的服务器端,也可以应 用于上述系统的终端设备。
[0091]
参考图4a,本公开实施例提供的方法40可以包括以下步骤。
[0092]
在步骤s402中,获取预训练图像和与预训练图像对应的文本描述。
[0093]
在步骤s404中,将文本描述进行遮盖处理获得掩码文本描述。
[0094]
步骤s402至s404的具体实施方式可参照上述步骤s202至s204、步 骤s302至s304,此处不再赘述。
[0095]
在步骤s406中,将预训练图像进行遮盖处理获得掩码预训练图像。 对预训练图像的遮盖处理与对文本描述的遮盖处理类似,可随机将输入 目标编码器的目标图像区域的图像标记随机替换为掩码标记,获得掩码 预训练图像作为预训练初始视觉语言模型的输入。
[0096]
在步骤s4082中,将预训练图像输入初始目标编码器获得第一目标 编码器输出。
[0097]
在步骤s4084中,将掩码文本描述输入初始句子编码器获得第一句 子编码器输出。
[0098]
在步骤s4102中,将第一目标编码器输出与第一句子编码器输出通 过初始跨模态编码器执行掩码语言建模任务,获得第一编码器预测文本 描述分布。
[0099]
在步骤s4104中,以文本描述为标签基于第一编码器预测文本描述 分布获得第一掩码语言建模损失。mlm任务的目标是根据非掩码单词标 记和图像标记来恢复掩码部分的单词。可通过一个覆盖整个词汇表的分 类器,由交叉熵损失函数(softmax)的驱动,利用跨模态编码器中输出 的掩膜单词标记的上下文多模态特征重新生成掩膜标记对应的原始的
单 词。可将第一掩码语言建模损失表示为
[0100]
在一些实施例中,例如,图4b示出了一种掩码语言建模任务执行流 程,如图4b所示,单词标记序列[cls]、a、[mask]

的向量输入句子 编码器312,图像标记序列的向量输入目标编码器314,句子编码器312 的第一句子编码器输出和目标编码器314的第一目标编码器输出输入跨 模态编码器316,跨模态编码器316输出第一编码器预测文本描述分布, 其中包括掩码部分的单词预测,如图中“狗”的区域图像对应的[mask] 的预测“dog”。
[0101]
在步骤s4086中,将文本描述输入初始句子编码器获得第二句子编 码器输出。
[0102]
在步骤s4088中,将掩码预训练图像输入初始目标编码器获得第二 目标编码器输出。
[0103]
在步骤s4106中,将第二目标编码器输出与第二句子编码器输出通 过初始跨模态编码器执行掩码目标分类任务,获得第一编码器预测目标 分布。moc任务是初始跨模态编码器将增强的掩码图像标记(即第二目 标编码器输出)和增强的单词标记(第二句子编码器输出)进行编码获得 上下文多模态特征后输入到一个分类器中进行目标分类获得第一编码器 预测目标分布,根据非掩码图像标记和单词标记重建掩码标记[mask]替 换的区域图像。
[0104]
在步骤s4108中,预训练图像为标签基于第一编码器预测目标分布 获得第一掩码目标分类损失。moc的任务损失可表示为度量了每个掩码 图像标记对应的区域图像的预测目标分布与真实正确目标分布之间的匹 配程度的kl散度,其中区域图像的真实正确目标分布可通过现有的目标 探测器获得。可将第一掩码目标分类损失表示为
[0105]
在一些实施例中,例如,图4c示出了一种掩码目标分类任务执行流 程,如图4c所示,单词标记序列[cls]、a、dog

的向量输入句子编码 器312,带有掩码标记的图像标记序列的向量输入目标编码器314,句子 编码器312的第二句子编码器输出和目标编码器314的第二目标编码器输 出输入跨模态编码器316,跨模态编码器316通过分类器输出第一编码器 预测目标分布,其中包括图像掩码部分的单词预测,如图中掩码的“猫
”ꢀ
区域图像对应的预测“cat”。
[0106]
在步骤s4110中,根据第二句子编码器输出和第一目标编码器输出 执行图像句子匹配任务,获得图像句子匹配损失。ism任务的执行可直 接根据目标编码器和句子编码器的输出来度量图像-句子相似性,例如将 第二句子编码器输出和第一目标编码器输出馈送入基于注意力的两层多 层感知器(multi-layer perceptron,mlp)来计算图像-句子相似度,损失函 数可为三原组排序损失形式,其中负样本对可通过多批次策略生成。本 公开采用ism任务执行方式可触发更早的图像-句子对齐,从而避免了通 过共享的跨模态编码器引入的不匹配的图像-句子对其他任务的预训练效 果的妨碍,消除图像-句子对不匹配对跨模态编码器的负面影响。可将图 像句子匹配损失表示为
[0107]
在一些实施例中,例如,图4d示出了一种图像句子匹配任务执行流 程,如图4d所示,单词标记序列[cls]、a、dog

的向量输入句子编码 器312,图像标记序列的向量输入目标编码器314,将句子编码器312的 第二句子编码器输出和目标编码器314的第一目标编码器输出进行匹配, 训练任务的目标是将两者完全匹配。
[0108]
在步骤s4112中,将第一目标编码器输出与第一句子编码器输出通 过初始跨模态
解码器执行掩码句子生成任务,获得第一解码器预测文本 描述分布。根据步骤s306中跨模态解码器的具体实施方式,msg任务致 力于教跨模态解码器如何根据输入图像逐字地自回归解码输入的句子, 使整个视觉模型具有生成句子的能力。
[0109]
在步骤s4114中,以文本描述为标签基于第一解码器预测文本描述 分布获得第一掩码句子生成损失。msg的目标是测量联合负对数概率来 重建依赖于所有“过去”单词标记和输入图像的顺序单词标记。可将掩 码句子生成损失表示为
[0110]
在一些实施例中,例如,图4e示出了一种掩码句子生成任务执行流 程,如图4e所示,单词标记序列[cls]、a、[mask]

的向量输入句子 编码器312,图像标记序列的向量输入目标编码器314,句子编码器312 的第一句子编码器输出和目标编码器314的第一目标编码器输出输入跨 模态解码器318,跨模态编码器318输出第一解码器预测文本描述分布, 包括单词序列预测,如“a”“dog”“and”“cat”“separated”等等。
[0111]
在步骤s4122中,从第一编码器预测文本描述分布中采样获得编码 器预测文本描述。
[0112]
在步骤s4124中,从第一解码器预测文本描述分布中采样获得解码 器预测文本描述。
[0113]
在步骤s4126中,基于编码器预测文本描述、解码器预测文本描述 和预训练图像通过初始句子编码器、初始目标编码器、初始跨模态编码 器和初始跨模态解码器获得第二阶段任务损失。第二阶段任务损失的计 算可根据实际情况选择mlm、moc、ism、msg任务进行,通过用编 码器预测文本描述、解码器预测文本描述代替掩码文本描述获得第二阶 段任务损失,具体的实施方式可参照图5-图7。
[0114]
在步骤s414中,基于第一掩码语言建模损失、第一掩码目标分类损 失、图像句子匹配损失、第一掩码句子生成损失和第二阶段任务损失获 得预训练总损失函数。获得总损失函数的具体的实施方式可参照图5-图 7。
[0115]
在步骤s416中,利用预训练总损失函数训练初始句子编码器、初始 目标编码器、初始跨模态编码器和初始跨模态解码器。
[0116]
根据本公开实施例提供的预训练任务执行方法,首先获得执行vl理 解和生成的四个任务产生的目标损失,将获得的mlm任务和msg任务 的预测文本描述分布的输出进行采样得到的合理替代词来替换掉掩码单 词标记,来第二遍执行mlm、moc和msg任务,使预训练过程更接近 微调过程,因此可一定程度减小预训练过程与后续的下游任务微调过程 的差异来优化整个编解码器结构,提高整个预训练后视觉语言模型的准 确度。
[0117]
图5a示出了图4a中所示的步骤s4126在一实施例中的处理过程示 意图。如图5a所示,本公开实施例中,上述步骤s4126可以进一步包括 以下步骤。
[0118]
在步骤s412602中,将编码器预测文本描述输入初始句子编码器获 得第三句子编码器输出。可为对图4a中的初始跨模态编码器执行的 mlm任务获得的编码器预测文本分布进行采样,用这些采样单词替代人 工掩码标记的掩膜单词标记序列,获得编码器预测文本描述,其可表示 为非掩膜单词标记序列s
e

[0119]
在步骤s412604中,将第一目标编码器输出与第三句子编码器输出 通过初始跨模态编码器执行掩码语言建模任务,获得第二编码器预测文 本描述分布。执行掩码语言建模任务可参照步骤s4104和图4b,此处不 再赘述。
[0120]
在步骤s412606中,以文本描述为标签基于第二编码器预测文本描 述分布获得第二掩码语言建模损失。可将第二掩码语言建模损失表示为 [0121]
在步骤s412608中,将第一目标编码器输出与第三句子编码器输出 通过初始跨模态编码器执行掩码目标分类任务,获得第二编码器预测目 标分布。也可将掩码预训练图像输入初始目标编码器获得的第二目标编 码器输出与第三句子编码器输出通过初始跨模态编码器执行掩码目标分 类任务,具体可参照步骤s4106至步骤s4108和图4c,此处不再赘述。
[0122]
在步骤s412610中,以预训练图像为标签基于第二编码器预测目标 分布获得第二掩码目标分类损失。可将第二掩码目标分类损失表示为 [0123]
在步骤s412612中,将解码器预测文本描述输入初始句子编码器获 得第四句子编码器输出。可为对图4a中的初始跨模态编码器执行的 msg任务获得的编码器预测文本分布进行采样,用这些采样单词替代人 工掩码标记的掩膜单词标记序列,获得解码器预测文本描述,其可表示 为非掩膜单词标记序列s
d

[0124]
在步骤s412614中,将第一目标编码器输出与第四句子编码器输出 通过初始跨模态解码器执行掩码句子生成任务,获得第二解码器预测文 本描述分布。执行掩码句子生成任务可参照步骤s4112至步骤s4114和图 4e,此处不再赘述。
[0125]
在步骤s412616中,以文本描述为标签基于第二解码器预测文本描 述分布获得第二掩码句子生成损失。可将第二掩码句子生成损失表示为 [0126]
在步骤s412618中,将第二掩码语言建模损失、第二掩码目标分类 损失和第二掩码句子生成损失相加获得第二阶段任务损失。此时总损失 函数可表示为:
[0127][0128]
式中,为第二阶段任务损失; 为第一阶段任务损失,可表示为:
[0129][0130]
在一些实施例中,例如,图5b示出本公开实施例中一种视觉语言模 型的预训练流程示意图,如图5b所示,首先根据图4b至图4e获得第一 阶段的预训练损失,同时获得跨模态编码器316和跨模态解码器318输出 的各位置的掩码单词标记的预测单词分布。对预测单词分布进行采样获 得采样单词,用这些采样单词替代人工掩码标记的掩膜单词标记序列, 得到了两个非掩膜单词标记序列(s
e
和s
d
),如图5b所示,其中s
e
中 [mask]对应的采样单词为“mouse”,s
d
中[mask]对应的采样单词为
ꢀ“
bird”。接下来通过句子编码器312对s
e
进行编码后,将句子编码器 312的输出与第一阶段预训练中通过目标编码器314编码的增强的图像标 记一同输入到跨模态编码器316中,执行mlm和moc代理任务。同时, 将经过句子编码器312编码的单词标记s
d
与第一阶段预训练中通过目标 编码器314编码的增强的图像标记一同输入跨模态解码器318,执行msg 任务。
[0131]
图6a示出了图4a中所示的步骤s4126在一实施例中的处理过程示 意图。如图6a所示,本公开实施例中,上述步骤s4126可以进一步包括 以下步骤。图6a与图5a的区别在于,
计算第二阶段任务损失时,将输 入的s
e
与s
d
互换。
[0132]
在步骤s412622中,将编码器预测文本描述输入初始句子编码器获 得第三句子编码器输出。
[0133]
在步骤s412624中,将第一目标编码器输出与第三句子编码器输出 通过初始跨模态解码器执行掩码句子生成任务,获得第三解码器预测文 本描述分布。
[0134]
在步骤s412626中,以文本描述为标签基于第三解码器预测文本描 述分布获得第三掩码句子生成损失。可将第二掩码句子生成损失表示为 [0135]
在步骤s412628中,将解码器预测文本描述输入初始句子编码器获 得第四句子编码器输出。
[0136]
在步骤s412630中,将第一目标编码器输出与第四句子编码器输出 通过初始跨模态编码器执行掩码语言建模任务,获得第三编码器预测文 本描述分布。
[0137]
在步骤s412632中,以文本描述为标签基于第三编码器预测文本描 述分布获得第三掩码语言建模损失。可将第三掩码语言建模损失表示为 [0138]
在步骤s412634中,将第一目标编码器输出与第四句子编码器输出 通过初始跨模态编码器执行掩码目标分类任务,获得第三编码器预测目 标分布。
[0139]
在步骤s412636中,以预训练图像为标签基于第三编码器预测目标 分布获得第三掩码目标分类损失。可将第三掩码目标分类损失表示为 [0140]
在步骤s412638中,将第三掩码语言建模损失、第三掩码目标分类损 失和第三掩码句子生成损失相加获得第二阶段任务损失。此时总损失函数 可表示为:
[0141][0142]
式中,为第二阶段任务损失。
[0143]
在一些实施例中,例如,图6b示出本公开实施例中另一种视觉语言 模型的预训练流程示意图,如图6b所示,首先根据图4b至图4e获得第 一阶段的预训练损失,同时获得跨模态编码器316和跨模态解码器318输 出的各位置的掩码单词标记的预测单词分布。对预测单词分布进行采样 获得采样单词,用这些采样单词替代人工掩码标记的掩膜单词标记序列, 得到了两个非掩膜单词标记序列(s
e
和s
d
),如图6b所示,其中s
e
中 [mask]对应的采样单词为“mouse”,s
d
中[mask]对应的采样单词为
ꢀ“
bird”。接下来通过句子编码器312对s
e
进行编码后,将句子编码器 312的输出与第一阶段预训练中通过目标编码器314编码的增强的图像标 记一同输入跨模态解码器318,执行msg任务;同时,将经过句子编码 器312编码的单词标记s
d
与第一阶段预训练中通过目标编码器314编码的 增强的图像标记一同输入到跨模态编码器316中,执行mlm和moc代 理任务。
[0144]
图7a示出了图4a中所示的步骤s4126在一实施例中的处理过程示 意图。图7a与图6a的区别在于,在第一阶段的预训练中,句子编码器 的输出和目标编码器的输出随机输入到跨模态解码器或跨模态编码器中, 即随机通过跨模态解码器路径或跨模态编码器路径进行训练,因此获得 的非掩膜单词标记序列为s
e
或s
d

[0145]
如图7a所示,本公开实施例中,上述步骤s4126可以进一步包括以 下步骤。
[0146]
在步骤s412642中,当第一阶段预训练时仅通过初始跨模态编码器 路径时,将编
码器预测文本描述输入初始句子编码器获得第三句子编码 器输出。
[0147]
在步骤s412644中,将第一目标编码器输出与第三句子编码器输出 通过初始跨模态解码器执行掩码句子生成任务,获得第三解码器预测文 本描述分布。
[0148]
在步骤s412646中,以文本描述为标签基于第三解码器预测文本描 述分布获得第三掩码句子生成损失。
[0149]
在步骤s412648中,当第一阶段预训练时仅通过初始跨模态解码器 路径时,将解码器预测文本描述输入初始句子编码器获得第四句子编码 器输出。
[0150]
在步骤s412650中,将第一目标编码器输出与第四句子编码器输出 通过初始跨模态编码器执行掩码语言建模任务,获得第三编码器预测文 本描述分布。
[0151]
在步骤s412652中,以文本描述为标签基于第三编码器预测文本描 述分布获得第三掩码语言建模损失。
[0152]
在步骤s412654中,将第一目标编码器输出与第四句子编码器输出 通过初始跨模态编码器执行掩码目标分类任务,获得第三编码器预测目 标分布。
[0153]
在步骤s412656中,以预训练图像为标签基于第三编码器预测目标 分布获得第三掩码目标分类损失。
[0154]
第二阶段任务损失包括第三掩码语言建模损失、第三掩码目标分类 损失和第三掩码句子生成损失。
[0155]
图7b示出了图4a中所示的步骤s414在一实施例中的处理过程示意 图。如图7b所示,本公开实施例中,上述步骤s414可以进一步包括以 下步骤。
[0156]
在步骤s4142中,获取编解码器切换参数。可将编解码器切换参数 表示为通过跨模态编码器路径的概率α,α∈{0,1}。
[0157]
在步骤s4144中,基于第一掩码语言建模损失、第一掩码目标分类 损失、图像句子匹配损失、第一掩码句子生成损失、第二阶段任务损失 和编解码器切换参数获得预训练总损失函数。此时总损失函数可表 示为:
[0158][0159]
在一些实施例中,例如,图7c示出本公开实施例中再一种视觉语言 模型的预训练流程示意图,如图7c所示,在第一阶段的预训练中,句子 编码器312的输出和目标编码器314的输出随机输入到跨模态解码器或跨 模态编码器318中,对应执行mlm、moc和msg任务。与图5b、图 6b的预训练过程相比较,通过在第一阶段预训练中引入跨模态编码器与 解码器之间的切换,预训练成本约降为1/2。
[0160]
根据本公开实施例提供的方法和视觉语言模型,利用大规模的图像
-ꢀ
文本描述数据集进行了预训练实验,其中约包含从数十亿个网页中自动收 集的330万对图片-句子。在预训练中,采用的已训练好faster-rcnn网 络提取目标区域图像的特征向量,至多选择100个检测信任度大于0.2的 区域图像作为输入。每个输入区域图像表示为2048维的向量。设置目标 编码器、句子编码器、跨模态编码器和跨模态解码器中堆叠的变换器的层 数分别为k
i
=6,k
s
=12,k
e
=6,k
d
=6。一次训练的数据量大小为512, 学习率设为0.0001,最大迭代次数设为10。
[0161]
图8是根据一示例性实施例示出的一种视觉语言任务处理方法的流 程图。如图8所示的方法例如可以应用于上述系统的服务器端,也可以应 用于上述系统的终端设备。
[0162]
参考图8,本公开实施例提供的方法80可以包括以下步骤。
[0163]
在步骤s802中,获取待处理任务的任务输入数据。
[0164]
在步骤s804中,将任务输入数据经由预训练后的视觉语言模型进行 处理。
[0165]
在步骤s806中,获得预训练后的视觉语言模型输出的任务处理结果。
[0166]
可通过预训练后的视觉语言模型处理视觉问题回答任务、基于描述的 图像检索任务、视觉常识推理任务、图片描述任务等等视觉语言下游任务, 不同的下游任务的任务输入数据和任务处理结果不同。下面将对处理视觉 语言下游任务的具体实施方式进行具体描述。
[0167]
在视觉问题回答下游任务中,该模型根据图像预测给定问题的答案。 通过110万个图像以及关于图像的问题进行微调,将此任务明确表示为一 个多标签分类问题。首先基于注意机制基于多模态编码器进行多模态输出 整体图像-问题特征,然后将整体图像-问题特征通过全连接层后通过s形 函数获得3129个可能的答案的概率分布。可基于交叉熵损失来优化关于 模型的输出答案预测。一次训练的数据量大小为96,学习率设为0.00005。 在20次微调后停止微调程序。
[0168]
基于描述的图像检索任务在从给定描述图像的内容的文本描述的图 像池中获得训练数据。在这个任务中采用每个图像都配有5个人工注释的 句子的训练数据,根据图像-句子的相似度对图像进行排序,通过执行ism 任务对相似度进行度量,基于三元组排序损失对整个模型进行了优化。一 次训练的数据量大小为512,学习率设置为0.00002,最大迭代次数设为 30。
[0169]
视觉常识推理解决两个问题,视觉问题回答和答案判断,分别要求 模型能够预测答案或者判断答案的合理性。在微调期间,我们将问题和 每个可能的响应(答案/判断依据)连接起来作为输入句子,将其与图像 一起被输入到模型中。在视觉问题回答中,我们获得整体的图像-句子特 征,然后利用一个线性层来预测每一个可能的回答的得分,基于交叉熵损 失对全部的预测进行训练,一次训练的数据量大小为64,学习率设置为 0.00002,最大迭代次数设为20。
[0170]
图片描述任务训练模型生成可以描述输入图片的自然句子。采用 coco数据集微调和评估视觉语言模型。在这里我们使用广义卡帕西 (karpathy)来评估。对于微调,我们首先基于交叉熵损失来优化整体的 模型架构。一次训练的数据量大小为16,学习率设置为0.00003,最大迭 代次数设为10。可使用自我批评的训练策略进一步进行训练,使用cider 奖励实现序列层次的优化结果,其中学习率设定为0.000005且最大迭代 次数设为30。
[0171]
另外,将对跨模态编码器和跨模态解码器分别地进行预训练和同时对 跨模态编码器和跨模态解码器进行预训练的效果进行对比。跨模态编码器 是使用ism、mlm和moc任务进行预训练,其仅适用于vl理解下游 任务。跨模态解码器是用ism和msg任务进行预训练,其仅适用于vl 生成下游任务。在对跨模态编码器和跨模态解码器分别进行预训练时,四 个下游任务的最终效果都低于同时进行预训练的效果。
[0172]
将对通过目标/句子编码器的输出和跨模态编码器的输出执行ism进 行对比。通过跨模式编码器的多模态输出执行ism预训练任务后,所有 任务的性能甚至比没有ism预
训练的设计还要低,表明ism的跨模式编 码器设计通过在共享跨模态编码器中引入不匹配的图像-句子对影响了其 他代理任务的预训练效果,证明了通过vl预训练采用的ism进行早期图 像-句子对齐的有效性。
[0173]
将图5b、图6b、图7c三种预训练的方案与不进行采样的训练方案 进行比较,图5b、图6b、图7c三种预训练后的模型的在下游任务中的 性能都更为优异;与图5b、图6b相比,图7c有效降低了所有任务的预 培训成本,而性能仅略有下降。
[0174]
图9是根据一示例性实施例示出的一种视觉语言模型获得装置的框 图。如图9所示的装置例如可以应用于上述系统的服务器端,也可以应 用于上述系统的终端设备。
[0175]
参考图9,本公开实施例提供的装置90可以包括数据获取模块902、 掩码处理模块904、模型初始化模块906、第一预训练模块908和第二预 训练模块910。
[0176]
数据获取模块902可用于获取预训练图像和与预训练图像对应的文 本描述。
[0177]
掩码处理模块904可用于将文本描述进行遮盖处理获得掩码文本描 述。
[0178]
模型初始化模块906可用于获取初始视觉语言模型。
[0179]
第一预训练模块908可用于将预训练图像和掩码文本描述输入初始 视觉语言模型以获得预测文本描述。
[0180]
第二预训练模块910可用于基于预训练图像、文本描述、掩码文本 描述和预测文本描述通过初始视觉语言模型执行多个预训练任务以训练 初始视觉语言模型,获得预训练后的视觉语言模型以处理图像文本任 务。
[0181]
图10是根据一示例性实施例示出的一种视觉语言模型获得装置的框 图。如图10所示的装置例如可以应用于上述系统的服务器端,也可以应 用于上述系统的终端设备。
[0182]
参考图10,本公开实施例提供的装置100可以包括数据获取模块 1002、掩码处理模块1004、模型初始化模块1006、第一预训练模块1008 和第二预训练模块1010,其中第一预训练模块1008包括文本描述预测模 块10082和文本描述采样模块10084,文本描述预测模块10082包括目标 编码模块100822、句子编码模块100824、跨模态编码模块100826和跨模 态解码模块100828,第二预训练模块1010包括掩码语言建模损失计算模 块10102、掩码目标分类损失计算模块10104、图像句子匹配损失计算模 块10106、掩码句子生成损失计算模块10108、阶段损失计算模块10110 和总损失计算模块10112。
[0183]
数据获取模块1002可用于获取预训练图像和与预训练图像对应的文 本描述。
[0184]
掩码处理模块1004可用于将文本描述进行遮盖处理获得掩码文本描 述。
[0185]
掩码处理模块1004还可用于将预训练图像进行遮盖处理获得掩码预 训练图像。
[0186]
模型初始化模块1006可用于获取初始视觉语言模型,初始视觉语言 模型包括初始句子编码器、初始目标编码器、初始跨模态编码器和初始 跨模态解码器。
[0187]
第一预训练模块1008可用于将预训练图像和掩码文本描述输入初始 视觉语言模型以获得预测文本描述。
[0188]
文本描述预测模块10082可用于将预训练图像和掩码文本描述输入 初始视觉语言模型,获得初始视觉语言模型输出的预测文本描述分布, 预测文本描述分布包括第一编码器预测文本描述分布和第一解码器预测 文本描述分布。
[0189]
目标编码模块100822可用于将预训练图像输入初始目标编码器获得 第一目标编码器输出。
[0190]
目标编码模块100822还可用于将掩码预训练图像输入初始目标编码 器获得第二目标编码器输出。
[0191]
句子编码模块100824可用于将掩码文本描述输入初始句子编码器获 得第一句子编码器输出。
[0192]
句子编码模块100824还可用于将文本描述输入初始句子编码器获得 第二句子编码器输出。
[0193]
句子编码模块100824还可用于将编码器预测文本描述输入初始句子 编码器获得第三句子编码器输出。
[0194]
句子编码模块100824还可用于将解码器预测文本描述输入初始句子 编码器获得第四句子编码器输出。
[0195]
跨模态编码模块100826可用于将第一目标编码器输出与第一句子编 码器输出通过初始跨模态编码器执行掩码语言建模任务,获得第一编码 器预测文本描述分布。
[0196]
跨模态编码模块100826还可用于将第二目标编码器输出与第二句子 编码器输出通过初始跨模态编码器执行掩码目标分类任务,获得第一编 码器预测目标分布。
[0197]
跨模态编码模块100826还可用于将第一目标编码器输出与第三句子 编码器输出通过初始跨模态编码器执行掩码语言建模任务,获得第二编 码器预测文本描述分布。
[0198]
跨模态编码模块100826还可用于将第一目标编码器输出与第三句子 编码器输出通过初始跨模态编码器执行掩码目标分类任务,获得第二编 码器预测目标分布。
[0199]
跨模态编码模块100826还可用于将第一目标编码器输出与第四句子 编码器输出通过初始跨模态编码器执行掩码语言建模任务,获得第三编 码器预测文本描述分布。
[0200]
跨模态编码模块100826还可用于将第一目标编码器输出与第四句子 编码器输出通过初始跨模态编码器执行掩码目标分类任务,获得第三编 码器预测目标分布。
[0201]
跨模态解码模块100828可用于将第一目标编码器输出与第一句子编 码器输出通过初始跨模态解码器执行掩码句子生成任务,获得第一解码 器预测文本描述分布。
[0202]
跨模态解码模块100828还可用于将第一目标编码器输出与第四句子 编码器输出通过初始跨模态解码器执行掩码句子生成任务,获得第二解 码器预测文本描述分布。
[0203]
跨模态解码模块100828还可用于将第一目标编码器输出与第三句子 编码器输出通过初始跨模态解码器执行掩码句子生成任务,获得第三解 码器预测文本描述分布。
[0204]
文本描述采样模块10084可用于从预测文本描述分布中采样获得预 测文本描述。预测文本描述包括编码器预测文本描述和解码器预测文本 描述。
[0205]
文本描述采样模块10084还可用于从第一编码器预测文本描述分布 中采样获得编码器预测文本描述;从第一解码器预测文本描述分布中采 样获得解码器预测文本描述。
[0206]
第二预训练模块1010可用于基于预训练图像、文本描述、掩码文本 描述和预测文本描述通过初始视觉语言模型执行多个预训练任务以训练 初始视觉语言模型,获得预训练后的视觉语言模型以处理图像文本任务。 多个预训练任务包括掩码语言建模任务、掩码句子生成任务、掩码目标 分类任务和图像句子匹配任务。
[0207]
第二预训练模块1010还可用于利用预训练总损失函数训练初始句子 编码器、初始目标编码器、初始跨模态编码器和初始跨模态解码器。
[0208]
掩码语言建模损失计算模块10102可用于以文本描述为标签基于第 一编码器预
测文本描述分布获得第一掩码语言建模损失。
[0209]
掩码语言建模损失计算模块10102还可用于以文本描述为标签基于 第二编码器预测文本描述分布获得第二掩码语言建模损失。
[0210]
掩码语言建模损失计算模块10102还可用于以文本描述为标签基于 第三编码器预测文本描述分布获得第三掩码语言建模损失。
[0211]
掩码目标分类损失计算模块10104可用于以预训练图像为标签基于 第一编码器预测目标分布获得第一掩码目标分类损失。
[0212]
掩码目标分类损失计算模块10104还可用于以预训练图像为标签基 于第二编码器预测目标分布获得第二掩码目标分类损失。
[0213]
掩码目标分类损失计算模块10104还可用于以预训练图像为标签基 于第三编码器预测目标分布获得第三掩码目标分类损失。
[0214]
图像句子匹配损失计算模块10106可用于根据第二句子编码器输出 和第一目标编码器输出执行图像句子匹配任务,获得图像句子匹配损 失。
[0215]
掩码句子生成损失计算模块10108可用于以文本描述为标签基于第 一解码器预测文本描述分布获得第一掩码句子生成损失。
[0216]
掩码句子生成损失计算模块10108还可用于以文本描述为标签基于 第二解码器预测文本描述分布获得第二掩码句子生成损失。
[0217]
掩码句子生成损失计算模块10108还可用于以文本描述为标签基于 第三解码器预测文本描述分布获得第三掩码句子生成损失。
[0218]
阶段损失计算模块10110可用于基于编码器预测文本描述、解码器 预测文本描述和预训练图像通过初始句子编码器、初始目标编码器、初 始跨模态编码器和初始跨模态解码器获得第二阶段任务损失,第二阶段 任务损失包括第三掩码语言建模损失、第三掩码目标分类损失和第三掩 码句子生成损失。
[0219]
阶段损失计算模块10110还可用于将第二掩码语言建模损失、第二 掩码目标分类损失和第二掩码句子生成损失相加获得第二阶段任务损 失。
[0220]
阶段损失计算模块10110还可用于将第三掩码语言建模损失、第三 掩码目标分类损失和第三掩码句子生成损失相加获得第二阶段任务损失。
[0221]
总损失计算模块10112可用于基于第一掩码语言建模损失、第一掩 码目标分类损失、图像句子匹配损失、第一掩码句子生成损失和第二阶 段任务损失获得预训练总损失函数。
[0222]
总损失计算模块10112还可用于获取编解码器切换参数;基于第一 掩码语言建模损失、第一掩码目标分类损失、图像句子匹配损失、第一 掩码句子生成损失、第二阶段任务损失和编解码器切换参数获得预训练 总损失函数。
[0223]
图11是根据一示例性实施例示出的一种视觉语言任务处理装置的框 图。如图11所示的装置例如可以应用于上述系统的服务器端,也可以应 用于上述系统的终端设备。
[0224]
参考图11,本公开实施例提供的装置110可以包括数据获取模块 1102、任务处理模块1104和结果输出模块1106。
[0225]
数据获取模块1102可用于获取待处理任务的任务输入数据。
[0226]
任务处理模块1104可用于将任务输入数据经由预训练后的视觉语言 模型进行处
理。
[0227]
结果输出模块1106可用于获得预训练后的视觉语言模型输出的任务 处理结果。本公开实施例提供的装置中的各个模块的具体实现可以参照 上述方法中的内容,此处不再赘述。
[0228]
图12示出本公开实施例中一种电子设备的结构示意图。需要说明的 是,图12示出的设备仅以计算机系统为示例,不应对本公开实施例的功 能和使用范围带来任何限制。
[0229]
如图12所示,设备1200包括中央处理单元(cpu)1201,其可以根 据存储在只读存储器(rom)1202中的程序或者从存储部分1208加载到 随机访问存储器(ram)1203中的程序而执行各种适当的动作和处理。 在ram 1203中,还存储有设备1200操作所需的各种程序和数据。 cpu1201、rom 1202以及ram 1203通过总线1204彼此相连。输入/输 出(i/o)接口1205也连接至总线1204。
[0230]
以下部件连接至i/o接口1205:包括键盘、鼠标等的输入部分1206; 包括诸如阴极射线管(crt)、液晶显示器(lcd)等以及扬声器等的输 出部分1207;包括硬盘等的存储部分1208;以及包括诸如lan卡、调制 解调器等的网络接口卡的通信部分1209。通信部分1209经由诸如因特网 的网络执行通信处理。驱动器1212也根据需要连接至i/o接口1205。可 拆卸介质1211,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需 要安装在驱动器1212上,以便于从其上读出的计算机程序根据需要被安 装入存储部分1208。
[0231]
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被 实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产 品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含 用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机 程序可以通过通信部分1209从网络上被下载和安装,和/或从可拆卸介质 1211被安装。在该计算机程序被中央处理单元(cpu)1201执行时,执 行本公开的系统中限定的上述功能。
[0232]
需要说明的是,本公开所示的计算机可读介质可以是计算机可读信 号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可 读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、 或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储 介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、 便携式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、 可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只 读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适 的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序 的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其 结合使用。而在本公开中,计算机可读的信号介质可以包括在基带中或 者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。 这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信 号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可 读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、 传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使 用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传 输,包括但不限于:无线、电线、光缆、rf等等,或者上述的任意合适 的组合。
[0233]
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方 法和计算机程
序产品的可能实现的体系架构、功能和操作。在这点上, 流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部 分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定 的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方 框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两 个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相 反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图 中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的 功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计 算机指令的组合来实现。
[0234]
描述于本公开实施例中所涉及到的模块可以通过软件的方式实现, 也可以通过硬件的方式来实现。所描述的模块也可以设置在处理器中, 例如,可以描述为:一种处理器包括数据获取模块、掩码处理模块、模 型初始化模块、第一预训练模块和第二预训练模块。其中,这些模块的 名称在某种情况下并不构成对该模块本身的限定,例如,数据获取模块 还可以被描述为“向所连接的服务器端获取训练数据的模块”。
[0235]
作为另一方面,本公开还提供了一种计算机可读介质,该计算机可 读介质可以是上述实施例中描述的设备中所包含的;也可以是单独存在, 而未装配入该设备中。上述计算机可读介质承载有一个或者多个程序, 当上述一个或者多个程序被一个该设备执行时,使得该设备包括:获取 预训练图像和与预训练图像对应的文本描述;将文本描述进行遮盖处理 获得掩码文本描述;获取初始视觉语言模型;将预训练图像和掩码文本 描述输入初始视觉语言模型以获得预测文本描述;基于预训练图像、文 本描述、掩码文本描述和预测文本描述通过初始视觉语言模型执行多个 预训练任务以训练初始视觉语言模型,获得预训练后的视觉语言模型以 处理图像文本任务。
[0236]
以上具体地示出和描述了本公开的示例性实施例。应可理解的是, 本公开不限于这里描述的详细结构、设置方式或实现方法;相反,本公 开意图涵盖包含在所附权利要求的精神和范围内的各种修改和等效设 置。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献