Visual Prompt Tuning核心思路讲解(个人总结)

VPT的核心思想是,在适配下游任务时,我们应当冻结 (freeze) 强大的预训练模型本身,只通过训练一小组额外添加的、轻量级的提示 (Prompts) 来引导模型的行为。

这很容易理解,想想GPT:为什么一个Transformer Decoder能做这么多事?就是因为对于不同的任务,我们会喂给模型不同的prompt麻。

前置知识(prompt tuning)

这里说一下prompt tuning。

研究者发现,人想出来的文字指令不一定是最高效的。于是,一个聪明的想法诞生了:

我们不再手动设计文字,而是创建几个可学习的虚拟指令 (learnable vectors)。我们冻结大模型,只训练这几个"虚拟指令",让机器自己学会针对特定任务的、最高效的"暗号"。

VPT就是将这个思想完美地迁移到了视觉领域。它解决了核心问题:对于一个看图的模型,它的"暗号"应该是什么?答案就是可学习的提示向量 (Prompt Tokens)。

VPT的核心方法

  • 首先,准备一个强大的、已预训练好的Vision Transformer (ViT) 模型,并冻结其所有参数。这意味着ViT本身庞大的知识库在整个微调过程中保持不变。

  • 创建一小组(例如 k=10k=10k=10 个)全新的、可学习的向量,称为提示向量(Prompt Tokens)

  • 在处理一张图片时,ViT会先将其切分为一系列图像块向量 (patch tokens)。我们将上一步创建的"提示向量"插入到这串图像块向量序列的最前面。

  • 在训练时,只有这些新插入的"提示向量"和任务所需的分类头 (classification head) 会被更新。整个ViT主干网络(上亿参数)不参与梯度更新。

  • 训练的目标是,让这些最初随机的"提示向量"学会充当一个任务指令。例如,在飞机型号识别任务中,这些提示会通过学习,演变成一种能引导ViT模型将注意力高度集中于区分不同飞机(如波音系列)细微特征的"控制信号"。

相关推荐
霸道流氓气质21 小时前
Spring AI 实战:Ollama 本地模型工具调用与 Prompt 模板全解析
人工智能·spring·prompt
狐狐生风1 天前
LangGraph 生产级部署全解:FastAPI + Docker
python·docker·langchain·prompt·fastapi·langgraph·agentai
狐狐生风1 天前
LangGraph Human-in-the-loop 全解
python·langchain·prompt·langgraph·agentai
人工智能培训1 天前
如何定义和测量“通用具身智能”
大数据·人工智能·机器学习·prompt·agent
qcx231 天前
RAO 深度解读:当 Agent 学会递归调用自己——推理时扩展的新范式
人工智能·ai·llm·prompt·agent·递归
lyp90h1 天前
Claude Code CLI System Prompt 完整分析
java·前端·prompt
fly_over1 天前
AI Agent 开发实战教程(二):Prompt 工程与工具调用
开发语言·python·langchain·prompt·ai编程·ai agent
风雨中的小七1 天前
和AI一起搞事情#5:技能进阶与Claude Design初体验
prompt
前端技术1 天前
Spring AI Alibaba基础应用之提示词(Prompt)的基础理解及使用
人工智能·spring·prompt
拉拉拉拉拉拉拉马1 天前
如何写好一个 Skill:把一次性 Prompt 变成可复用工作流
prompt