亚洲av无码成h人动漫无遮挡,特级欧美aaaaaaa免费观看,丝袜制服av熟女♀,亚洲avav天堂av在线网阿v,少妇人妻真实偷人精品视频

一文了解prompt learning在計(jì)算機(jī)視覺領(lǐng)域進(jìn)展

AI應(yīng)用信息2年前 (2024)發(fā)布 XIAOT
178 0

本文是對prompt Learning在CV領(lǐng)域的文獻(xiàn)總結(jié),讀者閱讀完全文會對prompt learning在CV的各種用法有所了解,希望能對大家未來研究工作有所啟發(fā)。

CLIP(Learning Transferable Visual Models From Natural Language Supervision)

一文了解prompt learning在計(jì)算機(jī)視覺領(lǐng)域進(jìn)展

CLIPOpenAI的一個(gè)非常經(jīng)典的工作,從網(wǎng)上收集了4億個(gè)圖片文本對用于訓(xùn)練,最后進(jìn)行zero-shot transfer到下游任務(wù)達(dá)到了非常好的效果,主要流程如下:

在訓(xùn)練階段,文本會通過Text Encoder(Transformer)編碼成一些文本Embedding向量,圖像會通過Image Encoder(ResNet50或ViT)編碼成一些圖像Embedding向量,然后將文本Embedding和圖像Embedding歸一化后通過點(diǎn)積計(jì)算出一個(gè)相似度矩陣,這里值越接近于1代表文本Embedding和圖像Embedding越相似,即這個(gè)文本和圖像是配對的。我們的目標(biāo)是讓這個(gè)相似度矩陣對角線趨向于1,其他趨向于0(對角線代表圖像和文本配對)。

測試zero-shot階段,會將一張沒見過的圖片通過image Encoder得到圖像embedding,然后將所有可能的類別,通過構(gòu)造a photo of a {object}的文本標(biāo)簽,將所有類別填入object處,通過text encoder,得到所有類別對應(yīng)的文本embedding,將文本embedding和圖像embedding歸一化后進(jìn)行點(diǎn)積,選擇點(diǎn)積最大的一個(gè)文本-圖像對,該類別則為預(yù)測類別。

CoOp: Learning to Prompt for Vision-Language Models

一文了解prompt learning在計(jì)算機(jī)視覺領(lǐng)域進(jìn)展

CoOp的motivation如上圖所示:CLIP是固定prompt:a photo of a [class],但是不同prompt的影響影響很大,比如從圖a可以看出,少了一個(gè)a,acc直接低了6個(gè)點(diǎn)。每次根據(jù)人工設(shè)計(jì)prompt太麻煩,設(shè)計(jì)的還不一定好,那怎么辦呢?熟悉NLP的prompt的小伙伴應(yīng)該脫口而出了,應(yīng)該像Prefix Tuning一樣,學(xué)一個(gè)連續(xù)的prompt不就完事了嗎?CoOp就是這么做的。

一文了解prompt learning在計(jì)算機(jī)視覺領(lǐng)域進(jìn)展

CoOp從原來a photo fo a [class]轉(zhuǎn)換成這樣可學(xué)習(xí)的連續(xù)的prompt,這樣就不需要人工去設(shè)計(jì)prompt了。這里的prompt分為unified和class-specific兩種,unified context即對所有類別都是學(xué)一組一樣的prompt參數(shù),class-specific context指的是對每一個(gè)類別學(xué)一個(gè)單獨(dú)的prompt 參數(shù),事實(shí)證明后者對一些細(xì)粒度的任務(wù)效果比較好。(看到這里的小伙伴可能有一個(gè)疑惑,還有instance-specific context這種更細(xì)粒度的可能,為啥這里沒提呢?因?yàn)楫?dāng)時(shí)作者沒想好怎么設(shè)計(jì),想好之后又寫了一篇CoCoOp)另外這里prompt里的[CLASS]不一定要放最后,也可以放句中,那這樣學(xué)習(xí)明顯更加靈活。

一文了解prompt learning在計(jì)算機(jī)視覺領(lǐng)域進(jìn)展

在實(shí)驗(yàn)這有一個(gè)有意思的發(fā)現(xiàn):nlp領(lǐng)域有一篇叫OptiPrompt的文獻(xiàn),提出連續(xù)的prompt不一定要隨機(jī)初始化,可以用人工設(shè)計(jì)的prompt的embedding初始化來引入專家經(jīng)驗(yàn),CoOp做實(shí)驗(yàn)發(fā)現(xiàn)就算prompt參數(shù)是隨機(jī)初始化的也能到達(dá)一樣的效果。

CoCoOp: Conditional Prompt Learning for Vision-Language Models

一文了解prompt learning在計(jì)算機(jī)視覺領(lǐng)域進(jìn)展

CoCoOp的motivation如上圖所示:作者發(fā)現(xiàn)他們之前提的CoOp在訓(xùn)練過類別的數(shù)據(jù)集上表現(xiàn)的很好,但是面對新的類別,能力卻很差,從80的acc降到65,而原版的CLIP卻保持了還不錯(cuò)的泛化能力,引起了作者思考,作者認(rèn)為這是因?yàn)镃oOp在下游任務(wù)上訓(xùn)練時(shí)容易o(hù)verfit base classes上。我認(rèn)為一這個(gè)本質(zhì)原因一方面因?yàn)橛玫膒rompt是unified或者class-specific,而不是instance-specific context,另一方面我認(rèn)為用unified也可以,但是要有足夠的數(shù)據(jù)學(xué)到真正的unified的特征。

一文了解prompt learning在計(jì)算機(jī)視覺領(lǐng)域進(jìn)展

CoCoOp的做法很簡單,他在CoOp的基礎(chǔ)上,引入了一個(gè)輕量的網(wǎng)絡(luò)Meta-Net(僅僅是Linear-ReLU-Linear),將image Encoder的輸出通過Meta-Net得到一個(gè)M維的向量,將這M維的向量直接加在CoOp上的每一個(gè)prompt token上,通過這種方式做到instance-specific context。這種方式其實(shí)就是把每個(gè)圖片的特征引入了prompt的構(gòu)造里,所以CoCoOp的第一個(gè)Co就是指這種Conditional。

DenseCLIP: Language-Guided Dense Prediction with Context-Aware Prompting

由于這一系列的介紹主要圍繞prompt進(jìn)行,所以這篇文獻(xiàn)也主要講講prompt設(shè)計(jì)那部分:

一文了解prompt learning在計(jì)算機(jī)視覺領(lǐng)域進(jìn)展

作者提出了prompt構(gòu)造的2種方式,一種叫Pre-model prompting,即將圖像通過image encoder之后得到圖像embedding,這個(gè)embedding將作為Transformer的k和v輸入進(jìn)一個(gè)Decoder里面生成一個(gè)prompt的模板。這種方式和CoCoOp就挺像的,只不過CoCoOp是用一個(gè)很簡單的backbone生成一個(gè)M維的token,再把這個(gè)token加在原來CoOp上生成的每一個(gè)prompt向量,這里是直接用一個(gè)更復(fù)雜的backbone直接生成一個(gè)prompt;第二種是Post-model prompting,即將圖像通過image encoder之后得到圖像embedding,然后作為k和v輸入進(jìn)decoder,這里decoder的query是CoOp生成模板加上[class]后的文本通過text encoder的文本embedding,通過decoder生成一個(gè)和文本向量做相加來更新文本特征,經(jīng)過實(shí)驗(yàn)發(fā)現(xiàn)第二種方式更好。從直觀上也很好理解,因?yàn)檫@樣的prompt image encoder和text encoder都參與了。

Unifying Vision-and-Language Tasks via Text Generation

一文了解prompt learning在計(jì)算機(jī)視覺領(lǐng)域進(jìn)展

現(xiàn)在vision-language learning的方法都是task-specific的,即要為每個(gè)下游任務(wù)特別設(shè)計(jì),本文利用prompt設(shè)計(jì)來兼容7個(gè)下游任務(wù)的學(xué)習(xí),如上圖所示,對不同的下游任務(wù)只需要加上不同的文本前綴即可,比如一個(gè)視覺問答的任務(wù)就加上vqa,對visual grounding的任務(wù)就加上visual grounding即可。具體模型如下所示:

一文了解prompt learning在計(jì)算機(jī)視覺領(lǐng)域進(jìn)展

整體流程是一個(gè)encoder-docoder的結(jié)構(gòu),encoder部分將prefix prompt、text embedding、 visual embedding作為輸入,其中visual embedding由faster-rCNN提取的ROl features、Box coordinates, image ides, region ids構(gòu)成,把encoder輸出的結(jié)果傳遞給一個(gè)自回歸的decoder得到模型的輸出。不同下有任務(wù)模板如下所示:

一文了解prompt learning在計(jì)算機(jī)視覺領(lǐng)域進(jìn)展

MAnTiS:Multimodal Conditionality for Natural Language Generation

一文了解prompt learning在計(jì)算機(jī)視覺領(lǐng)域進(jìn)展

這篇文章把prompt用在了商品的文案生成上,首先用ResNet-152作為image encoder提取視覺特征,提取出的視覺特征會用一個(gè)linear layer映射到文本embedding的維度;商品名稱和我們希望生成的文案會通過LM Token Embedding Layer提取文本特征,這里用的GPT-2。不同數(shù)據(jù)之間會用SEP分開,然后輸入進(jìn)一個(gè)decoder生成文案。效果如下:

一文了解prompt learning在計(jì)算機(jī)視覺領(lǐng)域進(jìn)展
? 版權(quán)聲明

相關(guān)文章