做之前咱先问问是用来干嘛,工程解决实际问题,水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


推荐阅读:
相关文章