
技术摘要:
本申请涉及人工智能,提供一种训练迁移模型的方法、故障检测的方法和装置,涉及人工智能领域,该训练迁移模型的方法包括:获取待处理数据,该待处理数据包括来自于目标域的无标签数据和来自于源域的有标签数据,获得待处理数据中的每一维数据的多个数据片段,该多个数 全部
背景技术:
在人工智能领域,人工智能方法的实现通常需要借助于模型,当需要将一个应用 场景下的模型转移到另一个场景下时,就需要建立适用于新场景的模型,在此过程中,将预 训练的模型(原应用场景的模型)作为新模型(新应用场景的模型)的初始模型是一种常用 的方法,目的是对这些已经消耗了巨大的时间资源和计算资源才获得的预训练的模型加以 利用,因此迁移学习(transfer learning)应运而生。也就是说,迁移学习可以将已习得的 强大技能迁移到相关的问题上,或者可以理解为将一个任务的模型重新用在另一个任务 中。常见的对迁移学习的实现方式是假设源域(source domain)和目标域(target domain) 之间存在域不变特征表示,也就是说,将源域(对应于原应用场景)和目标域(对应于新应用 场景)之间的数据的关系进行对应,然后结合源域的标签数据以及少量的目标域的待训练 数据来训练生成一个可迁移到目标域上相对较优的模型。 该类方法需要源域和目标域的数据严格对应,但在实际情况中,源域的数据和目 标域的数据很可能会存在隐藏在数据中的偏差,而传统的数据处理方法只考虑表面上能够 消除的偏差,但对于隐藏在数据中的偏差没有考虑到,也没有能够获知这些偏差的方法,从 而导致学习到的迁移模型(迁移到目标域的新模型)的准确性较低,甚至出现迁移模型是错 误的或学习失败等情况。 因此,如何提高迁移模型的准确性是一项亟待解决的问题。
技术实现要素:
本申请提供一种训练迁移模型的方法、故障检测的方法以及装置,能够提高迁移 模型的准确性,从而当利用该模型执行故障检测任务时,能够提高故障检测的准确性。 第一方面,提供一种训练迁移模型的方法,该方法包括:获取待处理数据,该待处 理数据包括来自于目标域的无标签数据和来自于源域的有标签数据;获得待处理数据中的 每一维数据的多个数据片段,该多个数据片段不完全相同,利用上述多个数据片段对迁移 模型进行训练,获得训练后的迁移模型。 在本申请的技术方案中,通过对待处理数据进行片段划分,使得既能够得到待处 理数据的整体特征,又能够获得隐藏在待处理数据的数据片段之间的局部特征,从而能够 提高迁移模型的训练数据的准确性,进而提高迁移模型的准确性。也就是说,通过将待处理 数据进行划分,得到多个不完全相同的数据片段,这些数据片段的并集能够构成原待处理 数据,因此这些数据片段不仅携带了原待处理数据的整体特征,又携带了隐藏在原待处理 数据中的局部特征(例如时滞等),当利用这些数据片段进行模型训练的时候,就能够提高 训练后的模型的准确性。假设对这些数据片段进行特征提取,除了能够提取到待处理数据 5 CN 111612035 A 说 明 书 2/28 页 的整体的特征以外,还能够提取到隐藏在片段与片段之间的特征(例如上述数据的偏差), 当利用从这些数据片段提取的特征进行模型训练的时候,就能够提高训练后的模型的准确 性。举例说明,假设待处理数据是时序数据,可能存在时滞、趋势变化的起点时刻不同等导 致的数据偏差,而当利用本申请实施例的方法,对时序数据进行划分和对划分后的片段进 行特征提取之后,除了能够获得时序数据整体所呈现的特征,还能够获得隐藏在不同片段 之间的特征,例如能够获得携带有时滞、时间偏差等信息的特征,当利用这些特征进行模型 训练时,就能够消除数据实际不对齐(即假对齐)所带来的影响,从而提高学习到的新模型 的准确性。 需要说明的是,对齐可以理解为一致,例如两组数据都是同一时间段内获得的,而 假对齐是指,表面上两组数据是一致的,待实际存在偏差,例如虽然表面看两组数据都是同 一时间段内获得的,但事实上两组数据内部的数据变化趋势是不一致的,也就是数据变化 的起点是不同的。 可选地,该待处理数据可以包括一维或多维待处理数据。 可选地,该待处理数据可以包括来自于目标域的待处理数据(例如无标签数据), 还可以包括来自于源域的样本数据(或者可以是带标签的数据或者称之为有标签数据)。例 如假设应用于故障检测,则无标签数据可以理解为没有故障标签类别的数据,样本数据或 带标签数据、有标签数据则可以理解为标注了故障类别的故障检测数据。又例如假设应用 于天气预测,则无标签数据可以理解为没有标注天气类别的数据,样本数据则是标注了天 气类别的数据,天气类别可以包括一种或多种与天气相关类别,例如晴、雨、雪、雾等。 可选地,可以通过获取单元、模块、装置实时采集待处理数据,也可以从存储模块、 单元、装置中读取待处理数据。此外,待处理数据可以是时序数据,也可以是非时序数据,不 存在限定。 需要说明的是,待处理数据包括一维或多维待处理数据是指,待处理数据可以包 括一个或多个参数的数据,或者可以理解为一个或多个维度的数据,或者还可以理解为一 个或多个类别的数据。每一个参数和每一个维度以及和每一个类别的数据均还可以理解为 每一路数据。以图1为例,则相当于血糖、胰岛素、胰高血糖素分别对应于3个参数、3个维度 或者3个类别。又例如,在电路中,可以由电流、电压、功率、电阻值或电容值等组成一维或多 维数据。又例如,在气象中,可以由温度、气压、风力或空气质量等组成一维或多维数据。又 例如,在化学中,可以由原料的成分、原料配比、反应时间或反应条件等组成一维或多维数 据。还存在除上述例子以外的其他待处理数据,在此不再一一列举,为了使得表述简洁,在 本申请实施例中,均用维度进行描述,也就是说,待处理数据包括一维或多维数据。 可选地,在本申请实施例中所划分的多个数据片段之间可以有交集,也可以没有 交集。应理解,有交集也可以理解为存在数据重叠,数据重叠可以理解为不同的数据片段中 有相同的数据。还应理解,对于待处理数据中的不同维的数据片段之间通常是没有交集的, 而有交集的数据片段通常是待处理数据中的同一维的数据片段之间。 例如,假设待处理数据有三维数据,分别用第一维、第二维和第三维表示,则步骤 302相当于对三维数据中的每一维分别进行操作,例如可以将第一维数据划分成3个均有交 集的数据片段,且有2个数据片段相同,该3个数据片段的并集是第一维数据;又例如可以将 第二维数据划分成10个均不相同的数据片段,且有5个数据片段之间有交集,该 10个数据 6 CN 111612035 A 说 明 书 3/28 页 片段的并集是第二维数据;又例如可以将第三维数据划分成8个数据片段,其中4个数据片 段不相同,且其中5个数据片段之间有交集,该8个数据片段的并集是第三维数据。第一维数 据的3个数据片段和第二维的10个数据片段之间、第一维数据的3个数据片段和第三维的8 个数据片段之间、第二维数据的10个数据片段和第三维的8个数据片段之间通常是没有交 集的需要说明的是,上述例子是对于划分方法的举例,不存在划分方式的限定,且应理解, 在本申请实施例中,对于待处理数据的每一维数据分别进行划分,来获得不完全相同的多 个数据片段。还应理解,本申请实施例所述的“划分”可以包括将待处理数据进行切段,也可 以包括获得不完全相同的数据片段,例如一个数据长度为 10的待处理数据,所划分的数据 片段的长度可以为1至10的任意长度。 又例如,可以是所有数据片段之间均没有数据重叠,也可以是每一维数据的多个 数据片段的每两个数据片段之间均有数据重叠,也可以是每一维数据的多个数据片段中只 有部分数据片段之间存在数据重叠。 可选地,可以根据待划分数据的数据七点和数据终点来确定多个数据片段的数据 起点和数据终点的方式来划分数据片段。例如可以使得多个数据片段有共同的数据终点, 但具有不同的数据起点,从而得到不同数据起点对于结果的影响。又例如,可以使得多个数 据片段具有共同的数据起点,但具有不同的数据终点,从而得到不同数据终点对于结果的 影响。假设该待划分数据是非时序数据,则上述划分相当于多个数据片段之间有重叠,且可 以进一步设置成重叠部分依次递增,例如假设待划分数据包括10组非时序数据,为了便于 描述将其编号为1至10,应理解此处的编号只是为了区分每组数据,并不是设定先后顺序。 则可以划分为均包括其中某一组(例如第2组)的不同长度的多个数据片段。又例如可以划 分为均包括其中某几组的不完全相同的多个数据片段,例如都包括第1组和第3 组。 从上面示例也可以看出,在本申请实施例中,相当于将待处理数据划分成多个不 完全相同的数据片段,以便于确定不同数据片段对结果的影响,或者以便于找出对结果影 响较大的数据片段。 结合第一方面,在第一方面的某些实现方式中,待处理数据为待处理时序数据,则 可以使得上述多个数据片段包括多个时间起点,该多个时间起点可以根据待处理时序数据 所对应的起始时刻和待处理时序数据所对应的终止时刻来确定。可选地,可以使得上述多 个时间起点包括从起始时刻到终止时刻之间的所有时刻。可选地,还可以使得多个数据片 段的时间终点为待处理时序数据所对应的终止时刻。 也就是说,当待划分数据是时序数据时,可以根据时序数据的起始时刻(相当于待 处理数据的数据起点的一例)和终止时刻(相当于待处理数据的数据终点的一例)来划分。 需要说明的是,对于时序数据来说,是与时间顺序相关的,因此存在时刻的先后,时序数据 的起始时刻可以理解为时序数据中所对应的时刻中最早的时刻,时序数据的终止时刻可以 理解为时序数据中所对应的时刻中最晚的时刻。例如假设一段时序数据中共60个时刻,从 最早时刻到最晚时刻一次编号为第1时刻至第60时刻,则该段时序数据的起始时刻为第1时 刻,终止时刻为第60时刻,又例如假设第1时刻对应于实际时间早上7点,第60 时刻对应于 实际时间早上8点,则相当于起始时刻对应于实际时间早上7点,终止时刻对应于实际时间 早上8点。 可选地,可以根据时序数据的起始时刻和终止时刻来确定时序数据的多个数据片 7 CN 111612035 A 说 明 书 4/28 页 段的时间起点,也就是说,该多个数据片段包括多个时间起点。数据片段的时间起点和时间 终点与待处理时序数据的起始时刻和终止时刻相似,相当于时间起点是数据片段中最早的 时刻,时间终点是数据片段中最晚的时刻,因此可以看出时间起点和时间终点都需要在起 始时刻和终止时刻之间。 举例说明,假设待处理时序数据包括1-10共10个时刻的数据,且时刻1为最早的时 刻,时刻2为晚于时刻1的时刻,以此类推,时刻9为晚于时刻8的时刻,时刻10为最晚的时刻。 假设第一数据片段包括时刻1至时刻9的数据,第二数据片段包括时刻2至时刻8的数据,第 三数据片段包括时刻1至时刻1的数据,第四数据片段包括时刻8至时刻 10的数据,第五数 据片段包括时刻10至时刻10的数据。则待处理时序数据的起始时刻为时刻1,终止时刻为时 刻10;第一数据片段的时间起点为时刻1,时间终点为时刻9;第二数据片段的时间起点为时 刻2,时间终点为时刻8;第三数据片段的时间起点为时刻 1,时间终点为时刻1;第四数据片 段的时间起点为时刻8,时间终点为时刻10;第五数据片段的时间起点为时刻10,时间终点 为时刻10。 可选地,假设待划分时序数据(例如待处理时序数据)包括t-N 1时刻至t时刻的数 据,其中N为正整数,则可以将待划分的时序数据进行如下的划分。 可选地,可以将待处理数据划分为M个片段,其中M为大于1的正整数。需要说明的 是,假设M等于1,则相当于没有进行划分,而且M的值可以大于N的值,例如待划分的时序数 据包括对应于10个时刻的数据,可以得到多于10个不完全相同的数据片段,此外,片段可以 不按照依次推进的方式划分。 可选地,可以使得M个片段均包含有t时刻的数据,则相当于得到不同时间起点到 当前时刻的数据片段。这样的划分,在用于后续特征提取时,可以用于找到关键的时间节点 (即关键的时间起点),例如时序数据曲线中数据趋势开始发生变化的时刻。 也就是说,在图5所示划分方式中,待处理时序数据中的每一维数据的多个数据片 段包括多个时间起点,且这些时间起点包括了从每一维待处理时序数据的起始时刻到每一 维待处理时序数据的终止时刻之间的所有时刻,且多个数据片段的时间终点为所述待处理 时序数据所对应的所述终止时刻。 可选地,可以将待划分数据划分为N个均包含有t时刻数据的片段,也就是M等于N。 则能够得到t-N 1时刻至t时刻(对应N个片段)中每个时刻为起点的数据(每个片段的数据 以不同时刻为起点)的特征。当利用该N个片段进行处理时,就能够找到t-N 1时刻至t时刻 中所有的关键的时间节点(时刻),以图1为例,则相当于找到图1中曲线发生趋势变化的时 刻,以及还可能找到对当前时刻影响最大的时刻等等。 可以理解为,利用上述方法对待处理数据进行划分后,扩充了用于训练的训练数 据,使得既能够获得待处理数据的整体特征,又能够获得待处理数据中隐藏在片段之间的 局部特征。也就是说,一方面扩展了训练数据,另一方面能够从待处理数据中获得更多的特 征。 需要说明的是,在本申请实施例中,源域的有标签数据和目标域的无标签数据(例 如上述多个数据片段)可以用于训练适用于源域的模型,也可以用于训练适用于目标域的 模型,还可以用于训练既适用于源域又适用于目标域的模型,上述几种模型都可以看作是 本申请实施例所述迁移模型。也就是说,本申请实施例所述迁移模型可以是适用于源域的 8 CN 111612035 A 说 明 书 5/28 页 模型、适用于目标域的模型或适用于源域和目标域的模型中的任意一种。迁移模型的起点 (训练前)可以是一个预训练过的模型,但并不要求必须是已经训练好的适用于源域的模 型。例如,假设源域或目标域只有相应的初始化的模型(没有经过训练),则可以在该初始化 的模型的基础上进行训练,在这种情况下,相当于将该初始化模型作为迁移模型的原模型 (或者可以理解为训练前的模型或者待训练的模型),利用上述多个数据片段来训练该迁移 模型的原模型。又例如,假设源域已有经过一定训练或已经适用于源域的模型,则可以在该 源域的模型的基础上进行训练,在这种情况下,相当于将该源域的模型作为迁移模型的原 模型,利用上述多个数据片段继续训练该迁移模型的原模型。又例如,假设目标域已有经过 一定训练的模型,则也可以将该目标域的模型作为训练前迁移模型的原模型。 在本申请实施例中,利用源域的有标签数据以及目标域的无标签数据训练模型, 可以使得训练后的模型在源域上效果很好,同时可以通过使得源域和目标域差异最小,从 而使得训练后的模型也能够在目标域上效果较好,也就是说,达到将训练后的模型迁移到 目标域的目的。还应理解,在本申请实施例中,源域可以理解为能够提供有标签数据(样本 数据)的域,目标域可以理解为能够提供无标签数据的域,但并不排除在某些特殊情况下, 源域和目标域都包括有标签数据,本申请实施例的方法也同样适用,也就是说,源域和目标 域只要有至少一方包括有标签数据即可。 可选地,还可以对多个数据片段进行特征提取,例如利用下文所述LSTM提取特征, 获得每一维待处理数据的特征向量/矩阵。 可选地,当获得每一维待处理数据的特征向量/矩阵后,可以利用这些特征向量/ 矩阵获得每一维待处理数据的特征向量/矩阵之间的依赖关系(或者可以理解为相关性), 也可以理解为获得同一维数据(相同维数据)中不同数据片段之间的依赖关系;还可以利用 这些特征向量/矩阵获得某一维待处理数据的特征向量/矩阵与其它维待处理数据的特征 向量/矩阵之间包含的依赖关系(或者相关性、或者影响权重),也可以理解为获得不同维的 数据片段之间的依赖关系(或者相关性、或者影响权重)。 结合第一方面,在第一方面的某些实现方式中,在利用上述多个数据片段对迁移 模型进行训练时,可以获得多个数据片段中相同维的数据片段之间的第一结构特征,再利 用第一结构特征和从数据片段中提取的其他特征(包括上述整体特征和局部特征)来进行 训练。其中,第一结构特征可以理解为同一维数据的内部的数据片段之间的相互关联性(相 互关系)。可选地,第一结构特征可以根据相同维的数据片段之间的依赖关系确定。当应用 于故障检测时,第一结构特征可以理解为同一维故障检测数据的数据片段之间的特征。 结合第一方面,在第一方面的某些实现方式中,在利用上述多个数据片段对迁移 模型进行训练时,还可以获得多个数据片段中不同维的数据片段之间的第二结构特征,再 利用第二结构特征和从数据片段中提取的其他特征(包括上述整体特征和局部特征)来进 行训练。其中,第二结构特征可以理解为不同维数据的数据片段之间的相互关联性(相互关 系)。可选地,第二结构特征可以根据不同维的数据片段之间的依赖关系确定。当应用于故 障检测时,第二结构特征可以理解为不同维故障检测数据的数据片段之间的特征。 结合第一方面,在第一方面的某些实现方式中,还可以将上述两种方式结合,也就 是即获得第一结构特征又获得第二结构特征,在训练时也既利用第一结构特征又利用第二 结构特征来进行训练。这种方式能够进一步充分挖掘出待处理数据的局部特征,从而提高 9 CN 111612035 A 说 明 书 6/28 页 训练得到的模型的准确性。 在上述利用第一结构特征和/或第二结构特征进行训练的方案中,获得同一维待 处理数据中数据片段之间的依赖关系(对应于上述第一结构特征),能够进一步优化训练数 据,以及提高迁移模型的准确性。获得不同维待处理数据中数据片段之间的依赖关系(对应 于上述第二结构特征),同样能够进一步优化训练数据,以及提高迁移模型的准确性。如果 既获得同一维待处理数据中数据片段之间的依赖关系,又获得不同维待处理数据中数据片 段之间的依赖关系,并利用二者进行训练,则相当于更进一步优化训练数据,以及提高迁移 模型的准确性。 可选地,在利用多个数据片段对迁移模型进行训练的时候,可以利用源域的多个 数据片段和目标域的多个数据片段构造损失函数,通过构造和最小化源域和目标域的损失 函数来获得迁移模型。 可选地,还可以通过合并结构提取和结构对齐,从而将样本的结构矩阵作为标签 预测器的输入,得到标签的损失函数。可选地,可以根据实际情况选择合适的评价指标,例 如对于分类任务,可以使用交叉熵作为类别损失,对于回归任务,则可以使用均方根误差等 等。 第二方面,提供一种故障检测的方法,该方法包括:获取故障检测数据,该故障检 测数据包括来自于目标域的无标签的故障检测数据和来自于源域的有标签的故障检测数 据,其中,有标签的故障检测数据可以理解为包括故障类别标签和对应的故障检测数据;获 得故障检测数据中的每一维数据的多个数据片段,该多个数据片段不完全相同;根据多个 数据片段对故障检测模型进行训练,获得对应于目标域的故障检测模型。 在上述故障检测方法中,既能够获得故障检测数据的整体特征,又能够获得隐藏 在数据片段之间的局部特征,从而能够提高训练后的故障检测模型的准确性。 还需要说明的是,上述故障检测模型同样既可以是来自于源域的模型(初始模型 或预训练过的模型),也可以是来自于目标域的模型(初始模型或预训练过的模型),训练后 的故障检测模型可以是适用于源域的模型,也可以是适用于目标域的模型,还可以是既适 用于源域又适用于目标域的模型。 结合第二方面,在第二方面的某些实现方式中,上述故障检测数据为故障检测时 序数据,上述多个数据片段包括多个时间起点,该多个时间起点可以是根据故障检测时序 数据所对应的起始时刻和故障检测时序数据所对应的终止时刻确定的。 结合第二方面,在第二方面的某些实现方式中,上述多个时间起点包括从起始时 刻到所述终止时刻之间的所有时刻;多个数据片段的时间终点可以为故障检测时序数据所 对应的终止时刻。在该实现方式中,获得了不同时间起点到当前时刻(假设将故障检测数据 的终止时刻作为当前时刻)的数据片段,则当进行特征提取时,能够从中找到关键的时间起 点,也就是说能够找到对当前时刻有影响的时间起点,以及能够确定每个时间起点的影响 权重,相当于挖掘出更多的有用特征。 结合第二方面,在第二方面的某些实现方式中,可以获得多个数据片段中相同维 的数据片段之间的第一结构特征,其中第一结构特征可以是根据所述相同维的数据片段之 间的依赖关系确定的。 结合第二方面,在第二方面的某些实现方式中,可以获得多个数据片段中不同维 10 CN 111612035 A 说 明 书 7/28 页 的数据片段之间的第二结构特征,其中第二结构特征可以是根据所述不同维的数据片段之 间的依赖关系确定的。 结合第二方面,在第二方面的某些实现方式中,可以利用上述第一结构特征和/或 第二结构特征对故障检测模型进行训练。 需要说明的是,第二方面所述故障检测方法可以看作是第一方面所述训练迁移模 型的方法的实际应用,因此为了简洁,在第二方面所述故障检测方法中,对于一些步骤和介 绍进行了省略。应理解,第一方面的方法所能获得的技术效果,在第二方面中同样可以获 得。 还应理解第一方面所述方法还可以应用于故障检测之外的其他实际应用场景,例 如天气预报、化学反应检测、电炉检测、电路检测等等,在此不再一一介绍。 第三方面,提供一种训练迁移模型的装置,该装置包括用于执行上述第一方面中 的方法中的各个模块。 第四方面,提供一种故障检测的装置,该装置包括用于执行上述第二方面中的方 法中的各个模块。 第五方面,提供一种训练迁移模型的装置,该装置包括:存储器,用于存储程序;处 理器,用于执行所述存储器存储的程序,当所述存储器存储的程序被执行时,所述处理器用 于执行上述第一方面中的方法。 第六方面,提供一种故障检测的装置,该装置包括:存储器,用于存储程序;处理 器,用于执行所述存储器存储的程序,当所述存储器存储的程序被执行时,所述处理器用于 执行上述第二方面中的方法。 第七方面,提供一种电子设备,该电子设备包括上述第三方面中的训练迁移模型 的装置。 第八方面,提供了一种电子设备,该电子设备包括上述第四方面中的故障检测的 装置。 第九方面,提供一种计算机可读存储介质,该计算机可读存储介质存储有程序代 码,该程序代码包括用于执行第一方面或者第二方面中的方法中的步骤的指令。 第十方面,提供一种包含指令的计算机程序产品,当该计算机程序产品在计算机 上运行时,使得计算机执行上述第一方面或者第二方面中的方法。 第十一方面,提供一种芯片,所述芯片包括处理器与数据接口,所述处理器通过所 述数据接口读取存储器上存储的指令,执行上述第一方面或者第二方面中的方法。 可选地,作为一种实现方式,所述芯片还可以包括存储器,所述存储器中存储有指 令,所述处理器用于执行所述存储器上存储的指令,当所述指令被执行时,所述处理器用于 执行第一方面或者第二方面中的方法。 上述芯片具体可以是现场可编程门阵列FPGA或者专用集成电路ASIC。 应理解,本申请中,第一方面的方法具体可以是指第一方面以及第一方面中各种 实现方式中的任意一种实现方式中的方法。第二方面的方法具体可以是指第二方面以及第 二方面中各种实现方式中的任意一种实现方式中的方法。 11 CN 111612035 A 说 明 书 8/28 页 附图说明 图1是源域和目标域的数据假对齐的示意图。 图2是本申请实施例适用的模型迁移场景的示意图。 图3是本申请实施例的训练迁移模型的方法的示意性流程图。 图4是本申请实施例的划分数据片段示意图。 图5是本申请实施例的划分时序数据片段的示意图。 图6是本申请实施例的特征提取方法的示意性流程图。 图7是本申请实施例的获取同一维数据的内部依赖关系的示意性流程图。 图8是本申请实施例的获取不同维数据的外部依赖关系的示意性流程图。 图9是本申请实施例的训练迁移模型的装置的示意性框图。 图10是本申请实施例的训练迁移模型的装置的硬件结构示意图。 图11是本申请实施例的故障检测装置的示意性框图。 图12是本申请实施例的故障检测装置的硬件结构示意图。 图13是本申请实施例的一种芯片硬件结构示意图。