作者 | 王語霖
來源 | AI科技評論
知圈 | 進“HMI社群”請加微信15221054164,備注HMI
今天介
紹一篇剛剛被IEEE Transactions on Pattern Analysis and Machine Intelligence (
T-PAMI,
IF=17.86
)錄用的一篇論文:
《Regularizing Deep Networks with Semantic Data Augmentation》
。
其會議版本發表在NeurIPS 2019:https://arxiv.org/abs/1909.12220
代碼和預訓練模型已開源:https://github.com/blackfeather-wang/ISDA-for-Deep-Networks
論文第一作者:
王語
霖
,清華大學自動化系直博二年級,導師為吳澄院士和黃高助理教授。
此前于北京航空航天大學自動化學院獲工學學士學位。
研究興趣為深度學習模型的高效訓練和推理方法。
在T-PAMI、NeurIPS、ICLR等國際一流期刊、會議上以第一作者發表學術論文。
在計算機視覺任務中,數據擴增是一種基于較少數據、產生大量訓練樣本,進而提升模型性能的有效方法。傳統數據擴增方法主要借助于圖像域的翻轉、平移、旋轉等簡單變換,如圖1中第一行所示。我們的工作則提出了一種隱式語義數據擴增算法:ISDA,意在實現對樣本進行更為「高級」的、「語義」層面的變換,例如改變物體的背景、顏色、視角等,如圖1中第二行所示,注意這些變換并不改變任務標簽。具體而言,ISDA具有幾個重要的特點:
1、與傳統數據擴增方法高度互補,有效地增進擴增多樣性和進一步提升性能。
2、巧妙地利用深度神經網絡長于學習線性化表征的性質,在特征空間完成擴增過程,無需訓練任何輔助生成模型(如GAN等),幾乎不引入任何額外計算或時間開銷。
3、直接優化無窮擴增樣本期望損失的一個上界,最終形式僅為一個全新的損失函數,簡單易用,便于實現。
4、可以廣泛應用于全監督、半監督圖像識別、語義分割等視覺任務,在ImageNet、Cityscapes等較大規模的數據集上效果比較明顯。
圖1:傳統數據擴增與語義數據擴增的比較
數據擴增是一種非常有效的提升深度學習模型泛化性能的方法,一般而言,我們會在輸入空間進行一些特定的變換,以基于有限的數據產生大量的樣本用于訓練,如圖2中對汽車圖像進行旋轉、左右翻轉、放縮、裁剪等。
其效果往往非常顯著,例如,在圖2右側柱狀圖中,我們展示了在相同的實驗設置(優化器、訓練時長等)下,在 CIFAR 圖像識別數據集上,是否進行數據擴增所導致的性能差異。在 CIFAR-10 數據集上,測試誤差從 13.6% 降至 6.4%;在 CIFAR-100 數據集上,測試誤差從 44% 降至 27%。
圖2:傳統數據擴增簡介
本質上,數據擴增的效果來源于促進模型對于我們定義的這些變換的不變性。然而,從生物體的角度出發,視覺的不變性并不僅限于簡單的幾何變換,而是更多地體現在更為高級的語義層面。
例如在圖3中,當我們改變汽車的顏色、視角和背景時,我們仍然可以辨識出,這是一輛汽車。這就啟發我們:能不能將這些不改變類別主體的語義變換引入到數據擴增中?
圖3:語義數據擴增簡介
那么,如何實現這樣的語義數據擴增呢?顯然,一個最簡單的方法就是在數據集上訓練一個或多個生成模型,如GAN,去捕捉不同類別的語義分布,再從中得到大量擴增后的樣本,但這樣做有幾個明顯的弊端:
(1)這一方法比較復雜,訓練GAN需要設計特定的模型和配套算法,實現起來比較困難;
(2)時間和計算開銷較大,一方面,訓練GAN需要消耗大量額外的時間和計算資源,另一方面,將GAN應用于產生擴增樣本將引入額外的推理開銷,并可能減慢主要模型的訓練;
(3)根據我們的實驗結果,這一方法效果比較有限(關于這一點的詳情,請參見我們的paper,簡而言之,GAN的訓練同樣依賴于比較多的數據,于是有一個悖論:數據少->GAN難以訓練->擴增效果不好;數據多->雖然GAN可以訓練好->但是與直接用這些數據訓練模型相比,GAN難以提供超出數據集范疇的信息,效果有限)。
圖4:基于生成模型的語義數據擴增
事實上,我們可以借助卷積神經網絡的一個非常有趣的性質:之前的研究,由于我們往往用線性分類器約束網絡的輸出,深度網絡的特征空間往往是線性化的,輸入空間中不同樣本之間復雜的語義關系傾向于表現為其對應深度特征之間的簡單空間線性關系。換言之,深度特征空間中的一些方向是對應于特定語義變換的。
以Deep Feature Interpolation為例(圖5),若我們任意收集一定數量藍色汽車和紅色汽車的圖片,取得前者深度特征均值指向后者深度特征均值的向量,則這一向量就代表了“將汽車的顏色由藍色變為紅色”這一語義變換。
對于任意一張全新的藍色汽車圖片,我們將其深度特征沿這一方向平移后,就可以得到將這輛汽車的顏色換為紅色后,所得圖片對應的深度特征(這一方法的合理性證明自,此特征可以以特定方式映射回圖像空間)。
圖5:借助深度特征空間的圖像語義變換 —— Deep Feature Interpolation
我們的工作受到了這一現象的啟發,在深度特征空間中,我們為訓練樣本尋找改變顏色、視角、動作和背景等不影響類別標簽的語義變換所對應的方向,通過將訓練數據的深度特征在這些方向上平移,低成本地實現多樣化的語義數據擴增,以彌補傳統擴增方法在語義不變性上的不足。
為了實現前文所述的目標,一個顯而易見的問題是:如何在深度特征空間中尋找這些“有意義的語義方向”?
Deep Feature Interpolation中所采用的的方法是人工收集對應于具體變換的特定數據,再對語義方向進行標注。顯然,這一思路是不適用于數據擴增的,其一,對于每一類別甚至每一樣本,可行的語義方向都是有所不同的,對每一變換人工收集數據成本巨大;其二,可能的語義變換數量極多,通過預先定義、人工尋找的方只能找到非常有限的少數方向。
為了解決這兩點不足,一個可能的選擇是:通過隨機采樣得到擴增所需的語義方向。這樣一方面節省了人工標注的開銷,另一方面可以保證語義方向的在特征空間中連續分布,發現更多潛在的語義方向,從而提升擴增的多樣性。
但如此一來,采樣的方式就變得尤為重要,考慮到特征空間維度極高(例如ResNet-50在ImageNet上產生2048維的特征空間,即便以二值化的假設近似,可能的取值也有
種),若完全隨機采樣,得到的語義方向極有可能是沒有任何意義的,如圖6所示,將汽車的圖片沿“飛翔”或是“變老”的方向平移是完全沒有意義的。
我們的工作巧妙地利用了已有的訓練數據。具體而言,每一類別的樣本都是有其類內特征分布的,實際上這種數據分布隱含了這類數據可能變化的方向。
為了說明這一點,我們首先考慮下面這一個例子(圖7)。“鳥”這一類的樣本在“飛翔”這一方向上具有較大的方差,因為訓練數據中同時包含“飛翔”和“不飛翔”的鳥,相對而言,其在“變老”這一方向上方差幾乎為0,因為數據中不可能存在“老”或“年輕”的鳥。同理,數據中存在“老”或“年輕”的人,而不存在“飛翔”的人,因此“人”這一類的樣本在“變老”這一方向上應當有較大的方差,在“飛翔”這一方向上方差幾乎為0。總而言之,在多維空間中,我們可以利用類內特征分布刻畫某類圖像可能在哪些方向上有語義的變化。
圖7:類內深度特征分布
出于這一點,我們通過統計每一類別的類內協方差矩陣,為每一類別構建了一個零均值的高斯分布,進而從中采樣出有意義的語義變換方向,用于各自類別內的數據擴增,以此來近似手工標注的過程,以取得正確性、高效性、多樣性的良好權衡,其示意圖如圖8所示,關于具體的技術細節(例如協方差估計方法),請參閱我們的paper。
圖8:基于類內分布的高斯采樣
在數學上講,給定第
個樣本對應的深度特征
,其擴增后的形式應當是一個以
為均值的正態分布隨機變量
:
圖9:語義數據擴增的數學形式
其中
為一常數。給定這一形式后,一個來源于傳統數據擴增的自然思路是從隨機變量
的分布中采樣
次,優化其平均損失:
其中
為樣本數目,
為
對應的標簽,
為網絡最后一線性分類層的參數,為類別數目,為網絡參數。但事實上,較大、樣本數目較多、特征空間維度較高時,采樣 次并計算損失所引入的額外訓練開銷同樣是不容小視的。
因此,我們考慮采樣無窮次,即
的情況:
此時,我們實質上得到了在擴增分布上的期望損失。對于傳統數據擴增方法而言,這一期望損失是難以計算的。但是,由于我們的擴增操作是在特征空間完成的,在數學上,我們可以方便的對上式進行處理。通過利用 Jensen 不等式,我們可以得到其一個易于計算的上界:
通過將這一上界作為我們的實際優化目標,我們得到了一個簡單易行且高效的語義數據擴增算法,如下所示:
我們的算法被稱為Implicit Semantic Data Augmentation(ISDA,隱式語義數據擴增) ,其最有趣的一點是,我們從語義數據擴增的角度出發,得到的算法最終卻可以歸化為一個全新的損失函數。除標準的圖像識別外,本算法也可應用于任何使用Soft-Max交叉熵損失的視覺任務,例如圖像分割等。
事實上,除了上述介紹的基本的監督學習情境外,ISDA也可以在一致性正則(consistency regularization)的思路下拓展至半監督學習,其最終算法同樣體現為一個全新的損失函數(期望KL散度的一個上界),且同樣可以與現有方法實現很好的互補。
關于這一點的細節,由于空間所限不在此贅述,請參閱我們的paper~
ImageNet 圖像識別,在ResNet系列網絡上的提升效果普遍在1%左右。
圖10:ImageNet 圖像識別效果
與效果較佳的傳統數據擴增方法有效互補(RA、AA分別代表RandAugment和AutoAugment)。
圖11:與 state-of-the-art 的傳統數據擴增方法有效互補
圖12:半監督學習的實驗結果
Cityscapes 語義分割,可以在PSPNet[6]和DeepLab-V3[7]的基礎上將mIOU提升1%以上。
圖13:Cityscapes 語義分割的實驗結果
為了證實我們的確實現了語義數據擴增,我們利用BigGAN[8]在ImageNet上進行了可視化實驗,其結果如下圖所示。其中 Augmented 中的圖片為ISDA擴增的結果,Randomly Generated 中的圖片為BigGAN隨機生成的圖片。
可以看到,ISDA所改變的語義包括狗的動作、鳥的背景、帆船的遠近及位置、車的視角、熱氣球的顏色等,并不改變類別標簽,且可以顯著地看出,這些擴增得到的樣本分布與原圖片更為接近,而與類內隨機樣本差距較大。這些觀察與我們前文所述的假設是高度吻合的。
最后總結一下,在我個人看來,這項工作的主要價值在于其為數據擴增算法的設計帶來了三個啟發性的思路:
(2)利用特征空間的性質,對深度特征進行數據擴增;
(3)從期望損失的形式出發,向大家展示了數據擴增不一定是隨機化的方法,亦可以體現為一個確定的形式,例如損失函數。
如有任何問題,歡迎留言或者給我發郵件,附上我的主頁鏈接:
https://www.rainforest-wang.cool
1. Upchurch P, Gardner J, Pleiss G, et al. Deep feature interpolation for image content changes[C]//Proceedings of the IEEE conference on computer vision and pattern recognition. 2017: 7064-7073.
2. Bengio Y, Mesnil G, Dauphin Y, et al. Better mixing via deep representations[C]//International conference on machine learning. 2013: 552-560.
3. Li M, Zuo W, Zhang D. Convolutional network for attribute-driven and identity-preserving human face generation[J]. arXiv preprint arXiv:1608.06434, 2016.
4. Cubuk E D, Zoph B, Shlens J, et al. Randaugment: Practical automated data augmentation with a reduced search space[C]//Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition Workshops. 2020: 702-703.
5. Cubuk E D, Zoph B, Mane D, et al. Autoaugment: Learning augmentation policies from data[J]. arXiv preprint arXiv:1805.09501, 2018.
6. Zhao H, Shi J, Qi X, et al. Pyramid scene parsing network[C]//Proceedings of the IEEE conference on computer vision and pattern recognition. 2017: 2881-2890.
7. Chen L C, Papandreou G, Schroff F, et al. Rethinking atrous convolution for semantic image segmentation[J]. arXiv preprint arXiv:1706.05587, 2017.
8. https://github.com/ajbrock/BigGAN-PyTorc