在圖像中標注新的物件
更多騰訊海量技術文章,請關注雲+社區:https://cloud.tencent.com/developer
給定一個圖像,人類可以很容易地推斷其中的顯著實體,並有效地描述場景,如物件所在的位置(在森林或廚房?),物件具有什麼屬性(棕色或白色?),
A
B
圖A
圖B
LRCN [Donahue et al。'15]:站在鬱鬱蔥蔥的綠色田野上的棕熊。MS CaptionBot [Tran et al。'16]:一頭大棕熊走過森林。
LRCN [Donahue et al。'15]:一隻黑熊站在草地上。MS CaptionBot [Tran et al。'16]:一隻正在吃草的熊。
由兩個圖像上的現有資訊產生的描述。左邊是訓練資料中存在的物件(熊)的圖像。在右邊是模型在訓練中沒有見過的物件(食蟻獸)。
目前的視覺描述或圖像描述模型工作得很好,但是它們只能描述在現有圖像描述訓練資料集中看到的物件,而且他們需要大量的訓練樣例才能生成好的描述。為了學習如何在上下文中描述諸如“狐狼”或“食蟻獸”的物件,大多數描述模型需要許多狐狼或食蟻獸圖像的例子以及相應的描述。
在這裡我們更正式地定義我們的任務。給定由圖像和描述對(成對圖像 - 句子資料,例如MSCOCO)組成的資料集以及帶有物件標籤但沒有描述的圖像(不成對的圖像資料,例如ImageNet),我們希望學習如何描述未配對的物體圖像 - 句子資料。要做到這一點,我們必須建立一個模型,可以識別不同的視覺成分(例如,
我們的目標是描述不具有說明的訓練圖像的各種物體。
使用外部資料來源為了針對圖像標題訓練資料之外的不同類別物件能夠標記名稱,我們利用了外部的資料來源。具體而言,我們使用帶有物件標籤的ImageNet圖像作為未配對的圖像資料源,並將來自未注釋的文本庫(如Wikipedia)的文本作為我們的文本資料來源。這些用來分別訓練我們的視覺識別CNN和語言模型。
有效地利用外部資源培訓
捕獲語義相似性我們希望能夠識別出那些沒見過的,但是與在配對圖像句子訓練資料中看到的物件類似的物件(例如,來自ImageNet)。我們使用密集詞嵌入來實現這一點。詞嵌入是詞的稠密高維表示,其中具有相似含義的詞在嵌入空間中位置更接近。
在我們以前的作品“深度合成字幕(DCC)”[1]中,我們首先在MSCOCO配對圖像描述資料集上訓練描述模型。然後,為了描述新的物件,對於每個新穎的物件(例如okapi),我們使用詞嵌入來識別MSCOCO資料集(在這種情況下是斑馬)中的物件之間最相似的物件。然後,我們將從見過的物件提煉出的參數轉移(複製)到沒見過的物件(例如,複製網路上關於斑馬的重量給霍加皮)。
給新的物件加說明雖然DCC模型能夠描述幾個沒見過的物件類別,但是將參數從一個物件複製到另一個物件卻非常地生硬死板。例如,對於“球拍”,這個詞就是複製了“網球”的權重作用,從而導致諸如“一個人在球場上打球拍”的句子。在我們最近的工作[2]中,我們直接在語言模型使用詞嵌入。具體來說,我們在語言模型的輸入和輸出中使用GloVe嵌入(https://nlp.stanford.edu/projects/glove/)。這使模型能夠在描述沒見過的物件時捕獲語義相似性。這使得我們的模型能夠生成句子,例如“網球員在揮動球拍擊球”。另外,直接在網路中使用密集詞嵌入使得我們的模型是端到端的可訓練的。
將密集詞嵌入整合到語言模型中以捕獲語義相似性。
在神經網路中的描述模型和遺忘。我們將視覺網路和語言模型的輸出結合到描述模型。該模型與現有的在ImageNet上預先訓練過的描述模型相似。然而,我們觀察到,雖然模型是在ImageNet上預先訓練好的,但是當模型在COCO圖像 - 描述資料集上進行訓練/調整時,往往會忘記之前看到的內容。蒙特利爾的研究人員以及Google DeepMind等人也觀察到了神經網路中關於遺忘的問題。在我們的工作中,我們使用聯合培訓策略解決了遺忘的問題。
分享特徵和針對不同的資料/任務的聯合訓練來克服“遺忘”
具體來說,我們的網路有三個組成部分:視覺識別網路,描述模型和語言模型。這三個部分共用資料,並協同訓練。在訓練期間,每批輸入包含一些帶有標籤的圖像,一組不同的圖像和標題以及一些簡單的句子。這三類輸入資料訓練網路中的不同部分。由於資料在三個部分之間是共用的,所以這個網路就被訓練出可以識別圖像中的物件,描述圖像和生成句子。這種聯合訓練有助於網路克服遺忘問題,並使模型能夠產生對許多新物件類別的描述。
下一步是什麼?在我們的模型中最常見的錯誤之一就是無法識別物件,而減少這種情況的方式是使用更好的視覺特徵。另一個常見的錯誤來自生成不流利的句子(一隻貓和一隻貓在床上),或者不符合“常識”(例如,“一個女人正在玩體操”不是特別正確,因為一個人不能玩“ “體操”)。開發可以克服這些問題的解決方案將是有趣的。
在這項工作中,我們提出聯合訓練作為克服遺忘問題的一種策略,但可能我們並不總能有許多不同的任務和資料集來訓練。解決這個問題的另一種方法是建立一個模型,可以學習根據視覺資訊和物件標籤來組合描述。這樣一個模型也應該能夠即時整合物件,也就是說,我們現在預先在一組選定的物件上訓練模型,我們也應該考慮如何針對新資料進行對模型進行逐步的訓練。解決這些問題可以幫助開發更好、更穩定的視覺描述模型。
本博客文章基於以下研究論文:
[1] LA Hendricks,S. Venugopalan,M. Rohrbach,R. Mooney,K. Saenko和T. Darrell。深層成分字幕:描述新的物件類別,沒有配對的訓練資料。在CVPR,2016。
[2] S. Venugopalan,LA Hendricks,M. Rohrbach,R. Mooney,K. Saenko和T. Darrell。字幕與不同的物件的圖像。在CVPR,2017。
翻譯人:胡文翠,該成員來自雲+社區翻譯社
原文連結:http://bair.berkeley.edu/blog/2017/08/08/novel-object-captioning/?
utm_campaign=Artificial%2BIntelligence%2BWeekly&utm_medium=web&utm_source=Artificial_Intelligence_Weekly_67
原文作者:Subhashini Venugopalan and Lisa Anne Hendricks
這些用來分別訓練我們的視覺識別CNN和語言模型。有效地利用外部資源培訓
捕獲語義相似性我們希望能夠識別出那些沒見過的,但是與在配對圖像句子訓練資料中看到的物件類似的物件(例如,來自ImageNet)。我們使用密集詞嵌入來實現這一點。詞嵌入是詞的稠密高維表示,其中具有相似含義的詞在嵌入空間中位置更接近。
在我們以前的作品“深度合成字幕(DCC)”[1]中,我們首先在MSCOCO配對圖像描述資料集上訓練描述模型。然後,為了描述新的物件,對於每個新穎的物件(例如okapi),我們使用詞嵌入來識別MSCOCO資料集(在這種情況下是斑馬)中的物件之間最相似的物件。然後,我們將從見過的物件提煉出的參數轉移(複製)到沒見過的物件(例如,複製網路上關於斑馬的重量給霍加皮)。
給新的物件加說明雖然DCC模型能夠描述幾個沒見過的物件類別,但是將參數從一個物件複製到另一個物件卻非常地生硬死板。例如,對於“球拍”,這個詞就是複製了“網球”的權重作用,從而導致諸如“一個人在球場上打球拍”的句子。在我們最近的工作[2]中,我們直接在語言模型使用詞嵌入。具體來說,我們在語言模型的輸入和輸出中使用GloVe嵌入(https://nlp.stanford.edu/projects/glove/)。這使模型能夠在描述沒見過的物件時捕獲語義相似性。這使得我們的模型能夠生成句子,例如“網球員在揮動球拍擊球”。另外,直接在網路中使用密集詞嵌入使得我們的模型是端到端的可訓練的。
將密集詞嵌入整合到語言模型中以捕獲語義相似性。
在神經網路中的描述模型和遺忘。我們將視覺網路和語言模型的輸出結合到描述模型。該模型與現有的在ImageNet上預先訓練過的描述模型相似。然而,我們觀察到,雖然模型是在ImageNet上預先訓練好的,但是當模型在COCO圖像 - 描述資料集上進行訓練/調整時,往往會忘記之前看到的內容。蒙特利爾的研究人員以及Google DeepMind等人也觀察到了神經網路中關於遺忘的問題。在我們的工作中,我們使用聯合培訓策略解決了遺忘的問題。
分享特徵和針對不同的資料/任務的聯合訓練來克服“遺忘”
具體來說,我們的網路有三個組成部分:視覺識別網路,描述模型和語言模型。這三個部分共用資料,並協同訓練。在訓練期間,每批輸入包含一些帶有標籤的圖像,一組不同的圖像和標題以及一些簡單的句子。這三類輸入資料訓練網路中的不同部分。由於資料在三個部分之間是共用的,所以這個網路就被訓練出可以識別圖像中的物件,描述圖像和生成句子。這種聯合訓練有助於網路克服遺忘問題,並使模型能夠產生對許多新物件類別的描述。
下一步是什麼?在我們的模型中最常見的錯誤之一就是無法識別物件,而減少這種情況的方式是使用更好的視覺特徵。另一個常見的錯誤來自生成不流利的句子(一隻貓和一隻貓在床上),或者不符合“常識”(例如,“一個女人正在玩體操”不是特別正確,因為一個人不能玩“ “體操”)。開發可以克服這些問題的解決方案將是有趣的。
在這項工作中,我們提出聯合訓練作為克服遺忘問題的一種策略,但可能我們並不總能有許多不同的任務和資料集來訓練。解決這個問題的另一種方法是建立一個模型,可以學習根據視覺資訊和物件標籤來組合描述。這樣一個模型也應該能夠即時整合物件,也就是說,我們現在預先在一組選定的物件上訓練模型,我們也應該考慮如何針對新資料進行對模型進行逐步的訓練。解決這些問題可以幫助開發更好、更穩定的視覺描述模型。
本博客文章基於以下研究論文:
[1] LA Hendricks,S. Venugopalan,M. Rohrbach,R. Mooney,K. Saenko和T. Darrell。深層成分字幕:描述新的物件類別,沒有配對的訓練資料。在CVPR,2016。
[2] S. Venugopalan,LA Hendricks,M. Rohrbach,R. Mooney,K. Saenko和T. Darrell。字幕與不同的物件的圖像。在CVPR,2017。
翻譯人:胡文翠,該成員來自雲+社區翻譯社
原文連結:http://bair.berkeley.edu/blog/2017/08/08/novel-object-captioning/?
utm_campaign=Artificial%2BIntelligence%2BWeekly&utm_medium=web&utm_source=Artificial_Intelligence_Weekly_67
原文作者:Subhashini Venugopalan and Lisa Anne Hendricks