做之前咱先問問是用來幹嘛,工程解決實際問題,水paper,還是比賽刷榜?

工程的話別說集成有沒有用,就算有用,一兩個點的微小提升跟帶來的計算量資源也是要做一個評估的,假如消耗的資源庫是單模型的幾倍,實際上線調度也很複雜,離線幾個點的提升也不穩定的話多半被斃,特別是業務團隊,需求井噴,非重要的業務甚至連特徵工程都來不及做。

水paper的話大家都算是這個領域的行家了,沒有solid的理論支撐和自己的insight,審稿人也不是大傻子。

最後的用武之地可能是在打比賽的時候,但是實際上,做模型staking或者ensembling的時候是需要模型差異性的,也就是說融合的模型要具有各自「擅長」的預測樣本,否則出來效果可能比單一的模型中最好的那個還要差。

所以,先問要解決什麼問題,再研究對應的方法,也是一個演算法工程師的核心技能呀


可以這麼做。現在在刷一些數據集的時候,如果該任務不標明瞭只允許單模型測試,基本上榜單上靠前的方法都是很多模型集成的結果。除此之外,一個模型也可以應用集成的思想,比如多尺度測試,或者一些測試階段的增強,都能提升最終的性能。但是這些操作在學術上大多數是沒什麼意義的,除非你能提出新的集成的方法。當然,很多模型自己內部就有集成的思想,比如resnet和densenet的短接,可以認為是模型集成,dropout也可以認為是模型集成。


當然可以,具體原因前排幾個都說了。

你甚至可以把各種任務的各種模型融合起來,做個大一統模型!

想想覺不覺得有點激動?

bosstown!

模型集成本身確實沒什麼創新點,但做預訓練模型知識融合,還是很有趣的。

推薦IJCAI 2019的文章

Amalgamating Filtered Knowledge: Learning Task-customized Student from Multi-task Teachers?

arxiv.org


1.打比賽慣用套路,一般都會好幾個模型集成。2.演算法研究單純的模型集成沒什麼意義,發不了論文。3. 工程中要兼顧資源效率和效果,視情況而定。


工程上完全有人這麼搞啊。只是ensemble你不能拿來發論文。ensemble不是創新點,你弄5個我弄10個,最後變成軍備競賽了,沒太多科學價值。將模型結合具體topic產生出來的方法纔有學術意義。


摘抄:

最後的用武之地可能是在打比賽的時候,但做模型staking或者ensembling,需要模型有差異性,也就是說融合的模型要具有各自「擅長」的預測樣本,否則出來效果可能比單一的模型中最好的那個還要差。

1+1<1


推薦閱讀:
相關文章