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