文 | ZenMoore
編 | 小軼
圖靈獎大佬 Geoffrey Hinton 的團隊和 Google Brain 團隊近日釋出新工作 Pix2seq,
將 CV 經典任務目標檢測轉換為了語言模型的下游任務
。
這就很有意思了朋友們!因為這是一個很一般化的正規化!也就是說,不光是目標檢測,我們
可以把語言作為中介介面,嘗試將一切視覺上的任務對映為序列任務
。這頗有點通用人工智慧的意思。
所以,是不是萬物皆可 LM 的時代真的要到來了?
論文標題
:
Pix2seq: A Language Modeling Framework for Object Detection
論文連結
:
https://arxiv。org/abs/2109。10852
模型框架
整個模型由四個部分組成,分別是影象資料增強,序列構造和資料增強,模型結構以及損失函式。
▲本文提出的模型
影象資料增強
影象資料增強沒什麼新奇的,就是為了擴充資料集,可圈可點的是後面幾個部分。
序列構造
目標檢測的目標一般是透過 Bbox 框和相應的目標類別組成。Bbox 用四個點的座標組成, 類別用一個指標變數
來表示。我們希望把這個目標輸出轉換為像語言一樣的離散序列。主要是兩個步驟:
量化(Quantization)
和
序列化(Serialization)
。
量化需要把連續的座標均等地分為離散的座標值,用
來表示(整數)。
的選取很講究,可大可小,不同的大小決定了檢測目標的大小尺度。例如,
的影象,最大的
可以是
。 實驗表明,
就足矣!這樣,就可以表示成離散的 token。 還剩下一個
, 我們不用管,因為它本來就是離散的。
序列化需要把影象中的所有目標整理到一起。在量化中,我們把一個目標用五個離散的 token來表示了,在這個步驟中,我們把影象中的多個目標的離散 token 表示按照一定的順序線性地排列起來。實驗證明,隨機的排列順序會取得更好的效果。
模型結構
本文采用的是
編碼器-解碼器
的結構,例如 Transformer。 透過
自迴歸
的方式生成輸出序列。
損失函式
訓練的目標非常簡單,即語言模型中最普通不過的
極大對數似然
!四兩撥千斤,簡潔才是美!
其中,
和
分別是輸入序列和目標序列(在一般的語言模型中,二者是相同的),
是目標序列長度,
是預先指定的第
個 token 的權重(本文都設定成了 1,當然也可以使用其他方式進行設定),
是給定的影象。
在 inference 階段,我們根據條件機率對下一時刻的 token 進行取樣,可以選擇似然最大的 token, 但更好的方式是使用
Nucleus 取樣
,以提高
召回率
。最後,當得到 EOS 這個 token 的時候,結束生成,經過量化的逆操作得到 Bbox 和 Class。
序列資料增強
介紹到這裡,好像一切都很完美……
問題出在哪兒了呢?實驗表明,序列生成往往過早就結束了,導致很多目標都被漏掉了。可能是因為資料標註的噪聲以及目標識別或定位的不確定性。所以作者想到的 trick 是:人為降低似然,
延遲生成 EOS
,提高召回率!然後就被打臉了……這又帶來了很多噪聲,以及重複的檢測結果。
這又是為啥?作者覺得這主要是因為
模型不依賴於任務
,因為去掉了太多工的先驗知識。所以如果想要在 precision 和 recall 上打好這套太極玩好平衡術,還是得加點先驗調一調味兒。於是天降猛料——
序列資料增強
!即:Altered sequence construction。
▲序列資料增強
我們在輸入序列
的後面加一些
人為製造的噪聲 token
,可以是已檢測出的真實目標的隨機縮放平移,也可以是完全隨機的 box 和類別。然後在目標序列
上,給噪聲 token 設定成 “noise” 這個特殊的類別,相應的座標都表示為 “N/A”, 損失權重
要設定為零。
因此在 inference 的時候,我們讓模型預測最大長度的序列,在重構 box 和 class 的時候,用似然最大的實際類別替換 noise 類別,並將似然作為其打分。
看到這裡,不得不說,Hinton 不愧是 Hinton。。。 這也能搞 work。。。
實驗結果
實驗結果非常的夠看啊!
▲實驗結果
總結一下主要是以下兩點:
對標 Faster R-CNN : 小中型目標差異不大,但在大型目標上,本文的模型表現更好!
對標 DETR : 大型目標上差異不大(或者略差一點), 但在小中型目標上,本文的模型表現突出!
結論
Pix2Seq 是一個簡單而通用的目標檢測框架,簡化了目標檢測的 pipeline, 消除了大部分先驗知識,效果也非常能打!當然,這個架構還可以進行進一步地最佳化。
作者認為,這個框架不僅適用於目標檢測,其他產生
低頻寬輸出
的視覺任務(即輸出可以用簡潔的離散 token 序列表示)也可以嘗試用這個框架來解決。因此,作者希望將其做成一個
通用統一的介面
以解決各種各樣的視覺任務。另外,也希望能讓模型減少對於人工標註的依賴,多一點
無監督學習
的能力。
最後的話
小編認為,這是一個很有開創性意義的工作,或者說學術思想。從哲學的角度講,如果我們信奉
薩丕爾-沃爾夫假設(語言決定思維)
的話,就很容易堅信自然語言的偉大潛力。人類用語言描述世間萬物,下到家常小事,上到天文地理,所有的任務,都可以用自然語言來表示輸入和輸出,因此我們堅信語言具有非常強大甚至是接近於無限的表達能力:
Language is the embedding of everything !
回到本文,Hinton 成功地將目標檢測這一個典型的視覺任務轉化成了語言的任務,那麼我們是不是可以猜想,一切任務都能用序列來解決:
All in Seq !
如果真的如同薩丕爾和沃爾夫所說,人類的思考過程都是基於語言的(即
人類透過心中語言整理和推演自己的思路
),那麼,我們是不是可以不斷地發掘本文的潛力,找到
機器推理
的密碼?Hinton 作為心理學家出身的 AIer,不知道對此究竟是怎麼思考的……
所以,是有一個
“宇宙”
蘊含在這篇論文中的!歡迎大家進行思考與討論,即便是科幻也無妨(比如在知乎上或者評論區等等)。