一條狗,即使是之前從未見過的品種、顏色,我們也能一眼認出它。
對周遭任何變化的感知是人類與生俱來的能力。
但是人工智能系統(tǒng)就不一樣了,即使級別SOTA,能完成無數(shù)人類完成不了的任務,但也有很多對人類來說輕而易舉的事情,它卻搞不定,比如,讓金毛換個角度:正面、側面、前面、后面,人工智能可能會識別地很掙扎。
深度學習模型擅長解釋像素和標簽之間的統(tǒng)計模式,但卻很難通過許多潛在的自然變化正確識別對象。
那是掃雪機在路上掃雪嗎?還是一輛校車側翻了?
上圖是根據(jù)M.A. Alcorn等人的 "Strike(with)a pose: Neural networks are easily fooled by strange poses of familiar objects"繪制,顯示了一個深度神經網(wǎng)絡將一輛公共汽車錯誤地分類為掃雪車。
人類可以瞬間知道,但是顏色、大小和透視等因素使情況復雜化,增加了人工智能模型的預測難度。
Facebook AI一直在探索如何更好地捕捉自然變化,在這方面,傳統(tǒng)解決方案有很大局限性,即所謂的解糾纏(disentanglement)。我們最近還提出了等變化移位算子(equivariant shift operator)的概念,這是一種替代解的概念證明,可以幫助模型理解通過模擬最常見的變換,物體可能會發(fā)生怎樣的變化。
目前,F(xiàn)acebook AI在這方面的工作主要是理論性的,但是對于深度學習模型,特別是計算機視覺潛力巨大: 增加了可解釋性和準確性,即使在小數(shù)據(jù)集上訓練也有更好的性能,并提高了泛化能力。Facebook AI希望這些貢獻能夠使計算機視覺向前推進一步,更好地理解視覺世界的復雜性。
現(xiàn)行方法的局限
目前的解糾纏方法試圖通過將模型中的每個因子編碼到模型內部表示的一個單獨的子空間中,來學習模型中對象的基本變換。
例如,解糾纏可能將狗圖像的數(shù)據(jù)集編碼為姿態(tài)、顏色和品種子空間。
這種方法在識別剛性數(shù)據(jù)集的變化因素方面很有優(yōu)勢,比如一個單一的 MNIST 數(shù)字或者一個單一的對象,比如一把椅子,但是我們已經發(fā)現(xiàn),在多個分類中,解糾纏的表現(xiàn)很差。
想象一下多個旋轉的形狀,比如三角形和正方形。解糾纏模型試圖將物體的形狀和方向這兩個變化因素分離成兩個變化因素。
下圖說明了傳統(tǒng)的解糾纏是無法在多個形狀的數(shù)據(jù)集中孤立旋轉的。我們期望高亮顯示的形狀會旋轉,但是由于解糾纏失敗,形狀仍然是固定的。
解糾纏還帶來了拓撲缺陷,這是一系列眾多變換中的另一個問題。拓撲缺陷違背連續(xù)性——深度學習模型的本質屬性。如果沒有連續(xù)性,深度學習模型可能很難有效地學習數(shù)據(jù)中的模式。
想象一下正三角形的旋轉。旋轉120度的正三角形與原來的三角形無法區(qū)分,導致在方向空間中有相同的表示。然而,通過在三角形的一個角上加一個無窮小的點,表示變得可辨別,違反了連續(xù)性。附近的圖像映射到相距較遠的圖像。Facebook AI的研究還表明,拓撲缺陷出現(xiàn)在非對稱形狀和許多其他常見的變換中。
利用等變化算子揭示變化因子
有一個數(shù)學分支「群論」可以教我們應用等變化算子的很多知識。它表明,一個直觀的方式來理解變化因素是將他們模擬為一組轉換。例如,一個三角形的旋轉有一個組的結構: 90度旋轉和30度旋轉結合起來產生120度旋轉。
Facebook AI利用這些想法來識別傳統(tǒng)解糾纏的缺點,并確定如何訓練等變化算子來解糾纏。我們提出了一個等變化算子,稱為移位算子。這是一個矩陣,其塊體模仿了常見變換的組結構--旋轉、平移和重縮放。然后在原始圖像和它們的轉換上訓練一個人工智能模型。
這樣就會發(fā)現(xiàn),即使在包含多個類的數(shù)據(jù)集中,移位算子也能成功地學習變換--這正是傳統(tǒng)解糾纏經常失敗的條件。