原文链接:https://arxiv.org/pdf/1805.01890v2.pdf
摘要:每年各种复杂数据集的持续增长,使得对这些数据集进行分门别类的机器学习算法要与时俱进地进行鲁棒性和准确率的提升。本文提出了一种新的深度学习分类模型——随机多模型深度学习(RMDL),该模型在诸多领域都达到了最佳效果。RMDL通过整合一系列深度学习框架解决了寻找既能使模型体系结构最优,又能提高模型鲁棒性、准确率的问题。模型能够接受包括文本、视频、图像、符号在内的诸多类型的输入。本文描述了RMDL算法,并展示了在图像、文本数据集(MNIST, CIFAR-10, WOS, Reuters, IMDB, 20newsgroup)上的测试结果。测试结果表明,RMDL在诸多数据类型和分类问题上,均具有普遍的性能提升。
对诸如图像、文档、视频等复杂的数据进行分门别类是数据科学领域极具挑战的研究方向。近期,使用深度学习体系结构来解决这些问题的研究越来越多。然而,这些深层结构大多是专门为某一种特定数据类型或者领域所设计的,这就需要研究一种对各种数据类型来说更具普适性的的信息处理方法。
尽管已有许多研究成功地利用深度学习解决了一些分类问题,但仍未解决这样一个关键问题:何种模型(DNN/CNN/RNN)、何种结构(多少神经元、多少隐藏层)的深度学习方法更加有效。此前,解决这个问题的最好方法是针对特定应用和数据集进行不断的试错。
本文介绍了一种融合深度学习架构的方法来解决这个问题。此方法叫做随机多模型深度学习(RMDL),使用了三种不同的深度学习架构:Deep Neural Networks (DNN), Convolutional Neural Netwroks (CNN), and Recurrent Neural Networks (RNN)。在不同类型的数据集上的测试结果表明,提出的方法在准确率、鲁棒性、有效性上均有较大的提升。
这三种深度学习的基本架构,在输入层使用了不同的特征空间。例如,对于文本特征的抽取,DNN使用TF-IDF方法,而RMDL在设置DNN隐藏层的隐藏层数和节点个数时,探索了一种称作交叉随机生成超参数的方法。CNN是专为图像分类设计的,RMDL则在CNN的超参的选取上使用了随机特征映射和随机隐藏层个数。此外,CNN可以被用作图像之外的其他数据。在RMDL中,将CNN中的1-D卷积用于文本数据,将2-D卷积用于图像数据,将3-D卷积用于视频数据。至于RNN,则主要用于文本分类,在RMDL中使用了两种RNN架构:GRUs和LSTM,而RMDL使用GRU和LSTM的神经元以及隐藏层时,仍然使用了随机生成进行超参的设置。
本研究的主要贡献在于:1、描述了一种使得最终模型更加鲁棒和高效的深度学习融合模型;2、为了达到稳定分类,在训练模型时使用了不同的优化策略;3、为了更好的理解特征空间(尤其是文本和视频数据),对每个随机深度学习模型都使用了不同的特征抽取方法;4、对每个独立的随机深度学习模型使用Dropout来降低过拟合风险;5、对n个随机深度学习模型采用多数表决的方式;特别地,假如k个随机深度学习模型产生了误差或者过拟合,而n>k,则整体系统仍然是鲁棒和有效的;6、最后,RMDL有处理诸如文本、图像、视频等各种数据类型的能力。
后面的章节安排如下:第二节介绍了有关特征提取、其他分类技术以及分类任务中的深度学习的相关研究;第三节描述了本文所用比对算法的最新研究进展;第四节描述了RMDL的具体方法及其架构相关的内容,包括4.1节描述的RMDL的特征提取、4.2节的RMDL的概述、4.3节介绍的在该模型中应用的深度学习模型、4.4节讨论的优化问题;第5节展现了该技术的评价;5.1节展示了实验结果,包括RMDL方法的准确率及性能;第6节对本研究进行了总结。
不同领域的研究人员已经做了很多与本文所描述方法相关的工作。我们将这项工作分为三个部分:1、特征提取;2、分类方法和技术(用于对比的基准算法和其他相关算法);3、深度学习分类问题。
特征提取:特征提取是机器学习过程的重要步骤,尤其是针对文本、图像、视频数据。文本和许多生物医学数据集几乎都是不可直接理解的数据,我们需要将其转换成有意义的结构化数据供机器学习算法使用。早期,Krueger等人研究了一种用于文本分类的有效方法,该方法使用单词计数创建了一个统计意义上的方法。更早期的H. Luhn等人则研究了一种对每个单词赋权的方法,并被后来的G. Salton等人修正为TF-IDF方法。TF-IDF方法权衡了文档中单词的出现次数以及文档在共性单词出现的逆频率。然而,TF-IDF和单词计数是简单直接的特征提取方法,它们没有捕捉到单词作为一个序列的上下文关系。近期,T. Mikolov等提出了一种改进的特征提取方法——将单词映射到基于上下文的向量空间中。这种方法叫Word2Vec,解决了在可计算特征空间中的语境词的表示问题。基于这种思想,J. Pennington等人研发了一种叫做Glove的可学习词向量空间表示方法,并部署在了斯坦福NLP实验室。本文所提出的RMDL方法正是使用Glove进行了文本数据的特征提取。
分类方法和技术:过去的50年里,各种各样的有监督分类算法被研究出来,并在软件中精准的给数据打标签。例如,K. Murphy、Rish等人所用的朴素贝叶斯(NBC)就是一种对大多有监督分类问题来说都很简单的方法。这种方法给文本分类和信息检索提供了非常实用的技术。像大多数有监督学习的分类算法一样,NBC使用一组数值向量和类别值,计算得出样本在各个类别上的概率。NBC方法在文本分类方面快速高效,但同时也有很大的局限性。也即:文本序列的次序并未反映在输出概率上,因为朴素贝叶斯在文本特征提取时实际上使用的是词袋法。由于其特别流行,本文就将其作为基准算法之一来对比RMDL。另一个流行的分类算法是支持向量机(SVM),已被证明在多种数据集上均能达到较高的准确率。此方法在一个特征空间的映射上构造了一个超平面,这种映射不显式地产生作用,而是使用一个内核来使得SVM在预测是能利用高维非线性关系达到理想效果,且此法在各种数据集上均有效。还有各种研究进一步扩展了基本方法并达到了更高的准确率。C. Yu等在2009提出了识别模型中的隐藏变量来作为一种文本分类SVM的新结构,以及S. Tong等在2001年提出在SVM中加入激活学习来做文本分类。另一种帮助协调SVM计算复杂度的方法是随机梯度下降(SGD)分类,它已被广泛地应用在文本、图像分类中。SGD分类器是一种处理大型数据集的迭代分类器,模型基于SGD优化器进行迭代训练。
深度学习:神经网络源自人脑神经元的简化表示。它们本质上是通过对输入数据加权组合来表示多维非线性函数。神经网络使用了一种称作反向传播的迭代学习方式和优化器(如SGD)。
深度神经网络(DNN)基于简单神经网络发展而来,但扩展了其隐藏层个数,这些网络被广泛地应用于分类问题。D. CireşAn等人在2012年使用了多列深度神经网络来做分类任务,用的就是DNN架构。卷积神经网络(CNN)提供了一种神经网络学习的不同架构,其主要思想是利用加入了卷积层的前馈神经网络,其中卷积层又包括全局和局部池化层。A. Krizhevsky等在2012年使用了CNN,不过他们用的是嵌入了图像的2D特征空间的2D卷积层。在某些研究中,CNN表现出了卓越的性能,同时也在文本分类问题上得以应用。对于文本和序列数据,1D卷积层往往用于将单词映射到特征空间。最后一个深度学习架构是递归神经网络(RNN),它的神经元输出会反馈到神经网络中,作为下一步的输入。RNN网络的最新扩展研究成果是RGUs和LSTM。这些新的神经元结构有助于解决原始网络架构中的不稳定性,并已成功应用于自然语言处理。最近,Z. Yang等在2016年研发了一种层次注意力机制网络,这种网络有两个重要特点:词句水平上的分层结构和注意力机制。
新研究不断地在这三种基本模型上探索新的技术以优化准确率和鲁棒性。M. Turan等在2017年以及M. Liang在2015年应用了一种融合了CNN和RNN的新型网络——迭代卷积神经网络(RCNN)。K. Kowsari等在2017年提出了一种用于文本分类的分层体系的深度学习结构,它将所有深度学习技术融合在了一个层级结构上,并在文档分类问题上相比传统方法提高了准确率。本文的工作正是建立在这种思想之上,提出了一种更具普遍性的有监督学习分类方法。
本文使用了同时期及传统的文档、图像分类技术作为我们用于对比的基准算法。这些用于图像、文本分类的基准算法因为特征提取、模型结构相异而各有不同。因此,在接下来的章节中,我们将对文本和图像分类的基准算法进行分别描述。
3.1 文本分类基准算法
我们用于对比的文本分类相关的基准模型包括:RNN、CNN、DNN,此外,还用了两种深度学习类型之外的技术:SVM、NBC,以及最终的文本分类分层深度学习(HDLTex)。
3.1.1 深度学习
本文所用的基准算法是无层次结构的深度学习。在第4节介绍我们的算法时,将会解释基本深度学习模型:DNN、CNN、RNN,这些用于RMDL的一部分。
3.1.2 SVM
SVM最初的版本是由Vapnik, VN, Chervonenkis, A Ya等人在1963年提出的,直到1990年代早期,才提出非线性版本。
多分类SVM:最初的SVM用于二分类问题,所以我们需要多维模型或者说MSVM来做多分类。1-1是多分类SVM的一个方法,需要构建N*(N-1)个分类器。
解决k-分类问题的自然方法是一次性构造一个针对所有K个类别的分类函数。使用SVM进行多分类的另一个技术是多对一。在SVM中,有很多不同的方法可用于特征提取,如:词频特征提取、TF-IDF。
字符串核函数:字符串核函数(SK)的基本思想是使用Φ(.)将字符串映射到特征空间;因此,三种技术的唯一不同点就是将字符串映射到特征空间的方式。对很多的诸如文本、DNA、蛋白质分类方面的应用,频谱核函数(SP)得以应用。SP的基本思想是将一个词在字符串中的出现频次xi作为特征映射,定义为:x→Rlk。
Mismatch Kernel是将字符串映射到特征空间的另一种稳定方法。其核心思想是使用k代表k−mer或者词的大小,并允许特征空间中有m个不匹配。SVM的关键问题是这些模型在字符串序列化上的时间复杂度。S. Ritambhara等在2017年解决了这个问题:仅针对DNA序列问题使用一种叫做GaKCo的分裂k-mer核函数。
3.1.3 Stacking Support Vector Machine (SVM)。堆栈SVM是用于和RMDL对比的另一个基准算法,但是此方法仅适用于分层标注数据集。堆栈SVM提供了一种独立SVM组合的思想,并能达到比单个SVM分类器更好的准确率。
3.1.4 朴素贝叶斯分类器(NBC)。此项技术已经在工业界、学术界广为应用,它是应用在信息检索领域最为传统的文本分类方法。如果将n个文档分为k类,则预测类别输出为c ∈ C。朴素贝叶斯是一个简单算法,使用如下公式:
其中,d代表文档,c代表类别。
本文所用基准算法是单词级别的,公式为:
3.1.5 分层深度学习文本分类(HDL-Tex)。我们将这项技术用作处理分层标签化数据集的基准算法。当文档按层级结构组织时,所用的多分类方法就与传统监督学习方法有所不同了。HDLTex引入了一种处理层级文档分类的新方法——结合多维深度学习方法生成层级类别。HDLTex的主要贡献是文档的层级分类。传统多分类技术通过限制类别个数可以达到较理想的效果,但是随着类别个数的增多而性能下降,比如在处理分层文档时就会这样。HDLTex通过为不同文档层级创建专门的深度学习结构来解决这个问题。
3.2 图像分类基准算法
对于图像分类,我们使用了五种基准算法:Deep L2-SVM [49], Maxout Network [14], BinaryConnect [11], PCANet1 [4], and gcForest [56]。
Deep L2-SVM:这种方法因其使用了线性SVM而广为人知,它将简单的softmax替换为了线性SVM。
Maxout Network:I. Goodfellow等人在2013年提出了一种简单新颖的模型——maxout(命名原因是其输出层是一个最大输入层集合,而且他是dropout的一个伴生算法)。这种设计既能使用dropout增强算法的优化能力,又能提高dropout模型的准确率。
BinaryConnect:M. Courbariaux等在2015年通过在网络传播过程中使用二值权重来训练DNN。他们提出了一种用于前向和后向传播的二值化方案——BinaryConnect,主要用于图像分类。BinaryConnect在本文用作RMDL的基准算法。
PCANet:I. Chan等人在2015年提出了一种用于图像分类的基于CNN结构的简单深度学习算法。他们的技术是深度学习基本模型之一,但却很有效。他们所用CNN,是RMDL的一部分,但又有显著不同:级联PCA、二值哈希、块直方图,此外,RMDL中的隐藏层和节点个数也是随机选取的。
gcForest (Deep Forest):Z. Zhou等在2017年提出了一种高性能决策树组合方法,给深度神经网络提供了可供选择的方法。此方法创建了一个用作决策树的多级森林。
本研究的新颖之处在于使用了包含DNN、RNN、CNN在内的多维随机深度学习模型来处理文本和图像分类。本节安排如下:首先描述RMDL算法并讨论并行训练的三种深度学习架构(DNN、RNN、CNN);然后讨论了在不同随机模型中应用的多种优化器。
4.1 特征提取和数据预处理
在RMDL中,特征提取分为两大部分:文本、图像。文本和序列化数据的特征空间是非结构化的,而图像的特征空间是结构化的。
4.1.1 图像和3D物体特征提取。图像特征是形如h × w × c的结构,h代表图像的宽度,w代表图像的宽度,c代表图像的3维颜色通道,如RGB。对于像MNIST数据集这样的灰度图,特征空间是h*w。三维空间中的物体的特征空间是一个包含了n个点的点云,每个点都有6个特征(x, y, z, R, G, B)。三维物体因其点云中点数不同,所以它是非结构化特征空间。然而,我们可以对其进行简单上/下采样来生成结构化数据集。
4.1.2 文本和序列数据的特征提取。本文使用了几种文本特征提取的技术:单词映射(GloVe、Word2vec)和TF-IDF。文中使用单词向量化技术来提出特征;此外,还使用了N-Gram来表示神经深度学习的特征。比如对字符串“In this paper we introduced this technique”进行特征提取,结果如下:
通过对文本进行特征提取,也可以将文档输入到模型当中。对我们建立的深度学习架构,我们使用了不同的特征提取方案。对CNN和RNN来说,我们使用文本向量空间模型,正如GloVe中使用了200个维度一样。一个向量空间是词空间的数学映射,定义如下:
其中lj是文件j的长度,wi,j 是文档j单词i的GloVe单词映射向量化。
4.2 RMDL
RMDL是一种可以用于任何类型数据集的分类问题的新颖技术。图2展示了其轮廓,包括了DNN、CNN、RNN。隐藏层个数和神经元节点数都是随机生成的。
式(5)用于二分类,其中n是模型的个数,yij代表模型j第i个样本的输出。输出是由所有随机深度学习模型进行多数表决得出的。因此yi表示如下:
其中,n是模型的个数,yij代表模型j第i个样本Di的预测标签,yij定义如下:
当所有RMDL训练完毕后,最终的预测采用多数投票得出。
4.3 RMDL中的深度学习
RMDL模型包含了三种并行的基本深度学习结构,我们分别进行描述。最终的模型包括了d个DNN,r个RNN,c个CNN。
4.3.1 DNN
DNN的结构设计如下:每一层只接受前一层的输出并只将输出结果传送给下一层。对所有随机模型来算,输入是特征空间和第一隐藏层直接的联系;对于多分类问题和只有一个输出的二分类问题来说,输出层的维度就是类别的数量。但是本文的主要贡献是针对不同目的训练不同的DNN模型。在我们的方法中,使用了一个多维DNN,其了每一个学习模型的结构参数都是随机生成的:每一层的节点数以及层数都是完全随机设置的。我们所用的DNN是有识别能力的训练模型,使用了包括sigmoid、ReLu等激活函数的BP算法。对于多分类问题,输出层使用了softmax:
给出一个样本对(x,y)集合,目标是利用隐藏层从这些输入、输出数据中学习。在文本分类问题中,输入是通过文本向量化生成的字符串。图2左图展示了DNN是如何在RMDL中起作用的。
4.3.2 RNN
在RMDL中使用的另一种神经网络结构式RNN,它给前面序列的数据点分配了更多权重。因此,它对文本、字符串、序列化数据分类比较有效,但正如我们研究中所做的那样,也可以用于图像分类。在RNN中,神经网络以一种非常复杂的方法来考虑以前节点的信息,从而能够更好地对数据集结构进行语义分析。这个概念的一般公式如式11所示,其中xt为t时刻的状态,ut为t时刻的输入。
更具体地说,我们可以用权值来表示方程12中指定参数的方程11:
Wrec指复发性矩阵重量,Win是指输入权重,b是偏差和σ表示element-wise函数。
同样,我们已经修改了使用RMDL的基本架构。图2左图显示了这种扩展的RNN体系结构。当梯度下降算法的误差反向传播时,RNN会产生几个问题:消失梯度和爆炸梯度。
长短期记忆网络(LSTM):为了解决上述问题,LSTM这种特殊的RNN结构与基本RNN相比,其能够以一种更有效的方式保存长期依赖,对于克服梯度消失非常有效。虽然LSTM具有类似于RNN的链状结构,但是LSTM使用多个门来小心地调节允许进入每个节点状态的信息量。图3显示了LSTM模型的基本单元,对LSTM单元格的逐步解释如下:
式13为输入门,式14为tanh记忆单元值,式15为遗忘门激活函数,式16为新记忆单元值,式17、18为输出门值。在上述描述中,所有的b表示偏置向量,所有的W表示权重矩阵,xt在t时刻作为记忆单元的输入,i、c、f、o指标分别表示输入、单元记忆、遗忘和输出门。图3用图形表示显示了这些门的结构。
当较晚的词比较早的词更具影响力时,RNN可能会产生偏差。为了克服这种偏差,引入了卷积神经网络(CNN)模型(第4.3.3节讨论了该模型),该模型部署了一个最大池化层来确定文本中的区分短语。
Gated Recurrent Unit (GRU):GRU是RNN的一种门控制机制,GRU是LSTM体系结构的一个简化,但存在如下差异:GRU包含两个门,一个GRU不具有内部内存(图3中的Ct 1);最后,不应用第二个非线性(图3中的tanh)。
zt是指更新门向量t, xt代表输入向量,W, U和b分别为参数矩阵和向量,σg是sigmoid或ReLU激活函数。
ht是输出向量t, t、rt代表重置门向量,zt型更新门向量t,σh表明双曲正切激活函数。
4.3.3 卷积神经网络(CNN)
最后一个在RMDL中做出贡献的方法是CNN,主要用于处理文档和图像分类。虽然CNN最初是为图像处理而构建的,其结构类似于视觉皮层,但它也被有效地用于文本分类;因此,在RMDL中,所有数据集都使用这种技术。
在图像处理的基本CNN中,图像张量与一组大小为d*d的内核进行卷积。这些卷积层称为特征图,可以堆叠起来,为输入数据提供多层滤波。为了降低计算复杂度,CNN引入了池化层,它可以降低神经网络中从一层到下一层的输出尺寸。使用不同的池化技术在降低输出维度的同时保留重要特征。最常见的池化方法是最大池化,它在池窗口中选择最大值作为输出结果。
为了方便从堆叠的特征映射到输出层进行池化处理,映射被平展为一列。CNN的最后一层通常为全连接。
一般来说,在卷积神经网络的反向传播过程中,不仅要调整权值,还要调整特征检测器滤波器。CNN用于文本的一个潜在的问题是数量的通道Σ(特征空间的大小)可能是非常大的(例如50K),对于文本,但对于图像,这是一个较小的问题(例如,只有3个通道的RGB)。这意味着CNN在处理文本时的维数非常高。
4.4 优化器
在神经网络的实现中,我们使用了两种随机梯度优化器:RMSProp和Adam优化器。
4.4.1 随机梯度下降(SGD)优化器
SGD是我们所用优化器之一,如公式22所示。它利用动量对重新缩放的梯度进行更新,如式23所示。使用的另一种优化技术是RMSProp,它不做偏差校正。在处理稀疏梯度时,这将是一个重要的问题。
4.4.2 Adam优化器
Adam是另一个随机梯度优化器,它只使用梯度的前两个矩(v和m如公式24、25、26和27所示)并对它们求平均值。其中mt为第一个矩,vt为第二个矩,均为估计。
4.4.3 多优化器规则
使用带有不同优化器的多模型的主要思想是:当且仅当n>k时,如果一个优化器不能很好的拟合某种数据集时,有着n个随机模型(它们中可能有些具有不同的优化器)的RMDL就可以忽略其中k个不同的模型。图4直观地展示了三个优化器如何在多数投票的概念中更好地工作。使用多种优化器技术,如SGD、adam、RMSProp、Adagrad、Adamax等,可以帮助RMDL模型对任何类型的数据集都更加稳定。在本研究中,我们只使用了两个优化器(Adam和RMSProp)来评估我们的模型,但是RMDL模型能够使用任何一种优化器。
略
分类问题是机器学习当中一项重要的研究内容,由于数据集的数量和尺寸不断增大,就需要越来越复杂的分类方法。我们提出了一种新的技术用于在深度学习中从许多可能的结构和架构中选择最佳的技术和方法。本文介绍了一种新的分类方法RMDL(随机多模型深度学习),它结合了多种深度学习方法来生成随机分类模型。我们对来自Web of Science (WOS)、Reuters、MNIST、CIFAR、IMDB和20NewsGroups的数据集的评估表明,与使用朴素贝叶斯、SVM或单一深度学习模型的传统方法相比,采用并行学习体系结构的DNNs、RNNs和CNNs组合具有更高的准确性。这些结果表明,深度学习方法可以改进分类,并提供了灵活利用多数投票对数据集进行分类的方法。该方法具有提高模型精度和效率的能力,可用于多种数据类型和应用。