農林漁牧網

您現在的位置是:首頁 > 林業

清華構建新一代資料集NICO,定義影象分類新標準

2022-05-22由 AI 科技評論 發表于 林業

資料平滑是什麼意思

清華構建新一代資料集NICO,定義影象分類新標準

每件事物的出現都有它各自的使命,我們今天提資料集就不得不提到ImageNet,ImageNet資料集及其它推動的大規模視覺比賽對人工智慧特別是計算機視覺領域的巨大貢獻是毋庸置疑的。

正如李飛飛所言,ImageNet已經完成了它的歷史使命,然而資料集的發展和變革卻不能停下腳步。但是目前絕大部分的資料集都是基於獨立同分布的實驗場景設定,並沒有考慮到資料本身的特性,也沒有更多因果關係可言,這對於模型的泛化幫助甚微,也很難看到新一代資料集的萌芽。

針對這些問題,近日,清華大學計算機系長聘副教授崔鵬團隊構建了一個新型的具有跨資料集泛化性指標的資料集NICO,該資料集的釋出旨在引起大家對新型資料集的更多關注,並促進對人工智慧內在學習機制的研究。

AI科技評論邀請到崔鵬團隊對NICO資料集及其背後的論文:《Towards Non-IID Image Classification: A Dataset and Baseline》進行了詳細解讀,並針對下一代資料集的標準和NICO資料集相關的問題進行了專訪。

1

NICO資料集

我們都知道視覺模型的效能會隨著測試環境的差異而發生變化,那麼這種泛化效能的改變應該如何歸因、又該如何提升呢?現在我們有了一個可以“控制”環境偏差並定量研究的影象資料集。

近年來,深度學習技術使得視覺模型的效能得到了突飛猛進的發展,甚至在一些任務上超越了人類的平均水平,但這些結果背後的根基是海量的訓練資料和獨立同分布的實驗場景設定。

獨立同分布(I。I。D。:訓練環境和測試環境有相同的資料分佈)是機器學習問題中最普遍的假設之一。I。I。D。假設的存在使得我們在最小化模型訓練環境的風險損失的條件下,也能保證其在測試環境中也有好的表現。理想很美好,但現實呢?我們認為結論顯然是否定的,在真實場景下由於時空的約束性,訓練資料“一旦採集,就已落後”,時空維度上的跨度不可避免地會帶來資料分佈上的異質性,從而打破I。I。D。假設。例如對於自動駕駛而言,最大的考驗就是不可預測的駕駛場景:更新換代的模型、不曾見過的街景、甚至是行人潮流穿搭上的變化都可能成為危險的誘因。

那麼為什麼機器學習模型容易在資料分佈變化時出現決策失誤呢?因為它可能學到了不具備泛化效能的關聯性。例如下圖展示的例子,分類器訓練時看到的狗大多在草地上、而貓大多在雪地上,為了最小化訓練的風險損失,就可能把草地當作判斷狗的要素;當測試時看到草地上的貓,它就會“指貓為狗”。

清華構建新一代資料集NICO,定義影象分類新標準

相對I。I。D。假設下的模型學習,這種訓練環境和測試環境的資料分佈不同的問題稱為Non-I。I。D。或者OOD(Out-of-Distribution)。

其實在視覺學習的領域,早在2011年MIT的研究者Antonio Torralba就在《Unbiased Look at Dataset Bias》一文中對於視覺任務中不同的標杆資料集之間存在偏差的現象作了初步的探索。該文提出已有視覺資料集的不斷推出無非給視覺模型和演算法一個單純的”跑分“而已,對於深入理解視覺研究問題,“量變”似乎還無法引發“質變”。

為此,該論文提出了一種“跨資料集泛化性”(Cross-dataset generalization)指標,即用來自不同資料集的影象分別構成訓練集和測試集,透過模型效能的下降幅度來評估資料集之間的偏差,這種評估策略也逐漸成為日後領域自適應學習 (Domain Adaptation)中用於評價模型泛化效能的核心指標。由此,我們發現Non-I。I。D。遠比想象的更加常見,甚至可以在最有公信力的I。I。D。影象資料集ImageNet上找到Non-I。I。D。的影子。ImageNet本身是一個樹狀結構,如動物類別“貓”下面還有更細化的子類“波斯貓”等。如果用不同的子類構成分類10種動物類別(“貓”、“狗”、“鳥”等)的訓練和測試資料,資料環境會有什麼變化呢?我們以特徵空間上的分佈差異指標NI(C)來描述單個類別C在訓練和測試時的分佈差異,用NI(C)在所有類別上的均值來衡量訓練集和測試集的分佈差異。

清華構建新一代資料集NICO,定義影象分類新標準

清華構建新一代資料集NICO,定義影象分類新標準

考察隨機選擇子類並構成的三個資料集A、B、C,可以看到:1)Non-I。I。D。普遍存在於各訓練集的各種類別中;2)不同訓練集的組成會帶來資料分佈差異的不同。然而,ImageNet等資料集並非為Non-I。I。D。問題而設計,它們能造成的資料偏差都不明顯,偏差程度也很難調控,不足以支援充分的研究。我們還發現,資料分佈的差異大小將直接影響模型學習的好壞。

清華構建新一代資料集NICO,定義影象分類新標準

區別於I。I。D。下傳統影象任務的定義,Non-I。I。D。把“跨資料集泛化性”作為主要的評價標準。以基本的影象分類任務為例,Non-I。I。D。下的影象分類分為Targeted類和General類。兩類任務的區別在於是否已知測試環境的資訊,目標都是從訓練環境中學習可以泛化到有資料分佈偏差的測試環境的模型。顯然,隨著不同型別、任務、規模的資料集不斷提出,單單透過排列組合來考察“跨資料集泛化性”帶來的邊際效應越來越低,從實際研究的度出發,整個研究社群亟需個可以系統、定量地研究資料分佈偏差與模型泛化效能的標杆資料集。

清華構建新一代資料集NICO,定義影象分類新標準

在《面向分獨立同分布影象分類:資料集和基線模型》(Towards Non-IID Image Classification: A Dataset and Baseline) 一文中,我們提出了一個帶有“調節杆”的多分類影象資料集 (NICO),用於模擬訓練和測試集分佈不同條件下的影象分類任務場景,輔以定量刻畫資料分佈偏差的指標”Non-I。I。D。 Index“ (NI)。透過“調節杆”,我們可以手動調節不同檔位的NI,從而模擬一連串不同難度的場景,從接近經典資料集下的“無偏”環境平滑過渡到加入對抗資訊的“極偏”環境中。

清華構建新一代資料集NICO,定義影象分類新標準

區別於其它標準資料集,構建NICO資料集的核心思想是以(主體物件,上下文)的組合為單位收集資料。同一個類別(主體物件),有多個上下文與之對應,描述主體內的屬性,如顏色、形狀等,或主體外的背景,如草地、日落等。為了實用性和適用性,我們從搜尋引擎上與主體最密切的聯想詞中篩選出豐富多樣的上下文,並保證不同主體的上下文有足夠的重疊度。上下文實際上提供了圍繞主體的有偏資料分佈,透過在訓練環境和測試環境組合不同的(主體物件,上下文),我們就能構建不同的Non-I。I。D。場景。可以構建的場景包括但不限於:

1、最小偏差:

NICO可達到的近似“I。I。D。”,透過隨機取樣使訓練和測試環境的所有(主體物件,上下文)單元的資料比例相同。最小偏差描述了資料集本身的學習難度和資料噪聲,此時的實驗指標(如分類準確率)一般可作為best score。

2、比例偏差:

雖然訓練和測試環境中出現(主體物件,上下文)的組合相同,但是不同單元之間的比例不同。比如,我們可以選擇從指定上下文中收集某個類別的大部分訓練資料,不同物件由不同上下文主導,就容易造成模型的引數偏差。

實驗表明,主導的上下文的比例越大,資料分佈的差異也就越大。

清華構建新一代資料集NICO,定義影象分類新標準

3、成份偏差:

測試環境中存在訓練環境中沒出現過的(主體物件,上下文)單元,算作比例偏差的一個特例。成分偏差考驗了模型對外插資料的泛化能力,沒見過的上下文組合越多,資料分佈差異越大,也就越難學。我們還可以在訓練集中對不同類別再次設定主導的上下文,進一步增加分佈差異。

4、對抗偏差:

透過精心組合訓練集和測試集的主體物件/上下文,我們可以專門干擾模型對某個指定類別(正類)的預測。如果一個上下文在訓練環境裡僅和正類組合出現,而測試環境裡僅和負類組合出現,我們稱它是混淆因素,因為這個上下文會產生和正類的虛假強相關性,誤導模型分類。顯然,這樣的混淆上下文越多,正類上的資料分佈差異也就越大。

清華構建新一代資料集NICO,定義影象分類新標準

雖然NI的區間變化很大,利用NICO就能很容易地建立這些經典的Non-I。I。D。場景,然後進行多樣的科學研究。假設測試環境的資訊已知,你可以做遷移學習、域適應性學習等研究;如果測試環境的資訊不知,也可以進行穩定機器學習等方面的研究。

清華構建新一代資料集NICO,定義影象分類新標準

目前為止,NICO以樹狀結構組織了2個超類(交通工具類和動物類)、19個類(鳥、…、火車)、以及每個類別下的9或10種上下文,共累積了188種(主體物件,上下文)組合,收集了約25000張影象,其規模也正不斷擴大。對於熱火朝天的人工智慧而言,Non-I。I。D。下機器學習的穩定性已成為新的戰場。靶(數)子(據)?NICO提供了一個很好的選擇。

清華構建新一代資料集NICO,定義影象分類新標準

更多關於NICO的細節請參見NICO的官方網站:http://nico。thumedialab。com, 或者相關的論文《Towards Non-IID Image Classification: A Dataset and Baseline》。

2

問答專訪

一、新一代資料集應該是怎樣的標準?

1、ImageNet開啟了資料集的黃金時代。在ImageNet之後的各種資料集通常都會在哪些方面做到差別化?

差異化體現在資料集的建立初衷、目標問題、適用場景;以及樣本提供的不同資訊,比如標籤、上下文等。

2、新一代資料集是任務通用的嗎還是分任務進行分門別類構建?

一般會先以某些任務為目標構建起來;然後隨著資料集的發展豐富,以及研究人員的靈活使用,逐漸通用。

3、新一代資料集是考慮加入因果關係嗎?該怎麼加?

資料集本身是不考慮因果關係的,但可以透過構造有資料分佈偏差的訓練和測試集,支援因果的研究,比如NICO可以在訓練環境和測試環境組合不同的(主體物件,上下文)單元。

4、如果是檢測任務,背景的影響還有那麼重要嗎?

對於檢測任務,影象的背景對模型效能的影響較小;但是NICO的上下文不僅包括背景,還包括主體物件的屬性,比如色彩、動作等,其帶來的分佈差異也會影響模型。

二、針對NICO資料集本身的問題

1、NICO資料集建立的初衷是什麼?相比傳統資料集有什麼優勢?

NICO資料集建立的初衷是吸引更多機器學習的研究者關注智慧認知的本質機理。這樣的機理將更接近人類智慧的習慣(比如因果),因此具備跨環境的穩定性和魯棒性。為了支援以上研究,區別於傳統資料集,NICO的影象樣本除了主體類別標籤,還有唯一的上下文資訊描述主體的屬性或者背景,透過在訓練環境和測試環境中以不同比例組合不同的(主體物件,上下文)單元,可以靈活方便地構造資料環境模擬不同的Non-I。I。D。場景(見補充材料),支援對智慧認知的本質機理的研究。

2、NICO資料集只適用於CV中的識別分類任務嗎?

識別分類任務是當前NICO中設立的標準任務,但NICO不限於識別分類任務,研究人員可以利用上下文資訊自行設計更多有意思的任務;另外,我們後續對NICO的最佳化和補充可能會細化上下文或者提供更多的影象標註,進而孵化出更多的任務。

3、如果是檢測任務,背景的影響還有那麼重要嗎?

對於檢測任務,影象的背景對模型效能的影響較小;但是NICO的上下文不僅包括背景,還包括主體物件的屬性,比如色彩、動作等,其帶來的分佈差異也會影響模型。

4、資料集具體怎麼收集構建的?

參照幾個公認的影象資料集,我們確定了動物和交通工具兩個超類,並選擇了共19個常見的類別,如貓、火車等;對於每個類別,我們先基於搜尋引擎(YFCC100m)劃定了頻率最高的聯想詞的範圍,然後把同時和多個類別相關的詞作為上下文;確定了(主體物件,上下文)的組合後,我們從搜尋引擎上收集影象,多次檢測完成過濾去噪的工作。

5、估計NICO資料集大概多大規模才能有效解決識別問題?

目前NICO的規模已經可以支援從頭訓練(不帶預訓練)一個深度網路模型(如 ResNet18),而且會不斷擴大,足以支援對有效解決識別問題的演算法的研究。

6、動物類的資料集中,為什麼要收集吃、躺、顏色等非背景屬性,有什麼考慮?

選擇NICO的上下文的時候,我們特別注意收集搜尋引擎上與主體物件出現頻率最高的聯想詞,這樣可以保證每個(主體物件,上下文)都能收集到足夠多的資料樣本,保持資料集的規模,適應不同的實驗設定。

7、有些不同標籤的影象場景存在重疊,比如狗吃飯的時候也可能在家,這種重疊有什麼影響?

我們特意保證不同主體的上下文之間有所交叉,這樣可以更好地適應不同的實驗設定,讓研究人員更靈活方便地設計實驗,詳情請見NICO支援的典型場景部分。

8、後續NICO資料集還會有什麼樣的計劃?

後續NICO會進一步增加資料集的規模,包括類別、上下文的種類、資料量,提高影象質量、進一步去噪過濾,並嘗試細化上下文或者提供更多的影象標註。

三、目前利用NICO資料集做了哪些任務,有沒有一套完整的流程,包括定義明確的指標、實際執行、結果。

請參見我們提供的補充材料,我們明確了幾個NICO支援的經典的Non-I。I。D。場景,評價Non-I。I。D。程度的指標,以及指標下如何調節不同場景的Non-I。I。D。程度。

我們還在一些場景裡,基於一個類似AlexNet的CNN結構,進行了影象分類問題的實驗研究。實驗結果說明,Non-I。I。D。對一般CNN結構的泛化能力的影響很大,說明傳統CNN並不完全符合人類的智慧認知。一個簡單的causal模組(global balancing,CNBB)可以提升泛化能力。

清華構建新一代資料集NICO,定義影象分類新標準

比例偏差:10個動物類別的分類準確率

清華構建新一代資料集NICO,定義影象分類新標準

成分偏差:9個交通工具類別的分類準確率

清華構建新一代資料集NICO,定義影象分類新標準

成分偏差+比例偏差:9個交通工具類別的分類準確率

四、新一代資料集的構建模式

ImageNet資料集是李飛飛花錢請人標註的,Spider資料集是耶魯大學在Text-to-Sql上很有名的一個數據集 ,但是對專業知識要求很高。

1、如果構建新一代資料集碰到類似問題,該怎麼解決成本和專業度問題?

可以考慮把一整個大資料集拆分成有重疊度的多個小資料集,藉助社群的開源力量或者眾包的方式,標註和構建資料集。

2、是花錢找人構建還是靠社群的開源力量?

藉助社群的開源力量。