学完文本知识,我就直接看懂图片了!

文 | Yimin_饭煲

2020年, OpenAI的大作GPT-3 (Language Models are few shot learners) 横空出世,震惊整个NLP/AI圈。大家在惊叹于GPT-3 1750B参数的壕无人性同时,想必对GPT-3中的Prompt方法印象深刻。简单来说,(GPT-3中的)Prompt就是为输入的数据提供模板(例如对于翻译任务 Translate English to Chinese:),在冻结语言模型参数的情况下让自回归语言模型输出答案。关于Prompt方法的具体介绍,大家可以参考CMU最新发布在arxiv上的综述 (Pre-train, Prompt, and Predict: A Systematic Survey of Prompting Methods in Natural Language Processing)。卖萌屋之前也转载过该论文的中文解析 《Fine-tune之后的NLP新范式:Prompt越来越火,CMU华人博士后出了篇综述文章》

GPT-3的大获成功,为NLP圈的研究者们展现了大规模自回归语言模型不需微调即可发挥出的巨大威力。同样立志于通用人工智能的DeepMind怎甘落后,进一步发掘了自回归语言模型在多模态任务上的潜力。Deepmind的研究者们发现,在冻结参数的情况下, 通过与GPT-3类似的Prompt方法,就可以让自回归语言模型处理多模态任务,在多个基准任务上(特别是小样本任务上)取得了相当优秀的效果。

论文题目:
Multimodal Few-Shot Learning with Frozen Language Models
论文链接:
https://arxiv.org/abs/2106.13884

方法:Frozen

作者们将本文的方法取名为FrozenFrozen的主要目标是,利用冻结参数的预训练自回归语言模型处理多模态任务。众所周知,自回归语言模型(例如GPT-3)的训练任务是:给定前-1个词,预测第个词,可以写成如下的表达形式,其中表示个词。

我们考虑多模态任务中经典的图像标题生成任务,图像生成任务的主要目标是给定图像, 生成描述图像的一段文字。要想让自回归语言模型处理图像生成任务,一个非常自然的想法是,将图像转换成输入语言模型的“词汇“,这样,我们就可以先将图像对应的”词汇“输入自回归语言模型,让模型为我们输出描述图像的文字。这个想法可以表示成如下的形式.  假设图像转换为的“词汇”是

接下来的关键是,如何将图像转换成输入语言模型的“词汇”?作者们采用的方法非常直接,使用一个传统的视觉编码器(如ResNet)提取图像的特征,再通过一个线性映射将图像映射为的矩阵,其中就是语言模型“词汇”的表示维度。将图像转换为“词汇” 之后,就可以将图像直接输入语言模型了。整个模型的架构如下图表示。

正如前文所述,自回归语言模型的参数是固定的。作者们在实验中中发现,在小数据集场景下如果同时微调自回归语言模型,反而会损害泛化性能。视觉编码器的参数是通过训练过程中的梯度进行更新的,原因是语言模型和视觉编码器的结构和训练方式完全不同,需要通过训练视觉编码器,将视觉输入转化为语言模型能够“看懂”的输入形式,也就是所谓的Prompt

在GPT-3大获成功的三种Prompt方式里,除了上图展示的zero-shot之外,还有one-shotfew-shot两种设置。在这两种设置下,可以为模型提供一个或多个解决该问题的例子,这些例子被拼接在输入数据之前。在本文中,DeepMind的研究员们也在模型推理阶段使用了这两种设置。如下图所示

作者们使用了C4数据集预训练了大小为7B的自回归语言模型。在Conceptural Captions这一图像-标题数据集上固定自回归语言模型参数,训练视觉编码器。随后,作者们在多个多模态任务上开展了实验,让我们一起来看看结果吧~

实验结果

小样本学习术语

在开始实验结果的描述前,我们先简单描述一下小样本学习的一些常用术语,以便大家更好地理解文章。

问题归纳(Task induction) 指用来描述问题的前缀。例如在翻译任务的句子前加上 “ Translate English to Chinese"

例子数目(n-shots) 指为模型提供例子的数量。在VQA中可以是图片-问题-答案的组合。

标签数目(Number of Ways) 指分类问题中类别的数目。

类内例子数目(Number of Inner-shots) 指分类问题中每个类别对应的例子数目。

重复数目(Number of repeats) 指每个类内例子输入模型的次数。

作者在实验中主要希望探索Frozen在以下三个方面的表现

  • Frozen能否将自回归语言模型快速迁移到多模态任务上?

  • Frozen能否充分利用自回归语言模型中的通用知识

  • Frozen能否快速地对语言和视觉的概念进行对应

快速适配

本文的模型是在图像-标题数据集上进行训练的。现实场景中多模态任务种类繁多。作者们希望研究在图像-标题数据集上训练的模型,能否迁移到其他多模态任务(e.g. VQA) 上取得好的表现(这就好比在维基百科上训练掩码语言模型任务的模型,能够迁移到下游的各种分类任务上)。在VQA v2数据集上的结果表明:模型可以迁移到小样本VQA场景下,随着例子数目 (n-shots) 的增多表现随之增长。

通用知识

自回归语言模型训练的语料极为丰富,包含了大量的通用知识。作者们希望研究自回归语言模型中的通用知识能否为处理的多模态任务提供帮助。例如,当提供一张飞机的照片并提问“谁发明了图中的东西?“时, 图像-标题数据集可能并不会包含“怀特兄弟发明了飞机”这样的知识,而预训练语言模型的C4数据集中则大概率包含了这样的知识。作者们希望Frozen能够利用这样的知识来回答问题。在OKVQA(一个需要外部知识的VQA数据集)上开展的实验表明,Frozen确实具备应用通用知识的能力随着自回归语言模型的参数量增长,应用通用知识的能力会提升。

概念对应

概念对应是人类在认知过程中极为重要的能力。当我们牙牙学语时,爸爸妈妈可能会指着一头狮子告诉我们这个”东西”叫“狮子”。教授几次过后,当我们再次看到狮子时,就能叫出“狮子“。在小样本学习中,概念对应是非常重要的一步。作者们在miniImageNet和FastVQA数据集上开展实验。由于在预训练过程中模型已经见到过大量的文本和图像的对应数据,无法看出模型快速对应新概念的能力。作者们首先将视觉类别对应的文本替换为无意义的词汇,之后提供少量视觉类别的样例和对应的词汇,让模型根据少量样例完成概念的对应,具体示例如下图:

在两个数据集上模型均取得了相当不错的表现。可以发现,加入问题归纳会得到更好的表现,增加类内例子数目提升模型的性能,而增加重复数目对模型性能影响很小。

结语

作者们在文中多次表示,与多模态领域使用全部数据微调的SOTA相比,本文的方法还是有着较大的差距。然而,作者们仍然相信,本工作是多模态小样本学习领域Proof of Concept的工作,展现了大规模自回归语言模型的强大潜力。语言作为一种完备且通用的描述世界的方式,也许能为各种模态的任务都提供帮助。

读完本文,笔者第一时间想到的是,DeepMind的研究者们训练了一个7B的语言模型就得到了如此优秀的结果,如果能使用OpenAI的GPT-3(175B)语言模型作为Backbone,是否有机会刷新多模态领域的SOTA呢?

后台回复关键词【入群

加入卖萌屋NLP/IR/Rec与求职讨论群

后台回复关键词【顶会

获取ACL、CIKM等各大顶会论文集!

 

[1] Language Models are Few-Shot Learners. https://arxiv.org/abs/2005.14165

[2] Pre-train, Prompt, and Predict: A Systematic Survey of Prompting Methods in Natural Language Processing. https://arxiv.org/abs/2107.13586

[3] Multimodal Few-Shot Learning with Frozen Language Models. https://arxiv.org/abs/2106.13884

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

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

相关文章

LeetCode 914. 卡牌分组(最大公约数)

1. 题目 给定一副牌,每张牌上都写着一个整数。 此时,你需要选定一个数字 X,使我们可以将整副牌按下述规则分成 1 组或更多组: 每组都有 X 张牌。 组内所有的牌上都写着相同的整数。 仅当你可选的 X > 2 时返回 true。 示例…

RestQL:现代化的 API 开发方式

koa-restql 已经在 github 开源并在 npm 发布。感兴趣的同学可以前往围观一下。欢迎 Pull Request,同时热烈欢迎 Star。 在现代的业务系统中,后端开发工作基本上可以被拆分为三项: 接口鉴权。例如判断是不是当前系统的用户,以及该…

论文浅尝 | KnowEdu: 一个自动构建教育知识图谱的系统

笔记整理 | 崔凌云,天津大学硕士链接:https://ieeexplore.ieee.org/stamp/stamp.jsp?arnumber8362657动机基于知识图的广泛应用和在教育领域日益增长的需求,作者提出了一个名为KnowEdu的系统,以自动构建教育知识图。通过利用教育…

arm64麒麟安装paddlehub(国产化)注意事项

python 版本 3.7 pip install paddlehub需要 onnx<0.9&#xff0c;进行源码安装 基础环境&#xff1a; yum install cmake yum install protobuf-compiler protobuf # libprotoc-dev yum install make gcc gcc-c pip3 install --upgrade cmake3.23.2 yum install boost …

我在斯坦福做科研的碎碎念

文 | Jazon编 | 小轶大家好&#xff0c;我是 Jazon。作为 AI 科研工作者&#xff0c;我们的目光不该只聚焦在开发新技术、刷榜打 SoTA 上。学界如职场&#xff0c;还有很多技术之外的软实力需要培养。这篇文章里&#xff0c;我想以我个人的经历作为切入点&#xff0c;聊一聊与此…

论文浅尝 | 用于学习知识图谱嵌入的一种基于注意力机制的新型异构 GNN 框架HRAN...

笔记整理 | 李爽&#xff0c;天津大学链接&#xff1a;http://hfbix45521e79b0484907sowxo0fubpp9b6xwx.fiiz.eds.tju.edu.cn/stamp/stamp.jsp?tp&arnumber9359364动机知识图谱 (KG) 嵌入旨在研究嵌入表示以保留 KG 的固有结构。图神经网络(GNN)作为一种有效的图表示技术&…

分布式队列编程优化篇

“分布式队列编程”是一个系列文&#xff0c;之前我们已经发布了《分布式队列编程模型、实战》&#xff0c;主要剖析了分布式队列编程模型的需求来源、定义、结构以及其变化多样性&#xff1b;根据作者在新美大实际工作经验&#xff0c;给出了队列式编程在分布式环境下的一些具…

LeetCode 443. 压缩字符串(双指针)

1. 题目 给定一组字符&#xff0c;使用原地算法将其压缩。 压缩后的长度必须始终小于或等于原数组长度。 数组的每个元素应该是长度为1 的字符&#xff08;不是 int 整数类型&#xff09;。 在完成原地修改输入数组后&#xff0c;返回数组的新长度。 进阶&#xff1a; 你能…

docker常用命令,容器复制,查看镜像,删除镜像,启动容器,运行容器

docker常用命令&#xff0c;容器复制&#xff0c;查看镜像&#xff0c;删除镜像&#xff0c;启动容器&#xff0c;运行容器 docker commit -a "zt" -m "arm_digital_docm" bff6699759f2 arm_digital_docm:last#将镜像 runoob/ubuntu:v3 生成 my_ubuntu_v3…

程序员在体制内的工作与生活是怎样的?

文 | 森林鱼&#xff08;转载于公众号&#xff1a;森林鱼的时光&#xff09;前言这篇文章原本是要在公众号上更新的&#xff0c;但考虑到修改问题&#xff0c;还是放在了这边。公众号那边会放一个最终相对完整的版本&#xff0c;日常更新与整理的话还是会在这边。主要是想尽量客…

开源开放 | 一个用于文言文实体识别与关系抽取等任务的开源数据集C-CLUE(CCKS2021)...

OpenKG地址&#xff1a;http://openkg.cn/dataset/c-clueGitHub地址&#xff1a;https://github.com/jizijing/C-CLUE网站地址&#xff1a;http://152.136.45.252:60002/pages/login.html开放许可协议&#xff1a;CC BY-SA 4.0 &#xff08;署名相似共享&#xff09;贡献者&…

解析各种文本的年月日

解析各种文本的年月日 def str2date(str_date):str_datestr_date.strip()if(len(str_date)>11):str_datestr_date[:11]if(str_date.find(-)>0):yearstr_date[:4]if(year.isdigit()):yearint(year)else:year0monthstr_date[5:str_date.rfind(-)]if(month.isdigit()):mont…

谷歌:一篇论文,让研究者吃我三份安利

文 | 白鹡鸰想用Transformer做CV编 | 小轶想用Transformer做NLP前言计算机视觉、机器学习&#xff0c;这两个词会让你想到什么&#xff1f;相信绝大多数人第一反应都是CNN&#xff0c;而持续关注这些领域发展的人&#xff0c;则会进一步联想到近几年大火的Transformer&#xff…

LeetCode 290. 单词规律(哈希)

1. 题目 给定一种规律 pattern 和一个字符串 str &#xff0c;判断 str 是否遵循相同的规律。 这里的 遵循 指完全匹配&#xff0c;例如&#xff0c; pattern 里的每个字母和字符串 str 中的每个非空单词之间存在着双向连接的对应规律。 示例1: 输入: pattern "abba&q…

开源开放 | 一个用于知识驱动的零样本学习研究的开源数据集KZSL(CCKS2021)

OpenKG地址&#xff1a;http://openkg.cn/dataset/k-zslGitHub地址&#xff1a;https://github.com/China-UK-ZSL/Resources_for_KZSL开放许可协议&#xff1a;CC BY-SA 4.0 &#xff08;署名相似共享&#xff09;贡献者&#xff1a;浙江大学(耿玉霞、陈卓、陈华钧)&#xff0c…

python 对网页文本的文本预处理

网页文本的文本预处理 import re class Tool:removeImg re.compile(<img.*?>| {7}|)removeAddr re.compile(<a.*?>|</a>)replaceLine re.compile(<tr>|<div>|</div>|</p>)replaceTD re.compile(<td>)replacePara re.…

LeetCode 1022. 从根到叶的二进制数之和(递归)

1. 题目 给出一棵二叉树&#xff0c;其上每个结点的值都是 0 或 1 。每一条从根到叶的路径都代表一个从最高有效位开始的二进制数。例如&#xff0c;如果路径为 0 -> 1 -> 1 -> 0 -> 1&#xff0c;那么它表示二进制数 01101&#xff0c;也就是 13 。 对树上的每一…

别再Prompt了!谷歌提出tuning新方法,强力释放GPT-3潜力!

文 | Yimin_饭煲编 | 炼丹学徒如果评选NLP圈的2020年度十大关键词&#xff0c;那么GPT-3&#xff08;Language Models are Few shot Learners) 一定榜上有名。GPT-3庞大的参数量&#xff0c;优异的性能至今仍让圈内圈外人都津津乐道&#xff0c;而OpenAI发布的OpenAI API&#…

大数据:任务调度,手把手教你

大数据&#xff1a;任务调度https://blog.csdn.net/qq_43713049/article/details/116985497 文章目录 任务调度一、任务流调度的需求二、任务流调度的工具三、Oozie的简介四、Oozie的2种使用方式五、WorkFlow 与 Fork 和 Join六、SubFlow&#xff1a;子工作流七、定时调度的实现…

人脸识别 | 你的论文离CVPR , 还有多远?

最近&#xff0c;一则人脸识别安全性问题的新闻上了热搜。&#xff08;图片来自网络&#xff09;虽然让不少人产生了“人在家中坐&#xff0c;债从天上来”的担忧&#xff0c;但也不由感叹人脸识别的发展与普及。人脸识别发展至今&#xff0c;已经在众多领域中占领重要地位。这…