首页> 中国专利> 一种基于并行自动编码机的特征学习方法及系统

一种基于并行自动编码机的特征学习方法及系统

摘要

本发明提供一种基于并行自动编码机的特征学习方法,包括:1)管理机执行Map操作,为各个工作机规划任务并将任务分发给每个工作机;其中,各个工作机的任务一致,均是基于所输入的数据对自动编码机的权值矩阵进行训练;所述权值矩阵包含了所述自动编码机的所有权值;2)每个工作机分别读取该工作机对应的部分数据集;3)各个工作机并行地执行管理机所分发的任务,对自动编码机的权值矩阵进行训练,然后每个工作机将它所训练的权值矩阵反馈给管理机;4)管理机执行Reduce操作,对各个工作机反馈的权值矩阵进行算数平均。本发明能够更加高效地实现特征学习;能够将并行自动编码机的数据处理的时间复杂度由二次复杂度降为线性复杂度。

著录项

  • 公开/公告号CN105825269A

    专利类型发明专利

  • 公开/公告日2016-08-03

    原文格式PDF

  • 申请/专利权人 中国科学院计算技术研究所;

    申请/专利号CN201610147007.5

  • 申请日2016-03-15

  • 分类号G06N3/04(20060101);G06N3/08(20060101);G06F17/30(20060101);

  • 代理机构11280 北京泛华伟业知识产权代理有限公司;

  • 代理人王勇;叶北琨

  • 地址 100190 北京市海淀区中关村科学院南路6号

  • 入库时间 2023-06-19 00:11:02

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2018-06-26

    授权

    授权

  • 2016-08-31

    实质审查的生效 IPC(主分类):G06N3/04 申请日:20160315

    实质审查的生效

  • 2016-08-03

    公开

    公开

说明书

技术领域

本发明涉及数据挖掘技术领域,具体地说,本发明涉及一种基于并行 自动编码机的特征学习方法及系统,它可以应用于金融、通信、图像处理、 Web数据分析、大数据分析等多个行业。

背景技术

随着社会发展的信息化和网络化,信息技术已经越来越深的影响到社 会生活的各个方面,计算机的发展极大地提高了社会生产效率。人们越来 越多的依靠计算机和互联网来提高生活水平、工作效率,不断的改造社会、 改进生活质量。然而随着计算机逐渐应用于各个方面,不可避免的产生了 大量的信息和数据。并且这些信息和数据并不仅仅是数据,它其中隐藏的 信息越来越被人们所重视。

人们在日常生活和工作中无时无刻不在获取信息,分析信息,并以此 作为决策的依据。然而随着互联网的不断发展,信息量不断增大,信息的 复杂度也不断提升。研究如何使计算机能够理解并自主处理获得的数据和 信息,进而帮助甚至代替人们做出决策,成为人们急切需求。数据挖掘是 从大量的数据中提取隐含的潜在有用信息的技术。而机器学习是从大量有 用信息中进行学习并做出决策的技术。

特征学习(featurelearning)是机器学习领域中的一个重要研究问题。 特征学习又称作表示学习(learningrepresentation),它的目标是自动学习一 个从原始输入数据到新的特征表示的变换,使得新的特征表示可以有效应 用在各种机器学习任务中,从而把人从繁琐的特征工程中解放出来。特征 学习通常能够提升机器学习算法的性能。和机器学习中的分类方式类似, 根据训练数据的区别,可以把特征学习算法分为两类:监督特征学习和无 监督特征学习。在监督特征学习中,通常需要利用有标签的数据。监督特 征学习包括:神经网络,多层感知机和有监督字典学习等。无监督特征学 习(unsupervisedfeaturelearning):是指从未标注数据中学习数据的新的特 征表示。无监督表示学习算法通常也是降维算法,用来从高维输入数据中 发现有意义的低维特征表示。目前,无监督特征学习算法包括字典学习算 法、主成分分析算法、独立成分分析算法、自动编码机算法、矩阵分解算 法以及众多形式的聚类问题算法等。

其中,自动编码机(Autoencoder)算法是一种已经得到广泛应用的无 监督表示学习方案。它包含了编码部分和解码部分,是深度学习结构的一 个典型例子。Hinton和Salahutdinov提出的编码机使用原始数据作为输入, 产生的特征作为输出;而解码机则用编码机产生的特征作为输入,重构出 原始数据作为输出。编码机和解码机均由堆叠的受限玻尔兹曼机(RBM) 构成。RBM常被用来作为构建深度结构的基础部分,一个RBM可以被表 示成一个无向二分图,包括了一组二值化的隐含变量,一组变量和变量间 联系的边。RBM的每一条边对应着一个权值。这些权值共同定义了能够 表示可视结点和隐含结点联合分布的能量函数。基于RBM技术,层与层 之间的变量变得相对独立,这样极大的方便了相关计算。一个RBM可以 被视为一个独立的网络层,具体来说,可视层变量对应着当前层的输入数 据,而隐含层变量则对应着特征输出。RBM的权值能够通过使用对比散 度来最大化可见变量的概率来优化。

为了便于理解,下面介绍一种典型的基于并行自动编码机的特征学习 方案。图1示出了一种典型的自动编码机的逻辑结构示意图。如图1所示, 该典型的自动编码机包括编码机和解码机,编码机可以由多个堆叠的(级 联的)RBM模型组成,编码机的输入通常是一个输入向量,记为x,编码 机的输出为隐藏层(图中以code表示)数据,隐藏层数据通常为一个向 量。解码机也可以由多个堆叠的(级联的)RBM模型组成。隐藏层输出 的向量作为该解码机的输入,解码机输出一个输出向量,记为图1中, 整个神经网络由一个输入层、一个输出层和三个隐藏层以及各层之间的神 经构成。但需要说明的是,本发明所用到的神经网络并不限于此,基本神 经网络只需要一个输入层、一个输出层和一个隐藏层即可,该基本神经网 络由两个单层神经网络构成,输入层、隐藏层以及它们之间的神经构成第 一个单层神经网络,隐藏层、输出层以及它们之间的神经构成第二个单层 神经网络。

并行自动编码机需要基于大量的已知数据对模型进行训练,以得到优 化的权值向量,进而获得更加准确的特征学习模型。目前,并行自动编码 机通常基于ApacheHadoop平台及其独特的MapReduce思想实现。 MapReduce操作包括Map(映射)操作和Reduce(化简)操作两个部分, 对应地,用于实现并行自动编码机的ApacheHadoop平台包括管理机(主 机)和多个可并行工作的工作机。管理机主要用于收集数据并为工作机分 发和调度任务。在MapReduce机制中,管理机首先进行Map操作,为各 个工作机规划任务,然后将任务分发到各个工作机。然后,各个工作机则 各自执行管理机所分配的任务。在典型的方案中,整个自动编码机的模型 参数被分解为多个权值组合,每个工作机分别负责计算和更新自动编码机 的一部分权值(即一个权值组合)。多个工作机并行地执行迭代操作。在 单次迭代操作中,每个工作机首先读取一条输入数据(通常是输入向量x), 然后执行正向传播,经过编码和解码得到输出数据(通常是输出向量)。 然后执行反向传播,根据输入向量x和输出向量计算出误差并基于该误差 对该工作机所对应的权值组合进行更新,最后将误差和更新后的权值组合 反馈至管理机。管理机收到各个工作机所反馈的信息后,执行Reduce操 作,汇总各个工作机的误差和权值更新,再将上一次迭代运算所得的完整 误差信息和权值更新信息(指所有工作机所反馈的信息)传递给各个工作 机,以便进行下一次的迭代。这样不断迭代,直至满足预设的停止条件。 经过上述训练过程后,各个工作机对应权值组成的权值向量即可视为特征 学习模型的模型参数向量,从而获得基于自动编码机的特征学习模型。

上述基于ApacheHadoop平台的并行自动编码机方案具有良好的可扩 展性、容错性和兼容性。然而,当数据规模增大时,这种并行自动编码机 方案所需的计算能力将非线性地增长,因此,这种方案面临海量数据计算 任务时,在数据处理效率和时间上往往难以满足要求。当前迫切需要一种 更加高效的基于并行自动编码机的特征学习解决方案。

发明内容

本发明的任务是克服现有技术的不足,提供更加高效的基于并行自动 编码机的特征学习解决方案。

根据本发明的一个方面,提供了一种基于并行自动编码机的特征学习 方法,该特征学习方法涉及管理机、多个工作机以及训练数据集,所述训 练数据集被划分为多个部分数据集,每个工作机均与一个或多个所述部分 数据集对应;所述特征学习方法包括下列步骤:

1)管理机执行Map操作,为各个工作机规划任务并将任务分发给每 个工作机;其中,各个工作机的任务一致,均是基于所输入的数据对自动 编码机的权值矩阵进行训练;所述权值矩阵包含了所述自动编码机的所有 权值;

2)每个工作机分别读取该工作机对应的部分数据集;

3)各个工作机并行地执行管理机所分发的任务,对自动编码机的权 值矩阵进行训练,然后每个工作机将它所训练的权值矩阵反馈给管理机;

4)管理机执行Reduce操作,对各个工作机反馈的权值矩阵进行算数 平均。

其中,所述训练数据集被划分为多个子训练数据集,每个子训练数据 集被划分为多个部分数据集,每个工作机均与一个子训练数据集的一个所 述部分数据集对应;

所述步骤2)中,每个工作机所读取的是当前子训练数据集中它所对 应的部分数据集;

所述步骤4)还包括:所述管理机执行Reduce操作对各个工作机反馈 的权值矩阵进行算数平均后,得到基于当前子训练数据集进行更新后的权 值矩阵,所述管理机将更新后的权值矩阵分配给各个工作机作为下一轮训 练的初值权值矩阵,然后重新执行步骤1)~4),直至所有子训练数据集均 处理完毕。

其中,所述步骤1)还包括:管理机将相关初始化参数发至各工作机 节点,所述相关初始化参数包括:数据规模、隐藏层配置、输入数据路径、 正则化参数和随机数种子中的一项或多项。

其中,所述步骤3)中,每个工作机执行管理机所分发的任务的过程 如下:读取当前部分数据集中的一条数据作为输入数据,计算出隐藏层和 输出层的值,然后利用得到的输出层的值与原输入数据之间的误差更新所 述权值矩阵,工作机读取当前部分数据集中的下一条数据,然后重复上述 过程,直至当前部分数据集中的每一条数据均至少输入过一遍。

其中,所述步骤3)中,基于随机梯度下降算法,根据所述的输出层 的值与原输入数据之间的误差更新所述权值矩阵。

其中,所述自动编码机由第一单层神经网络和第二单层神经网络组成, 所述权值矩阵包括对应于第一单层神经网络的第一权值矩阵和对应于第 二单层神经网络的第二权值矩阵;

所述步骤3)中,每个工作机执行管理机所分发的任务的过程如下:

31)计算隐藏层向量h=sigmoid(W1x+B1);

其中,sigmoid为激活函数,W1为第一权值矩阵,B1为第一偏置向 量,M为输入向量的维度,K为隐藏层节点数目;

32)计算解码后的输出向量

其中,W2为第二权值矩阵,B2为第二偏置向量,“.*”表示点乘,I为 指示函数向量,向量I中的任意一个元素满足:

33)计算输出层误差向量

计算隐藏层误差向量

其中,downstream表示任一单层神经网络的输出;

34)基于输出层误差向量Eout和隐藏层误差向量Eh对第一权值矩阵 W1和第二权值矩阵W2进行更新。

根据本发明的另一方面,提供了一种基于并行自动编码机的特征学习 系统,该系统涉及训练数据集,所述训练数据集被划分为多个部分数据集, 每个工作机均与一个或多个所述部分数据集对应;所述特征学习系统包括 互联的基于Spark平台的管理机和基于Spark平台的多个工作机;

其中,所述管理机用于执行Map操作,为各个工作机规划任务并将任 务分发给每个工作机;以及执行Reduce操作,对各个工作机反馈的权值 矩阵进行算数平均;其中,各个工作机的任务一致,均是基于所输入的数 据对自动编码机的权值矩阵进行训练;所述权值矩阵包含了所述自动编码 机的所有权值;

所述多个工作机用于分别读取该工作机对应的部分数据集;以及并行 地执行管理机所分发的任务,对自动编码机的权值矩阵进行训练,然后每 个工作机将它所训练的权值矩阵反馈给管理机。

其中,所述训练数据集被划分为多个子训练数据集,每个子训练数据 集被划分为多个部分数据集,每个工作机均与一个子训练数据集的一个所 述部分数据集对应;

所述工作机还用于在基于一个子训练数据集进行训练时,读取该子训 练数据集中该工作机所对应的部分数据集;

所述管理机还用于执行Reduce操作对各个工作机反馈的权值矩阵进 行算数平均后,得到基于当前子训练数据集进行更新后的权值矩阵,将更 新后的权值矩阵分配给各个工作机作为下一轮训练的初值权值矩阵。

其中,所述管理机还用于将相关初始化参数发至各工作机节点,所述 相关初始化参数包括:数据规模、隐藏层配置、输入数据路径、正则化参 数和随机数种子中的一项或多项。

其中,所述工作机还用于按照下述过程执行管理机所分发的任务:读 取当前部分数据集中的一条数据作为输入数据,计算出隐藏层和输出层的 值,然后利用得到的输出层的值与原输入数据之间的误差更新所述权值矩 阵,工作机读取当前部分数据集中的下一条数据,然后重复上述过程,直 至当前部分数据集中的每一条数据均至少输入过一遍。

与现有技术相比,本发明具有下列技术效果:

1、本发明能够充分发挥分布式集群系统的计算潜力,更加高效地实 现特征学习。

2、本发明能够将并行自动编码机的数据处理的时间复杂度由二次复 杂度降为线性复杂度。

3、在对稀疏数据进行处理时,本发明能够通过屏蔽计算过程中的无 效计算和无效存储开销,进一步减少时间和空间的浪费,从而在保证计算 正确性的情况下,大幅度提高模型训练速度。

4、本发明的基于并行自动编码机的特征学习模型训练结果准确度高。

5、本发明特别适合完成海量数据计算任务。

附图说明

以下,结合附图来详细说明本发明的实施例,其中:

图1示出了现有技术中一种典型的自动编码机的逻辑结构示意图;

图2示出了图2示出了本发明一个实施例的用于实现并行自动编码机 的系统平台;

图3示出了本发明一个实施例的并行自动编码机的训练方法的流程图;

图4示出了本发明中具有不同数目工作机的平台上,自动编码机的模 型参数训练时间随数据规模变化的曲线;

图5示出了现有技术中一种自动编码机运行时间随数据规模变化的曲 线。

具体实施方式

图2示出了本发明一个实施例的用于实现并行自动编码机的系统平台, 该系统平台包括管理机(Manager)、多个工作机(Worker)以及多个数据 分片存储装置。其中管理机可部署在云端,它与每个工作机分别互联。每 个工作机分别与一个数据分片存储装置互联。其中,管理机主要用于收集 数据并为工作机分发和调度任务。工作机负责完成具体计算。多个工作机 可以并行地工作。需要说明,这种系统结构仅是示例性的,在本发明的其 它实施例中,也可以采用其它类型的系统平台构架,只要该系统平台构架 包括管理机和与之互联的多个工作机以及相应的数据存储系统即可。

图2的实施例中,所采用的系统平台是一种Spark平台。Spark是针 对MapReduce在迭代式机器学习算法和交互式数据挖掘等应用方面的低 效率而提出的新的内存计算框架,Spark平台可以部署在Hadoop集群环境 下,拥有直接访问HDFS文件系统的能力。传统的MapReduce技术(例如 ApacheHadoop平台)中,MapReduce中间过程和计算结果需要读写HDFS。 而Spark技术不同于此,在执行MapReduce操作的过程中,Spark平台将 计算结果保存在内存中,从而不必频繁读写HDFS,大幅减少了IO操作。 采用Spark平台,能够更好地适应本实施例的并行自动编码机的训练方法, 进而提升算法运行效率,使算法运算时间极大地缩短。

下面,进一步介绍基于上述系统平台的并行自动编码机的训练方法。 图3示出了本实施例的并行自动编码机的训练方法的流程图,包括下列步 骤:

步骤101:管理机执行Map操作,即将相关初始化参数发至各工作机 节点,例如数据规模,隐藏层配置,输入数据路径,正则化参数,随机数 种子等。

步骤102:每个工作机读取其对应的输入数据。不同于现有技术中将 所有输入数据分别输入每个工作机的做法,本实施例中,通过将不同部分 的数据被划分至不同的工作机,分别对自动编码机的权值进行训练。另一 方面,本实施例中,每个工作机均负责训练自动编码机的所有权值,也就 是说,每个工作机均可以独立地训练完整的自动编码机模型,只是用于训 练的数据不是完整的。由于每个工作机的输入数据的数据量大大减小,因 此本实施例中系统能够通过多个工作机的并行处理来加速自动编码机的 训练。为便于说明,下文中将每个工作机负责处理的数据的集合称为部分 数据集。

尽管每个工作机负责处理的仅是它所对应的部分数据集,但其数据量 仍然十分庞大。本实施例中,输入数据以样本为单位参与工作机的迭代计 算,即输入工作机的每条数据代表一个样本。以文本数据为例:数据格式 为“文本编号:单词号出现次数,单词号出现次数,…,单词号出现次 数\n”,例如“1:12,41,52\n”,其中“\n”为换行符。如果把很多文本放 在一起,也可以采用每一行代表一个点的数据格式,其基本数据格式为: “文本编号单词号出现的次数\n”。按照这种基本数据格式,前文中的文 本数据例子“1:12,41,52\n”将改写为:“112\n141\n152\n”。

本实施例中,系统激活函数采用sigmoid函数,输入数据中的单词在 某文本中出现次数将被归一化到(0,1)范围内。在文本数据中,最常用的对 某个单词出现次数的归一化做法是:该单词出现次数/部分数据集中的最大 出现次数。在计算机的处理过程中,每条数据通常以一个输入向量来表示。

本实施例中,利用随机数种子各自初始化自编码机权值,由相同的种 子保证了每个工作机上的神经网络初始状态相同。

步骤103:各个工作机并行地执行管理机所分发的任务,对自动编码 机的权值矩阵进行训练,然后每个工作机将它所训练的权值矩阵反馈给管 理机。本实施例中,工作机采用迭代的方式对自动编码机的权值矩阵进行 训练,每次迭代处理一条输入数据。假设部分数据集是一段文本数据或多 段文本数据的集合,那么一条输入数据就是上述文本数据的一行。本步骤 中,工作在读取一条输入数据后,执行正向传播,即利用输入数据计算出 隐藏层和输出层(指正向传播的输出层)的值。计算完毕后再执行反向传 播,即利用得到的输出数据误差计算出神经网络的参数,完成参数更新。 此时就完成了自动编码机的一次迭代,之后,工作机读取下一条输入数据, 进行下一次的迭代,这样不断重复,直至将输入数据中的每条数据至少计 算一遍。

本实施例中,在每次迭代时,采用随机梯度下降算法对神经网络的参 数(主要是指自动编码机的权值)进行更新。相比于诸如L-BFGS等有二 次收敛能力的算法,计算量和空间消耗都有了明显的降低,特别适合于自 动编码机。另外本实施例还具有压缩特征得到数据高效表示的能力,同时 能够自动剔除不符合模型的特例并补全不完整数据。

进一步地,以两个单层神经网络组成的自动编码机为例,介绍一个优 选实施例中完成一次迭代的算法,该算法如下:

步骤1031:根据公式(1)计算隐藏层向量h。本实施例中,h为K*1 列向量,它是正向传播过程的输出。

h=sigmoid(W1x+B1)(1)

其中,sigmoid为激活函数,sigmoid(a)=1/(1+e-a)。W1为K*M 矩阵,它是第一权值矩阵。B1为K*1列向量,它是第一偏置向量。M 为输入向量的维度,特别地,文本数据中M指字典长度。K为隐藏层 节点数目。x为输入向量。

步骤1032:根据公式(2)计算解码后的输出向量

x^=sigmoid(W2h+B2).*I---(2)

W2为M*K矩阵,它是第二权值矩阵。B2为M*1列向量,它是第二偏置 向量。“.*”表示点乘,I为指示函数向量,它是M*1的列向量,向量 I中的任意一个元素满足:

步骤1033:根据公式(3)、(4)计算误差向量Eout和Eh。Eout表示输出 层误差向量,Eh表示隐藏层误差向量。

Eout=(1-x^)x^(x-x^)---(3)

Eh=(1-h)EoutdownstreamW2TEout---(4)

downstream表示任一单层神经网络的输出。

步骤1034:根据公式(5)、(6)计算权值矩阵的更新矩阵。其中ΔW1

第一权值矩阵W1的更新矩阵。ΔW2为第二权值矩阵W2的更新矩阵。

ΔW2=W2TEout---(5)

ΔW1=W1TEh---(6)

步骤1035:基于步骤1034得出的更新矩阵,根据公式(7)对第 一权值矩阵W1和第二权值矩阵W2进行更新。

W=W+Φ(xinΔW-αW)(7)

其中,Φ为预设的步长,通常为常数,α为预设的正则化参数。W泛指 第一权值矩阵W1或者第二权值矩阵W2,ΔW泛指第一权值矩阵的更新矩阵 ΔW1或者第二权值矩阵的更新矩阵ΔW2。xin泛指单层神经网络的输入数据, 在计算W1的更新时,xin代表输入向量,在计算W2的更新时,xin代表隐藏层 向量。

步骤1035执行完毕后就完成了一次迭代,下一次的迭代将基于更新 后的权值矩阵执行。需说明的是,在上述公式(2)中,增加了点乘指示 函数向量I的这一部分,其目的是在反向传播时屏蔽无效计算和操作。本 实施例中,针对自动编码机低效处理稀疏数据的缺陷,创造性的提出屏蔽 计算过程中的无效计算和无效存储开销的思路。现有自动编码机在处理稀 疏数据时,一般将稀疏数据转换为非稀疏数据进行处理,不仅导致时间和 空间的巨大浪费,而且由于大量无效数据的填充也极大地影响了系统计算 结果的正确性。故而,本发明针对此问题,从根本实现上对算法进行改进, 在计算过程中,只着眼于有效值以及其对应神经元,反向传播时屏蔽无效 计算和操作。成功地将时间复杂度由二次复杂度降为线性复杂度,保证计 算正确性的情况下,大幅度提高了模型训练速度。

在完成所对应的部分数据集的处理后,各个工作机分别将自己训练得 到的权值上传至管理机。

步骤104:管理机接收各个工作机训练得到的权值,然后进行Reduce 操作,即对所有工作机得到的权值矩阵计算平均,得到最终的权值矩阵, 从而完成对并行自动编码机的训练。

上述实施例仅包含一次MapReduce操作。需要说明的是,在另一个实 施例中,可将输入数据划分成更多数目的部分数据集,并将一次 MapReduce操作拆分成多次MapReduce进行处理。该实施例中,每完成 一次MapReduce操作,管理机就将当前计算的权值发送至各个工作机,各 个工作机将所接收的权值作为下一次MapReduce操作时的初始权值。该实 施例特别适合于输入数据数据量过大,或者能够明显观察到平台的性能开 始下降的应用场景。基于神经网络初始值与正确性理论(即同样的神经网 络初始值,对不同数据样本进行拟合,最终结果所代表的数据分布相同), 该实施例对分布式系统的每一个节点上初始化同样的神经网络。每计算一 定规模的数据,对模型的参数进行收集归并更新模型参数,不断迭代得到 最终权值。这种方案能够在保证模型的并发性以及计算结果正确性的前提 下,实现自动编码机的并行计算,大幅提高自动编码机的工作效率。

为了验证本发明的实际技术效果,发明人以基于用户对电影打分的数 据集的推荐系统为例进行了测试。其中,用户对电影打分的数据集的一部 分作为训练数据交给自动编码机执行训练过程,获得训练后的自动编码机, 然后将输入数据代入到自动编码机里,得出未知部分的用户对电影的打分, 进而将用户感兴趣的电影推荐给用户。将训练后的自动编码机输出的结果 和真实结果进行对比,就可以得到MAE(meanabsoluteerror),RMSE(root meansquareerror)等测试指标。测试表明,本发明的MAE,RMSE等测 试指标与现有技术中其它训练方法得到的自动编码机基本一致,证明按照 本发明方法的训练自动编码机具有良好的准确度。

进一步地,图4示出了本发明中具有不同数目工作机的平台上,自动 编码机的模型参数训练时间随数据规模变化的曲线。其中,工作机配置为 RAM:8GB、CPU:4GHZ;横坐标为输入数据条数(单位:千),纵坐 标为运行时间(单位:s)。从图4中可以看出,本发明的自动编码机的运 行速度快,同时训练时间随样本数的增长仅呈线性增长,相比现有技术中 的非线性增长,可以显著减少训练时间。另一方面,图4中三条表示不同 工作机数量下运行结果的曲线,还显示本发明的算法具有优秀的并行效率。 图5示出了现有技术中一种基于MATLAB实现的DeepLearningTool中SAE 在配置为RAM8GB,CPU4GHZ的计算机上的运行时间随数据规模变化 的曲线。其中,DeepLearningTool可参考RasmusBergPalm(2012). http://www.mathworks.com/matlabcentral/fileexchange/38310-deep-learning-toolbox。其中SAE是 Deeplearningtool中的一个实现代码的名字。可以看出,该算法的时间复杂 度为二次复杂度,它是非线性的。这种非线性现有并行自编码机每次迭代 都需要大量的数据传输,进而消耗大量的时间。当迭代次数达到一定级别 时,运行时间将高到不可忍受。

最后应说明的是,以上实施例仅用以描述本发明的技术方案而不是对 本技术方法进行限制,本发明在应用上可以延伸为其它的修改、变化、应 用和实施例,并且因此认为所有这样的修改、变化、应用、实施例都在本 发明的精神和教导范围内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号