【编者按】周志华,南京大学教授,博士生导师;南京大学计算机科学与技术系副主任、软件新技术国家重点实验室常务副主任,机器学习与数据挖掘研究所(LAMDA)所长。近日,周志华发表最新论文,提出了一种基于树的方法,挑战深度学习。这篇论文展示了如何构建深度树(deep forest),为在许多任务中使用深度神经网络之外的方法打开了一扇门。
深度神经网络的巨大成功掀起了一股深度学习热潮。
或许,这股热潮有些“太热”了。
就在这周,南京大学机器学习与数据挖掘研究所(LAMDA)负责人周志华教授将他和LAMDA博士生冯霁写的论文《深度森林:探索深度神经网络以外的方法》(Deep Forest:Towards An Alternative to Deep Neural Networks)上传到arXiv。可以说,是用实际行动为这股热潮降了降温。
深度学习,或者说深度神经网络有一些明显的缺陷,除了我们都知道的必须要有大数据、大算力,他们在论文中写道,
“众所周知,表征学习(representation learning)能力对于深度神经网络至关重要。还应注意,为了利用大规模训练数据,学习模型的容量(capacity)应该很大;这一点非常好的说明了相比普通的学习模型,比如支持矢量机,深度神经网络十分复杂的原因。”
“我们推测,若能将这些属性赋予其他一些形式合适的学习模型,我们可以在抛开上述缺陷的情况下,实现和深度神经网络相当的性能。”
由此,周志华和冯霁提出了一种基于树的新方法——gcForest,用文中的术语说,就是“multi-Grained Cascade forest”,多粒度级联森林。此外,他们还提出了一种全新的决策树集成方法,使用级联结构让gcForest做表征学习。实验中,gcForest使用相同的参数设置,在不同的域中都获得了优异的性能,并且无论是大规模还是小规模的数据,表现都很好。此外,由于是基于树的结构,gcForest相比神经网络也更容易分析。
答案是否定的。正如他们在论文中所说:
“我们认为,要解决复杂的问题,学习模型也需要往深了走。然而,当前的深度模型全部都是神经网络。这篇论文展示了如何构建深度树(deep forest),为在许多任务中使用深度神经网络之外的方法打开了一扇门。”
向着深度学习以外的方法进军
下面是新智元对论文《深度森林:探索深度神经网络以外的方法》的摘译。要查看完整的论文,参见文末的论文地址。
摘要
在这篇论文里,我们提出了gcForest,这是一种决策树集成方法(decision tree ensemble approach),性能较之深度神经网络有很强的竞争力。深度神经网络需要花大力气调参,相比之下gcForest要容易训练得多。实际上,在几乎完全一样的超参数设置下,gcForest在处理不同领域(domain)的不同数据时,也能达到极佳的性能。gcForest的训练过程效率高且可扩展。在我们的实验中,它在一台PC上的训练时间和在GPU设施上跑的深度神经网络差不多,有鉴于gcForest天然适用于并行的部署,其效率高的优势就更为明显。此外,深度神经网络需要大规模的训练数据,而gcForest在仅有小规模训练数据的情况下也照常运转。不仅如此,作为一种基于树的方法,gcForest在理论分析方面也应当比深度神经网络更加容易。
引言
深度神经网络尽管性能强大,但却拥有明显的不足。首先,众所周知深度神经网络在训练时需要大量的训练数据,也因此让深度神经网络无法被用于小规模数据任务。需要指出,就算在如今这个大数据时代,由于高昂的标记成本,有很多真实世界任务仍然没有足够多的带标签的数据,因此也使深度神经网络在这些任务上表现欠佳。
众所周知,表征学习(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:级联森林结构的图示。级联的每个级别包括两个随机森林(蓝色字体标出)和两个完全随机树木森林(黑色)。假设有三个类要预测;因此,每个森林将输出三维类矢量,然后将其连接以重新表示原始输入。
每个级是决策树森林的一个集合,即集成的集成(ensemble of ensembles)。我们包含了不同类型的森林来鼓励多样性,因为众所周知,多样性是集合结构的关键[Zhou,2012]。简单起见,在我们的实现中,我们使用了两个完全随机的树森林(complete-random tree forests)和两个随机森林[Breiman,2001]。每个完全随机的树森林包含1000个完全随机树[Liu et al。,2008],通过随机选择一个特征在树的每个节点进行分割实现生成,树一直生长,直到每个叶节点只包含相同类的实例或不超过10个实例。类似地,每个随机森林也包含1000棵树,通过随机选择√d数量的特征作为候选(d是输入特征的数量),然后选择具有最佳gini值的特征作为分割。每个森林中的树的数值是一个超参数,这将在2.3节中讨论。
给定一个实例,每个森林会通过计算在相关实例落入的叶节点处的不同类的训练样本的百分比,然后对森林中的所有树计平均值,以生成对类的分布的估计。如图2所示,其中红色部分突出了每个实例遍历到叶节点的路径。
图2:类矢量生成图示。叶节点中的不同标记表示了不同的类。
被估计的类分布形成类矢量(class vector),该类矢量接着与输入到级联的下一级的原始特征矢量相连接。例如,假设有三个类,则四个森林每一个都将产生一个三维的类矢量,因此,级联的下一级将接收12=3×4个增强特征(augmented feature)。
为了降低过拟合风险,每个森林产生的类矢量k折交叉验证(k-fold cross validation)产生。具体来说,每个实例都将被用作k−1次训练数据,产生k− 1个类矢量,然后对其取平均值以产生作为级联中下一级的增强特征的最终类矢量。需要注意的是,在扩展一个新的级后,整个级联的性能将在验证集上进行估计,如果没有显着的性能增益,训练过程将终止;因此,级联中级的数量是自动确定的。与模型的复杂性固定的大多数深度神经网络相反,gcForest能够适当地通过终止训练来决定其模型的复杂度。这使得gcForest能够适用于不同规模的训练数据,而不局限于大规模训练数据。
2.2多粒度扫描(Multi-Grained Scanning)
深度神经网络在处理特征关系方面是强大的,例如,卷积神经网络对图像数据有效,其中原始像素之间的空间关系是关键的。(LeCun et al., 1998; Krizhenvsky et al., 2012),递归神经网络对序列数据有效,其中顺序关系是关键的(Graves et al., 2013; Cho et al.,2014)。受这种认识的启发,我们用多粒度扫描流程来增强级联森林。
图3:使用滑动窗口扫描的特征重新表示的图示。假设有三个类,原始特征是400-dim,滑动窗口是100-dim。
如图3所示,滑动窗口用于扫描原始特征。假设有400个原始特征,并且使用100个特征的窗口大小。对于序列数据,将通过滑动一个特征的窗口来生成100维的特征矢量;总共产生301个特征矢量。如果原始特征具有空间关系,比如图像像素为400的20×20的面板,则10×10窗口将产生121个特征矢量(即121个10×10的面板)。从正/负训练样例中提取的所有特征矢量被视为正/负实例;它们将被用于生成如2.1节中所说的类矢量:从相同大小的窗口提取的实例将用于训练完全随机树森林和随机森林,然后生成类矢量并连接为转换后的要素。如图3所示,假设有3个类,并且使用100维的窗口;然后,每个森林产生301个三维类矢量,导致对应于原始400维原始特征矢量的1,806维变换特征矢量。
图3仅仅表示了一个滑动窗口的大小。通过使用多个尺寸的滑动窗口,最终的变换特征矢量将包括更多的特征,如图4所示。
实验及结果
图4:gcForest的整体流程。假设有三个类要预测,原始特征是400-dim,使用了三个尺寸的滑动窗口。
人脸识别结果对比
音乐分类结果对比
手部运动识别结果对比
情感分类结果对比
结论
带着深度学习的关键在于特征学习和巨大模型的能力这一认识,我们在本文中试图赋予树集成这些属性,并提出了gcForest方法。与深度神经网络相比,gcForest在我们的实验中表现了极高的竞争力或更好的性能。更重要的是,gcForest具有少得多的超参数,并且对参数设置不太敏感;实际上在我们的实验中,通过使用相同的参数设置在不同的域中都获得了优异的性能,并且无论是大规模还是小规模的数据,它的工作都很好。此外,作为一种基于树的方法,gcForest应该比深度神经网络更容易进行理论分析,不过这超出了本文的讨论范围。我们很快会提供gcForest的代码。
写在最后
作为结尾,请允许我们直接使用周志华和冯霁在论文中的最后一段:
“构建深度森林还存在其他可能性。作为一个会议论文,我们只朝这个方向进行了一点点探索。如果我们有更强大的计算设施,我们想尝试大数据和深度森林,这将留待以后讨论。原则上,深度森林应该能够展示出深度神经网络的其他能力,如充当特征提取器或预训练模型。值得一提的是,为了解决复杂的任务,学习模型可能需要更深入。然而,当前的深度模型总是神经网络。本文说明了如何构建深度森林,我们相信它是一扇门,可能替代深度神经网络的许多任务。”
作为信息社会通用基础设施,时下5G产业建设以及发展如火如荼,并将最终带动数十万亿规模的社会经济发展。但5G在正式进行商用化普及应用前的态势如何发展?5G将为哪些领域的变革带来有益赋能?5G将在各行各业掀起什么样的市场风暴?系列问题依然困扰着各界人士。
为进一步深入了解产业发展脉络,理解5G产业现状以及未来趋势,让各界人士更清晰的洞察5G产业发展过程中的机遇点。6月14日,经上海市经济和信息化委员会、上海市商务委员会、上海市长宁区人民政府指导,由亿欧公司联合承办的“5G物联峰会”将于上海虹桥世贸展馆举办。
亿欧“5G物联峰会”将特邀政府、学界、商业、投资机构等领域的专业人士,以多领域视角切入,深究5G产业发展脉络,探索5G赋能各行各业的新思路、新方法,供行业内外各界人士参考。活动详情请戳:https://www.iyiou.com/post/ad/id/824