《Visual Prompting: Modifying Pixel Space to Adapt Pre-trained Models》论文阅读笔记
文章目录
- 前言
- 始于NLP
- Visual Prompting
- Methods
- 效果
- 疑问
- 参考文献
前言
- 《Visual Prompting: Modifying Pixel Space to Adapt Pre-trained Models》是3月22号放在arxiv上的一篇关于visual prompting的文章,文章的主要目的是证明了prompting在CV中的可行性,为未来CV领域使用预训练模型提供了新的角度。以下纯属个人理解,望指正
始于NLP
灵感: 正如随着attention机制和transformer在NLP成为主流,attention+CNN、Vit、Swin-transformer、ShiftVit等基于attention和transformer的CV模型不断涌出一样;在看到prompting在NLP变得越来越火时,作者自然问道:Why not visual prompting?
Prompt in NLP: Prompt目前在NLP领域有很多工作,在《Pre-train, Prompt, and Predict: A Systematic Survey of Prompting Methods in Natural Language Processing》这篇survey里面,作者大佬系统地介绍了NLP的发展历程(如下图) 从依赖特征工程的传统机器学习,到大量依赖数据集的深度学习,再到基于预训练模型的Fine-tune类型算法,再到现在的基于预训练模型的Prompt类型算法。作者在文章中系统地介绍了Formulation、Pre-trained models、Prompt engineering、Answer Engineering 等相关问题,写得非常的简介明了,推荐感兴趣的去阅读一下。
NLP中的Prompt: 那么,prompt到底是什么呢?简单来讲,就是对原来的输入文本进行一定的处理,使得在不改变预训练模型参数的情况下,相应任务的performance变高。例如,原输入文本为:I received the offer from ETH. ,对于文本分类,我们将其修改为I received the offer form ETH, I’m so [MASK];[MASK]可以为一些表示情绪的词,比如happy,那么相对于原文,修改后的句子更容易被分为happy类。如果将其改为I received the offer from ETH. Chinese:[MASK],则对于翻译任务来讲,更容易取得正确的翻译效果。所谓的修改方式在大佬论文中提到的有(如下图)
NLP中的Prompt算法步骤:
- Prompt Addition: 这一步就是如何修改原文本。
- Answer Search: 构建相应的answer空间,例如,文本分类,设置为(happy, good, terrible等)。
- Answer Mapping: 在某些时候answer并不是我们最终想要的结果,比如我们最终想要的结果为positive和negative;那么则需要将happy,good映射为positive,将terrible映射为negative。
Visual Prompting
- Why Visual Prompting: 在前言中提到过,作者文章的目的是证明在CV领域,Prompt是可行的,并且在某些任务和数据集上效果是不错的。
- 使用(迁移)预训练模型的方法: 在CV中,将一个预训练模型迁移到新任务上的方法主要包括Fine-tuning,Linear Probe,Visual Prompting ;三种方法的不同如下图 Fine-tuning会修改预训练模型参数,Linear Probe不会修改预训练模型参数,但是会在预训练模型后增加和任务相关的线性层,Visual Prompting则是不修改预训练模型参数,只修改原图像。
Methods
- Prompt形式: 对于图片,给原图增加prompt,自然想到的是添加一些像素;其实以像素形式添加prompt的好处就是可以做到task-special和input-agnostic;也就是因为prompt中含有大量数据中学到的信息,所以是任务相关的;因为对于同一个任务,在测试时,直接使用得到的prompt就可以,不管你输入哪张图片,因此时输入无关的。
- 如何添加: 作者提到了三种方式:1)在随机位置添加像素块(pixel patch);2)在固定位置添加像素块(pixel patch);3)在图像内部边缘pad一些像素(类似卷积中的padding)第三种方式效果最好
- Padding: 使用pad方式添加,添加的宽度为ppp;图像的尺寸为C,H,WC,H,WC,H,W;则一共需要添加 2∗C∗p∗(H−p)+2∗C∗p∗(W−p)2*C*p*(H-p)+2*C*p*(W-p)2∗C∗p∗(H−p)+2∗C∗p∗(W−p),如图
- 如何得来: 对于一个任务,需要通过训练得到于该任务相关的prompt,得到之后就可以直接应用了。
效果
- 直接上图,正如作者提到的,文章的目的不是达到state-of-the-art,只是为了证明visual prompting的有效性,不过从作者提供的结果来看,效果还是不错的(如下图)
疑问
- 在文章的What Properties Make for a Good Visual Prompt?部分,我觉得他没有在原理上讲清楚到底是什么使得一个prompt是一个有效的prompt,对此有比较清楚的看法的小伙伴欢迎评论交流。
参考文献
- 《Visual Prompting: Modifying Pixel Space to Adapt Pre-trained Models》
- 《Pre-train, Prompt, and Predict: A Systematic Survey of Prompting Methods in Natural Language Processing》
《Visual Prompting: Modifying Pixel Space to Adapt Pre-trained Models》论文阅读笔记相关推荐
- 《Beta Embeddings for Multi-Hop Logical Reasoning in Knowledge Graphs》论文阅读笔记
<Beta Embeddings for Multi-Hop Logical Reasoning in Knowledge Graphs>论文阅读笔记 主要挑战贡献: KG上的推理挑战主要 ...
- 论文阅读 | NIPS‘20 | Beta Embeddings for Multi-Hop Logical Reasoning in Knowledge Graphs
很有意思的一篇paper.在众多Knowledge Graph Embedding (KGE) 的论文中通过问题设计和有意思的解决方式脱颖而出. 首先来看看问题设计. 一般的KGE model都是利用 ...
- Beta Distribution Guided Aspect-aware Graph for Aspect Category Sentiment Analysis论文阅读笔记(EMNLP2021)
目录 标题翻译:基于Beta分布引导方面感知图的方面类别情感分析 原文链接:https://aclanthology.org/2021.emnlp-main.19.pdf 摘要: 1 引言 2 相关工 ...
- Phrase-BERT: Improved Phrase Embeddings from BERT with an Application to Corpus Exploration论文阅读笔记
问题: 因为bert是在长文本(512token长度)预训练的,因此,如果没有特定于任务的微调,BERT在短语和句子上的表现通常比简单基线(如GLoVe的平均池化)更差.且字节2020在EMNLP上的 ...
- DeepWeak: Reasoning Common Software Weaknesses via Knowledge Graph Embedding 阅读笔记
DeepWeak: Reasoning Common Software Weaknesses via Knowledge Graph Embedding 阅读笔记 Article Background ...
- [论文阅读笔记] Are Meta-Paths Necessary, Revisiting Heterogeneous Graph Embeddings
[论文阅读笔记] Are Meta-Paths Necessary? Revisiting Heterogeneous Graph Embeddings 购物返利 www.cpa5.cn 本文结构 解 ...
- 论文阅读笔记—Reasoning on Knowledge Graphs with Debate Dynamics(AAAI,2020)
这是一篇非常有趣的工作,看完会觉得眼前一亮. 论文标题:Reasoning on Knowledge Graphs with Debate Dynamics 发表于AAAI,2020 动机 很多机器 ...
- 论文阅读笔记——《a simple but tough-to-beat baseline for sentence embeddings》
<a simple but tough-to-beat baseline for sentence embeddings>published at ICLR 2017. ICLR会议的论文 ...
- Learning Hierarchy-Aware Knowledge Graph Embeddings for Link Prediction论文阅读笔记
我的博客链接 0. 前言 1. 作者试图解决什么问题? 作者想在KGE中对语义层级(semantic hierarchies)进行建模. 2. 这篇论文的关键元素是什么? semantic hiera ...
- 斯坦福图机器学习CS224W笔记自用: Reasoning in Knowledge Graphs using Embeddings
1. 基于嵌入的知识图推理 目标:如何对知识图进行多跳推理? 知识图推理: 回答多跳查询 路径查询 连接查询 Query2box 示例:生物医学图 知识图谱上的预测查询 我们是否可以进行多跳推理,即在 ...
最新文章
- 大数加法分析及C语言实现(加数可为负数)
- AI:2020年6月23日北京智源大会演讲分享之AI创业专题论坛——09:10-10:00 李开复教授《AI赋能时代的创业》
- Python中异常(Exception)的总结
- java+jsp+sqlserver 2008+Tomcat实现一个简单的搜索引擎
- aws iam php,php-AWS4签名密钥-本教程错误吗?
- 计算机应用基础网上作业题第二章,计算机应用基础网上作业题.doc
- python实践项目(三)
- php遍历目录与文件夹的多种方法详解
- 模式识别与机器学习 第一章 绪论
- 全球气象数据网站(大气、海洋数据应有尽有)
- Autojs实现图片转字符串(简易ocr预备步骤)
- [日推荐]『小恩故事』育儿助手!
- 2021充电必备:推荐一些免费的电子书网站及TXT阅读器
- 前后端分离项目,有什么优缺点
- 23 个学习 JavaScript 的地方
- SketchUp2016如何安装插件
- 滴滴快车奖励政策,高峰奖励,翻倍奖励,按成交率,指派单数分级(10月31日~11月6日)...
- Java、JSP实验室预约管理系统
- zblog php 安装,初级教程:如何安装zblog?zblog单文件安装教程 全程有图
- 索尼x91l和x91k区别 索尼x91l和索尼x91k哪个好
热门文章
- LeetCode 491 递增子序列
- LeetCode 1218 最长定差子序列
- 自动化测试工程师面试简历参考
- 分布式任务调度系统设计:详解Go实现任务编排与工作流
- 内推面试成功概率大吗?10年招聘HR告诉你关于内推的3个真相
- 小学计算机学打字教学教案,小学信息技术《键盘一家》的教学设计
- acs2go android,Aquarius2Go Astrology
- java springboot安卓多商家校园点餐外卖APP源码
- [VBA]EXCEL表格,运行VBA报错:运行时错误‘9’ 下标越界
- angular中的 :host 、:host-context、::ng-deep