c++ 舞伴配对问题_挑战新物体描述问题,视觉词表解决方案超越人类表现
編者按:最近,研究者們發(fā)布了?nocaps?挑戰(zhàn),用以測(cè)量在沒(méi)有對(duì)應(yīng)的訓(xùn)練數(shù)據(jù)的情況下,模型能否準(zhǔn)確描述測(cè)試圖像中新出現(xiàn)的各種類別的物體。針對(duì)挑戰(zhàn)中的問(wèn)題,微軟?Azure?認(rèn)知服務(wù)團(tuán)隊(duì)和微軟研究院的研究員提出了全新解決方案視覺(jué)詞表預(yù)訓(xùn)練?(Visual Vocabulary Pre-training)。該方法在?nocaps?挑戰(zhàn)中取得了新的?SOTA,并首次超越人類表現(xiàn)。
看圖說(shuō)話“新”問(wèn)題圖像描述或看圖說(shuō)話(Image Captioning)是計(jì)算機(jī)根據(jù)圖片自動(dòng)生成一句話來(lái)描述其中的內(nèi)容,由于其潛在的應(yīng)用價(jià)值(例如人機(jī)交互和圖像語(yǔ)言理解)而受到了廣泛的關(guān)注。這項(xiàng)工作既需要視覺(jué)系統(tǒng)對(duì)圖片中的物體進(jìn)行識(shí)別,也需要語(yǔ)言系統(tǒng)對(duì)識(shí)別的物體進(jìn)行描述,因此存在很多復(fù)雜且極具挑戰(zhàn)的問(wèn)題。其中,最具挑戰(zhàn)的一個(gè)問(wèn)題就是新物體描述(Novel object captioning),即描述沒(méi)有出現(xiàn)在訓(xùn)練數(shù)據(jù)中的新物體。
最近,研究者們發(fā)布了 nocaps 挑戰(zhàn)(https://nocaps.org/),以測(cè)量在即使沒(méi)有對(duì)應(yīng)的訓(xùn)練數(shù)據(jù)的情況下,模型能否準(zhǔn)確描述測(cè)試圖像中新出現(xiàn)的各種類別的物體。在這個(gè)挑戰(zhàn)中,雖然沒(méi)有配對(duì)的圖像和文本描述(caption)進(jìn)行模型訓(xùn)練,但是可以借助計(jì)算機(jī)視覺(jué)的技術(shù)來(lái)識(shí)別各類物體。例如在一些之前的工作中,模型可以先生成一個(gè)句式模板,然后用識(shí)別的物體進(jìn)行填空。然而,這類方法的表現(xiàn)并不盡如人意。由于只能利用單一模態(tài)的圖像或文本數(shù)據(jù),所以模型無(wú)法充分利用圖像和文字之間的聯(lián)系。另一類方法則使用基于 Transformer 的模型進(jìn)行圖像和文本交互的預(yù)訓(xùn)練(Vision and Language Pre-training)。這類模型在多模態(tài)(cross-modal)的特征學(xué)習(xí)中取得了有效的進(jìn)展,從而使得后續(xù)在圖像描述任務(wù)上的微調(diào)(fine-tuning)獲益于預(yù)訓(xùn)練中學(xué)到的特征向量。但是,這類方法依賴于海量的訓(xùn)練數(shù)據(jù),在這個(gè)比賽中無(wú)法發(fā)揮作用。
針對(duì)這些問(wèn)題,微軟 Azure 認(rèn)知服務(wù)團(tuán)隊(duì)和微軟研究院的研究員們提出了全新的解決方案? Visual Vocabulary Pre-training(視覺(jué)詞表預(yù)訓(xùn)練,簡(jiǎn)稱VIVO),該方法在沒(méi)有文本標(biāo)注的情況下也能進(jìn)行圖像和文本的多模態(tài)預(yù)訓(xùn)練。這使得訓(xùn)練不再依賴于配對(duì)的圖像和文本標(biāo)注,而是可以利用大量的計(jì)算機(jī)視覺(jué)數(shù)據(jù)集
視覺(jué)詞表成為解決問(wèn)題的關(guān)鍵VIVO 方法取得成功的關(guān)鍵在于視覺(jué)詞表(visual vocabulary)的建立。如圖1所示,研究人員把視覺(jué)詞表定義為一個(gè)圖像和文字的聯(lián)合特征空間(joint embedding space),其中語(yǔ)義相近的詞匯,例如男人和人、手風(fēng)琴和樂(lè)器,會(huì)被映射到距離更近的特征向量上。在預(yù)訓(xùn)練學(xué)習(xí)建立了視覺(jué)詞表以后,模型還會(huì)在有對(duì)應(yīng)的文本描述的小數(shù)據(jù)集上進(jìn)行微調(diào)。微調(diào)時(shí),訓(xùn)練數(shù)據(jù)只需要涵蓋少量的共同物體,例如人、狗、沙發(fā),模型就能學(xué)習(xí)如何根據(jù)圖片和識(shí)別到的物體來(lái)生成一個(gè)通用的句式模板,并且把物體填入模板中相應(yīng)的位置,例如,“人抱著狗”。在測(cè)試階段,即使圖片中出現(xiàn)了微調(diào)時(shí)沒(méi)有見(jiàn)過(guò)的物體,例如手風(fēng)琴,模型依然可以使用微調(diào)時(shí)學(xué)到的句式,加上預(yù)訓(xùn)練建立的視覺(jué)詞表進(jìn)行造句,從而得到了“人抱著手風(fēng)琴”這句描述。
圖1:VIVO 預(yù)訓(xùn)練使用大量的圖片標(biāo)簽標(biāo)注來(lái)建立視覺(jué)詞表,其中語(yǔ)義相近的詞匯與對(duì)應(yīng)的圖像區(qū)域特征會(huì)被映射到距離相近的向量上。微調(diào)使用只涵蓋一部分物體(藍(lán)色背景)的少量文本描述標(biāo)注進(jìn)行訓(xùn)練。在測(cè)試推理時(shí),模型能夠推廣生成新物體(黃色背景)的語(yǔ)言描述,得益于預(yù)訓(xùn)練時(shí)見(jiàn)過(guò)的豐富物體類型。
通過(guò)這樣的方法,研究員們結(jié)合了預(yù)訓(xùn)練中識(shí)別圖片物體的能力,以及微調(diào)中用自然語(yǔ)言造句的能力,從而做到了在推理測(cè)試時(shí)舉一反三,使用更豐富的詞匯量來(lái)描述圖片中新出現(xiàn)的各種物體。
VIVO 訓(xùn)練流程圖2:訓(xùn)練和推理流程總覽(a)在VIVO 預(yù)訓(xùn)練中,Transformer 模型在圖片標(biāo)簽的訓(xùn)練數(shù)據(jù)上做標(biāo)簽預(yù)測(cè),從而針對(duì)豐富的視覺(jué)概念進(jìn)行多模態(tài)特征學(xué)習(xí)。(b)在微調(diào)中,模型在有文本描述標(biāo)注的訓(xùn)練數(shù)據(jù)上學(xué)習(xí)如何基于圖片和識(shí)別出來(lái)的物體生成一句話。(c)在推理時(shí),對(duì)于給定的圖片和識(shí)別的物體,模型以自回歸的方式生成一系列字符,從而構(gòu)成描述新物體的句子。
如圖2所示,VIVO 訓(xùn)練流程采用了兩階段的訓(xùn)練。第一階段為預(yù)訓(xùn)練,使用多層的 Transformer 模型進(jìn)行圖像分類的預(yù)測(cè)。具體來(lái)說(shuō),先給定圖片和對(duì)應(yīng)的一些標(biāo)簽(tag),然后隨機(jī)地抹去其中一部分標(biāo)簽,讓模型來(lái)預(yù)測(cè)這些被抹去的標(biāo)簽原本是什么。由于這些標(biāo)簽之間的順序是可以互換的,因此需要使用匈牙利算法(Hungarian matching)來(lái)找到預(yù)測(cè)結(jié)果和目標(biāo)標(biāo)簽之間的一一對(duì)應(yīng),然后計(jì)算交叉熵?fù)p失(cross entropy loss)函數(shù)。
預(yù)訓(xùn)練之后,第二階段為微調(diào)。Transformer 模型會(huì)在有文本描述標(biāo)注的小數(shù)據(jù)集上訓(xùn)練,例如 COCO。微調(diào)時(shí)使用的物體標(biāo)簽可以來(lái)自數(shù)據(jù)集本身的標(biāo)注,也可以由其他已經(jīng)訓(xùn)練好的圖像分類或物體識(shí)別模型自動(dòng)生成。
在測(cè)試階段,對(duì)于給定圖片和識(shí)別出來(lái)的物體標(biāo)簽,模型采用了自回歸(auto-regressive)的方式生成字符序列,從而獲得描述圖片的一句話。
SOTA 首次超越人類研究員們將 VIVO 與 nocaps 挑戰(zhàn)中一些領(lǐng)先的方法,如 UpDown 、 OSCAR 等做了對(duì)比(這些方法使用的訓(xùn)練數(shù)據(jù)也是 COCO)。另外,遵循之前的方法,添加了使用 SCST 和 Constrained Beam Search (CBS)之后的結(jié)果。在 nocaps 的校驗(yàn)集(validation)和測(cè)試集(test)上的結(jié)果顯示在表1中。可以看到,相比于之前的方法,VIVO 的結(jié)果表現(xiàn)有了顯著的提高。僅僅使用 VIVO 預(yù)訓(xùn)練就取得了遠(yuǎn)超過(guò) UpDown+ELMo+CBS 和 OSCAR 的結(jié)果。最終,VIVO 方法的結(jié)果達(dá)到了新的 SOTA,并且首次在 nocaps 挑戰(zhàn)中超過(guò)了人類表現(xiàn)的 CIDEr 得分。
表1:各種方法在 nocaps 的校驗(yàn)和測(cè)試數(shù)據(jù)集上的結(jié)果
為了進(jìn)一步理解 VIVO 預(yù)訓(xùn)練中學(xué)習(xí)視覺(jué)詞表所產(chǎn)生的作用,即在圖像和文字的共同特征空間中對(duì)準(zhǔn)圖像與相應(yīng)的語(yǔ)義標(biāo)簽,研究員們展示了如何根據(jù)這些新物體的標(biāo)簽找到它們?cè)趫D片中的位置(grounding to image regions)。對(duì)于每個(gè)圖片區(qū)域和每個(gè)物體標(biāo)簽的兩兩配對(duì),VIVO 都計(jì)算了它們對(duì)應(yīng)特征向量之間的相似度(cosine similarity)。圖3高亮了其中得分高的配對(duì)。可以看出,VIVO 的模型能夠準(zhǔn)確地在眾多區(qū)域中確定這些物體所在的位置。
圖3:模型對(duì) nocaps 圖片的描述結(jié)果。B:沒(méi)有做 VIVO 預(yù)訓(xùn)練的模型。V:有 VIVO 預(yù)訓(xùn)練的模型。紅色文字顯示了描述中出現(xiàn)的新物體。圖中還顯示了各個(gè)圖片區(qū)域和描述中出現(xiàn)的新物體對(duì)應(yīng)特征向量之間的相似度,相似度越高的組合顏色亮度越高。
VIVO 展示了視覺(jué)詞表對(duì)描述圖片中新出現(xiàn)的物體的重要作用。作為第一個(gè)不依賴于圖片文本標(biāo)注(paired image-sentence data)的圖像與文本交互的預(yù)訓(xùn)練(Vision-Language Pre-training)方法,VIVO 成功運(yùn)用了計(jì)算機(jī)視覺(jué)研究中已經(jīng)標(biāo)注的大規(guī)模圖片標(biāo)簽數(shù)據(jù)(image tagging data)來(lái)進(jìn)行全新模式的圖像與文本交互預(yù)訓(xùn)練。值得注意的是,如果可以利用模型自動(dòng)給圖片生成標(biāo)簽,而不需要人工標(biāo)注文本描述,那么可以在訓(xùn)練時(shí)加入可能無(wú)限多的無(wú)標(biāo)注圖片,從而進(jìn)一步提高模型的表現(xiàn),微軟的研究人員也將在未來(lái)的后續(xù)工作中對(duì)此進(jìn)行更多探索。
你也許還想看:
總結(jié)
以上是生活随笔為你收集整理的c++ 舞伴配对问题_挑战新物体描述问题,视觉词表解决方案超越人类表现的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: TWaver可视化软件(七) WEB组态
- 下一篇: s3c2440移植MQTT