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模型将注意力高度集中于区分不同飞机(如波音系列)细微特征的"控制信号"。

相关推荐
yuanlaile11 小时前
大模型应用层开发实战:从 Prompt 工程到 Dify、私有 RAG、Agent 完整落地总结
prompt·agent·dify·大模型应用开发·llm 应用·prompt 工程
forest_0913 小时前
Agent 系列02|Agent 架构全景图
人工智能·架构·prompt·agi
XLYcmy16 小时前
AI 赋能后中文与英文数据库对比分析报告 上
数据库·ai·llm·prompt·检索·wos·cnki
空空dream16 小时前
07 | FastAPI + llama.cpp 接入 Langfuse监控Prompt请求
prompt·fastapi·llama
forest_0920 小时前
Agent 系列07|记忆与状态设计
人工智能·机器学习·架构·prompt·agi
for_ever_love__20 小时前
LangChain RunnableConfig 详解:运行时传参、并发控制与回调注入
语言模型·langchain·llm·prompt·config·invoke·运行时参数
const_qiu1 天前
第一章 1.3:System Prompt 定义模型角色 —— 告诉 AI“你是谁“
人工智能·ubuntu·prompt
Joy T1 天前
Agent 确定性上下文设计:从 Prompt 参数注入到能力分层
java·开发语言·微服务·架构·prompt·agent context
·云扬·1 天前
Prompt 工程与安全:从 System 设计到注入防御
java·人工智能·安全·ai·prompt
Raas1002 天前
MAI Gateway(魔芋企业级AI网关)功能全解:AI网关能做Prompt注入防护吗?一文看懂AI网关能力矩阵(v1.2.0)
网络·人工智能·gateway·prompt·mai gateway·企业级ai网关·企业级产品