CurriculumNet:基於大規模網路影象的弱監督學習演算法

碼隆科技發表於2018-10-15

我們日常進行的大多數影象搜尋行為,獲取的結果中都充滿了噪聲。比如,當你搜尋“酒”的時候,可能就會發現一些奇怪的東西……

CurriculumNet:基於大規模網路影象的弱監督學習演算法

這樣搜尋出的資料集,要用來訓練一個識別“酒”的模型,在大多數人的認知裡是很難的。因為要訓練出一個高效能的 CNN 模型,需要大批量經過人工標註的純淨資料。所謂“人工智慧”的“先人工,後智慧”,前期大規模的人力和時間投入都在對影象的人工標註上。而尤其在需要比較專業的資料集時,無論是圖片收集還是人工標註,都需要相當的專業知識作為支撐。

對此,碼隆科技創新地提出了“弱監督學習”演算法 CurriculumNet,在資料沒有或者只有少量人工標註和清洗的情況下,仍然能利用這些噪聲資料訓練出一個高效能的深度學習模型。在包括WebVision、ImageNet、Clothing-1M 和 Food-101 的四項基準測試中,碼隆的方法都獲得了最優的效能。該論文發表於最近的 ECCV 2018。

目錄

1       摘要

2       引言

3       方法介紹

4       實驗

    4.1      實驗資料集

    4.2      實驗結果

5       總結

1、摘要

我們提出一種簡單且有效的弱監督學習方法,它能夠在大規模的網際網路影象上訓練高效能的深度卷積神經網路。這些網際網路影象是通過使用粗略地文字查詢從網際網路上抓取的,且沒有任何人工清洗或者標註。我們在課程學習的理論基礎上設計了一種新的學習策略,能夠有效處理這些含有大量帶錯誤標籤的網際網路圖片資料。我們通過使用特徵空間中的分佈密度評估資料的複雜性來設計新的學習課程,並以無監督的方式對這些資料按照複雜性進行排序。這樣就可以在大規模網路影象中有效地實施課程學習,從而訓練一個高效能的 CNN 模型,有效地降低噪音標籤資料的負面影響。更重要的是,我們通過實驗證明,那些含有大量噪聲標籤的影象資料可以被看成一種正則化,用來提高 CNN 模型的泛化能力。

我們的方法在四個基準資料庫的測試中都獲得了最優的效能,包括 WebVision、ImageNet、Clothing-1M 和 Food-101。對於多種模型的融合,我們在 1000 種類別影象分類任務的 WebVision 2017 挑戰賽中以 5.2% 的 Top-5 錯誤率獲得了冠軍。這個成績比第二名高出 2.5%,優勢明顯。

2、 引言

深度卷積網路正在促進許多計算機視覺任務的快速發展,並且在影象分類、目標檢測、語義分割等方向取得非常好的效果。之前的方法都是利用全監督學習方法來學習大規模人工標註的資料,如 ImageNet、MS-COCO 和 PASCAL VOC 等,從而使網路學習到強大的深度視覺特徵。 因此,大規模且經過人工標註的純淨資料對於訓練一個高效能 CNN 模型是至關重要的。但是,獲取大量且乾淨的標註資料是非常昂貴且耗時,這使得深度模型的能力受到資料集大小的制約。另外,對於一些比較專業的資料集的收集和標註是非常困難的,它對標註者的專業知識有一定的要求,而且由於不同標註者的之間思維差異性,他們所提供的標籤可能不一致。

一種常用的解決方案是使用網路作為資料和監督的來源,通過輸入查詢資訊(如文字資訊),可以從網際網路自動收集大量網路影象。這些查詢資訊可被視為影象的自然標籤並對收集的資料提供弱監督資訊,這是一種近乎可以無限增加資料集規模的低成本方法。但是,這些標註是非常不可靠的,並且通常包含大量錯誤的標籤。過去的工作表明,這些噪聲標籤可能會嚴重影響深度神經網路 在影象分類上的效能。

另一種解決方案是設計噪聲清理方法,旨在消除或糾正訓練資料中樣本的錯誤標註。 然而,噪聲清理方法經常會遇到難以區分噪聲樣本與難樣本的問題,而難樣本對於提高模型效能是至關重要的。此外,半監督學習方法則通過使用少量手動標記的資料,然後將在該少量資料上訓練的模型推廣到沒有人工標註的大資料集。

與這些方法不同,我們的方法不去清除或者矯正這些錯誤標籤。 相反,我們通過設計新的學習訓練策略來提升標準卷積神經網路模型的效能。

在這項工作中,我們研究卷積網路如何從含有大量噪聲標籤的大規模影象中學習高效能深度學習模型的問題,例如 WebVision 2017 挑戰賽,這是一個與 ImageNet 類別相同的 1000 類影象識別任務,但標籤僅由 ImageNet 的 1,000 個語義概念生成的查詢文字提供,沒有任何人工清理和標註。 圖 1 給出了幾個影象和類別示例。

CurriculumNet:基於大規模網路影象的弱監督學習演算法

圖 1 來自於 WebVision 資料集的四個類影象樣:Carton、Dog、Taxi 和 Banana

我們的目標是提供一種能夠有效處理大量噪音標籤和資料不平衡的解決方案。在訓練影象的數量足夠大的情況下,我們設計了一系列實驗來研究噪聲標籤對深度網路效能的影響。我們設計一個簡單且非常高效的訓練策略,它能夠利用含有大量噪聲的標籤來提高卷積神經網路模型的泛化能力和識別效能。我們從實驗發現,在使用我們的方法時,同時使用乾淨和含有噪聲的資料來訓練 CNN, 比僅使用乾淨的資料來訓的效果要好。

這項工作的主要貢獻有以下三點:

(1) 我們利用課程學習原理,提出 CurriculumNet 模型。 這使我們能夠利用含有大量噪聲標籤的網路影象來訓練高效能 CNN 圖片識別模型,這些標籤是在沒有任何人工標註和清理的情況下獲得的。

(2) 我們通過使用分佈密度聚類演算法,以無監督的方式對資料複雜性進行排序,並以此來設計一個新的學習課程。這可以通過直接探索含有大量噪聲的標籤來有效實施針對此任務的課程學習。

(3) 我們設計的CurriculumNet很多公開基準資料集上進行實驗和測試。這些公開資料集包括WebVision、ImageNet、Clothing1M 和 Food101。CurriculumNet 在這幾個評測集上都獲得了最優的識別結果。 最近,用CurriculumNet 的方法訓練多個模型,在多種模型組合的情況下,我們以 5.2% 的 Top-5 錯誤率在 CVPR 2017 的 WebVision 挑戰賽上獲得最佳效能,並且結果大幅超越其他參賽隊伍。

3、方法介紹

我們的流程如圖 2 所示。它包含三個主要步驟:(i)初始特徵生成;(ii)課程結構設計;(iii)課程學習。首先,我們使用整個訓練資料庫來學習一個初始模型,然後用它來提取訓練集中每張影象的深度表示 [ 例如,全連結層(Fully-Connected Layer)特徵 ]。這個初始模型旨在粗略地將所有訓練集影象對映到某個特徵空間,可以發現每個類別中影象在特徵空間中潛在的結構和關係,從而提供了一種定義影象複雜性或者標註準確性的方法。我們通過這種定義的複雜性規則來設計課程學習的策略和流程,其中每個類別的所有影象都按照不同的複雜程度排列成多個子集(比如,3個子集在我們的實驗中)。

在設計好的課程的基礎上,我們採用課程學習的方法來訓練CNN分類模型。 首先,我們從一個簡單的子集開始訓練 CNN,這個子集是通過我們複雜性規則定義出來相對乾淨的資料。然後,通過逐漸增加複雜度越來越高的資料到訓練過程中,來不斷提升模型的效能。

CurriculumNet:基於大規模網路影象的弱監督學習演算法

圖 2

課程學習方法最初是 Bengio 在 2009 年提出的,它最近被應用於處理噪聲等異常情況。這種學習想法的主要作用之一是為我們的任務設計一個高效的課程。設計的課程應該能夠發現有意義的大規模噪聲資料的區域性結構,我們的目標是設計一個有效的課程,能夠以無監督學習的方式將訓練影象按照從簡單到複雜的順序排列在特定的特徵空間中。我們應用基於密度的聚類演算法,使用資料分佈密度來評價訓練樣本的複雜性。這與之前開發的用於處理小規模或中等規模資料集中的噪聲標籤的方法不同,我們設計了一種新的課程結構,讓我們的訓練策略可以應用於標準的 CNN 架構,在大規模影象資料集上獲得很好的效能,例如,WebVision 資料庫包含超過 2,400,000 張帶有大量錯誤標籤的網路影象。

具體而言,我們的目標是將整個訓練集分割成多個子集,這些子集從具有乾淨的影象和更可靠標籤的簡單子集到包含大量含噪聲或者錯誤標籤的影象進行排序。 受到最近一些聚類演算法的啟發,我們在資料庫的每個類別中執行以下步驟。

我們使用初始模型的全連線層特徵將每個類別中的所有影象投影到一個深度特徵間,這是一個在整個訓練集上訓練的 Inception\_v2 結構,對每張影象計算CurriculumNet:基於大規模網路影象的弱監督學習演算法,然後我們計算歐幾里得距離矩陣CurriculumNet:基於大規模網路影象的弱監督學習演算法按照:

CurriculumNet:基於大規模網路影象的弱監督學習演算法

其中 n 是當前類別的影象數量,CurriculumNet:基於大規模網路影象的弱監督學習演算法表示CurriculumNet:基於大規模網路影象的弱監督學習演算法CurriculumNet:基於大規模網路影象的弱監督學習演算法的相似度(一個較小的CurriculumNet:基於大規模網路影象的弱監督學習演算法意味著CurriculumNet:基於大規模網路影象的弱監督學習演算法CurriculumNet:基於大規模網路影象的弱監督學習演算法相似度更大)。然後我們對每張圖的特徵CurriculumNet:基於大規模網路影象的弱監督學習演算法計算區域性密度CurriculumNet:基於大規模網路影象的弱監督學習演算法

CurriculumNet:基於大規模網路影象的弱監督學習演算法

其中

CurriculumNet:基於大規模網路影象的弱監督學習演算法

其中為了確定CurriculumNet:基於大規模網路影象的弱監督學習演算法首先將CurriculumNet:基於大規模網路影象的弱監督學習演算法個在CurriculumNet:基於大規模網路影象的弱監督學習演算法中的距離從小到大排序,然後選擇排在第 k% 的數作為CurriculumNet:基於大規模網路影象的弱監督學習演算法。當 k 介於 50 到 70 之間時結果不受影響,我們在之後的所有實驗中根據經驗固定 k=60。CurriculumNet:基於大規模網路影象的弱監督學習演算法是與 i 的距離小於CurriculumNet:基於大規模網路影象的弱監督學習演算法的樣本個數。假設一組具有正確標籤的乾淨影象通常具有相似的視覺外觀,並且這些影象被對映成彼此緊密靠近,這就自然地形成了一個較大的區域性密度。 相反,噪聲影象通常具有顯著的視覺多樣性,那麼它們就形成了密度值較小的稀疏分佈。

然後我們對每個影象特徵CurriculumNet:基於大規模網路影象的弱監督學習演算法定義一個距離CurriculumNet:基於大規模網路影象的弱監督學習演算法

CurriculumNet:基於大規模網路影象的弱監督學習演算法

如果存在一個特徵CurriculumNet:基於大規模網路影象的弱監督學習演算法使CurriculumNet:基於大規模網路影象的弱監督學習演算法CurriculumNet:基於大規模網路影象的弱監督學習演算法等於CurriculumNet:基於大規模網路影象的弱監督學習演算法其中CurriculumNet:基於大規模網路影象的弱監督學習演算法是在所有資料中距離 i 最近的,如果CurriculumNet:基於大規模網路影象的弱監督學習演算法是所有密度中的最大值,CurriculumNet:基於大規模網路影象的弱監督學習演算法是 i 和距離 i 最遠點之間的距離。並且具有最大區域性密度的點就具有最大的CurriculumNet:基於大規模網路影象的弱監督學習演算法,這個點被選為這一類的聚類中心。由於我們已經計算出該類別的聚類中心,因此與聚類中心的資料點越近,擁有正確標籤的置信度就越高。因此,我們簡單地進行 k 均值演算法,根據資料點到聚類中心的距離CurriculumNet:基於大規模網路影象的弱監督學習演算法,將資料點分成若干簇,其中 c 是聚類中心。圖 3 是來自 WebVision 資料集中Cat 的類別的所有影象的CurriculumNet:基於大規模網路影象的弱監督學習演算法圖。

CurriculumNet:基於大規模網路影象的弱監督學習演算法

圖 3 來自 WebVision 資料集的 Cat 類別中所有影象的CurriculumNet:基於大規模網路影象的弱監督學習演算法

在我們的實驗中,每個類別都生成三個聚類,並將每個聚類中的影象用作子資料集。由於每個聚類都有一個密度值來衡量其內的資料分佈,以及不同聚類之間的關係。這很自然地提供了一種直接的方式來定義子集的複雜性,為設計課程結構提供了一個簡單的規則。首先,具有高密度值的子集表示所有影象在特徵空間中彼此接近,說明這些影象具有高度的統一性。我們假設這個子集中大多數標籤是正確的,並將這個子集定義為乾淨資料。其次,密度值較小的子集意味著影象的視覺特徵差異較大,這可能包括很多與這個類別不太相關的影象。這個子集被認為是噪聲資料,通常含有大量的錯誤標籤。因此,我們在每個類別中生成三個子集,按照乾淨、噪聲到高噪聲排列,資料的複雜程度越來越高。每個類別都有相同數量的子集,我們將它們組合到所有類別中,這就形成了我們的最終課程結構,在乾淨、嘈雜和高度嘈雜的子集上依次訓練。圖 3 顯示來自 WebVision 2017 資料集中貓類別的三個子集的資料分佈,以及樣本影象。可以發現,來自乾淨子集的影象具有非常相近的視覺特徵,而高度嘈雜的子集包含許多與乾淨子集完全不同的隨機影象。

深度學習的過程通過遵循資料本身的結構來執行。 設計的課程結構能夠以無監督的方式發現基於視覺特徵的基礎資料結構。 我們設計了一種依賴於這種直覺的學習策略:學習和訓練任務按難度越來越大排序,深度學習模型在輕鬆的任務得到處理後,才再進入訓練更困難的任務。 我們設計一個多階段的學習策略,可以有效地訓練標準的神經網路,並且增強了處理大量錯誤標籤的能力。

CurriculumNet:基於大規模網路影象的弱監督學習演算法

圖 4  課程學習模型訓練流程圖

圖 4 描述了課程學習的詳細過程,整個模型訓練過程通過逐漸增加訓練子集的資料複雜度,分三個階段進行訓練。

首先,使用標準的CNN結構,例如 Inception_v2。該模型開始僅使用乾淨的資料子集進行訓練,每個類別中的影象都具有非常相近的視覺特徵。這使得模型可以從每個類別中學習基本且清晰的視覺資訊,為之後的訓練過程提供基本模型。

其次,當第一階段訓練的模型收斂後,我們通過新增具有更強視覺多樣性的噪聲資料來繼續模型的訓練,允許模型從難樣本中學習具有更強區別性的視覺特徵。雖然噪聲資料可能包含不正確的標籤,但它大致保留了資料的主要結構,並且難樣本通常含有更強的差異性特徵,從而提升模型效能。

再次,使用包含大量不正確標籤,且視覺不太相關影象的高噪聲資料來進一步訓練該模型。通過前兩階段的訓練,模型能夠學到深層特徵已經能夠捕捉資料的基本結構。我們觀察到,在最後階段新增的高噪聲子集資料不但不會對學習的資料結構產生負面影響。相反,它提高了模型的泛化能力,並且通過正則化的方式避免模型對乾淨資料的過度擬合。第三階段訓練收斂後,獲得最終的深度模型。

4、實驗

4.1 實驗資料集

我們在四個公開資料集上評估了我們的方法。這四個資料集分別為 WebVision、Clothing 1M、Food101 和 ImageNet。在我們的實驗中,我們採用BN-Inception 網路結構作為我們 CurriiculumNet 的基準網路結構。我們在 BN-Inception 上比較了 多種訓練方案的效能。 此外,我們將 CurriculumNet 的效能 與最新的學術方法進行了比較,其中包括 CleanNet、FoodNet 和 MentorNet,這些方法基本都是研究怎麼從噪音標籤資料中訓練高效能 CNN 模型。

4.2 實驗結果

我們在四個標準的資料集進行了實驗來驗證我們的 CurriculumNet 效能,並與當前其他方法最好的結果進行了對比。其中 為了驗證我們 CurriculumNet 處理噪聲資料的能力,我們將 Food101 中 20%的樣本標籤重構成噪聲標籤。實驗結果如表 1,可以發現我們的 CurriculumNet 在與其他方法對比的時候有明顯優勢。

CurriculumNet:基於大規模網路影象的弱監督學習演算法

表 1 我們在四個公開資料集中的實驗結果

為了驗證我們這個方法在更大資料集上的效能,我們將 WebVision 和 ImageNet 兩個資料庫合併成一個包含 300 萬以上樣本的噪聲資料。我們在這個合併資料庫上驗證我們的 CurriculumNet 效能。實驗結果如表 2 所示,CurriculumNet 不僅在 WebVision 這種噪聲資料集上獲得很好的效能,在 WebVision+ImageNet 這種加入大量標註資料以後的資料集也有不錯的效果。

CurriculumNet:基於大規模網路影象的弱監督學習演算法

表 2 我們探討模型在 WebVision 和 ImageNet 上合集的效果

5、總結

我們提出了一種新的訓練策略 CurriculumNet,它能夠在大規模沒有人工標註的弱監督資料集上訓練出高識別率的 CNN 模型。我們利用課程學習的思想,提出了利用聚類密度測量資料複雜度的新型學習策略。我們通過實驗表明,我們所提出的方法 CurriculumNet 具有強大的能力來處理大量噪聲標籤資料。該方法不僅減小了噪聲標籤的負面影響,還能利用高噪聲資料來提高模型泛化能力。我們提出的 CurriculumNet 在 WebVision、ImageNet、Clothing 1M 和 Food-101 四個基準資料集上實現了當前最好的識別結果。我們方法通過模型融合在 WebVision Challenge 2017 中獲得了 5.2%的 Top 5 錯誤率,其效能大大優於其他參賽隊伍。

相關文章