Auto Byte

专注未来出行及智能汽车科技

微信扫一扫获取更多资讯

Science AI

关注人工智能与其他前沿技术、基础学科的交叉研究与融合发展

微信扫一扫获取更多资讯

深度森林

简介

深度神经网络中的表示学习主要依赖于原始特征的逐层处理。受到其启发,深度森林(gcForest)采用级联结构,如下图所示:

其中每级级联接收由其前一级处理的特征信息,并将其处理结果输出到下一级。每个级别是决策树森林的集合,即集合的集合(ensemble of ensembles)。在这里,我们囊括了不同类型的森林以鼓励多样性。为简单起见,假设我们使用两个完全随机森林和两个随机森林,每个完全随机森林包含500个完全随机树,在树的每个节点随机选择要拆分的特征,直到每个叶节点仅包含相同类的实例。类似地,每个随机森林包含500棵树,通过随机选择√d个特征作为候选(d是输入特征的数量)并选择具有最佳基尼值的分割。每个森林中树木的数量是一个超参数。

得到的估计的类分布,形成类向量,然后将其与原始特征向量连接以输入到下一级联级联。例如,假设有三个类,那么四个森林中的每一个都将产生一个三维类向量;因此,下一级级联将获得12(= 3×4)个增强特征。

为了降低过度拟合的风险,每个森林产生的类向量通过k fold交叉验证生成。在扩展到新的level之后,我们需要在验证集上估计整个级联的性能,并且如果没有显着的性能增益,则训练过程将终止;因此,级联级别的数量是自动确定的。与模型复杂性固定的大多数深度神经网络相比,gcForest通过在足够时终止训练来自适应地决定其模型复杂性。这使其能够适用于不同规模的训练数据,而不仅限于大规模训练数据。

接下来我们需要介绍多粒度扫描,如下图所示,滑动窗口用于扫描原始特征:

假设有400个原始特征,并且使用了100个特征的窗口大小。对于序列数据,我们可以通过滑动一个特征的窗口来生成100维特征向量;总共产生301个特征向量。如果原始特征具有空间关系,例如具有400个图像像素的20×20面板,则10×10窗口将产生121个特征向量(即,121×10×10)。

与前文描述的树的结构结合,我们即有了gcForest的整个过程,如下图所示:

假设原始输入具有400个原始特征,并且我们使用三个不同的窗口大小用于多粒度扫描。对于m个训练示例,具有100个特征的窗口将生成301×m个100维训练示例的数据集。这些数据将用于训练一个完全随机的树林和一个随机森林,每个森林包含500棵树,获得1,806维特征向量。

然后,转换后的训练集将用于训练一级梯级森林。类似地,尺寸为200和300的滑动窗口将分别为每个原始训练示例生成1,206维和606维特征向量。利用前一等级生成的类向量进行增强的变换特征向量将分别用于训练二级和三级级联森林。将重复此过程,直到验证性能收敛。换句话说,最终模型实际上是级联森林的级联,其中级联中的每个级别由多个级别(级联森林)组成,每个级别对应于一种力度的扫描。

给定一个测试实例,它将通过多粒度扫描程序获得其相应的变换特征表示,然后通过级联,直到最后一级。最终预测将通过聚合最后一级的四个三维类向量来获得。

[图片及描述来源:Zhou, Z.-H.; Feng, J. (2017). Deep forest: Towards an alternative to deep neural networks. IJCAI, pp 3553–3559.]

发展历史

2017年,Zhi-Hua Zhou, Ji Feng提出深度森林。他们认为深度神经网络成功背后的奥秘很大程度上归功于三个特征,即逐层处理,模型内特征转换和足够的模型复杂性。因此,他们探索了基于非可微模块构建深度模型的可能性,即深度森林。这是一种决策树集合方法,其具有比深度神经网络少得多的超参数,并且其模型复杂性可以以数据相关的方式自动确定。实验表明,其性能对于超参数设置非常稳健,因此在大多数情况下,即使来自不同域的不同数据,也可以通过使用相同的默认设置获得出色的性能。这项研究打开了基于不可微模块的深度学习之门,展示了在不使用反向传播的情况下构建深模型的可能性。

同年,在上海大学、约翰霍普金斯大学、南开大学与海康威视等机构提交的新论文中,他们提出了深度回归森林(Deep Regression Forests/DRF),一个用于年龄评估的端到端模型。DRF 把分离节点连接到 CNN 的一个全连接层,并通过联合学习分离节点处的输入相关数据分区和叶节点处的数据抽象来处理异构数据。这一联合学习策略遵守交互策略:首先,固定叶节点,使分离节点以及 CNN 参数被反向传播优化;接着固定分离节点,通过迭代从变分边界导出的步长自由和快速收敛的更新规则来优化叶节点。他们在三个标准年龄评估基准上验证了 DRF 的能力,并且全部取得了当前最优的结果。

2018年,南京大学的冯霁、俞扬和周志华提出了多层梯度提升决策树模型(mGBDT),它通过堆叠多个回归 GBDT 层作为构建块,并探索了其学习层级表征的能力。此外,与层级表征的神经网络不同,他们提出的方法并不要求每一层都是可微,也不需要使用反向传播更新参数。实验和可视化均证明该模型在性能和表征学习能力方面的有效性。

主要事件

年份事件相关论文/Reference
2017Zhi-Hua Zhou, Ji Feng提出深度森林Zhou, Z.-H.; Feng, J. (2017). Deep forest: Towards an alternative to deep neural networks. IJCAI, pp 3553–3559.
2017在上海大学、约翰霍普金斯大学、南开大学与海康威视等机构提交的新论文中,他们提出了深度回归森林(Deep Regression Forests/DRF)Shen, Z.; Guo, Y.; Wang, Y,; Zhao, K.; Wang, B.; Yuille, A. (2017). Deep Regression Forests for Age Estimation. arXiv:1712.07195.
2018南京大学的冯霁、俞扬和周志华提出了多层梯度提升决策树模型(mGBDT)Feng, J.; Yu, Y.; Zhou, Z.-H. (2018). Multi-Layered Gradient Boosting Decision Trees. arXiv:1806.00007v1.

发展分析

瓶颈

从目前的计算架构来看,任务的规模很大程度上限制了深度森林的表现,任务过大内存会很快耗光,但深度森林不能像深度学习一样用GPU进行加速。树结构很难在 GPU 上运行,因为它中间涉及到很多分支选择,。

未来发展方向

深度森林的发明者周志华提出了几个方向:一方面探索深度森林的能力边界,比如探索深度森林是否具有传统认为只有神经网络才具有的的自编码能力;一方面研究如何调动更多计算资源,更好利用其自身的高并行性的特点,做任务级的并行;最后在应用层面,他的团队也和蚂蚁金服等合作,检验深度森林算法在一个真实场景下的真实任务(从有大量离散特征的网上金融交易数据中进行非法套现检测)里效果如何。

Contributor: Yuanyuan Li

简介