Dimensionality of Data with Neural Networks翻译自学"/>
Reducing the Dimensionality of Data with Neural Networks翻译自学
用神经网络降低数据的维数
G. E. Hinton* and R. R. Salakhutdinov
通过训练一个具有小中心层的多层神经网络来重构高维输入向量,可以将高维数据转换为低维码。梯度下降可以用来微调权值在这样的“自动编码器”网络,但只有当初始权值接近一个很好的解决方案时,这才能很好地工作。我们描述了一种有效的初始化权值的方法,这种方法允许深度自动编码器网络学习低维编码,作为一种降低数据维数的工具,这种方法比主成分分析的效果要好得多。
降维促进了高维数据的分类,可视化,通信和存储。 一种简单且广泛使用的方法是主成分分析(PCA),它可以找到数据集中最大方差的方向,并通过沿每个方向的坐标表示每个数据点。 我们描述了PCA的非线性概括,它使用自适应的多层“编码器”网络将高维数据转换为低维代码,并使用类似的“解码器网络从代码中恢复数据”
从两个网络中的随机权重开始,可以通过最小化原始数据与其重构之间的差异来一起训练您。 通过使用链法则首先通过解码器网络然后通过编码器网络(1)反向传播误差导数,可以轻松获得所需的梯度。 整个系统称为“自动编码器”,如图1所示。
在具有多个隐层的非线性自编码器(2-4)中,权值的优化比较困难。在初始权值较大的情况下,自动编码器通常会发现较差的局部极小值:初始权值较小,早期层中的梯度很小,这使得训练具有许多隐藏层的自动编码器变得不可行。如果初始权值接近一个好的解。梯度下降法工作得很好,但是找到这样的初始权值需要一种非常不同类型的算法,它一次只提取一个特征。我们介绍了二值数据的“预训练”过程,并将其推广到实值数据,结果表明该方法适用于各种数据集。一组二进制向量(如图像)可以使用一种称为“限制玻尔兹曼机RBM”(5,6)的双层网络进行建模,其中随机的二进制像素通过对称加权连接到随机的二进制特征检测器上。像素对应于“RBM的可见单位,因为它们的状态被观察到;特征检测器对应于“隐藏”单元。可见和隐藏单元的联合配置(v, h)具有能量(7)
其中v、h为像素i的二进制状态,特征j、b;和b;是他们的偏见,Wi是他们之间的权重。网络通过这个能量函数对每一幅可能的图像表示一个概率,如式(8)所示。训练图像的概率可由其中vi和hj是像素i的二进制状态,特征j,bi和bj是它们的偏差,而Wij是它们之间的权重。如(8)所述,网络通过该能量函数对每个可能的图像表示概率。可以通过调整权重和偏差来降低训练图像的概率,以降低该图像的能量并提高该网络希望使用真实数据的类似“受干扰”图像的能量。给定训练图像,每个特征检测器j的二进制状态hj以概率 设置为1,其中是逻辑函数1 /(1 +еxp(-x)),bj是j,vi的偏差是像素i的状态,而wij是i和j之间的权重。一旦为隐藏单元选择了二进制状态,就会通过以概率将每个vi设置为1来产生“干扰”,其中bi是i的偏差。然后,再次更新隐藏单元的状态,以使其代表协作的功能。权重的变化由下式给出
其中e为学习率,(vi hj)data为由数据驱动特征检测器时,像素i与特征检测器j同时作用的时间分数,(vi hj)recon为虚构的对应分数。同样的学习规则的一个简化版本被用于偏见。即使不完全遵循训练数据的对数概率的梯度(6),学习效果也很好。
单层二进制特征不是在一组图像中对结构建模的最佳方法。在学习了一层特征检测器之后,我们可以将它们的活动(当它们被数据驱动时)视为用于学习第二层特征的数据。然后,特征检测器的第一层成为用于学习下一个RBM的可见单元。这种逐层学习可以根据需要重复多次。可以证明,只要每层特征检测器的数量不减少并且权重正确初始化,添加额外的层总是可以提高模型分配给训练数据的对数概率的下限(9)。当较高的层具有较少的特征检测器时,此界限不适用,但是逐层学习算法仍然是预训练深度自动编码器权重的一种非常有效的方法。每一层特征都捕获了下面紫菜中各单元活动之间的强高阶相关性。对于各种各样的数据集,这是一种逐步揭示低维非线性结构的有效方法。
在对多层特征检测器进行预处理后,将模型“展开”(图1),生成初始使用相同权值的编码器和解码器网络。全局调优阶段则用确定性、实值概率代替随机活动,并通过整个自动编码器的反向传播对权值进行调优,实现最优重建。
对于连续数据,第一级RBM的隐藏单元仍然是二进制的,但是可见单元被带有高斯噪声的线性单元所取代(10)。如果该噪声具有单位方差,则隐藏单元的随机更新规则保持不变,而可见单元i的更新规则是对具有单位方差和均值 的高斯分布进行抽样
在我们所有的实验中,每个RBM的可见单元都具有实值活动,其活动范围为后勤单元[0,1]。在训练高层RBM时,将可见单元设置为之前RBM中隐藏单元的激活概率。除了最上面的隐藏单元外,每个RBM的隐藏单元都有随机的二进制值。顶层RBM的隐藏单元具有随机实值状态,该状态由单位方差高斯分布产生,其均值由该RBM的逻辑可见单元的输入决定。这使得低维码能够很好地利用连续变量,并便于与PCA进行比较。培训前的细节和微调可以在(8)中找到。
为了证明我们的预训练算法使我们能够有效地微调深度网络,我们在包含从两个维度中的三个随机选择点生成的“曲线”图像的合成数据集上训练了非常深的自动编码器(8)。 对于此数据集,三位维数的真值是已知的,并且像素强度与用于生成它们的六个数字之间的关系是高度非线性的。 像素强度在0到1之间,并且非常非高斯,因此我们在自动编码器中使用了逻辑输出单元,并且学习的微调阶段将交叉熵误差降到了最小 其中P是像素i的强度,p是其重建的强度。自动编码器由层大小为(28 x 28)-400-200-100 50-25-6的编码器和对称解码器组成。 代码层中的六个单元是线性的,其他所有单元都是逻辑的。 该网络接受了20.000张图像的培训,并接受了10,000张新图像的测试。 自动编码器发现了如何将每个784像素的图像转换为六个rea数,从而可以实现几乎完美的重构(图2A)。 PCA提供了更差的重构。 在没有预训练的情况下,即使经过长时间的微调,超深自动编码器也始终会重建训练数据的平均值(8)。 较浅的自动编码器在数据和代码之间只有一个隐藏的紫菜可以学习而无需预训练,但是预训练大大减少了它们的总训练时间(8)当参数数量相同时,较深的自动编码器在测试数据上产生的重构误差要比浅层自动编码器低 但是,随着参数数量的增加,这种优势就消失了(8)。
接下来,我们使用784-1000-500-250-30自动编码器来提取MNIST训练集(11)中所有手写数字的代码。我们用于预训练和微调的Matlab代码在(8)中可以找到。同样,除了代码层中的30个线性单元外,所有单元都是逻辑逻辑的。在对所有6万张训练图像进行微调后,自动编码器在1万张新图像上进行了测试,得到了比PCA更好的重构结果(图2B)。与前两个主成分相比,二维自编码器产生了更好的数据可视化效果(图3)。我们还使用带有线性输入单元的625-2000-1000-500-30自动编码器来发现来自Olivetti面部数据集的灰度图像块的30维编码(12)。自动编码器的性能明显优于pca(图2C)。
在对文档进行培训时,自动编码器会生成允许快速检索的代码。 我们将804.414个新闻专线故事(13)中的每一个都表示为2000个最常见词干的特定于文档的概率的向量,并且我们使用了2,000.000-250-125-10个自动编码器,对其中一半的故事进行了训练 多类交叉熵误差函数 为微调。 这10个代码单元是线性的,其余隐藏单元是对数的。当使用两个代码之间的角度的余弦来衡量相似性时,自动编码器明显优于潜在的语义分析(LSA)(14),这是一种众所周知的基于文档的检索方法 在PCA上(图4)。 自动编码器(8)的性能也优于局部线性嵌入,这是一种最新的非线性降维算法(15)。
逐层预训练也可以用于分类和回归。 在广泛使用的MNIST手写数字识别任务版本上,报告的最佳错误率是随机初始化的反向传播为1.6%,支持向量机为1.4%。 在784-500-500-2000-10网络中逐层进行紫菜预训练后,使用最陡峭的血统和较小的学习率进行反向传播可达到1.2%(8)。 预训练有助于泛化,因为它可以确保权重中的大多数信息来自对图像进行建模。 标签中的信息非常有限,仅用于略微调整通过预训练发现的重量。
自20世纪80年代以来,很明显,如果计算机足够快,数据集足够大,通过深度自编码的反向传播对于非线性降维是非常有效的。初始的权重足够接近一个好的解。这三个条件现在都满足了。与非参数方法(15,16)不同,自动编码器在数据和代码空间的两个方向上都提供了映射,它们可以应用于非常大的数据集,因为预处理和微调在时间和空间上都随训练用例的数量线性变化。
图1.预训练包括学习一堆受限的Boltzmann机器(RBM),每个机器只有一层特征检测器。 一个RBM的学习到的功能激活用作“数据”,以训练堆栈中的下一个RBM。 在预训练之后,RBM被“展开”以创建一个深度自动编码器,然后使用误差导数的反向传播对其进行微调。
图2所示。(A)从上到下:测试数据集中曲线的随机样本;六维深度自动编码器的重构;“logistic主成分分析”(8)六分量重建;采用逻辑主成分分析(logistic PCA)和标准主成分分析(standard PCA)对18个样本进行重构。最后四行的平均平方误差分别是1.44、7.64、2.45和5.90。(B)从上到下:每个类随机测试图像;用30维自编码器重构;用30维逻辑主成分分析和标准主成分分析进行重建。最后三行的平均平方误差分别为3.00、8.01和13.87。用30维主成分分析重建。平均平方误差是126和135。
图3所示。(A)所有60,000张训练图像的前两个主要密码组成部分所产生的每个类的500位的二维代码。(B) 7841000-500-250-2型自动编码器所找到的二维代码。另一种可视化方法见(8)。
图4所示。(A)当来自测试集的查询文档用于检索其他测试集文档时,在所有402,207个可能的查询中,检索到的文档与查询在同一个类中的比例。(B)二维极限安全分析所产生的代码。©由2000500-250-125-2型自动编码器产生的代码。
References and Notes
- D. C. Plaut, G. E. Hinton,Comput. Speech Lang. 2,35
(1987). - D. DeMers, G. Cottrell, Advances in Neural Information
Processing Systems 5 (Morgan Kaufmann, San Mateo, CA,
1993), pp. 580–587. - R. Hecht-Nielsen, Science 269 , 1860 (1995).
- N. K a m b h a t l a , T. L e e n , N e ural Co mpu t . 9 , 1493
(1997). - P. Smolensky, Parallel Distributed Processing: Volume 1:
Foundations , D. E. Rumelhart, J. L. McClelland, Eds. (MIT
Press, Cambridge, 1986), pp. 194–281. - G. E. Hinton, Neural Comput.14, 1711 (2002).
- J. J. Hopfield, Proc. Natl. Acad. Sci. U.S.A. 79, 2554
(1982). - See supporting material on Science Online.
- G. E. Hinton, S. Osindero, Y. W. Teh,Neural Comput.18,
1527 (2006). - M. Welling, M. Rosen-Zvi, G. Hinton, Advances in Neural
Information Processing Systems 17 (MIT Press, Cambridge,
MA, 2005), pp. 1481–1488. - The MNIST data set is available at /
exdb/mnist/index.html. - The Olivetti face data set is available at www.
cs.toronto.edu/ roweis/data.html. - The Reuter Corpus Volume 2 is available at http://
trec.nist.gov/data/reuters/reuters.html. - S. C. Deerwester, S. T. Dumais, T. K. Landauer, G. W.
Furnas, R. A. Harshman, J. Am. Soc. Inf. Sci. 41, 391
(1990). - S. T. Roweis, L. K. Saul, Science 290 , 2323 (2000).
- J. A. Tenenbaum, V. J. de Silva, J. C. Langford, Science
290 , 2319 (2000). - We thank D. Rumelhart, M. Welling, S. Osindero, and
S. Roweis for helpful discussions, and the Natural
Sciences and Engineering Research Council of Canada for
funding. G.E.H. is a fellow of the Canadian Institute for
Advanced Research.
纯属自己看文献时翻译记录,方便之后再看
更多推荐
Reducing the Dimensionality of Data with Neural Networks翻译自学
发布评论