<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          如何看待NLP領(lǐng)域最近比較火的prompt,能否借鑒到CV領(lǐng)域?

          共 5034字,需瀏覽 11分鐘

           ·

          2021-10-09 05:45

          ↑ 點(diǎn)擊藍(lán)字?關(guān)注極市平臺(tái)

          作者丨smarter
          來(lái)源丨smarter
          編輯丨極市平臺(tái)

          極市導(dǎo)讀

          ?

          最近NLP領(lǐng)域提出了Prompt新范式,企圖革新原先的Fine-tuning方法,本文首先介紹一下prompt和fine-tuning范式本質(zhì)上的區(qū)別,然后介紹NLP中基于prompt的PET和AutoPrompt方法以及VLM任務(wù)中應(yīng)用prompt范式的CLIP和CoOp方法?>>加入極市CV技術(shù)交流群,走在計(jì)算機(jī)視覺的最前沿

          最近NLP領(lǐng)域提出了Prompt新范式,企圖革新原先的Fine-tuning方法,而在CV領(lǐng)域中,Prompt其實(shí)可以理解為圖像label的設(shè)計(jì),從這個(gè)角度看,Prompt(預(yù)測(cè)文本中mask的字符,類似完形填空)其實(shí)是介于Image caption(迭代預(yù)測(cè)出每一個(gè)字符)和one-hot label(one-hot可以認(rèn)為是prompt的特例,單字符通過text encoder成one-hot)之間的任務(wù)。 最近在Visual-Language Model(縮寫VLM)任務(wù)中,prompt開始展現(xiàn)出強(qiáng)大的能力。

          本文首先介紹一下prompt和fine-tuning范式本質(zhì)上有什么區(qū)別,然后介紹一下NLP中基于prompt的PET和AutoPrompt方法,最后介紹一下VLM任務(wù)中應(yīng)用prompt范式的CLIP和CoOp方法。

          另外,CLIP和CoOp都是基于prompt的判別式VLM方法,最近還有幾篇基于prompt生成式VLM方法,基于prompt的生成式VLM和基于prompt的NLP方法非常類似,本文就不展開細(xì)講了,放一下文章鏈接

          Unifying Vision-and-Language Tasks via TextGeneration:

          https://arxiv.org/abs/2102.02779v1

          Multimodal Few-Shot Learning with Frozen Language Models:

          https://arxiv.org/abs/2106.13884

          01 Prompt vs Fine-tuning

          (引用劉鵬飛大佬的原話https://zhuanlan.zhihu.com/p/395115779)

          圖中,圓形表示預(yù)訓(xùn)練語(yǔ)言模型,矩形框表示的是各種下游NLP任務(wù)。那么,我們就有這樣一句話:大家都是希望讓 預(yù)訓(xùn)練語(yǔ)言模型和下游任務(wù)靠的更近,只是實(shí)現(xiàn)的方式不一樣。

          Fine-tuning中:是預(yù)訓(xùn)練語(yǔ)言模型“遷就“各種下游任務(wù)。 具體體現(xiàn)就是上面提到的通過引入各種輔助任務(wù)loss,將其添加到預(yù)訓(xùn)練模型中,然后繼續(xù)pre-training,以便讓其更加適配下游任務(wù)??傊?,這個(gè)過程中,預(yù)訓(xùn)練語(yǔ)言模型做出了更多的犧牲。

          Prompting中,是各種下游任務(wù)“遷就“預(yù)訓(xùn)練語(yǔ)言模型。 具體體現(xiàn)也是上面介紹的,我們需要對(duì)不同任務(wù)進(jìn)行重構(gòu),使得它達(dá)到適配預(yù)訓(xùn)練語(yǔ)言模型的效果??傊?,這個(gè)過程中,是下游任務(wù)做出了更多的犧牲。

          下面講一下NLP中的兩個(gè)前置工作PET和AutoPrompt,這兩個(gè)工作對(duì)于Visual-Language Model任務(wù)的啟發(fā)是非常大的。

          02 PET

          PET是第一個(gè)將prompt訓(xùn)練的語(yǔ)言模型應(yīng)用到下游任務(wù)的方法,并且把prompt范式規(guī)范化,給后續(xù)prompt范式的研究提供了示范。

          PET的設(shè)計(jì)流程如下:

          1.預(yù)先設(shè)置多種prompt,其中包含需要預(yù)測(cè)的文字(比如上圖中的Best pizza ever! It was ___.其中It was就是預(yù)先設(shè)置的prompt,可以替換成其他的prompt),然后將多種prompt送入不同的PLM模型中進(jìn)行訓(xùn)練,最終得到多個(gè)PET模型。

          2.將需要預(yù)測(cè)的文本送入多個(gè)PET模型中進(jìn)行推理,綜合多個(gè)PET模型結(jié)果得到soft label。

          3.把需要預(yù)測(cè)的文本和soft label放到分類器中進(jìn)行訓(xùn)練,得到最終的文本分類模型。

          03 AutoPrompt

          PET構(gòu)建的prompt是人為設(shè)計(jì)的,這可能會(huì)導(dǎo)致設(shè)計(jì)的prompt不夠合理。AutoPrompt提出在構(gòu)建prompt時(shí)通過網(wǎng)絡(luò)自動(dòng)化學(xué)習(xí)出Trigger Tokens [T] [T] [T] [T] [T],優(yōu)化目標(biāo)是加入合適的token之后,預(yù)測(cè)結(jié)果越來(lái)越傾向于正確結(jié)果(比如上圖中,token為atmosphere alot dialogue clone totally時(shí),positive的概率越高)。

          04 CLIP

          OpenAI從網(wǎng)絡(luò)收集了4億數(shù)據(jù)量的圖片文本對(duì)用于CLIP訓(xùn)練,最后進(jìn)行zero-shot transfer到下游任務(wù)達(dá)到了非常好的效果(關(guān)于zero-shot learning

          簡(jiǎn)單回顧一下CLIP的使用流程:

          1.如圖(1)所示,CLIP將一批文本通過Text Encoder編碼成一批word embedding,將一批圖片(與文本一一對(duì)應(yīng))通過Image Encoder編碼成一批feature embedding,然后將對(duì)應(yīng)的word embedding和feature embedding先歸一化然后進(jìn)行點(diǎn)積得到相似度矩陣,點(diǎn)積數(shù)值越大,代表word embedding和feature embedding的向量越相似,這里的監(jiān)督信號(hào)就是矩陣對(duì)角線為1,其余位置為0。其中Text Encoder使用的是Transformer,而Image Encoder使用ResNet50和ViT兩種架構(gòu)其中一個(gè),Image Encoder和Text Encoder都是從頭訓(xùn)練。

          2.然后將預(yù)訓(xùn)練好的CLIP遷移到下游任務(wù),如圖(2)所示,先將下游任務(wù)的標(biāo)簽構(gòu)建為一批帶標(biāo)簽的文本(例如 A photo of a {plane}),然后經(jīng)過Text Encoder編碼成一批相應(yīng)的word embedding。

          3.最后將沒有見過的圖片進(jìn)行zero-shot預(yù)測(cè),如圖(3)所示,通過Image Encoder將一張小狗的圖片編碼成一個(gè)feature embedding,然后跟(2)編碼的一批word embedding先歸一化然后進(jìn)行點(diǎn)積,最后得到的logits中數(shù)值最大的位置對(duì)應(yīng)的標(biāo)簽即為最終預(yù)測(cè)結(jié)果。

          從CLIP的流程中可以看出,CLIP和PET的prompt使用方式非常相似,A photo of a就是一個(gè)人為設(shè)計(jì)的prompt。

          05 CoOp

          CoOp明顯是受到了AutoPrompt的啟發(fā),并且CoOp發(fā)現(xiàn)CLIP實(shí)際上就是prompt在visual-language model中的一個(gè)應(yīng)用,于是CoOp在CLIP的基礎(chǔ)上進(jìn)一步進(jìn)行改進(jìn)。

          CoOp先在四個(gè)數(shù)據(jù)集上做實(shí)驗(yàn),發(fā)現(xiàn)更合理的prompt能夠大幅度的提升分類精度尤其是使用了本文提出的CoOp之后,最終的分類精度遠(yuǎn)超CLIP人為設(shè)計(jì)的prompt。

          和CLIP的主要不同之處在于,CoOp在CLIP的第二個(gè)階段中引入了context optimization。具體的,CoOp將prompt設(shè)計(jì)為:

          其中每個(gè)向量跟word embedding的維度相同, 可以理解為可學(xué)習(xí)的context, 并且所有類別對(duì)應(yīng)的context共享參數(shù)。

          將learnable context和不同類別的word embedding拼接起來(lái)送入text encoder中進(jìn)行訓(xùn)練,優(yōu)化目標(biāo)是使得和圖片對(duì)應(yīng)的prompt預(yù)測(cè)分?jǐn)?shù)最大。訓(xùn)練完成后,learnable context的參數(shù)就固定下來(lái)了。

          Other Variants

          作者還嘗試了兩種變體:

          一種是prompt可以在需要預(yù)測(cè)的class前后都插入learnable context,這可以增加prompt的靈活性。
          另一種是設(shè)計(jì)class-specific context(CSC),也就是所有類別的prompt參數(shù)獨(dú)立,在一些細(xì)粒度分類任務(wù)中效果更好。

          CoOp vs CLIP

          從11個(gè)數(shù)據(jù)集的實(shí)驗(yàn)中可以看出,CoOp均超過了CLIP,并且在一些數(shù)據(jù)集上,大幅度超過CLIP。證明了可學(xué)習(xí)的prompt優(yōu)于人為設(shè)計(jì)的prompt。CoOp提出的兩種變體,在一些數(shù)據(jù)集中效果更好。

          CoOp vs Prompt Ensembling

          將CoOp和PET中提出的Prompt ensembling進(jìn)行比較,CoOp也展現(xiàn)出了優(yōu)越性。

          CoOp的影響因素

          從上面的實(shí)驗(yàn)中可以看出,CoOp對(duì)于噪聲的魯棒性優(yōu)于CLIP。

          從上面的實(shí)驗(yàn)中可以看出,context length長(zhǎng)度越長(zhǎng),CoOp效果越好;backbone模型越大,CoOp效果越好。

          Random vs. manual initialization

          這個(gè)對(duì)比實(shí)驗(yàn)相當(dāng)?shù)木瑁簿褪钦flearnable context的初始化prompt是什么沒那么重要,隨機(jī)初始化就能達(dá)到精調(diào)初始化相當(dāng)?shù)木取?/p>

          06 總結(jié)

          因?yàn)镃oOp是class-level的自適應(yīng),不能根據(jù)輸入圖片的不同動(dòng)態(tài)變化prompt,如果能夠根據(jù)輸入圖片動(dòng)態(tài)調(diào)整prompt的話,也就是instance-level的自適應(yīng),可能會(huì)有奇效。learnable context的作用類似于去噪,讓網(wǎng)絡(luò)擬合噪聲,使得預(yù)測(cè)部分的關(guān)注區(qū)域更為干凈。感覺learnable context和ViT中的object query的功能非常相似,都是任意學(xué)習(xí)出信息,只根據(jù)最后的監(jiān)督信號(hào)更新參數(shù)。后續(xù)可以挖掘一下如何控制learnable context的學(xué)習(xí),來(lái)提升基于prompt的VLM性能。生成式的VLM也可以探索一下如何設(shè)計(jì)prompt更合理。

          另外就是純CV方向的prompt,也就是類似于ViT將圖片拆分patch,每個(gè)patch實(shí)際上可以看成一個(gè)字符,那么也可以設(shè)計(jì)patch的prompt對(duì)模型進(jìn)行訓(xùn)練,這其中也可以分成生成式(類似ViT)和判別式(類似self-supervised)兩種方法。

          Reference
          [1] https://zhuanlan.zhihu.com/p/395115779
          [2] https://zhuanlan.zhihu.com/p/391606045
          [3] Exploiting Cloze Questions for Few Shot Text Classification and Natural Language Inference
          [4] AUTOPROMPT: Eliciting Knowledge from Language Models with Automatically Generated Prompts
          [5] Learning Transferable Visual Models From Natural Language Supervision
          [6] LEARNING TO PROMPT FOR VISION-LANGUAGE MODELS

          如果覺得有用,就請(qǐng)分享到朋友圈吧!

          △點(diǎn)擊卡片關(guān)注極市平臺(tái),獲取最新CV干貨

          公眾號(hào)后臺(tái)回復(fù)“CVPR21檢測(cè)”獲取CVPR2021目標(biāo)檢測(cè)論文下載~


          極市干貨
          神經(jīng)網(wǎng)絡(luò):視覺神經(jīng)網(wǎng)絡(luò)模型優(yōu)秀開源工作:timm庫(kù)使用方法和最新代碼解讀
          技術(shù)綜述:綜述:神經(jīng)網(wǎng)絡(luò)中 Normalization 的發(fā)展歷程CNN輕量化模型及其設(shè)計(jì)原則綜述
          算法技巧(trick):8點(diǎn)PyTorch提速技巧匯總圖像分類算法優(yōu)化技巧


          #?CV技術(shù)社群邀請(qǐng)函?#

          △長(zhǎng)按添加極市小助手
          添加極市小助手微信(ID : cvmart4)

          備注:姓名-學(xué)校/公司-研究方向-城市(如:小極-北大-目標(biāo)檢測(cè)-深圳)


          即可申請(qǐng)加入極市目標(biāo)檢測(cè)/圖像分割/工業(yè)檢測(cè)/人臉/醫(yī)學(xué)影像/3D/SLAM/自動(dòng)駕駛/超分辨率/姿態(tài)估計(jì)/ReID/GAN/圖像增強(qiáng)/OCR/視頻理解等技術(shù)交流群


          每月大咖直播分享、真實(shí)項(xiàng)目需求對(duì)接、求職內(nèi)推、算法競(jìng)賽、干貨資訊匯總、與?10000+來(lái)自港科大、北大、清華、中科院、CMU、騰訊、百度等名校名企視覺開發(fā)者互動(dòng)交流~



          覺得有用麻煩給個(gè)在看啦~??
          瀏覽 135
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  亚洲国产综合久久久精品潘金莲 | 日韩一级电影网 | 青娱乐国产视频分类极品 | 久久足交视频 | 欧美精品成人网站 |