文章目录

  • 前言
  • 始于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》论文阅读笔记相关推荐

  1. 《Beta Embeddings for Multi-Hop Logical Reasoning in Knowledge Graphs》论文阅读笔记

    <Beta Embeddings for Multi-Hop Logical Reasoning in Knowledge Graphs>论文阅读笔记 主要挑战贡献: KG上的推理挑战主要 ...

  2. 论文阅读 | NIPS‘20 | Beta Embeddings for Multi-Hop Logical Reasoning in Knowledge Graphs

    很有意思的一篇paper.在众多Knowledge Graph Embedding (KGE) 的论文中通过问题设计和有意思的解决方式脱颖而出. 首先来看看问题设计. 一般的KGE model都是利用 ...

  3. Beta Distribution Guided Aspect-aware Graph for Aspect Category Sentiment Analysis论文阅读笔记(EMNLP2021)

    目录 标题翻译:基于Beta分布引导方面感知图的方面类别情感分析 原文链接:https://aclanthology.org/2021.emnlp-main.19.pdf 摘要: 1 引言 2 相关工 ...

  4. Phrase-BERT: Improved Phrase Embeddings from BERT with an Application to Corpus Exploration论文阅读笔记

    问题: 因为bert是在长文本(512token长度)预训练的,因此,如果没有特定于任务的微调,BERT在短语和句子上的表现通常比简单基线(如GLoVe的平均池化)更差.且字节2020在EMNLP上的 ...

  5. DeepWeak: Reasoning Common Software Weaknesses via Knowledge Graph Embedding 阅读笔记

    DeepWeak: Reasoning Common Software Weaknesses via Knowledge Graph Embedding 阅读笔记 Article Background ...

  6. [论文阅读笔记] Are Meta-Paths Necessary, Revisiting Heterogeneous Graph Embeddings

    [论文阅读笔记] Are Meta-Paths Necessary? Revisiting Heterogeneous Graph Embeddings 购物返利 www.cpa5.cn 本文结构 解 ...

  7. 论文阅读笔记—Reasoning on Knowledge Graphs with Debate Dynamics(AAAI,2020)

    这是一篇非常有趣的工作,看完会觉得眼前一亮. 论文标题:Reasoning on Knowledge Graphs with Debate Dynamics 发表于AAAI,2020 动机  很多机器 ...

  8. 论文阅读笔记——《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会议的论文 ...

  9. Learning Hierarchy-Aware Knowledge Graph Embeddings for Link Prediction论文阅读笔记

    我的博客链接 0. 前言 1. 作者试图解决什么问题? 作者想在KGE中对语义层级(semantic hierarchies)进行建模. 2. 这篇论文的关键元素是什么? semantic hiera ...

  10. 斯坦福图机器学习CS224W笔记自用: Reasoning in Knowledge Graphs using Embeddings

    1. 基于嵌入的知识图推理 目标:如何对知识图进行多跳推理? 知识图推理: 回答多跳查询 路径查询 连接查询 Query2box 示例:生物医学图 知识图谱上的预测查询 我们是否可以进行多跳推理,即在 ...

最新文章

  1. 大数加法分析及C语言实现(加数可为负数)
  2. AI:2020年6月23日北京智源大会演讲分享之AI创业专题论坛——09:10-10:00 李开复教授《AI赋能时代的创业》
  3. Python中异常(Exception)的总结
  4. java+jsp+sqlserver 2008+Tomcat实现一个简单的搜索引擎
  5. aws iam php,php-AWS4签名密钥-本教程错误吗?
  6. 计算机应用基础网上作业题第二章,计算机应用基础网上作业题.doc
  7. python实践项目(三)
  8. php遍历目录与文件夹的多种方法详解
  9. 模式识别与机器学习 第一章 绪论
  10. 全球气象数据网站(大气、海洋数据应有尽有)
  11. Autojs实现图片转字符串(简易ocr预备步骤)
  12. [日推荐]『小恩故事』育儿助手!
  13. 2021充电必备:推荐一些免费的电子书网站及TXT阅读器
  14. 前后端分离项目,有什么优缺点
  15. 23 个学习 JavaScript 的地方
  16. SketchUp2016如何安装插件
  17. 滴滴快车奖励政策,高峰奖励,翻倍奖励,按成交率,指派单数分级(10月31日~11月6日)...
  18. Java、JSP实验室预约管理系统
  19. zblog php 安装,初级教程:如何安装zblog?zblog单文件安装教程 全程有图
  20. 索尼x91l和x91k区别 索尼x91l和索尼x91k哪个好

热门文章

  1. LeetCode 491 递增子序列
  2. LeetCode 1218 最长定差子序列
  3. 自动化测试工程师面试简历参考
  4. 分布式任务调度系统设计:详解Go实现任务编排与工作流
  5. 内推面试成功概率大吗?10年招聘HR告诉你关于内推的3个真相
  6. 小学计算机学打字教学教案,小学信息技术《键盘一家》的教学设计
  7. acs2go android,Aquarius2Go Astrology
  8. java springboot安卓多商家校园点餐外卖APP源码
  9. [VBA]EXCEL表格,运行VBA报错:运行时错误‘9’ 下标越界
  10. angular中的 :host 、:host-context、::ng-deep