預、自訓練之爭:谷歌說預訓練雖火,但在標註數據上自訓練更有效

2021-01-10 澎湃新聞

選自arXiv

作者:Quoc V. Le等人

機器之心編譯

參與:魔王、杜偉

預訓練是當前計算機視覺領域的主要範式,但發現,預訓練對目標檢測和分割任務的影響有限。因而,重新探究預訓練和自訓練的效果成為一個非常重要的課題。在這篇谷歌團隊的論文中,Quoc V. Le 等研究者發現,當具有大量的標註數據時,自訓練的運行效果要優於預訓練,並在 COCO 檢測和 PASCAL 分割任務上實現了 SOTA 結果。

眾所周知,預訓練是計算機視覺領域的主導範式,研究人員也熱衷於預訓練。

但是,預訓練真的有用嗎?

早在 2018 年,何愷明等人在論文《Rethinking ImageNet Pre-training》中重新思考了 ImageNet 預訓練模型。他們發現這種利用預訓練模型抽取「通用」特徵,並藉此解決大多數視覺任務的方法是值得質疑的。因為即使在比 ImageNet 還大 3000 倍的數據集上進行預訓練,它們對目標檢測任務的性能提升仍然不是很大。

近日,谷歌大腦研究團隊首席科學家 Quoc V. Le 公布了其團隊的一項新研究,主題是「重新思考預訓練和自訓練」。在這篇論文中,谷歌研究者展示了當標註數據很多時,預訓練不起作用。相比之下,當標註數據很多時,自訓練可以運行良好,並在 PASCAL 分割和 COCO 檢測數據集上實現 SOTA 效果。

關於自訓練,谷歌團隊先前已經展開相關研究,分別是在 ImageNet 數據集上實現 SOTA 的 Noisy Student Training 和在 LibriSpeech 數據集上實現 SOTA 的 Noisy Student Training for Speech。

而這項新研究則是對先前研究成果的延續,該研究發現:在大型數據集上取得優秀結果需要自訓練(w/Noisy Student)。

接下來,我們來看這項研究的具體內容。

論文連結:https://arxiv.org/pdf/2006.06882.pdf

預訓練是計算機視覺領域中的主要範式。例如,監督式 ImageNet 預訓練常用於初始化目標檢測和分割模型的主幹網絡。但是,何愷明等人的研究展示了一個令人驚訝的結果,即 ImageNet 預訓練對 COCO 目標檢測任務的影響有限。

於是,谷歌大腦的研究人員將自訓練作為另一種在相同設置上利用額外數據的方法進行研究,並將其與 ImageNet 預訓練進行對比。該研究展示了自訓練的通用性和靈活性,並發現以下三點洞見:

更強的數據增強和更多標註數據,卻使得預訓練的價值降低;

與預訓練不同,在提供更強大的數據增強時,自訓練通常起到積極作用,不論是在低數據機制還是高數據機制下;

在預訓練有用的情況下,自訓練比預訓練更有用。

例如,在 COCO 目標檢測數據集上,研究人員使用 1/5 的標註數據時,預訓練起到積極影響,但當使用全部標註數據時,準確率反而下降。而自訓練在所有數據集規模下都能帶來 1.3 至 3.4AP 的性能提升,即自訓練在預訓練不起作用的場景下依然有效。在 PASCAL 分割數據集上(該數據集比 COCO 小很多),儘管預訓練起到很大的作用,但自訓練帶來的性能提升更大。

在 COCO 目標檢測任務中,自訓練實現了 54.3AP,相比最強大的預訓練模型 SpineNet 提升了 1.5AP;在 PASCAL 分割任務中,自訓練實現了 90.5 mIOU,相比之前的最優結果(來自 DeepLabv3+)提升了 1.5%。

如何對比預訓練和自訓練

方法和控制因子

這部分涉及數據增強、預訓練和自訓練三個方面。

1. 數據增強

該研究使用四種適用於目標檢測和分割任務的不同數據增強策略,分別是:FlipCrop、AutoAugment、具備更高 scale jittering 的 AutoAugment 以及具備更高 scale jittering 的 RandAugment。(下文中,這四種數據增強策略分別寫作 Augment-S1、Augment-S2、Augment-S3 和 Augment-S4。)

2. 預訓練

為了評估預訓練的效果,研究者對不同質量的 ImageNet 預訓練模型檢查點進行了研究。此外,為了控制模型容量,所有檢查點均使用同樣的模型架構,不過由於訓練方法不同,它們在 ImageNet 上的準確率有所不同。

該研究使用 EfficientNet-B7 架構 [51] 作為預訓練的強基線方法。EfficientNet-B7 架構有兩個可用的檢查點:1)使用 AutoAugment 訓練的 EfficientNet-B7 檢查點,它在 ImageNet 上的 top-1 準確率為 84.5%;2)使用 Noisy Student 方法訓練的 EfficientNet-B7 檢查點,它利用額外 300M 無標註圖像,實現了 86.9% 的 top-1 準確率。該研究將這兩個檢查點分別寫為 ImageNet 和 ImageNet++。基於隨機初始化進行訓練的模型即 Rand Init。

下表 1 展示了該研究所用數據增強和預訓練檢查點的定義:

3. 自訓練

該研究使用的自訓練實現基於 Noisy Student training [10],共有三個步驟:1)基於標註數據(如 COCO 數據集)訓練教師模型;2)教師模型基於無標註數據(如 ImageNet 數據集)生成偽標籤;3)訓練學生模型,對人類標籤和偽標籤上的損失進行聯合優化。

學生模型中的主要噪聲來源是數據增強和相關模型之前使用過的其他噪聲擾動方法。

預訓練 VS 自訓練,誰贏?

數據增強和標註數據量對預訓練的影響

谷歌研究人員將前述何愷明的研究進行了擴展,發現了以下幾點:

1. 在使用強大的數據增強時,預訓練會損傷模型性能。

研究者改變數據增強的強度,並分析對預訓練的影響。如下圖 1 左圖所示,在使用標準數據增強(Augment-S1)時,預訓練起到積極作用。但隨著數據增強強度的增加,預訓練的價值逐漸減退。

圖 1:數據增強和數據集規模對預訓練的影響。

2. 更多標註數據反倒會降低預訓練的價值。

研究者分析了標註數據集規模變化時,預訓練的影響。如上圖 1 右圖所示,在低數據機制(20%)下預訓練產生積極影響,但在高數據機制下,預訓練的作用是中性甚至有害的。

這一結果與何愷明的觀察基本一致。不過該研究還有一項新發現:檢查點質量與低數據機制下的最終性能有關(ImageNet++ 在 20% COCO 數據集上的性能最優)。

數據增強和標註數據集規模對自訓練的影響

研究者對自訓練展開分析,並將其與上述結果進行了對比。出於一致性的考慮,研究人員繼續使用 COCO 目標檢測任務,並以 ImageNet 數據集作為自訓練數據源。與預訓練不同,自訓練將 ImageNet 數據集僅作為無標註數據。

1. 自訓練在高數據 / 強數據增強的機制下能夠起到積極作用,而預訓練則不能。

研究者首先分析了數據增強強度對目標檢測器性能的影響。下表 2 展示了使用四種數據增強策略時自訓練的性能變化,並將這些結果與監督學習(Rand Init)和預訓練(ImageNet Init)進行了比較。

表 2:使用四種數據增強方法時自訓練的性能變化,以及與監督學習和預訓練的比較。

2. 自訓練適用於不同規模的數據集,是對預訓練的補充。

研究者接下來分析了不同 COCO 標註數據集規模對自訓練性能的影響。

如下表 3 所示,自訓練在小數據集和大數據集上都對目標檢測器起到積極作用。最重要的是,在 100% 標註數據集規模的高數據機制下,自訓練顯著提升了所有模型的性能,而預訓練則損害了模型性能。

表 3:自訓練可以在所有規模的標註數據集上提升模型性能,而預訓練無法實現該效果。

自訓練在高數據/強數據增強機制下起到積極作用,自監督預訓練則不能

研究者還研究了另一種流行的預訓練方法:自監督學習。

如下表 4 所示,自監督預訓練檢查點在 COCO 數據集上對性能的損害與監督預訓練方法相當。與使用隨機初始模型(randomly initialized model)相比,自監督和監督預訓練模型的性能均下降了 0.7AP。相較於它們,自訓練模型將性能提升了 0.8AP。

此外,儘管自監督學習和自訓練都忽略了標籤,但在使用無標註 ImageNet 數據增強 COCO 數據集方面,自訓練似乎更有效。

表 4:在 COCO 數據集上,自監督 / 監督預訓練與自訓練對模型性能的影響。

探索自訓練和預訓練的極限

研究者結合了數據增強、自訓練和預訓練的相互作用來提升 SOTA 結果,具體如下表 5 和下表 6 所示:

表 5:在 COCO 目標檢測數據集上的結果。

表 6:在 PASCAL VOC 語義分割數據集上的結果。

重新思考預訓練和自訓練

重新思考預訓練和通用特徵表示

計算機視覺的目標之一是開發能夠解決多項任務的通用特徵表示。而該研究實驗通過預訓練和自訓練的性能差異,展示了在分類和自監督任務中學習通用表示的局限性。

研究人員對預訓練性能較弱的直觀見解是,預訓練無法感知要處理的特定任務,因而無法進行適應。而在任務發生變化時,這樣的適應是必要的。例如,適合 ImageNet 的特徵可能缺失對 COCO 數據集有用的位置信息。

谷歌研究者得出的結論是:將自訓練目標和監督學習進行聯合訓練,更有利於適應特定任務。這或許能夠使自訓練產生更普遍的積極影響。

聯合訓練的意義

自訓練機制的優勢在於,它能聯合訓練監督和自訓練目標,從而解決二者之間的不匹配。那麼,聯合訓練 ImageNet 和 COCO 是否也能解決這種不匹配呢?

下表 7 展示了將 ImageNet 分類和 COCO 目標檢測聯合訓練的結果:

表 7:預訓練、自訓練和聯合訓練在 COCO 數據集上的對比結果。

自訓練的優勢:可擴展性、通用性和靈活性

實驗結果表明自訓練具備以下優勢:

靈活性:自訓練可以很好地應對實驗中的每一種設置,如低數據、高數據、弱數據增強和強數據增強。同時自訓練對不同的架構(ResNet、EfficientNet、SpineNet、FPN、NAS-FPN)、數據源(ImageNet、OID、PASCAL、COCO)和任務(目標檢測、分割)都有效;

通用性:對於預訓練失敗或成功的場景,自訓練都能夠應對;

可擴展性:在使用更多標註數據和更好模型時,自訓練也能實現優秀的性能。

機器學習領域的一個苦澀教訓是:在具備更多標註數據、更多算力或更好的監督訓練方法時,大部分方法會失敗,不過這種情況並沒有出現在自訓練這裡。

自訓練的局限性

現有的自訓練方法也有局限。相比基於預訓練模型進行微調,自訓練需要更多算力。根據預訓練模型的質量、數據增強的強度和數據集規模,預訓練可實現 1.3 至 1.8 倍的加速。此外,低數據應用(如 PASCAL 分割)也需要優秀的預訓練模型。

原標題:《預、自訓練之爭:谷歌說預訓練雖火,但在標註數據上自訓練更有效》

閱讀原文

相關焦點

  • 預訓練後性能反而變差,自訓練要取代預訓練了嗎?
    該論文提出了一些關於預訓練的非常有趣的結論。近期,谷歌大腦的研究團隊對這個概念進行了擴展,在新論文《Rethinking Pre-training and Self-training》中,不僅討論了預訓練,還研究了自訓練,比較了在同一組任務當中自訓練與監督預訓練、自監督預訓練之間的差異。
  • 怎樣預訓練GNN能實現更好的遷移效果?北郵等提出自監督預訓練策略
    機器之心報導作者:小舟、陳萍預訓練與微調之間的差異能否緩解?來自北京郵電大學、騰訊、新加坡管理大學和鵬城實驗室的研究者進行了分析研究,並提出了一種針對 GNN 的自監督預訓練策略。
  • NLP預訓練模型大集合!
    近日,Separius 在 GitHub 上列舉了一系列關於 NLP 預訓練模型的近期論文和文章,力求全面地概述 NLP 各個方面的最新研究成果,包括詞嵌入、池化方法、編碼器、OOV 處理等。Vectors:基於 GloVe-like 嵌入的近期結果構建 OOV 表徵,依賴於使用預訓練詞向量和線性回歸可高效學習的線性變換。
  • 閱讀理解得分超越人類:谷歌推出最強預訓練語言理解模型BERT
    近日,谷歌提出了一個新的預訓練語言模型 BERT,該模型橫掃 11 項不同的自然語言處理任務,並在 SQuAD v1.1 的閱讀理解任務上超越人類兩個百分點。該模型究竟有哪些創新?有為什麼會有如此突出的效果呢?這一切需要從語言模型講起。
  • LogME:通用快速準確的預訓練模型評估方法
    在一些研究領域(比如2020年非常熱門的自監督學習),研究成果最終也是以預訓練模型的方式呈現給社區。在深度學習社區裡,一些熱門領域已經積累了成百上千個預訓練模型。面對眾多預訓練模型,我們在進行遷移時,該用哪一個好呢?
  • 預訓練語言模型:還能走多遠?
    我們依然用更大的數據,用更加開放性的架構去推動 PTMs,是不是能夠繼續往前發展?到底是數據重要還是設計好任務更重要? Richard Sutton有個觀點,AI發展到今天,大部分是靠算力的發展來推動的。儘管我們每個人都會加入自己的一些先驗的東西,但最終證明都不如算力的突破來的有效。
  • 百度預訓練模型ERNIE榮登榜首
    雷鋒網AI科技評論了解到,北京時間12月10日,預訓練模型界的「MVP」百度ERNIE,在自然語言處理領域權威數據集GLUE中榮登榜首,並以9個任務平均得分首次突破90大關刷新該榜單歷史,超越微軟MT-DNN-SMART、谷歌T5、ALBERT等一眾國際頂級預訓練模型的表現。
  • 最強NLP預訓練模型!谷歌BERT橫掃11項NLP任務記錄
    選自arXiv作者:Jacob Devlin、Ming-Wei Chang、Kenton Lee、Kristina Toutanova 機器之心編譯參與:近日,谷歌 AI 的一篇NLP論文引起了社區極大的關注與討論,被認為是 NLP 領域的極大突破。如谷歌大腦研究科學家 Thang Luong Twitter 表示這是 NLP 領域的新時代。
  • 【NLP】Facebook提出的預訓練模型BART
    論文選自arXiv作者:Mike Lewis等機器之心編譯參與:魔王、一鳴FaceBook 近日提出了一個名為BART的預訓練語言模型。該模型結合雙向和自回歸 Transformer 進行模型預訓練,在一些自然語言處理任務上取得了SOTA性能表現。近日,Facebook 發表論文,提出一種為預訓練序列到序列模型而設計的去噪自編碼器 BART。BART 通過以下步驟訓練得到:1)使用任意噪聲函數破壞文本;2)學習模型來重建原始文本。
  • [預訓練語言模型專題] MT-DNN(KD) : 預訓練、多任務、知識蒸餾的結合
    底層的詞經過embedding獲得詞級別的表示l1,再經過Transformers通過self-attention獲得上下文語義的表示l2,兩者都是會通過多任務來訓練出的共同的語義表示。再往上就是對應特定任務的頭,經過特定的任務損失函數來進行訓練。MT-DNN數據構造的方式和BERT差不多,開頭[CLS],兩句句子中用[SEP]隔開,結尾[SEP]。上面四種類型任務的數據構造都可以遵循這種方式。
  • 預訓練還需要監督信息嗎?一文了解無監督訓練的優勢
    機器之心報導機器之心編輯部隨著 MoCo 的提出,無監督學習在計算機視覺領域已經取得了不錯的效果,其在七項檢測分割任務上完勝有監督預訓練。這也引起眾多研究者的思考:為什麼不用標籤的學習可以超越有標籤的學習呢?近日,來自微軟亞洲研究院和香港城市大學的一項研究對此作出了解答。
  • 賽爾原創@Findings|中文預訓練語言模型回顧
    我們主要訓練了以下幾種預訓練語言模型:BERT-wwm:我們在谷歌原版中文BERT-base[1]的基礎上,將全詞掩碼技術(Whole Word Masking,wwm)應用在中文環境,即在掩碼語言模型(Masked Language Model,MLM)中使用詞粒度進行掩碼。我們使用了LTP[2]作為中文分詞工具。
  • 20項任務全面碾壓BERT,CMU全新XLNet預訓練模型屠榜(已開源)
    機器之心報導機器之心編輯部BERT 帶來的影響還未平復,CMU 與谷歌大腦提出的 XLNet 在 20 個任務上超過了 BERT 的表現,並在 18 個任務上取得了當前最佳效果。來自卡耐基梅隆大學與谷歌大腦的研究者提出新型預訓練語言模型 XLNet,在 SQuAD、GLUE、RACE 等 20 個任務上全面超越 BERT。
  • 遷移學習及實操(使用預訓練的VGG16網絡)詳解
    按照這種思路,計算機視覺研究人員通常使用預訓練 CNN 來生成新任務的表示,其中數據集可能不夠大,無法從頭開始訓練整個 CNN。另一個常見的策略是採用在 ImageNet 上預訓練好的網絡,然後通過微調整個網絡來適應新任務。
  • 百度預訓練模型ERNIE榮登榜首
    【環球網智能綜合報導】北京時間12月10日,預訓練模型界的「MVP」百度ERNIE再展鋒芒,在自然語言處理領域權威數據集GLUE中榮登榜首,並以9個任務平均得分首次突破90大關刷新該榜單歷史,其超越微軟MT-DNN-SMART, 谷歌T5、ALBERT等一眾國際頂級預訓練模型的表現,實力得到極大彰顯
  • PTMs|2020最新NLP預訓練模型綜述
    深度學習中本質上是一種表示學習,能夠一定程度上避免手動的特徵工程。究其原因,主要得益於深度學習中一系列很強大的特徵提取器,如CNN、RNN、Transformer等,這些特徵提取器能夠有效地捕獲原始輸入數據中所蘊含的特點和規律。「nlp領域的發展比cv領域相對緩慢的原因是什麼呢」?
  • 國產超大規模AI預訓練模型發布 可實現「用圖生文」等任務
    原標題:國產超大規模AI預訓練模型發布,可實現「用圖生文」等任務   六出奇光動地來,西方海國見旌旗。   水心惟有終無底,火內曾無徹上灰。
  • 26億參數,智源、清華開源中文大規模預訓練模型
    機器之心報導機器之心編輯部近日,北京智源人工智慧研究院和清華大學研究團隊聯合發布了以中文為核心的大規模預訓練語言模型 CPM-LM,參數規模達 26 億,預訓練中文數據規模 100 GB。
  • 國產超大規模AI預訓練模型發布,可實現「用圖生文」等任務
    水心惟有終無底,火內曾無徹上灰。地軸迂迴周八極,天球低陷不磨回。明朝滄海成桑田,吾欲吹噓弄大灰。以上詩句題為《詠智利日全食》,來自人工智慧模型「文匯」的手筆。人工智慧模型「文匯」是北京智源人工智慧研究院近日發布的一款面向認知的超大規模新型預訓練模型。
  • 一文講透預訓練模型的改進訓練算法 ,輕鬆達到State of the Art
    另一方面,在預訓練語言模型流行之前,研究人員經常使用與方法FT-TM類似的策略,也就是說,建模人員首先對模型進行訓練,直到收斂為止,然後在幾個訓練周期內對詞嵌入進行微調。由於預訓練的語言模型類似於詞嵌入,那麼不考慮算法FT-TM將是不明智的。在這項研究中,我們的目標是比較算法FT-TM和FT-NTM的效果,更具體地說,我們執行三個NLP任務,包括序列標記、文本分類和句子語義等價性。