集成学习是机器学习中优化模型的常用方法。将训练出的不同模型在同一数据集中执行相同任务(如分类任务),得到的结果会有偏差。然后把这些不同的结果通过某个函数(比如取平均值或者加权平均或者其他更复杂的方法)计算后得到一个新的结果。新的结果绝大多数情况下要比用单个模型预测的结果要好。这里面实际上内秉了集体决策比单个决策效果要好的这样一个常识断言,更是通过数学方法进行了严格证明。
深度学习方法主要是靠一层一层的人工神经元网络分别学习单个的关于对象的特征(如图像边缘,眼睛等),现在模型是越来越大。CNN动不动就要达到2~3亿个节点的训练。这样对算力的压榨实在是非常恐怖(这也是对深度神经网络进行预训练BERT流行原因)通过一些更简单的模型,利用集成学习的方式,有的时候对于完成同样的任务比用巨量的深度模型效果更好,这样就极大地释放了算力。
集成学习方法,首先是进行模型融合,也就是说把多个模型预测结果(分类或回归任务)放在一起进行一个新的推断。但是还是有可能碰到算法太耗算力的情况。于是要使用到级联,也就是说,只要采用一部分简单模型预测的结果进行一个新的预测就可以了。比如说有100个模型,但是只有其中的50个预测结果进行一个新的预测就可以了。其能达到的精度是通过统计的显著性检验来保证的。
集成学习方法不是深度学习研究的重点。深度学习关心的是卷积运算的有效性,池化方法,更有效地反向传播等等。等等。
模型融合一直是提升模型效果的有效方法。再加上级联,进一步节省了算力。用简单的方法获得一个更新更好的模型,有作很好的鲁棒性和泛化能力。这是我们所有人所期望的。
两个小模型就能吊打大模型!北大校友、谷歌华人一作「模型集合」,CNN、Transformer都适用!
https://mp.weixin.qq.com/s/e9SfI1ugyUtYMBSyFOeEoQ










网友评论