Title
Address
https://arxiv.org/abs/1511.06241
Abstract
标注数据以训练深度神经网络的任务可怕又无聊,需要数以百万计的标签来达到最先进的结果。通过应用无监督学习算法,可以减少深度神经网络模型对于标签数据的依赖。这篇论文提出了k-means算法的增强版本来达到训练一个深度神经网络的目的。算法通过使用相似的filter来减少参数量,我们称之为卷积k-means聚类。实验表明,这个算法的准确性要优于其他无监督学习算法,尤其是在STL-10上获得了74.1%的准确率,在MNIST数据集上的测试误差仅为0.5%。
Introduction
深度神经网络需要以大量数据作为输入来训练,在大规模数据集中,监督学习方法在近些年已经成功地被训练,一些受欢迎的数据集像ImageNet包含了一百万的标签样本,甚至更大的数据集已经被该领域的研究人员追捧,进一步说,视频数据集在深度神经网络训练事件识别任务中越来越重要。以上这些情况下,含有标签的数据在监督学习算法的训练中都是必要的,然而,标注大量的数据的费用昂贵,浪费时间,还很无聊,举个例子,标注ImageNet数据集就用了几百个小时,标注一个极其简单的视频数据集甚至需要几千个小数才能完成。为了规避这个问题,我们要充分利用那些无标签的数据。
在过去的几十年中,广泛的研究一直致力于在图像理解的背景下学习深层学习的特征层次。示例包括无监督、监督和半监督学习。这样的深度学习技术使用层次结构,其使用“filter”来提取多个输入特征并且“connection”将提取的特征组合在一起成为下一层的输入。在早期的实地研究中,无监督的预训练是通过监督学习方法训练深层网络所必需的。卷积神经网络(ConvNets)的结合大量标签数据的最新进展已经在对象识别任务中表现出很大的希望来弥补这个问题(Krizhevsky等,2012)。
另一方面,无人值守学习算法(如k均值聚类)也增加了网络中的参数数量,并且在标记数据有限时获得了最先进的结果。虽然使用k-means算法的无监督学习技术通常用于在几项研究中训练滤波器(Coates&Ng,2011b; Bo等,2013),网络编码结构与ConvNets呈现许多相似之处,例如使用卷积和汇集在每一层。
基于应用于图像识别的k-means的ConvNets和无监督学习技术之间的主要区别是每层的层数(深度)和过滤器数量(宽度)以及层之间的连接。 ConvNets通过增加网络深度和宽度来提高准确性。最近的研究表明,ConvNets的显着表现是深度增加的结果(Zeiler&Fergus,2014)。相比之下,深度网络的无监督学习算法无法与常规ConvNets相比,扩展到相同的深度。因此,最近的无监督研究使用较大的网络宽度和两到三层的收益递减(Coates&Ng,2011b)。在这项工作中,我们证明,学习深层神经网络层之间的联系在提高无监督技术的表现方面起着至关重要的作用。
虽然ConvNets的早期工作曾经依赖于“非完全”连接方案(LeCun等人,1998)将连接数保持在合理范围内,但是趋势已经转变为完全连接的层,以利用这些优点的并行计算(Krizhevsky et al,2012; Simonyan&Zisserman,2014)。完全连接的层执行大量潜在的不必要的操作,因为它们将上一层的每个特征连接到下一个的每个特征。
在本研究中,已经提出了允许滤波器学习不同特征的无监督聚类算法的精简版本。这是通过防止算法学习基本上相互转换版本的冗余filter来实现的,如第3节所详述的。这项工作的另一个主要贡献是我们通过强制稀疏集合的特征来映射层之间的稀疏连接矩阵进入下一层的特征,这已经在第4节中进行了说明。我们表明,卷积k均值聚类算法可以通过改进的连接学习为受监督的网络提供可比较的中级特征层次。
Related Work
近年来,人们将卷积网络的filter应用在无监督学习算法中用以预训练或者明确filter值的兴趣越来越大,早期的工作建议将在patch级别进行稀疏编码和稀疏建模,忽略了filter以卷积的方式为人所用的事实,这种方法导致了重复的filter,这些filter彼此间都是相互转换的版本,为了解决这个问题,使用对比差异训练的convolutional Restricted Boltzmann Machine和convolutional sparse coding methods被提出。
使用k-means算法的filter在最近的研究中得到了极大的关注,因为它与简单性和竞争结果相结合,正确的预处理和编码方案(Coates&Ng,2011a; Lin&Kung,2014)。在这些研究中,用k-means算法训练的filter以卷积方式应用于输入图,以提取有用的特征。然而,还没有尝试减少使用该算法学习的filter之间的冗余,这是妨碍效率和精度的问题。
在几乎所有的统计学习问题中,维度的诅咒是深层神经网络中的已知问题。特别是研究表明,k-means在第一层之后表现不佳(Coates&Ng,2011b)。第一层的filter的数量具有较小的尺寸,另一方面,随后的层以指数方式增加网络参数的数量。作为维度问题的诅咒的一个例子,如果我们有32×32 RGB图像,并且在第一层中训练96个3×5×5像素的filter,并将它们与输入图像进行卷积,我们将得到96×28×28的特征映射为输出。如果要在第二层培训完全连接的filter(如第一层filter),则需要对96×5×5的filter进行训练。 k-means算法无法提取特征,并且在如此高的维度上效果不佳。因此,对于中等特征,应该优选比完全连接层更小的接收场(Coates&Ng,2011b)。在ConvNets的早期工作中,LeCun等人(1998)使用简约(不完全连接)的连接方案将连接数保持在合理范围内,并强制网络中的对称性突破。由于不同的特征图馈入不同的输入集合,系统被迫提取不同的特征。在使用无监督算法的技术中,随机连接(Culurciello et al,2013)和分类相似特征(Coates&Ng,2011b)已被提出;这些结果增加了额外的层次,并提供了一些改进,但不如通过监督深度网络获得的那些重要。
在这项工作中,我们通过设计避免复制类似filter的优化学习算法来解决上述问题。由于滤波器将用于卷积运算,所以转换的filter版本不会向特征层次结构提供附加信息,因此应该避免。我们进一步提出通过ConvNets的上下文中的监督学习来了解层之间的联系。连接设置在通道之间使用1D卷积,这相当于林等人的表示为mlpconv层的操作。 (2013年)。这一层已经被用来提高Lin等人的局部模型的抽象能力。 (2013),并减少模块的维度以及消除Szegedy等人的计算瓶颈(2014)。
Learning Flters
Learning Filters with K-means
我们的学习filter的方法是基于k-means算法。经典的k-means算法找到了使欧几里德空间中的点之间的距离最小化的聚类质心。在这种情况下,点是随机提取的图像斑块,质心是将用于编码图像的filter。
描述的学习方案在patch级别上训练每个簇的质心,然而,在ConvNets中,filter以卷积方式应用于图像。如图1a所示,来自k均值训练的许多质心具有几乎相同的方向,并且它们在空间中彼此相互偏移。因此,在卷积运算之后,它们将在相邻位置产生冗余的特征图。在下一节中,我们将解释k-means算法(卷积k均值)的改进,以减轻这个问题。
Learning Convolutional Filters with K-means
为了减少相邻位置的filter之间的冗余,我们提出了一种新的输入patch提取方法。这种方法大大减少了k-means算法产生的质心的冗余度,并且只保留了它们的基本依据。标准k-means算法从匹配质心的输入图像中提取随机斑块。相比之下,所提出的方法使用较大的窗口作为输入来决定哪个patch提取用于聚类。
窗口被选择为filter尺寸的两倍,并从输入图像中随机选择。 k-means算法的质心将整个窗口卷积在计算提取区域的每个位置处的相似性度量。对应于窗口最大激活的patch意图是与质心最相似的特征(给定ConvNets具有平移不变性)。最后,从窗口中提取该特定位置的patch(最大活动),并将其分配给相应的质心。修改后的字典学习可以写成如下:
窗口被选择为filter尺寸的两倍,并从输入图像中随机选择。 k-means算法的质心将整个窗口卷积在计算提取区域的每个位置处的相似性度量。对应于窗口最大激活的patch意图是与质心最相似的特征(给定ConvNets具有平移不变性)。最后,从窗口中提取该特定位置的patch(最大活动),并将其分配给相应的质心。修改后的字典学习可以写成如下:
当这些相关的filter被删除时,新的filter有更多的空间来学习其他功能。使用k均值和卷积k均值算法进行训练的filter如图1所示。从图1a可以看出,使用k均值算法在patch级别训练的filter具有相似的特征,但在不同的位置在patch内。作为示例并以红色突出显示,有许多水平filter是不同高度的互相复制的。相比之下,用卷积k均值算法训练的filter显着更多样化,如图1b所示。
Experimental Results of Single Layer Network
我们运行单层网络的实验来分析卷积k均值的影响。在我们的实验中,我们使用10种类型的包含96×96 RGB图像的STL-10数据集(Coates et al,2011)。该数据集每班有500幅图像,训练800张,用于测试。此外,它包括从图像相似但更广泛分布中提取的无监督学习算法的100 000个未标记图像。为了使用k-means聚类学习filter,仅使用未标记的数据。对于使用k均值和卷积k均值的filter的训练,从原始图像中随机提取patch。然后,对提取的patch应用标准预处理,如全局对比度归一化和ZCA-增白。
对于编码方案,我们只对输入图像应用全局对比度归一化。我们用训练有素的字典通过k-means和卷积k-手段来修复ConvNet的第一层filter。我们通过将filter值除以由交叉验证确定的常数来减小训练filter的动态范围。在我们的实验中,我们使用STL-10数据集,没有任何下采样。然而,卷积层施加了4的步幅,这有效地减小了第一层中的尺寸。该层之后是最大池操作,其将维度减小到K×2×2,其中K是在卷积层中使用的filter的数量。汇集后,采用整流线性单元(ReLU)激活功能;类似于ConvNets近期的作品(Krizhevsky等,2012)。注意,为了比较用这两种算法训练的filter的有效性,我们设置了一个较大的汇总大小,将尺寸减小到K×2×2,并训练单层分类器。在实验中,我们的学习率为0.1,动量率为0.9。
在图2中,我们将k-means算法与卷积k均值法进行比较。在图2a中,我们将filter尺寸固定为3×11×11,并改变filter的数量。我们观察到,filter数量的增加为我们提供了两种算法的更高性能,然而,使用卷积k均值学习的filter总是优于具有k-means算法的filter。请注意,为达到类似的准确度水平,如54%,我们的方法所需的filter数量小于k-means的一半。在图2b中,我们将filter数量固定为96,并改变filter的大小。我们的方法胜过所有filter尺寸的k-means。
Learning Connection
我们也研究了从一个网络层到另一个网络层学会连接的方式,这种方式尤其重要,就像是从下层学会新的特征从而创建新的特征图,然而全连接层将之前网络层中的所有特征都用到了下一层中,我们采用非全连接(LeCun et al.1998)的方式,这种方式在计算中更加有效。这种非全连接用到了多个分组,每个分组包括一个对前面网络层一部分特征的限制。我们使用一个稀疏连接矩阵来限制局部感受野。因此,当输入数据为高维时,我们可以避免k-means算法的较差性能(Coates & Ng,2011b)。
我们的方法利用有限数据的监督来学习层之间的连接权重。连接由全连接权重矩阵描述,该矩阵在特征图上进行了池化。因此,权重矩阵中的单个值反映了该特征对于相应组的重要性。为了学习映射和分组两者之间的关系(即定义它们的权重),我们增加了一个预定义的非全连接的卷积层,如图3所示。在卷积层之后附加线性分类器并使用反向传播算法训练系统。这种设置的直觉是,由于从特征组中学习新的过滤器,并且每个权重矩阵池在输出处于预定组中的特征上,因此权重矩阵实际上被迫学习训练输入特征图和预先确定的组。因此,即使我们预先定义了卷积层的连接,权重矩阵为网络提供了在实践中定义连接的灵活性。
注意,池化特征图的权重矩阵可以被认为是具有可用偏置的1D全连接的卷积层。这种新方法允许我们限制k-means算法的局部感受区域。它进一步允许我们通过训练的权重创建跨通道信息的新的复杂和可学习的交互。在通过监督学习学习连接后,我们从网络中删除学习的过滤器,只保留连接矩阵。这是因为我们的目标是使用无监督技术来学习滤波器,使用最小的标签数据,并避免过拟合。在这些步骤之后,我们的卷积k-means算法再次应用于预训练的连接矩阵以学习下一层的滤波器,并且算法不再受到维度的诅咒。细节和实验结果将在下一节中介绍。
Experimental Results of Multi-Layer Networks
我们结合(a)监督和无监督的学习过滤器和(b)层之间的监督学习和随机连接进行实验,。这些实验旨在分析学习连接的重要性。我们建立了一个2层网络。第一层有96个尺寸为13×13的filter。卷积层采用strides=4,之后跟着ReLU激励函数。在第一层和第二层feature map之间,我们预定义4个连续的特征图为一组,结果分成96/4 = 24组。从每个组,我们学习64个过滤器。第二层滤波器的尺寸选择为4×5×5,4来自预定义的非完全连接方案的选择。在filter的卷积后,我们应用大小为6×6的池化操作来降低维度。 ReLU激活功能遵循最大池化操作。我们使用具有2层512个隐藏神经元的线性分类器,并交错设置dropout(Hinton et al. 2012)。
对于无监督学习的filter,我们对未标注数据应用卷积k-means算法,随机连接指的是第一层filter以预定义的连接方案连接到第二层。监督连接是指在预定义连接方案之前,我们训练一个96×96的监督连接矩阵的情况。第二层filter和连接矩阵被一起训练,这迫使连接矩阵组织特征图,使得每个组包含应该组合在一起的特征。要以无监督的方式用监督连接学习第二层过滤器,我们固定了监督训练连接矩阵,并用卷积k-means训练每组的局部filter。
表1显示了这些实验的结果。首先,由于过度适应有限数量的标签数据,所以用超级学习来训练整个网络的准确性将会降低。第一层的无监督学习提供了比完全监督的网络更大的性能提升。在我们的实验中,以监督的方式学习连接提高了每个案例的性能,尽管无人监督的学习仍然产生更好的性能。此外,在图4a中,我们分析了第二层中filter的监督和无监督学习的效果。无人监控(k-means算法)和监督(反向传播算法)学习算法显示不同的特征,因为我们增加第二层中的filter数量。 K-means学习算法需要包含增加的filter数量以产生与监督的反向推算算法相当的结果。尽管监督算法可以更有效地代表具有较少filter的数据,但是当filter数量增加时,它会损失训练集的精度和过载。相比之下,无监督的算法(卷积k均值)在少数量的filter下表现不佳。这种差异可能是因为监督的算法正在学习鉴别特征,而k-means学习算法学习了各种常见的特征。
最后,我们将网络的深度扩展到三个,以分析观察到的行为是否持续更大的网络。使用类似于第二层的配置,我们添加第三层,其包括表示连接的连接矩阵和具有非完全连接的另一卷积层。在这种情况下,连接矩阵以与Szegedy等人相似的方式减小尺寸(尺寸1536×678)(2014);这减轻了计算瓶颈。其他级联卷积层组合每四个特征图,并学习尺寸为4×3×3的filter。其后是ReLU激活功能,最大池化4×4以减小尺寸。
在图4b中,我们分析了第三层过滤器的监督和无监督学习的效果。结果表现出与第二层对应物类似的行为。 k均值算法需要增加filter的数量以产生与监督反向传播算法相当的结果。相比之下,无监督方法的性能可以通过连接在不同层计算的表示作为用于分类的图像特征向量来进一步提高。代替使用最后一层输出来提供分类器,我们连接中间层输出以在最终结果中提供分类器。改进是可能的,因为我们的模型没有超额,如其他作品所示。
Final Classification Results
最后,我们比较我们的方法与STL-10和MNIST数据集上发布的最先进的竞争方法。为了进行比较,我们主要关注以无监督的方式学习过滤器的算法。多字典方法(Coates&Ng,2011b; Lin&Kung,2014)是将不同层(即输出值)计算的表示作为图像特征向量的级联。我们使用与我们其他实验中使用的相同的学习参数,预处理和编码方案(第3.3节)。
STL-10
对于最终的分类结果,我们使用基于我们的两层和三层网络实验的网络。然而,我们通过用最大二乘法的2×2替换第一层的步幅来增加网络大小,从而提高了网络的准确性。我们通过多字典方法进一步提高准确性。详细地说,对于具有多字典网络的两层,我们使用来自两层实验的类似网络,其中我们从第一层输出中的每个24组中学习了64个滤波器。我们将这个网络与一个具有512个过滤器的单层网络连接起来。单层网络还包括ReLU激活和最大容量,以将输出的尺寸减小到512×4×4。对于具有多字典网络的三层,我们使用三层网络实验中的网络,我们创建了32个过滤器来自192组。我们还将这个网络与一个具有512个过滤器的单层网络连接起来。如在之前的比较中,线性分类器使用具有512层隐藏层的2层,并且以0.5的速率交错(Hinton等人,2012)。如表2所示,具有多字典的双层网络具有71.4%的精度。注意,这个值远远高于以前所有的无监督学习算法的工作,而网络比(Coates&Ng,2011b; Lin&Kung,2014)中使用的网络要小一个数量级(参数数量)。使用附加层,我们的算法实现了74.1%的精度。
MNIST
我们对MNIST数据集进行了一系列实验。对于测试,我们使用标准的10 000个测试样本,并使用不同大小的标签数据进行监督培训,如表3所示。通过确保每个标签均匀分布,从整个数据集中随机抽取训练数据。对于无监督的过滤学习算法,我们使用整个数据集,而对于训练连接和分类器,我们只使用随机提取的样本。我们使用与STL-10数据集上使用的相同的双层网络,除了我们将线性分类器中的隐藏层的大小减小到256,并且级联的一层网络具有96个过滤器。该数据集的实验结果见表3
Conclusions
我们提出了一个新颖的框架,结合了无监督聚类算法,k-means和卷积神经网络的优势,当很少的标签数据可用时。我们的框架修改k均值聚类算法,以便在与卷积网络一起使用时会学习相邻位置的冗余过滤器。此外,我们提出了一个监督学习设置,以了解层之间的正确连接。应用于卷积网络的本地连接的想法减轻了过滤器学习中的维度诅咒,并使算法具有可扩展性。此外,所提出的框架消除了在编码阶段期间包括输入的任何层上的数据白化的必要性(在学习字典时应用美白);这使得编码阶段比其他编码阶段非常简单(Coates&Ng,2011b; Hui,2013)。我们的实验表明,所提出的算法在无人监控的学习深层神经网络滤波器的技术中表现优于最先进的算法。