谷歌、CMU发文:别压榨单模型了!集成+级联上分效率更高!
文 | ?Sherry 不是小哀
集成模型(Ensemble)可以提升模型的精度,但往往面臨提升計算量的困境,用級聯(lián)模型(Cascade)在預測時提前中斷則可解決計算量的問題。最近,谷歌和CMU的研究者對此進行了深入的分析,他們比較了常見深度神經(jīng)網(wǎng)絡在圖像任務上集成學習的效果。他們提出,通過多個輕量級模型集成、級聯(lián)可以獲得相比單個大模型更高效的提分方案。
目前大家大都通過設計模型結構,或是暴力擴大模型規(guī)模來提升效果,之后再通過模型剪枝提高效率。本文提出,這些方法費時費力,在實際應用中,可以通過更好的集成、級聯(lián)模型設計來獲取更高效的提分策略。
論文題目:
Multiple Networks are More Efficient than One: Fast and Accurate Models via Ensembles and Cascades
論文鏈接:
https://export.arxiv.org/pdf/2012.01988.pdf
Arxiv訪問慢的小伙伴也可以在 【夕小瑤的賣萌屋】訂閱號后臺回復關鍵詞 【1223】 下載論文PDF~
高效的提分策略
▲cascade1.pngXiaofang Wang等人將集成學習的方法應用到常見的圖像分類模型上,僅僅使用2-3個弱分類器(例如EfficientNet-B5)就可在同樣推理計算量的條件下達到強分類器(例如EfficientNet-B6甚至B7)的準確率。如果進一步加入了級聯(lián)學習的機制則可進一步降低運算量。
從上圖中我們可以看出,集成學習本身(方塊)已經(jīng)相對于單模型(圓點)在精度(Accuracy)-運算量(FLOPS)平面上有提升,而加入了級聯(lián)方法(五角星)則可進一步提升效果。特別的,盡管經(jīng)過精心設計的Inception-v4模型(位于(13,80)的黑點)表現(xiàn)優(yōu)于所有ResNet(下方黑色圓點)模型,但通過級聯(lián)得到的ResNet(藍色五角星)可以在準確率-計算量圖上獲得優(yōu)于Inception-Net的效果。
群眾的眼睛是雪亮的!
集成學習的方法可以為什么可以暴力提高模型預測準確率呢?我們首先訓練多個弱分類器(這里拿分類任務來舉例子),把每個弱分類器的意見結合起來看,我們就能得到一個更靠譜的分類結果。常見的集成學習方法包括Bagging[2], Boosting[3]和 AdaBoost[4]。實際應用中,我們使用不同的隨機種子初始化模型,將訓練好的模型預測概率取平均,或者是簡單的投票,就能提升一定的準確率。
Thomas G Dietterich在[5] 中就給出了集成學習能成功的理論解釋。用平均值的方法集成模型可以看成在假設空間中找一組點的重心,投票的方法也類似找某個“心”。
統(tǒng)計學上來說,我們使用模型學習假設時,如果訓練數(shù)據(jù)量小于假設空間的大小時,模型就會學到不同的假設。上圖的左上角中,外部曲線表示假設空間,內部曲線表示在訓練數(shù)據(jù)上能學到的假設范圍,點f是真實的假設;通過平均幾個學習到的假設,我們可以找到f的良好近似值。
從隨機梯度下降(SGD)的角度而言,我們通常得到的是局部最優(yōu)解。把從不同初始參數(shù)學到的模型集合起來,可以比任何單獨的分類器更好地近似真實分布(上圖右上角)。
從表示學習角度出發(fā),由于模型和數(shù)據(jù)的限制,在大多數(shù)訓練集,學習到整個假設空間的假設,例如上圖下半部分。通過平均,可以擴展可表示函數(shù)的空間,從而得到這些原本無法學習到的表示。
暴力獲得又好又快的模型
實際應用中,我們的資源往往是有限的。在不降低模型精度的條件下減少運算量一直是個重要的命題,很多研究者也對模型效率的提升作出了深入的研究,例如對模型結構進行精細的改造。但這些方法往往要求對下游任務有深入的理解,或者是需要大量的資源來進行網(wǎng)絡進化的搜索。我們已經(jīng)知道集成學習可以獲得更好的精度,那么只要能成功降低運算量,是不是就可以做到又好又快了?級聯(lián)學習就是個很不錯的方法。
對于一個很簡單的題目,小盆友就可以準確地得出答案,那我們也沒有必要讓所有磚家都和ta一起做一遍題,對吧?級聯(lián)學習就利用這樣的想法,我們先讓一些弱分類器對問題作出預測,如果它有很高的置信度,我們就可以相信他的答案,這樣就不需要用其他模型預測,可以大大減少運算量。文中對每個分類器設定了一個置信度閾值,這里他們使用概率最大類的得分作為預測的置信度,當前第k個分類器的置信度超過閾值的時候我們就結束預測并給出前k個分類器集成的答案,否則繼續(xù)加入下一個分類器的結果。
本文用兩個弱分類器集成做實驗。他們發(fā)現(xiàn)當?shù)谝粋€分類器的退出閾值不斷提高,在某個閾值之后集成模型的效果將達到平臺(可以認為這個平臺是不加入提前退出的集成模型效果),而平臺的最左端與最右端比,平均運算量有50%左右的降低。同時,在用B3, B5, B5, 和 B5集成獲得B7模型準確率的實驗中,他們發(fā)現(xiàn)這些模型的退出比例依次 67.3%, 21.6%, 5.6% 和 5.5%。也就是說對67.3%的情況,我們只需要用一個B3模型就運算量可以獲得B7模型的準確率;而只有5.5%的情況需要運算所有四個模型來集成。這正說明了級聯(lián)學習可以有效降低集成模型的預測運算量。
▲cascade3.png準確率和運算量的精準控制
僅僅減少運算量還不夠,模型上線的時候往往對準確率和運算量有著嚴格的要求。我們還可以用優(yōu)化算法在滿足一些條件的情況下找到最佳級聯(lián)模型的設定。例如:
在滿足運算量上限的同時獲得更高的準確率。除了限定運算量之外,還可以選擇最低準確率,最差情況運算量作為優(yōu)化問題的限制條件。本文由于只選擇較少的弱分類器,使用暴力搜索來解這個優(yōu)化這個問題。我們還可以通過更有效率的方法得到級聯(lián)方案,參考[6].
沒有多種模型?可以自級聯(lián)!
上述集成和級聯(lián)方法都要求我們有多種設定的不同模型,那如果我們只能訓練一個模型呢?借鑒(Hugo Touvron, Andrea Vedaldi, Matthijs Douze, and Herve ? Je ?gou. Fixing the train-test resolution discrepancy. In NeurIPS, 2019.)的想法,在預測的時候,我們將不同清晰度的圖片輸入同一個模型,從而達到多模型集成的效果。例如在下圖表格的第一行(B2)中,我們有一張圖片,使用240*240和300*300的兩種分辨率的圖片輸入,結果看作兩個模型集成。從實驗結果可以發(fā)現(xiàn),通過自級聯(lián)的方法后,在保持相似準確率的同時,我們可以獲得1.2-1.7倍的加速。
總結
本文探究并分析了結合集成和級聯(lián)的方法,簡單有效地在提升模型準確度的同時降低了運算量。除了分類任務之外,本文同樣也驗證了該方法在視頻分類和圖像分割任務上的有效性。
整體而言,本文并沒有提出新的算法,但是為我們提供了工程上線時低成本獲得高精度模型的一種方案。個人認為本文的一大缺點在于如此級聯(lián)預測會給并行提速增加難度,原文作者也承認了這一點并指出該方法對離線預測更有效。
本文雖然是在圖像數(shù)據(jù)上做的實驗,但是集成和級聯(lián)不局限于CNN,遷移到NLP同樣適用。
萌屋作者:Sherry 不是小哀。
本科畢業(yè)于復旦數(shù)院,轉行NLP目前在加拿大滑鐵盧大學讀CS PhD。經(jīng)歷了從NOIer到學數(shù)學再重回CS的轉變,卻堅信AI的未來需要更多來數(shù)學和自認知科學的理論指導。主要關注問答,信息抽取,以及有關深度模型泛化及魯棒性相關內容。
作品推薦:
無需人工!無需訓練!構建知識圖譜 BERT一下就行了!
Google Cloud TPUs支持Pytorch框架啦!
后臺回復關鍵詞【入群】
加入賣萌屋NLP/IR/Rec與求職討論群
后臺回復關鍵詞【頂會】
獲取ACL、CIKM等各大頂會論文集!
?
[1]Multiple Networks are More Efficient than One: Fast and Accurate Models via Ensembles and Cascades (https://export.arxiv.org/pdf/2012.01988.pdf)
[2]Bagging predictors. by Leo Breiman. P123–140, 1996.
[3]The strength of weak learnability. by Robert E Schapire. P197–227, 1990.
[4]A decision-theoretic generalization of on-line learning and an application to boosting. by Yoav Freund and Robert E Schapire.
[5]Ensemble Methods in Machine Learning (https://web.engr.oregonstate.edu/~tgd/publications/mcs-ensembles.pdf)
[6]Approximation Algorithms for Cascading Prediction Models (http://proceedings.mlr.press/v80/streeter18a/streeter18a.pdf)
[7]知乎:關于為什么要使用集成學習 https://zhuanlan.zhihu.com/p/323789069
總結
以上是生活随笔為你收集整理的谷歌、CMU发文:别压榨单模型了!集成+级联上分效率更高!的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 恕我直言,很多小样本学习的工作就是不切实
- 下一篇: ICLR最高分论文揭秘模型泛化,GNN是