深度神经网络尽管性能强大,但却拥有明显的不足。首先,众所周知深度神经网络在训练时需要大量的训练数据,也因此让深度神经网络无法被用于小规模数据任务。需要指出,就算在如今这个大数据时代,由于高昂的标记成本,有很多真实世界任务仍然没有足够多的带标签的数据,因此也使深度神经网络在这些任务上表现欠佳。 其次,深度神经网络是非常复杂的模型,因此训练过程通常需要强大的计算设施,这致使身处大公司外的个人无法充分发挥其学习的潜力。更重要的是,直播,深度神经网络超参数太多,其学习的性能严重依赖于调参的过程。举例说,当几位作者都使用神经网络[LeCun et al., 1998; Krizhenvsky et al., 2012; Simonyan and Zisserman, 2014],他们实际使用的也是不同的模型,这是由于卷积层结构等很多不同的选择造成的。这不仅使深度神经网络的训练十分麻烦——与其说是科学或工程,更像是艺术,而且导致针对深度神经网络的力量分析也极为困难,因为有太多的干扰因素,几乎无限的配置组合。 众所周知,表征学习(representation learning)能力对于深度神经网络至关重要。还应注意,为了利用大规模训练数据,学习模型的容量(capacity)应该很大;这一点非常好的说明了相比普通的学习模型,比如支持向量机,深度神经网络十分复杂的原因。我们推测,若能将这些属性赋予其他一些形式合适的学习模型,我们可以在抛开上述缺陷的情况下,实现和深度神经网络相当的性能。 在这篇论文里,我们提出了 gcForest(multi-Grained Cascade forest,多粒度级联森林),以及一种全新的决策树集成方法。这种方法生成一个深度树集成方法(deep forest ensemble method),使用级联结构让 gcForest 做表征学习。当输入带有高维度时,通过多粒度扫描,其表征学习能力还能得到进一步的提升,开奖,而这有望使 gcForest 能注意到上下文或结构(contextual or structural aware)。级联的数量能够根据情况进行调节,从而使 gcForest 在只有小数据的情况下也表现出优异的性能。需要指出,gcForest 的超参数比深度神经网络少得多;更好的是 gcForest 对于超参数设定性能鲁棒性相当高,因此在大多数情况下,即使遇到不同领域的不同数据,也能使用默认设定取得很好的结果。这不仅使 gcForest 训练起来很容易,也使其理论分析更为简单,虽然本文并没有涉及这方面的讨论(不消说,树学习模型[tree learner]通常比神经网络更容易分析)。在我们的实验中,gcForest 取得了比深度神经网络相当甚至更好的成绩,而训练时间方面,gcForest 在 PC 上的训练时间与使用 GPU 设置训练的深度神经网络相当。需要指出,gcForest 天然就更适用于并行部署,因此这种效率优势就更为明显。 我们认为,要解决复杂的问题,学习模型也需要往深了走。然而,当前的深度模型全部都是神经网络。这篇论文展示了如何构建深度树(deep forest),为在许多任务中使用深度神经网络之外的方法打开了一扇门。 接下来,我们会介绍 gcForest 及其实验结果,在分析相关工作后得出结论。 方法介绍 这里,我们选取了 gcForest,也即“多粒度级联森林”关系最密切的内容,包括级联森林、多粒度扫描,以及实验结果和相关的示意图作介绍。 2.1 级联森林(Cascade Forest) 深度神经网络中的表征学习(representation learning)主要依赖于对原始特征进行逐层处理。受此启发,gcForest 采用级联结构(cascade structure),如图1所示,其中级联中的每一级接收到由前一级处理的特征信息,并将该级的处理结果输出给下一级。
图1:级联森林结构的图示。级联的每个级别包括两个随机森林(蓝色字体标出)和两个完全随机树木森林(黑色)。假设有三个类要预测; 因此,每个森林将输出三维类向量,然后将其连接以重新表示原始输入。 (责任编辑:本港台直播) |