標籤:pap 9.png 對象 架構 nbsp 產生 learning present 產生
在文本處理領域,“The idea of local spatial context within a sentence, proved to be an effective supervisory signal for learning distributed word vector representations”,這有以下兩個作用“Given a word tokenized corpus of text, to learn a representation for a target word that allows it to predict representations of contextual words around it; or vice versa, given contextual words to predict a representation of the target word.”
文本是一維的,其基本組成單位就是單詞,一個單詞的上下文環境可以通過看看其左邊、右邊的一些單詞擷取(這是文本的特性)。這種從研究對象本事尋找“其自然特性”並加以利用的做法,有可能為我們擺脫“在影像處理領域需要大量人工標記資料才能學習一個表達能力很強深度網路”指明一個方向(在沒有人工標記樣本的情況下,我們也可以學到表達能力很強的網路)。
現在的問題是,“映像的單詞”是什嗎?像素、邊緣、物體,還是情境?
映像單詞的上下文環境又該如何定義?像素的四鄰域,物體的空間布局,還是什嗎?
不同的人對上述問題有不同的理解,這樣也就導致了沿著這個思路的一系列papers。本文將重點放在這篇paper的看法上。
這篇paper認為“單詞應該是物體,其上下文環境應該是物體的空間布局”,原文是“By working with patches at object scale, our network can focus on more object-centric features and potentially ignore some of the texture and color details that are likely less important for semantic tasks”。物體的空間布局並不意味著物體應該是緊挨著的。
理解了這一前提之後,我們可以看看這篇paper的整體架構,如所示
Figure 1想說明的是,給定“car”,及其與“airplane”的“offset”,我們預測“airplane”的表達。
明白了基本思路之後,有幾個技術問題需要解決
1)我們怎麼知道預測的“airplane”的表達是好還是壞呢?
這裡面,作者採用了一個“trick”。如果我們事Crowdsourced Security Testing道“airplane”的一個很好的表達不就行了,採用現有的VGG、Alexnet活動一個物體的很好表達是trivial的。我們學習到的特徵,通過與現有“好的表達”進行比對就可以了。基於此,作者設計了下面這個網路結構
其中,Top stream和Bottom stream的網路結構相同,Top stream的參數是固定的(能夠持續輸出好的特徵表達)。“offset”與Bottom stream的輸出h1,一起輸入到spatial context module,該模組的輸出與Top stream的輸出通過loss做對比。這樣整個網路就沒有思路上的障礙了,也就是說,至少在思路上是行得通的。
2)網路初始化
Bottom stream和Top stream採用已經在imagenet上pretrained的模型進行權值初始化,Top stream參數是固定的,Bottom stream和spatial context module參數是可學習的。
3)“car”、“airplane”等object如何產生呢?
我們有現成的“object agnostic”的region proposal的產生方法,作者在論文中也對比了幾種演算法的效果。
1)網路結構、參數初始化方式確定之後,下面的問題就是演算法的實際效果了。這部分大家還是直接找原始paper來讀一讀比較好。
2)這篇論文的不足之處就是太依賴pretrained model了,嚴格來說,應該屬於無監督的範疇。假如沒有pretrained model,不曉得這篇論文的效果會怎麼樣?
3)這篇論文比較巧妙的也是依賴pretrained model避免了無監督學習trivial solution。
論文筆記 Weakly-Supervised Spatial Context Networks