CN111612035A - 训练迁移模型的方法、故障检测的方法以及装置 - Google Patents

训练迁移模型的方法、故障检测的方法以及装置 Download PDF

Info

Publication number
CN111612035A
CN111612035A CN202010308439.6A CN202010308439A CN111612035A CN 111612035 A CN111612035 A CN 111612035A CN 202010308439 A CN202010308439 A CN 202010308439A CN 111612035 A CN111612035 A CN 111612035A
Authority
CN
China
Prior art keywords
data
time
processed
fault detection
training
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202010308439.6A
Other languages
English (en)
Inventor
叶君健
张可力
张喜
蔡瑞初
陈嘉伟
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN202010308439.6A priority Critical patent/CN111612035A/zh
Publication of CN111612035A publication Critical patent/CN111612035A/zh
Priority to EP21787843.8A priority patent/EP4131069A4/en
Priority to PCT/CN2021/086001 priority patent/WO2021208799A1/zh
Priority to US17/967,650 priority patent/US20230063148A1/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/44Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
    • G06V10/443Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components by matching or filtering
    • G06V10/449Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters
    • G06V10/451Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters with interaction between the filter responses, e.g. cortical complex cells
    • G06V10/454Integrating the filters into a hierarchical structure, e.g. convolutional neural networks [CNN]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • G06F18/2155Generating training patterns; Bootstrap methods, e.g. bagging or boosting characterised by the incorporation of unlabelled data, e.g. multiple instance learning [MIL], semi-supervised techniques using expectation-maximisation [EM] or naïve labelling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/2163Partitioning the feature space
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/217Validation; Performance evaluation; Active pattern learning techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • G06F18/2415Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on parametric or probabilistic models, e.g. based on likelihood ratio or false acceptance rate versus a false rejection rate
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/044Recurrent networks, e.g. Hopfield networks
    • G06N3/0442Recurrent networks, e.g. Hopfield networks characterised by memory or gating, e.g. long short-term memory [LSTM] or gated recurrent units [GRU]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/0464Convolutional networks [CNN, ConvNet]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/047Probabilistic or stochastic networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/049Temporal neural networks, e.g. delay elements, oscillating neurons or pulsed inputs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/096Transfer learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • General Physics & Mathematics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Computing Systems (AREA)
  • Molecular Biology (AREA)
  • Software Systems (AREA)
  • Computational Linguistics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Biophysics (AREA)
  • Mathematical Physics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Evolutionary Biology (AREA)
  • Multimedia (AREA)
  • Probability & Statistics with Applications (AREA)
  • Biodiversity & Conservation Biology (AREA)
  • Databases & Information Systems (AREA)
  • Medical Informatics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请涉及人工智能,提供一种训练迁移模型的方法、故障检测的方法和装置,涉及人工智能领域,该训练迁移模型的方法包括:获取待处理数据,该待处理数据包括来自于目标域的无标签数据和来自于源域的有标签数据,获得待处理数据中的每一维数据的多个数据片段,该多个数据片段不完全相同,利用多个数据片段对迁移模型进行训练,获得训练后的迁移模型。该方法既能够获取待处理数据的整体特征,又能够获取隐藏在数据片段之间的局部特征,从而能够有效提高对数据处理的准确性。

Description

训练迁移模型的方法、故障检测的方法以及装置
技术领域
本申请涉及人工智能领域,并且更具体地,涉及一种训练迁移模型的方法、故障检测的方法以及装置。
背景技术
在人工智能领域,人工智能方法的实现通常需要借助于模型,当需要将一个应用场景下的模型转移到另一个场景下时,就需要建立适用于新场景的模型,在此过程中,将预训练的模型(原应用场景的模型)作为新模型(新应用场景的模型)的初始模型是一种常用的方法,目的是对这些已经消耗了巨大的时间资源和计算资源才获得的预训练的模型加以利用,因此迁移学习(transfer learning)应运而生。也就是说,迁移学习可以将已习得的强大技能迁移到相关的问题上,或者可以理解为将一个任务的模型重新用在另一个任务中。常见的对迁移学习的实现方式是假设源域(source domain)和目标域(target domain)之间存在域不变特征表示,也就是说,将源域(对应于原应用场景)和目标域(对应于新应用场景)之间的数据的关系进行对应,然后结合源域的标签数据以及少量的目标域的待训练数据来训练生成一个可迁移到目标域上相对较优的模型。
该类方法需要源域和目标域的数据严格对应,但在实际情况中,源域的数据和目标域的数据很可能会存在隐藏在数据中的偏差,而传统的数据处理方法只考虑表面上能够消除的偏差,但对于隐藏在数据中的偏差没有考虑到,也没有能够获知这些偏差的方法,从而导致学习到的迁移模型(迁移到目标域的新模型)的准确性较低,甚至出现迁移模型是错误的或学习失败等情况。
因此,如何提高迁移模型的准确性是一项亟待解决的问题。
发明内容
本申请提供一种训练迁移模型的方法、故障检测的方法以及装置,能够提高迁移模型的准确性,从而当利用该模型执行故障检测任务时,能够提高故障检测的准确性。
第一方面,提供一种训练迁移模型的方法,该方法包括:获取待处理数据,该待处理数据包括来自于目标域的无标签数据和来自于源域的有标签数据;获得待处理数据中的每一维数据的多个数据片段,该多个数据片段不完全相同,利用上述多个数据片段对迁移模型进行训练,获得训练后的迁移模型。
在本申请的技术方案中,通过对待处理数据进行片段划分,使得既能够得到待处理数据的整体特征,又能够获得隐藏在待处理数据的数据片段之间的局部特征,从而能够提高迁移模型的训练数据的准确性,进而提高迁移模型的准确性。也就是说,通过将待处理数据进行划分,得到多个不完全相同的数据片段,这些数据片段的并集能够构成原待处理数据,因此这些数据片段不仅携带了原待处理数据的整体特征,又携带了隐藏在原待处理数据中的局部特征(例如时滞等),当利用这些数据片段进行模型训练的时候,就能够提高训练后的模型的准确性。假设对这些数据片段进行特征提取,除了能够提取到待处理数据的整体的特征以外,还能够提取到隐藏在片段与片段之间的特征(例如上述数据的偏差),当利用从这些数据片段提取的特征进行模型训练的时候,就能够提高训练后的模型的准确性。举例说明,假设待处理数据是时序数据,可能存在时滞、趋势变化的起点时刻不同等导致的数据偏差,而当利用本申请实施例的方法,对时序数据进行划分和对划分后的片段进行特征提取之后,除了能够获得时序数据整体所呈现的特征,还能够获得隐藏在不同片段之间的特征,例如能够获得携带有时滞、时间偏差等信息的特征,当利用这些特征进行模型训练时,就能够消除数据实际不对齐(即假对齐)所带来的影响,从而提高学习到的新模型的准确性。
需要说明的是,对齐可以理解为一致,例如两组数据都是同一时间段内获得的,而假对齐是指,表面上两组数据是一致的,待实际存在偏差,例如虽然表面看两组数据都是同一时间段内获得的,但事实上两组数据内部的数据变化趋势是不一致的,也就是数据变化的起点是不同的。
可选地,该待处理数据可以包括一维或多维待处理数据。
可选地,该待处理数据可以包括来自于目标域的待处理数据(例如无标签数据),还可以包括来自于源域的样本数据(或者可以是带标签的数据或者称之为有标签数据)。例如假设应用于故障检测,则无标签数据可以理解为没有故障标签类别的数据,样本数据或带标签数据、有标签数据则可以理解为标注了故障类别的故障检测数据。又例如假设应用于天气预测,则无标签数据可以理解为没有标注天气类别的数据,样本数据则是标注了天气类别的数据,天气类别可以包括一种或多种与天气相关类别,例如晴、雨、雪、雾等。
可选地,可以通过获取单元、模块、装置实时采集待处理数据,也可以从存储模块、单元、装置中读取待处理数据。此外,待处理数据可以是时序数据,也可以是非时序数据,不存在限定。
需要说明的是,待处理数据包括一维或多维待处理数据是指,待处理数据可以包括一个或多个参数的数据,或者可以理解为一个或多个维度的数据,或者还可以理解为一个或多个类别的数据。每一个参数和每一个维度以及和每一个类别的数据均还可以理解为每一路数据。以图1为例,则相当于血糖、胰岛素、胰高血糖素分别对应于3个参数、3个维度或者3个类别。又例如,在电路中,可以由电流、电压、功率、电阻值或电容值等组成一维或多维数据。又例如,在气象中,可以由温度、气压、风力或空气质量等组成一维或多维数据。又例如,在化学中,可以由原料的成分、原料配比、反应时间或反应条件等组成一维或多维数据。还存在除上述例子以外的其他待处理数据,在此不再一一列举,为了使得表述简洁,在本申请实施例中,均用维度进行描述,也就是说,待处理数据包括一维或多维数据。
可选地,在本申请实施例中所划分的多个数据片段之间可以有交集,也可以没有交集。应理解,有交集也可以理解为存在数据重叠,数据重叠可以理解为不同的数据片段中有相同的数据。还应理解,对于待处理数据中的不同维的数据片段之间通常是没有交集的,而有交集的数据片段通常是待处理数据中的同一维的数据片段之间。
例如,假设待处理数据有三维数据,分别用第一维、第二维和第三维表示,则步骤302相当于对三维数据中的每一维分别进行操作,例如可以将第一维数据划分成3个均有交集的数据片段,且有2个数据片段相同,该3个数据片段的并集是第一维数据;又例如可以将第二维数据划分成10个均不相同的数据片段,且有5个数据片段之间有交集,该 10个数据片段的并集是第二维数据;又例如可以将第三维数据划分成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点。
可选地,可以根据时序数据的起始时刻和终止时刻来确定时序数据的多个数据片段的时间起点,也就是说,该多个数据片段包括多个时间起点。数据片段的时间起点和时间终点与待处理时序数据的起始时刻和终止时刻相似,相当于时间起点是数据片段中最早的时刻,时间终点是数据片段中最晚的时刻,因此可以看出时间起点和时间终点都需要在起始时刻和终止时刻之间。
举例说明,假设待处理时序数据包括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中曲线发生趋势变化的时刻,以及还可能找到对当前时刻影响最大的时刻等等。
可以理解为,利用上述方法对待处理数据进行划分后,扩充了用于训练的训练数据,使得既能够获得待处理数据的整体特征,又能够获得待处理数据中隐藏在片段之间的局部特征。也就是说,一方面扩展了训练数据,另一方面能够从待处理数据中获得更多的特征。
需要说明的是,在本申请实施例中,源域的有标签数据和目标域的无标签数据(例如上述多个数据片段)可以用于训练适用于源域的模型,也可以用于训练适用于目标域的模型,还可以用于训练既适用于源域又适用于目标域的模型,上述几种模型都可以看作是本申请实施例所述迁移模型。也就是说,本申请实施例所述迁移模型可以是适用于源域的模型、适用于目标域的模型或适用于源域和目标域的模型中的任意一种。迁移模型的起点(训练前)可以是一个预训练过的模型,但并不要求必须是已经训练好的适用于源域的模型。例如,假设源域或目标域只有相应的初始化的模型(没有经过训练),则可以在该初始化的模型的基础上进行训练,在这种情况下,相当于将该初始化模型作为迁移模型的原模型(或者可以理解为训练前的模型或者待训练的模型),利用上述多个数据片段来训练该迁移模型的原模型。又例如,假设源域已有经过一定训练或已经适用于源域的模型,则可以在该源域的模型的基础上进行训练,在这种情况下,相当于将该源域的模型作为迁移模型的原模型,利用上述多个数据片段继续训练该迁移模型的原模型。又例如,假设目标域已有经过一定训练的模型,则也可以将该目标域的模型作为训练前迁移模型的原模型。
在本申请实施例中,利用源域的有标签数据以及目标域的无标签数据训练模型,可以使得训练后的模型在源域上效果很好,同时可以通过使得源域和目标域差异最小,从而使得训练后的模型也能够在目标域上效果较好,也就是说,达到将训练后的模型迁移到目标域的目的。还应理解,在本申请实施例中,源域可以理解为能够提供有标签数据(样本数据)的域,目标域可以理解为能够提供无标签数据的域,但并不排除在某些特殊情况下,源域和目标域都包括有标签数据,本申请实施例的方法也同样适用,也就是说,源域和目标域只要有至少一方包括有标签数据即可。
可选地,还可以对多个数据片段进行特征提取,例如利用下文所述LSTM提取特征,获得每一维待处理数据的特征向量/矩阵。
可选地,当获得每一维待处理数据的特征向量/矩阵后,可以利用这些特征向量/矩阵获得每一维待处理数据的特征向量/矩阵之间的依赖关系(或者可以理解为相关性),也可以理解为获得同一维数据(相同维数据)中不同数据片段之间的依赖关系;还可以利用这些特征向量/矩阵获得某一维待处理数据的特征向量/矩阵与其它维待处理数据的特征向量/矩阵之间包含的依赖关系(或者相关性、或者影响权重),也可以理解为获得不同维的数据片段之间的依赖关系(或者相关性、或者影响权重)。
结合第一方面,在第一方面的某些实现方式中,在利用上述多个数据片段对迁移模型进行训练时,可以获得多个数据片段中相同维的数据片段之间的第一结构特征,再利用第一结构特征和从数据片段中提取的其他特征(包括上述整体特征和局部特征)来进行训练。其中,第一结构特征可以理解为同一维数据的内部的数据片段之间的相互关联性(相互关系)。可选地,第一结构特征可以根据相同维的数据片段之间的依赖关系确定。当应用于故障检测时,第一结构特征可以理解为同一维故障检测数据的数据片段之间的特征。
结合第一方面,在第一方面的某些实现方式中,在利用上述多个数据片段对迁移模型进行训练时,还可以获得多个数据片段中不同维的数据片段之间的第二结构特征,再利用第二结构特征和从数据片段中提取的其他特征(包括上述整体特征和局部特征)来进行训练。其中,第二结构特征可以理解为不同维数据的数据片段之间的相互关联性(相互关系)。可选地,第二结构特征可以根据不同维的数据片段之间的依赖关系确定。当应用于故障检测时,第二结构特征可以理解为不同维故障检测数据的数据片段之间的特征。
结合第一方面,在第一方面的某些实现方式中,还可以将上述两种方式结合,也就是即获得第一结构特征又获得第二结构特征,在训练时也既利用第一结构特征又利用第二结构特征来进行训练。这种方式能够进一步充分挖掘出待处理数据的局部特征,从而提高训练得到的模型的准确性。
在上述利用第一结构特征和/或第二结构特征进行训练的方案中,获得同一维待处理数据中数据片段之间的依赖关系(对应于上述第一结构特征),能够进一步优化训练数据,以及提高迁移模型的准确性。获得不同维待处理数据中数据片段之间的依赖关系(对应于上述第二结构特征),同样能够进一步优化训练数据,以及提高迁移模型的准确性。如果既获得同一维待处理数据中数据片段之间的依赖关系,又获得不同维待处理数据中数据片段之间的依赖关系,并利用二者进行训练,则相当于更进一步优化训练数据,以及提高迁移模型的准确性。
可选地,在利用多个数据片段对迁移模型进行训练的时候,可以利用源域的多个数据片段和目标域的多个数据片段构造损失函数,通过构造和最小化源域和目标域的损失函数来获得迁移模型。
可选地,还可以通过合并结构提取和结构对齐,从而将样本的结构矩阵作为标签预测器的输入,得到标签的损失函数。可选地,可以根据实际情况选择合适的评价指标,例如对于分类任务,可以使用交叉熵作为类别损失,对于回归任务,则可以使用均方根误差等等。
第二方面,提供一种故障检测的方法,该方法包括:获取故障检测数据,该故障检测数据包括来自于目标域的无标签的故障检测数据和来自于源域的有标签的故障检测数据,其中,有标签的故障检测数据可以理解为包括故障类别标签和对应的故障检测数据;获得故障检测数据中的每一维数据的多个数据片段,该多个数据片段不完全相同;根据多个数据片段对故障检测模型进行训练,获得对应于目标域的故障检测模型。
在上述故障检测方法中,既能够获得故障检测数据的整体特征,又能够获得隐藏在数据片段之间的局部特征,从而能够提高训练后的故障检测模型的准确性。
还需要说明的是,上述故障检测模型同样既可以是来自于源域的模型(初始模型或预训练过的模型),也可以是来自于目标域的模型(初始模型或预训练过的模型),训练后的故障检测模型可以是适用于源域的模型,也可以是适用于目标域的模型,还可以是既适用于源域又适用于目标域的模型。
结合第二方面,在第二方面的某些实现方式中,上述故障检测数据为故障检测时序数据,上述多个数据片段包括多个时间起点,该多个时间起点可以是根据故障检测时序数据所对应的起始时刻和故障检测时序数据所对应的终止时刻确定的。
结合第二方面,在第二方面的某些实现方式中,上述多个时间起点包括从起始时刻到所述终止时刻之间的所有时刻;多个数据片段的时间终点可以为故障检测时序数据所对应的终止时刻。在该实现方式中,获得了不同时间起点到当前时刻(假设将故障检测数据的终止时刻作为当前时刻)的数据片段,则当进行特征提取时,能够从中找到关键的时间起点,也就是说能够找到对当前时刻有影响的时间起点,以及能够确定每个时间起点的影响权重,相当于挖掘出更多的有用特征。
结合第二方面,在第二方面的某些实现方式中,可以获得多个数据片段中相同维的数据片段之间的第一结构特征,其中第一结构特征可以是根据所述相同维的数据片段之间的依赖关系确定的。
结合第二方面,在第二方面的某些实现方式中,可以获得多个数据片段中不同维的数据片段之间的第二结构特征,其中第二结构特征可以是根据所述不同维的数据片段之间的依赖关系确定的。
结合第二方面,在第二方面的某些实现方式中,可以利用上述第一结构特征和/或第二结构特征对故障检测模型进行训练。
需要说明的是,第二方面所述故障检测方法可以看作是第一方面所述训练迁移模型的方法的实际应用,因此为了简洁,在第二方面所述故障检测方法中,对于一些步骤和介绍进行了省略。应理解,第一方面的方法所能获得的技术效果,在第二方面中同样可以获得。
还应理解第一方面所述方法还可以应用于故障检测之外的其他实际应用场景,例如天气预报、化学反应检测、电炉检测、电路检测等等,在此不再一一介绍。
第三方面,提供一种训练迁移模型的装置,该装置包括用于执行上述第一方面中的方法中的各个模块。
第四方面,提供一种故障检测的装置,该装置包括用于执行上述第二方面中的方法中的各个模块。
第五方面,提供一种训练迁移模型的装置,该装置包括:存储器,用于存储程序;处理器,用于执行所述存储器存储的程序,当所述存储器存储的程序被执行时,所述处理器用于执行上述第一方面中的方法。
第六方面,提供一种故障检测的装置,该装置包括:存储器,用于存储程序;处理器,用于执行所述存储器存储的程序,当所述存储器存储的程序被执行时,所述处理器用于执行上述第二方面中的方法。
第七方面,提供一种电子设备,该电子设备包括上述第三方面中的训练迁移模型的装置。
第八方面,提供了一种电子设备,该电子设备包括上述第四方面中的故障检测的装置。
第九方面,提供一种计算机可读存储介质,该计算机可读存储介质存储有程序代码,该程序代码包括用于执行第一方面或者第二方面中的方法中的步骤的指令。
第十方面,提供一种包含指令的计算机程序产品,当该计算机程序产品在计算机上运行时,使得计算机执行上述第一方面或者第二方面中的方法。
第十一方面,提供一种芯片,所述芯片包括处理器与数据接口,所述处理器通过所述数据接口读取存储器上存储的指令,执行上述第一方面或者第二方面中的方法。
可选地,作为一种实现方式,所述芯片还可以包括存储器,所述存储器中存储有指令,所述处理器用于执行所述存储器上存储的指令,当所述指令被执行时,所述处理器用于执行第一方面或者第二方面中的方法。
上述芯片具体可以是现场可编程门阵列FPGA或者专用集成电路ASIC。
应理解,本申请中,第一方面的方法具体可以是指第一方面以及第一方面中各种实现方式中的任意一种实现方式中的方法。第二方面的方法具体可以是指第二方面以及第二方面中各种实现方式中的任意一种实现方式中的方法。
附图说明
图1是源域和目标域的数据假对齐的示意图。
图2是本申请实施例适用的模型迁移场景的示意图。
图3是本申请实施例的训练迁移模型的方法的示意性流程图。
图4是本申请实施例的划分数据片段示意图。
图5是本申请实施例的划分时序数据片段的示意图。
图6是本申请实施例的特征提取方法的示意性流程图。
图7是本申请实施例的获取同一维数据的内部依赖关系的示意性流程图。
图8是本申请实施例的获取不同维数据的外部依赖关系的示意性流程图。
图9是本申请实施例的训练迁移模型的装置的示意性框图。
图10是本申请实施例的训练迁移模型的装置的硬件结构示意图。
图11是本申请实施例的故障检测装置的示意性框图。
图12是本申请实施例的故障检测装置的硬件结构示意图。
图13是本申请实施例的一种芯片硬件结构示意图。
具体实施方式
本申请的方案可以应用于各类迁移学习的应用场景中。下面对适用的应用场景进行举例介绍。
应用场景一:故障检测
在进行故障检测时,通常会利用多个设备对多个检测对象进行检测。例如检测化学反应罐的反应时间、原料类别、原料配比等参数,并建立不同参数之间的关系,则每个化学反应罐都可以看做是一个域,当希望建立一个化学反应罐(对应目标域)的检测模型时,可以利用已有的其他化学反应罐(对应源域)的检测模型,以及该化学反应罐的检测数据来建立该化学反应罐(对应目标域)的检测模型。
又例如在电信运维网络中,电信运维过程中会产生故障检测数据,且对于不同地区都可以看作是一个域,可以利用机器学习等训练出源地区的运维故障检测模型,如微波链路劣化的异常检测模型;当该模型在该源地区取得稳定效果时,运营商想在其他地区(目标地区)也使用该模型,这时候就可以利用本申请实施例提供的提取方法,去提取源地区和目标地区的数据之间的不变结构,获取源域(对应源地区)的样本数据(有标签数据)和目标域(对应目标地区)的无标签数据的特征和特征之间的结构关系,来指导迁移模型的训练,通过抽取源域和目标域之间的域不变特征,在这些特征表示条件下结合源域标签数据和少量目标域的数据来训练生成一个可迁移到目标域上相对较优的模型。
在上述例子中,还可以是不同运营商分别对应一个域,则可以利用一个运营商的故障检测模型来训练和得到另外一个运营商的故障检测模型。
为了便于理解,首先对本申请各实施例中所涉及的一些技术术语进行介绍。
时序数据:时序数据是指时间序列数据。时间序列数据是同一统一指标按时间顺序记录的数据列。在同一数据列中的各个数据必须是同口径的,要求具有可比性。时序数据可以是时期数,也可以时点数。时间序列分析的目的是通过找出样本内时间序列的统计特性和发展规律性,构建时间序列模型,进行样本外预测。
简而言之,时序数据可以理解为与时间顺序有关的数据,或者可以理解为依赖于时间而变化且可以用数值来反映变化程度的数据,例如股票走势、气象变化、工业过程等等。非时序数据则可以理解为与时间顺序无关的数据。
源域和目标域:在本申请实施例中,利用迁移学习,将一个场景中的模型迁移至另外一个场景,因此,源域可以理解为迁移前模型所在的场景,“源”可以理解为原始的、初始的、原先的,“域”可以理解为数据域;目标域则可以理解为要将模型迁移到的新场景、目标场景,或者可以理解为目标数据域等。或者可以将源域看作是能够提供有标签数据的域,将目标域看作是能够提供无标签数据的域。本领域技术人员可知,利用源域的有标签数据能够训练出适用于源域的模型,但是对于只有无标签数据的域,是无法直接训练的。针对该情况,本申请实施例主要利用源域的有标签数据和目标域的无标签数据训练出的模型在源域数据上表现较好,再借助于使得源域和目标域的差异最小,从而使得训练出的模型在目标域上也能表现较好。而假设源域的数据和目标域的数据存在假对齐等不可知的偏差等情况时,相当于源域的数据和目标域的数据没有很好地对应,就会导致训练出的模型准确性较差,甚至训练失败。
本申请实施例的数据处理方法可以由神经网络(模型)来执行,为了更好地理解本申请实施例的方法,下面先对神经网络的相关术语和概念进行介绍。
(1)神经网络
神经网络可以是由神经单元组成的,神经单元可以是指以xs和截距1为输入的运算单元,该运算单元的输出可以如公式(1)所示:
Figure RE-GDA0002538691430000091
其中,s=1、2、……n,n为大于1的自然数,Ws为xs的权重,b为神经单元的偏置。 f为神经单元的激活函数(activation functions),该激活函数用于对神经网络中的特征进行非线性变换,从而将神经单元中的输入信号转换为输出信号。该激活函数的输出信号可以作为下一层卷积层的输入,激活函数可以是sigmoid函数。神经网络是将多个上述单一的神经单元联结在一起形成的网络,即一个神经单元的输出可以是另一个神经单元的输入。每个神经单元的输入可以与前一层的局部接受域相连,来提取局部接受域的特征,局部接受域可以是由若干个神经单元组成的区域。
(2)深度神经网络
深度神经网络(deep neural network,DNN),也称多层神经网络,可以理解为具有多层隐含层的神经网络。按照不同层的位置对DNN进行划分,DNN内部的神经网络可以分为三类:输入层,隐含层,输出层。一般来说第一层是输入层,最后一层是输出层,中间的层数都是隐含层。层与层之间是全连接的,也就是说,第i层的任意一个神经元一定与第i+1层的任意一个神经元相连。
虽然DNN看起来很复杂,但是就每一层的工作来说,其实并不复杂,简单来说就是如下线性关系表达式:
Figure RE-GDA0002538691430000092
其中,
Figure RE-GDA0002538691430000093
是输入向量,
Figure RE-GDA0002538691430000094
是输出向量,
Figure RE-GDA0002538691430000095
是偏移向量,W是权重矩阵(也称系数),α()是激活函数。每一层仅仅是对输入向量
Figure RE-GDA0002538691430000096
经过如此简单的操作得到输出向量
Figure RE-GDA0002538691430000097
由于DNN层数多,系数W和偏移向量
Figure RE-GDA0002538691430000098
的数量也比较多。这些参数在DNN中的定义如下所述:以系数W为例,假设在一个三层的DNN中,第二层的第4个神经元到第三层的第2个神经元的线性系数定义为
Figure RE-GDA0002538691430000099
上标3代表系数W所在的层数,而下标对应的是输出的第三层索引2和输入的第二层索引4。
综上,第L-1层的第k个神经元到第L层的第j个神经元的系数定义为
Figure RE-GDA00025386914300000910
需要注意的是,输入层是没有W参数的。在深度神经网络中,更多的隐含层让网络更能够刻画现实世界中的复杂情形。理论上而言,参数越多的模型复杂度越高,“容量”也就越大,也就意味着它能完成更复杂的学习任务。训练深度神经网络的也就是学习权重矩阵的过程,其最终目的是得到训练好的深度神经网络的所有层的权重矩阵(由很多层的向量W形成的权重矩阵)。
(3)卷积神经网络(convolutional neural network,CNN)
卷积神经网络是一种带有卷积结构的深度神经网络。卷积神经网络包含了一个由卷积层和子采样层构成的特征抽取器,该特征抽取器可以看作是滤波器。卷积层是指卷积神经网络中对输入信号进行卷积处理的神经元层。在卷积神经网络的卷积层中,一个神经元可以只与部分邻层神经元连接。一个卷积层中,通常包含若干个特征平面,每个特征平面可以由一些矩形排列的神经单元组成。同一特征平面的神经单元共享权重,这里共享的权重就是卷积核。共享权重可以理解为提取图像信息的方式与位置无关。卷积核可以以随机大小的矩阵的形式初始化,在卷积神经网络的训练过程中卷积核可以通过学习得到合理的权重。另外,共享权重带来的直接好处是减少卷积神经网络各层之间的连接,同时又降低了过拟合的风险。
(4)循环神经网络(recurrent neural network,RNN)
循环神经网络是用来处理序列数据的。在传统的神经网络模型中,是从输入层到隐含层再到输出层,层与层之间是全连接的,而对于每一层层内之间的各个节点是无连接的。这种普通的神经网络虽然解决了很多难题,但是却仍然对很多问题无能无力。例如,你要预测句子的下一个单词是什么,一般需要用到前面的单词,因为一个句子中前后单词并不是独立的。RNN之所以称为循环神经网路,即一个序列当前的输出与前面的输出也有关。具体的表现形式为网络会对前面的信息进行记忆并应用于当前输出的计算中,即隐含层本层之间的节点不再无连接而是有连接的,并且隐含层的输入不仅包括输入层的输出还包括上一时刻隐含层的输出。理论上,RNN能够对任何长度的序列数据进行处理。对于RNN 的训练和对传统的CNN或DNN的训练一样。
既然已经有了卷积神经网络,为什么还要循环神经网络?原因很简单,在卷积神经网络中,有一个前提假设是:元素之间是相互独立的,输入与输出也是独立的,比如猫和狗。但现实世界中,很多元素都是相互连接的,比如股票随时间的变化,再比如一个人说了:我喜欢旅游,其中最喜欢的地方是云南,以后有机会一定要去。这里填空,人类应该都知道是填“云南”。因为人类会根据上下文的内容进行推断,但如何让机器做到这一步?RNN 就应运而生了。RNN旨在让机器像人一样拥有记忆的能力。因此,RNN的输出就需要依赖当前的输入信息和历史的记忆信息。
(5)残差网络
残差网络是在2015年提出的一种深度卷积网络,相比于传统的卷积神经网络,残差网络更容易优化,并且能够通过增加相当的深度来提高准确率。残差网络的核心是解决了增加深度带来的副作用(退化问题),这样能够通过单纯地增加网络深度,来提高网络性能。残差网络一般会包含很多结构相同的子模块,通常会采用残差网络(residualnetwork, ResNet)连接一个数字表示子模块重复的次数,比如ResNet50表示残差网络中有50个子模块。
(6)分类器
很多神经网络结构最后都有一个分类器,用于对图像中的物体进行分类。分类器一般由全连接层(fully connected layer)和softmax函数(可以称为归一化指数函数)组成,能够根据输入而输出不同类别的概率。需要说明的是,对于一些情况,softmax函数还可以采用sparsemax函数(可以理解为稀疏的归一化指数函数)来代替。
(7)损失函数
在训练深度神经网络的过程中,因为希望深度神经网络的输出尽可能的接近真正想要预测的值,所以可以通过比较当前网络的预测值和真正想要的目标值,再根据两者之间的差异情况来更新每一层神经网络的权重向量(当然,在第一次更新之前通常会有初始化的过程,即为深度神经网络中的各层预先配置参数),比如,如果网络的预测值高了,就调整权重向量让它预测低一些,不断地调整,直到深度神经网络能够预测出真正想要的目标值或与真正想要的目标值非常接近的值。因此,就需要预先定义“如何比较预测值和目标值之间的差异”,这便是损失函数(loss function)或目标函数(objective function),它们是用于衡量预测值和目标值的差异的重要方程。其中,以损失函数举例,损失函数的输出值(loss)越高表示差异越大,那么深度神经网络的训练就变成了尽可能缩小这个loss的过程。
(8)反向传播算法
神经网络可以采用误差反向传播(back propagation,BP)算法在训练过程中修正初始的神经网络模型中参数的数值,使得神经网络模型的重建误差损失越来越小。具体地,前向传递输入信号直至输出会产生误差损失,通过反向传播误差损失信息来更新初始的神经网络模型中参数,从而使误差损失收敛。反向传播算法是以误差损失为主导的反向传播运动,旨在得到最优的神经网络模型的参数,例如权重矩阵。
(9)注意力机制(attention mechanism)
注意力机制源于对人类视觉的研究。在认知科学中,由于信息处理的瓶颈,人类会选择性地关注所有信息的一部分,同时忽略其他可见的信息,上述机制通常被称为注意力机制。在人工智能领域,注意力机制的目的是能从一些数据中找到关键的数据,例如从一张图像中找出关键事物,又例如从一堆图像中找出关键图像,又例如从一堆时序数据中找出变化节点等等。注意力机制主要通过评价待处理数据中每个或每组数据单元对数据整体贡献,从而找到贡献较大的数据单元。或者可以理解为通过比较不同数据对于结果的影响权重,来确定关键数据。注意力机制中,attention函数的本质可以被描述为一个查询(query)到一系列(键key-值value)对的映射的过程,也是就是获得一系列key-value数据对。
注意力机制可以包括自注意力机制(self-attention mechanism,SAM)和交互注意力机制(referenced attention mechanism,RAM)。其中,SAM可以理解为从同一组数据中找出其中的每个数据对于结果的影响权重,例如可以从中找出关键数据,或者可以理解为纵向 (或本组内部)的数据的影响权重。RAM可以理解为从不同组数据中,找出不同组之间对于结果的影响权重,也可以从中找出关键数据,或者可以理解为横向(或不同组之间) 的数据的影响权重。需要说明的是,SAM和RAM可以分别理解为组内注意力机制和组间注意力机制。
在本申请实施例中,主要利用SAM挖掘每一维待处理数据中的数据之间的依赖关系 (或相关性),利用RAM挖掘不同维待处理数据中的数据之间的依赖关系(或相关性)。
在现有技术中,在进行迁移学习时,利用目标域的数据和源域的数据对源域的模型继续训练,从而获得目标域的模型。但在实际使用中,可能会出现迁移学习到的新模型精度较低甚至不能学习到新模型的情况。在本申请实施例中,主要通过分析得到出现这种情况的可能原因,并提出新的方法来提高迁移模型的准确性。经分析推断发现,出现上述迁移模型准确性较低情况的原因主要是因为源域数据和目标域数据存在偏差,它们(源域数据和目标域数据)表面是对齐的但实际是不对齐的(可以称之为假对齐)。例如,可能是由于源域中的时滞(也可以称之为延时、延迟、时延、迟延)、时间偏差等参数与目标域中的相应参数不一致,导致源域数据和目标域数据实际上是不对齐的,因此当利用目标域的数据和源域的数据对模型进行训练时,就可能会出现误差较大甚至训练失败的情况。虽然在很多实际场景中,尤其是对于时序数据场景,源域数据和目标域数据之间的数据存在假对齐的情况,但通过大量试验和数据分析表明源域数据和目标域数据之间依然存在结构一致的关系,或者可以理解为存在着特定的映射关系、关联性等。因此,在本申请实施例中,通过将待处理数据进行划分,得到多个不完全相同的数据片段,这些数据片段的并集能够构成原待处理数据,因此这些数据片段不仅携带了原待处理数据的整体特征,又携带了隐藏在原待处理数据中的局部特征(例如时滞等),当利用这些数据片段进行模型训练的时候,就能够提高训练后的模型的准确性。假设对这些数据片段进行特征提取,除了能够提取到待处理数据的整体的特征以外,还能够提取到隐藏在片段与片段之间的特征(例如上述数据的偏差),当利用从这些数据片段提取的特征进行模型训练的时候,就能够提高训练后的模型的准确性。举例说明,假设待处理数据是时序数据,可能存在时滞、趋势变化的时刻不同等导致的数据偏差,而当利用本申请实施例的方法,对时序数据进行划分和对划分后的片段进行特征提取之后,除了能够获得时序数据整体所呈现的特征,还能够获得隐藏在不同片段之间的特征,也就是说,能够获得携带有时滞、时间偏差等信息的特征,当利用这些特征进行模型训练时,就能够消除数据实际不对齐(即假对齐)所带来的影响,从而提高学习到的新模型的准确性。
需要说明的是,对齐可以理解为一致,例如两组数据都是同一时间段内获得的,而假对齐是指,表面上两组数据是一致的,待实际存在偏差,例如虽然表面看两组数据都是同一时间段内获得的,但事实上两组数据内部的数据变化趋势是不一致的,也就是数据变化的起点是不同的。下面结合图1举例说明数据假对齐的情况,图1是源域和目标域的数据假对齐的示意图。如图1所示,以血糖、胰岛素、胰高血糖素的含量变化趋势为例进行介绍,图1中的(1)图,即左侧的图,示出了源域的人体血糖、胰岛素、胰高血糖素的含量变化;图1中的(2),即右侧的图,示出了目标域的人体血糖、胰岛素、胰高血糖素的含量变化。为了方便理解,将源域和目标域分别对应到两个个体,例如图1中的(1) 图对应于张三,图1中的(2)图对应于李四,也就是说,图1中的(1)图示出的是张三的数据曲线,图1中的(2)图示出的是李四的数据曲线。
在图1中的各元素中,横轴均为时间轴,纵轴为不同参数的含量值(浓度值),B曲线表示人体血糖浓度值的随时间变化曲线,G曲线表示人体胰高血糖素浓度值的随时间变化曲线,I曲线表示人体胰岛素浓度值的随时间变化曲线。从图1可以看出,张三和李四的数据都是从t-5时刻到t+1时刻的数据,也就是说,从表面来看,二者的数据是对齐的。根据生物知识可以知道,当血糖浓度上升后,胰岛素浓度和胰高血糖素浓度会相应变化,但这种变化会存在时间上的延迟,且延迟的时间长度会因为人体差异而不同,也就是说,不同人体的对于同一时刻的参数变化的响应时间是不同的,因此从图1的(1)和(2)可以看出张三和李四的数据起点(开始响应的时间)和时滞都是不同的,例如根据表面的对齐关系,是张三的t-4至t+1时刻的数据B与李四的张三的t-4至t+1时刻的数据B是实际对齐的,但事实上,从图1的两幅图中可以看出,张三的t-4至t+1时刻的数据B与李四的张三的t-3至t时刻的数据B才是实际对齐的,这种实际对齐是隐藏在数据片段与片段之间的特征,或者可以理解为局部特征。如果用传统方法从数据的整体来提取特征,例如利用RNN对数据整体进行特征提取,则不能够获得正确的对齐关系,也就是说不能够获得源域和目标域之间的数据的偏移情况。简而言之,虽然从表面看图1中源域和目标域的数据是对齐的,都是从t-5时刻到t+1时刻的数据,但实际二者的数据是一种假对齐的情况,当利用这些数据训练适用于目标域的模型时,无法获得好的准确性,甚至可能迁移失败。
需要说明的是,图1只是为了更好地理解本申请实施例而提供的示例,并不是限定了本申请实施例的适用范围。
针对上述问题,本申请实施例提供一种训练迁移模型的方法,该方法既能够获得待处理数据的整体特征,又能够获得待处理数据的局部特征,从而能够有效提高迁移模型的准确性。下面结合各附图进行介绍。
图2是本申请实施例适用的模型迁移场景的示意图。如图2所示,可以利用场景A中的历史数据、标签数据和场景B中的历史数据对模型A进行训练,从而获得场景B下适用的模型。首先可以利用数据转换,将场景A的历史数据和场景B的历史数据划分得到多个有重叠的数据片段,再利用这些数据片段对模型A进行训练,从而获得场景B下适用的模型。
需要说明的是,在图2所示应用场景中,场景A对应于源域,场景B则对应于目标域。在图2中,能够利用少量的场景B的数据来获取场景B适用的模型。
图2所示应用场景例如可以是故障检测场景。
图3是本申请实施例的训练迁移模型的方法的示意性流程图,下面对图3各步骤进行介绍。
301、获取待处理数据。
可选地,该待处理数据可以包括一维或多维待处理数据。
可选地,该待处理数据可以包括来自于目标域的待处理数据(例如无标签数据),还可以包括来自于源域的样本数据(或者可以是带标签的数据或者称之为有标签数据)。例如假设应用于故障检测,则无标签数据可以理解为没有故障标签类别的数据,样本数据或带标签数据、有标签数据则可以理解为标注了故障类别的故障检测数据。又例如假设应用于天气预测,则无标签数据可以理解为没有标注天气类别的数据,样本数据则是标注了天气类别的数据,天气类别可以包括一种或多种与天气相关类别,例如晴、雨、雪、雾等。
可选地,可以通过获取单元、模块、装置实时采集待处理数据,也可以从存储模块、单元、装置中读取待处理数据。此外,待处理数据可以是时序数据,也可以是非时序数据,不存在限定。
需要说明的是,待处理数据包括一维或多维待处理数据是指,待处理数据可以包括一个或多个参数的数据,或者可以理解为一个或多个维度的数据,或者还可以理解为一个或多个类别的数据。每一个参数和每一个维度以及和每一个类别的数据均还可以理解为每一路数据。以图1为例,则相当于血糖、胰岛素、胰高血糖素分别对应于3个参数、3个维度或者3个类别。又例如,在电路中,可以由电流、电压、功率、电阻值或电容值等组成一维或多维数据。又例如,在气象中,可以由温度、气压、风力或空气质量等组成一维或多维数据。又例如,在化学中,可以由原料的成分、原料配比、反应时间或反应条件等组成一维或多维数据。还存在除上述例子以外的其他待处理数据,在此不再一一列举,为了使得表述简洁,在下文中,均用维度进行描述,也就是说,待处理数据包括一维或多维数据。
302、获得待处理数据中的每一维数据的多个数据片段。
需要说明的是,该多个数据片段不完全相同。
可选地,可以使得该多个数据片段的并集为每一维待处理数据。
可选地,还可以使得该多个数据片段中的至少两组数据片段之间有交集,有交集也可以理解为存在数据重叠,数据重叠可以理解为不同的数据片段中有相同的数据。
应理解,对于待处理数据中的不同维的数据片段之间通常是没有交集的,而有交集的数据片段通常只会出现在待处理数据中的同一维的数据片段之间。
例如,假设待处理数据有三维数据,分别用第一维、第二维和第三维表示,则步骤302相当于对三维数据中的每一维分别进行操作,例如可以将第一维数据划分成3个均有交集的数据片段,且有2个数据片段相同,该3个数据片段的并集是第一维数据;又例如可以将第二维数据划分成10个均不相同的数据片段,且有5个数据片段之间有交集,该 10个数据片段的并集是第二维数据;又例如可以将第三维数据划分成8个数据片段,其中4个数据片段不相同,且其中5个数据片段之间有交集,该8个数据片段的并集是第三维数据。第一维数据的3个数据片段和第二维的10个数据片段之间、第一维数据的3个数据片段和第三维的8个数据片段之间、第二维数据的10个数据片段和第三维的8个数据片段之间通常是没有交集的需要说明的是,上述例子是对于划分方法的举例,不存在划分方式的限定,且应理解,在本申请实施例中,对于待处理数据的每一维数据分别进行划分,来获得不完全相同的多个数据片段。还应理解,本申请实施例所述的“划分”可以包括将待处理数据进行切段,也可以包括获得不完全相同的数据片段,例如一个数据长度为 10的待处理数据,所划分的数据片段的长度可以为1至10的任意长度。
又例如,可以是所有数据片段之间均没有数据重叠,也可以是每一维数据的多个数据片段的每两个数据片段之间均有数据重叠,也可以是每一维数据的多个数据片段中只有部分数据片段之间存在数据重叠。
下面结合图4和图5,对本申请实施例的数据片段的划分方法进行介绍,图4和图5所述待划分数据可以是对待处理数据,待划分时序数据可以理解为当待处理数据为时序数据的情况,又例如当应用于故障检测时,待处理数据又可以具体为故障检测数据,待处理时序数据又可以具体为故障检测时序数据。
图4是本申请实施例的划分数据片段示意图,如图4所示假设待划分数据(例如上述代谢处理数据中的某一维待处理数据)中有N个或N组数据,还可以将其理解为是N个单元的数据,其中N为整数。在图4中用小圆柱体表示该N个单元数据,也就是说,每个小圆柱体代表一个单元数据。例如当待划分数据为时序数据的时候,每个小圆柱体可以表示某一时刻的一个或一组数据。当执行步骤302,可以将原数据划分成M个数据片段:片段1至片段M,其中M为大于1的整数。
可选地,可以使得M个数据片段不完全相同。
可选地,可以使得M个数据片段中有至少两个数据片段之间存在数据重叠。例如图4 中,将片段1包括数据1和数据2,片段2包括数据2至数据4,片段3包括数据2至数据5,片段M包括数据1至数据N。需要说明的是,图4只是片段划分的示例,不存在划分方式的限定。
可选地,可以根据待划分数据的数据七点和数据终点来确定多个数据片段的数据起点和数据终点的方式来划分数据片段。例如可以使得多个数据片段有共同的数据终点,但具有不同的数据起点,从而得到不同数据起点对于结果的影响。又例如,可以使得多个数据片段具有共同的数据起点,但具有不同的数据终点,从而得到不同数据终点对于结果的影响。假设该待划分数据是非时序数据,则上述划分相当于多个数据片段之间有重叠,且可以进一步设置成重叠部分依次递增,例如假设待划分数据包括10组非时序数据,为了便于描述将其编号为1至10,应理解此处的编号只是为了区分每组数据,并不是设定先后顺序。则可以划分为均包括其中某一组(例如第2组)的不同长度的多个数据片段。又例如可以划分为均包括其中某几组的不完全相同的多个数据片段,例如都包括第1组和第3 组。
从上面示例也可以看出,在本申请实施例中,相当于将待处理数据划分成多个不完全相同的数据片段,以便于确定不同数据片段对结果的影响,或者以便于找出对结果影响较大的数据片段。
可选地,当待划分数据是时序数据时,可以根据时序数据的起始时刻(相当于待处理数据的数据起点的一例)和终止时刻(相当于待处理数据的数据终点的一例)来划分。需要说明的是,对于时序数据来说,是与时间顺序相关的,因此存在时刻的先后,时序数据的起始时刻可以理解为时序数据中所对应的时刻中最早的时刻,时序数据的终止时刻可以理解为时序数据中所对应的时刻中最晚的时刻。例如假设一段时序数据中共60个时刻,从最早时刻到最晚时刻一次编号为第1时刻至第60时刻,则该段时序数据的起始时刻为第1时刻,终止时刻为第60时刻,又例如假设第1时刻对应于实际时间早上7点,第60 时刻对应于实际时间早上8点,则相当于起始时刻对应于实际时间早上7点,终止时刻对应于实际时间早上8点。
可选地,可以根据时序数据的起始时刻和终止时刻来确定时序数据的多个数据片段的时间起点,也就是说,该多个数据片段包括多个时间起点。数据片段的时间起点和时间终点与待处理时序数据的起始时刻和终止时刻相似,相当于时间起点是数据片段中最早的时刻,时间终点是数据片段中最晚的时刻,因此可以看出时间起点和时间终点都需要在起始时刻和终止时刻之间。
举例说明,假设待处理时序数据包括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。
可选地,可以将待划分的时序数据(例如待处理时序数据)进行如图5所示的划分。图5是本申请实施例的划分时序数据片段的示意图,如图5所示,待划分时序数据包括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中曲线发生趋势变化的时刻,以及还可能找到对当前时刻影响最大的时刻等等。
可以理解为,利用图4和/或图5所示方法对待处理数据进行划分后,扩充了用于训练的训练数据,使得既能够获得待处理数据的整体特征,又能够获得待处理数据中隐藏在片段之间的局部特征。也就是说,一方面扩展了训练数据,另一方面能够从待处理数据中获得更多的特征。
303、利用多个数据片段对迁移模型进行训练,获得训练后的迁移模型。
需要说明的是,在本申请实施例中,源域的有标签数据和目标域的无标签数据(例如通过步骤302的方式获得上述多个数据片段)可以用于训练适用于源域的模型,也可以用于训练适用于目标域的模型,还可以用于训练既适用于源域又适用于目标域的模型,上述几种模型都可以看作是本申请实施例所述迁移模型。也就是说,本申请实施例所述迁移模型可以是适用于源域的模型、适用于目标域的模型或适用于源域和目标域的模型中的任意一种。迁移模型的起点(训练前)可以是一个预训练过的模型,但并不要求必须是已经训练好的适用于源域的模型。例如,假设源域或目标域只有相应的初始化的模型(没有经过训练),则可以在该初始化的模型的基础上进行训练,在这种情况下,相当于将该初始化模型作为迁移模型的原模型(或者可以理解为训练前的模型或者待训练的模型),利用上述多个数据片段来训练该迁移模型的原模型。又例如,假设源域已有经过一定训练或已经适用于源域的模型,则可以在该源域的模型的基础上进行训练,在这种情况下,相当于将该源域的模型作为迁移模型的原模型,利用上述多个数据片段继续训练该迁移模型的原模型。又例如,假设目标域已有经过一定训练的模型,则也可以将该目标域的模型作为训练前迁移模型的原模型。
可选地,可以利用上述多个数据片段中的部分或全部数据片段对迁移模型进行训练,从而获得训练后的迁移模型。
可选地,可以先对多个数据片段进行特征提取等预处理,获得该多个数据片段的特征向量。可选地,可以利用神经网络的方法或者非神经网络的方法进行提取。例如可以利用长短期记忆网络(long short-term memory,LSTM)进行特征提取。
LSTM是一种时间递归神经网络,适合于处理和预测时间序列中间隔和延迟相对较长的重要事件。LSTM区别于RNN的地方主要在于,它在算法中加入了一个判断信息有用与否的“处理器”,这个处理器作用的结构被称为细胞(cell)。一个cell当中被放置了三扇门,分别叫做输入门、遗忘门和输出门,一个信息进入LSTM的网络当中,可以根据规则来判断是否有用,只有符合算法认证的信息才会留下,不符的信息则通过遗忘门被遗忘。LSTM是解决长序依赖问题的有效技术,并且这种技术的普适性非常高。
下面结合图6,以利用LSTM方法对时序数据进行特征提取为例,对上述从每一维待处理数据的多个数据片段中提取特征的方法进行介绍。
图6是本申请实施例的特征提取方法的示意性流程图,下面结合图6各步骤进行介绍。
601、获取待处理时序数据,该待处理时序数据包括一维或多维待处理时序数据。
可选地,可以利用步骤301提供的方法获取待处理时序数据。需要说明的是,图6所示方法是对如何提取多片段数据的特征的介绍,因此,该待处理时序数据可以包括来自于源域的待处理时序数据,也可以包括来自于目标域的待处理时序数据。
602、对待处理时序数据中的每一维时序数据进行划分,获得每一维时序数据的多个数据片段。
可选地,可以采用步骤302,例如采用图5所示的方法来获得每一维待处理时序数据的以下多个片段:
Figure RE-GDA0002538691430000171
其中,
Figure RE-GDA0002538691430000172
用于表示数据x的第i维数据的片段集合,其中i为整数,以图1为例,血糖、胰岛素和胰高血糖素可以分别对应于第0维数据(i=0)、第1维数据(i=1)、第2 维数据(i=2),也可以分别对应于第1维数据(i=1)、第2维数据(i=2)、第3维数据 (i=3);
Figure RE-GDA0002538691430000173
用于表示数据x的第i维数据从t时刻到t时刻的数据片段,也就是t时刻的一个或一组数据;
Figure RE-GDA0002538691430000174
用于表示数据x的第i维数据从t-1时刻到t时刻的数据片段,也就是t-1和t时刻两个时刻所对应的数据,以此类推,
Figure RE-GDA0002538691430000175
用于表示数据x的第i维数据从 t-N+2时刻到t时刻的数据片段,也就是说包括N-1个时刻的数据;
Figure RE-GDA0002538691430000176
用于表示数据x 的第i维数据从t-N+1时刻到t时刻的数据片段,也就是说包括N个时刻的数据,在此不再一一列举。在上述片段划分中,相当于将数据x的第i维从t-N+1时刻到t时刻的共N 个时刻的数据依次划分成了N个数据片段,每个数据片段均包括t时刻的数据,也可以理解为,相当于划分出N个时间起点的数据片段。
603、利用LSTM对每一维时序数据的多个数据片段进行特征提取,从而获得一个或多个特征向量/矩阵。
需要说明的是,图6是以LSTM为例进行介绍,但并不是说只能采用LSTM的方法,也可以利用其他神经网络执行步骤603,还可以采用非神经网络的方法执行本步骤,只要能够提取到多个数据片段的特征即可,在此不再赘述。
为了便于理解,将提取到的特征向量/矩阵用
Figure RE-GDA0002538691430000177
表示,其中i与步骤602中所表示的含义相同,τ用于表示特征向量/矩阵的编号,对应于步骤602中每个片段的数据长度,也就是说,τ的取值范围为1至N。此外,特征向量
Figure RE-GDA0002538691430000178
的步长为T,T的值为划分的片段的数量,因此如采用步骤602的划分方式时,T的值为N。
可选地,可以利用式子
Figure RE-GDA0002538691430000179
实现步骤603的过程,f(·)可以理解为函数,或者是LSTM的模型,
Figure RE-GDA00025386914300001710
可以理解为第i维的输入数据或着第i维的待进行特征提取的数据,θi可以理解为第i维数据所对应的LSTM的参数。
可选地,获得的特征向量/矩阵可以用
Figure RE-GDA00025386914300001711
表示,其中,hi表示从第i维待处理时序数据中的每个数据片段中提取的特征向量/矩阵的集合,
Figure RE-GDA00025386914300001712
中的每个变量分别表示从第i维待处理时序数据中的每个数据片段中提取的特征向量/矩阵。
当将图6所示方法应用于非时序数据时,将图6中的待处理时序数据对应替换为非时序数据即可,在此不再赘述。
利用图6所示方法,从待处理时序数据中既能够提取出整体特征,又能够提取出局部特征,从而能够将隐藏在片段之间的时滞等信息提取出来。当将提取的特征向量/矩阵应用于模型训练时,能够获得更高的准确性。
可选地,当获得每一维待处理数据的特征向量/矩阵后,可以利用这些特征向量/矩阵获得每一维待处理数据的特征向量/矩阵之间的依赖关系(或者可以理解为相关性),也可以理解为获得同一维数据(相同维数据)中不同数据片段之间的依赖关系;还可以利用这些特征向量/矩阵获得某一维待处理数据的特征向量/矩阵与其它维待处理数据的特征向量/矩阵之间包含的依赖关系(或者相关性、或者影响权重),也可以理解为获得不同维的数据片段之间的依赖关系(或者相关性、或者影响权重)。
可选地,在利用上述多个数据片段对迁移模型进行训练时,可以获得多个数据片段中相同维的数据片段之间的第一结构特征,再利用第一结构特征和从数据片段中提取的其他特征(包括上述整体特征和局部特征)来进行训练。其中,第一结构特征可以理解为同一维数据的内部的数据片段之间的相互关联性(相互关系)。可选地,第一结构特征可以根据相同维的数据片段之间的依赖关系确定,例如可以利用图7所示方法获得相同维的数据片段之间的影响权重。当应用于故障检测时,第一结构特征可以理解为同一维故障检测数据的数据片段之间的特征。
可选地,在利用上述多个数据片段对迁移模型进行训练时,还可以获得多个数据片段中不同维的数据片段之间的第二结构特征,再利用第二结构特征和从数据片段中提取的其他特征(包括上述整体特征和局部特征)来进行训练。其中,第二结构特征可以理解为不同维数据的数据片段之间的相互关联性(相互关系)。可选地,第二结构特征可以根据不同维的数据片段之间的依赖关系确定,例如可以利用图8所示方法获得不同维的数据片段之间的影响权重。当应用于故障检测时,第二结构特征可以理解为不同维故障检测数据的数据片段之间的特征。
可选地,还可以将上述两种方式结合,也就是即获得第一结构特征又获得第二结构特征,在训练时也既利用第一结构特征又利用第二结构特征来进行训练。这种方式能够进一步充分挖掘出待处理数据的局部特征,从而提高训练得到的模型的准确性。
下面结合图7和图8,以利用注意力机制为例,对获得每一维待处理数据的特征向量 /矩阵的同一维数据的内部依赖关系和不同维数据的外部依赖关系的方法进行介绍。需要说明的是,同一维数据的内部依赖关系是指每一维待处理数据中同一维数据的不同数据片段之间的依赖关系,不同维数据的外部依赖关系是指每一维待处理数据中不同维数据的数据片段之间的依赖关系。
图7是本申请实施例的获取同一维数据的内部依赖关系的示意性流程图。下面对图7 各步骤进行介绍。
701、获得对第i维待处理数据中的第一数据产生影响的一个或多个同一维待处理数据的数据片段。
需要说明的是,第一数据可以理解为待处理数据中的第i维数据中的某一数据,或者是第i维数据的未来预测值。其中,i为整数,用于表示待处理数据的维度编号,例如假设共有N维待处理数据,N为正整数,就可以利用i=1,2,…,N进行编号,或者可以利用 i=0,1,2,…,N-1进行编号。
702、获得每个数据片段对第一数据的影响权重。
可选地,可以利用自注意力机制的相关方法执行步骤701和702。
可选地,可以利用下面的式子获得同一维待处理数据中对第一数据的影响权重。
Figure RE-GDA0002538691430000191
其中,
Figure RE-GDA0002538691430000192
用于表示第i维数据所对应的第τ个特征向量/矩阵的影响权重,N用于表示数据片段的总数量,
Figure RE-GDA0002538691430000193
用于表示第i维数据所对应的第τ个特征向量/矩阵,WQ,i用于表示第i维数据所对应的query映射矩阵,WK,i用于表示第i维数据所对应的key映射矩阵, query映射矩阵和key映射矩阵是自注意力机制中所涉及的矩阵,
Figure RE-GDA0002538691430000194
用于表示比例因子,礼仪理解为上述映射矩阵的维度。
可选地,为了获得稀疏的权重代表结构,可以将需要采用的softmax函数替换为sparsemax函数,获得稀疏的影响权重集合
Figure RE-GDA0002538691430000195
其中
Figure RE-GDA0002538691430000196
分别用于表示N个数据片段的影响权重,N为正整数;i为整数,用于表示待处理数据的维度编号,为了方便可以设置i为正整数。可以理解为,在该稀疏的权重集合中,能够得到每个数据片段对第一数据的影响权重,只是当某个数据片段实际没有对第一数据产生影响的时候,其相应的影响权重为0。假设获得多组数据的影响权重序列,也就是除了获得第一数据的影响权重序列以外还会获得其它数据的影响权重序列,此时这样的方式能够使得所有影响权重序列的维数是一致的,且便于确定所有数据片段的影响权重,例如没有影响的为0,例如假设第一数据就是其中的某个数据片段,则相应的影响权重为1。
703、利用获得的影响权重序列(集合),对每个数据片段进行加权处理,获得每个数据片段对应的加权后的数据片段。
当某一数据片段中的每个值均获得其同一维的其他数据片段对其的影响权重序列,则可以得到该数据片段与同一维的其他数据片段之间的依赖关系、相关性或影响权重。
假设图7中的待处理数据为时序数据,则能够利用图7所示方法获得同一维数据中过去值对未来值的影响。相当于第一数据为对应于第一时刻的数据片段,而第一时刻为时序数据所有对应时刻中的某个时刻。与非时序数据处理方式不同的是,时序数据是有先后顺序的,通常只会出现在前的时刻的数据会影响到在后时刻的数据,但在后时刻的数据通常不会影响到在前时刻的数据,也就是说,过去值会对未来值产生影响,但未来值不会反作用于过去值。因此,针对时序数据的这种特殊性,在确定第一数据后,可以只考虑第一数据之前的数据对第一数据的影响,而不需要再考虑第一数据之后的数据。例如假设第一数据对应的时刻为t,则只需要考虑t时刻之前的时刻的数据对t时刻的数据影响,而t+1时刻及其以后的时刻的数据不需要考虑。
假设对采用图5所示的划分方式获得第i维数据的t时刻及以前的共N个时刻为时间起点的数据片段进行图7所示处理,可以将第一数据确定为第i维数据中的t时刻的数据或者确定为t+1时刻的数据,则相当于遍历t时刻及以前的共N个时刻的每个时刻,得到 N个时刻分别为时间起点时对第一数据的影响权重,从而能够找出所有的关键的时间起点。
图8是本申请实施例的获取不同维数据的外部依赖关系的示意性流程图,下面对图8 各步骤进行介绍。
801、获得第i维待处理数据以外的第j维待处理数据中,对第i维待处理数据中的第二数据产生影响的一个或多个第二数据片段。
需要说明的是,i和j均为整数,用于表示待处理数据的维度编号,例如假设共有N维待处理数据,N为正整数,就可以利用1,2,…,N进行编号,或者可以利用0,1,2,…,N-1 进行编号,而此处i和j的取值范围相同,均用于表示N维待处理数据,此处主要利用i 和j区分不同维的待处理数据,也就是当i不等于j的情况。
802、获得每个第二数据片段对第二数据的影响权重。
可选地,可以采用注意力机制(例如RAM)来获得每个第二数据片段对第二数据的影响权重。
可选地,为了获得稀疏的权重代表结构,可以将需要采用的softmax函数替换为sparsemax函数,获得稀疏的影响权重集合
Figure RE-GDA0002538691430000201
其中
Figure RE-GDA0002538691430000202
用于表示第i维待处理数据中的第1个数据片段与第1维待处理数据中的第1数据片段之间的影响权重,以此类推,
Figure RE-GDA0002538691430000203
用于表示第i维待处理数据中的第N个数据片段与第1 维待处理数据中的第N数据片段之间的影响权重,
Figure RE-GDA0002538691430000204
用于表示第i维待处理数据中的第1 个数据片段与第2维待处理数据中的第1数据片段之间的影响权重,以此类推,
Figure RE-GDA0002538691430000205
用于表示第i维待处理数据中的第N个数据片段与第2维待处理数据中的第N数据片段之间的影响权重,继续以此类推,
Figure RE-GDA0002538691430000206
用于表示第i维待处理数据中的第1个数据片段与第p维待处理数据中的第1数据片段之间的影响权重,以此类推,
Figure RE-GDA0002538691430000207
用于表示第i维待处理数据中的第N个数据片段与第p维待处理数据中的第N数据片段之间的影响权重,P为正整数,用于表示待处理数据的维数。
需要说明的是,在图8所示方法中,主要是为了获得当前维数据和其他维数据之间的依赖关系,因此,不需要同时获得当前维数据自身数据之间的依赖关系。因此,在影响权重序列(集合)中,相当于不需要获得
Figure RE-GDA0002538691430000208
例如当i=1时,不需要获得
Figure RE-GDA0002538691430000209
但应理解,无论是否获得
Figure RE-GDA00025386914300002010
都不会影响图8方案的效果,但不计算机构减少运算开销。
应理解,在该稀疏的权重集合中,能够得到不同维待处理数据的所有数据片段中每两个数据片段之间的影响权重,只是当某个数据片段实际没有产生影响的时候,其相应的影响权重为0。
803、利用获得的影响权重序列(集合),对每个数据片段进行加权处理,获得每个数据片段对应的加权后的数据片段。
假设图8中的待处理数据为时序数据,则能够利用图8所示方法获得某一维数据的过去值对其他维数据的未来值的影响。为了方法简便,针对时序数据的特殊性,在确定第i维数据中的第二数据后,可以只考虑其他维数据中在第二数据所对应的时刻之前的数据对第二数据的影响,而不需要再考虑第二数据之后的数据。例如假设第二数据对应的时刻为t,则只需要考虑t时刻之前的每个时刻的其他维数据对t时刻的第i维数据的影响,而t+1时刻及其以后的时刻的其他维数据不需要处理。
假设对采用图5所示的划分方式获得每一维数据的t时刻及以前的共N个时刻为时间起点的数据片段进行图8所示处理,可以将第二数据确定为第i维数据(每一维数据中的某一维数据)中的t时刻的数据或者t+1时刻的数据,则相当于找出除了第i维数据以外的第j维数据中的每个数据片段对第二数据的影响权重,从而能够找出其他维(第i维之外的其他维)数据片段中对当前维(第i维)的第二数据的影响权重。可以理解为可以获得其他维的过去值对当前维的未来值的影响。
利用图7或者图8所示方法,能够获得同一维待处理数据中数据片段之间的依赖关系或者不同维数据中数据片段之间的依赖关系,且图7和图8的方法可以叠加使用,当图7和图8所示方法均采用的时候,既能够获得相同维待处理数据中的数据片段之间的依赖关系,又能够获得不同维待处理数据中的数据片段之间的依赖关系。
可选地,在步骤303利用多个数据片段对迁移模型进行训练的时候,可以利用源域的多个数据片段和目标域的多个数据片段构造损失函数,通过构造和最小化源域和目标域的损失函数来获得迁移模型。
可选地,可以用式子
Figure RE-GDA0002538691430000211
表示样本x(待处理数据)的结构矩阵,其中, M为正整数,用于表示待处理数据x的M个数据片段的编号,则可以采用最大均值差异(maximum mean discrepancy,MMD)作为对齐的损失函数:
Figure RE-GDA0002538691430000212
其中,下标S表示源域(source domain),下标T表示目标域(target domain),也就是说,带有下标S的量均为对应于源域的量,带有下标T的量均为对应于目标域的量,例如,XS表示由源域样本xS组成的样本集合,XT表示目标域样本xT组成的样本集合,
Figure RE-GDA0002538691430000213
Figure RE-GDA0002538691430000214
分别表示源域和目标域的样本x的结构矩阵。也就是说,相当于构造和最小化损失函数,从而得到相应的结果,或者可以理解为,相当于在特征提取后利用标签分类器(labelclassifier),使用源域数据构建一个最优的分类器,然后再利用上述MMD损失函数去判断特征提取的每一维特征对应的结构损失值,选择最小损失值对应的结构作为最终的结构。
可选地,还可以通过合并结构提取和结构对齐,从而将样本的结构矩阵作为标签预测器的输入,得到标签的损失函数。可选地,可以根据实际情况选择合适的评价指标,例如对于分类任务,可以使用交叉熵作为类别损失,对于回归任务,则可以使用均方根误差(root mean squared error,RMSE)等等,在此不再一一赘述。
可选地,可以利用下面的式子获得最终目标函数:
Figure RE-GDA0002538691430000215
其中,ω为权衡两个损失的超参,Θ={θ12,…,θM}为所有特征的LSTM参数,WQ,WK均为上文所述映射矩阵,φ表示上文所述标签预测器的参数,
Figure RE-GDA0002538691430000216
Figure RE-GDA0002538691430000217
分别表示源域原先的损失函数(也可以理解为初始损失函数或起始损失函数等)和源域和目标域之间的差距。也就是说,将MMD损失值作为一个惩罚性(penalty)值,添加到源域任务的学习损失函数中,最小化源域的学习损失函数,同时最小化MMD损失值,来获得最终的结果。
根据上述目标函数,模型在源域和目标域的训练过程可以用下面的式子表示:
Figure RE-GDA0002538691430000218
通过上面的过程和公式均可以看出,如果采用本申请实施例所提供的方法获取多个待处理数据的数据片段再进行训练,能够有效提高迁移模型的训练结果的准确性,尤其是综合考虑相同维数据片段之间和不同维数据片段之间的结构关系的时候,训练精度能够更进一步提高。
在本申请实施例中,利用源域的有标签数据以及目标域的无标签数据训练模型,可以使得训练后的模型在源域上效果很好,同时可以通过使得源域和目标域差异最小,从而使得训练后的模型也能够在目标域上效果较好,也就是说达到将训练后的模型迁移到目标域的目的。还应理解,在本申请实施例中,源域可以理解为能够提供有标签数据(样本数据) 的域,目标域可以理解为能够提供无标签数据的域,但并不排除在某些特殊情况下,源域和目标域都包括有标签数据,本申请实施例的方法也同样适用,也就是说,源域和目标域只要有至少一方包括有标签数据即可。
在图3所示方法中,通过对待处理数据进行片段划分和对数据片段进行特征提取,既能够得到待处理数据的整体特征,又能够获得隐藏在待处理数据的数据片段之间的局部特征,从而能够提高迁移模型的训练数据的准确性,进而提高迁移模型的准确性。而利用图7所示方法获得同一维待处理数据中数据片段之间的依赖关系(对应于上述第一结构特征),能够进一步优化训练数据,以及提高迁移模型的准确性。利用图8所示方法获得不同维待处理数据中数据片段之间的依赖关系(对应于上述第二结构特征),同样能够进一步优化训练数据,以及提高迁移模型的准确性。如果同时采用图7和图8的方法,则既能够获得同一维待处理数据中数据片段之间的依赖关系,又能够获得不同维待处理数据中数据片段之间的依赖关系,相当于更进一步优化训练数据,以及提高迁移模型的准确性。
可选地,可以将本申请实施例所提供的训练迁移模型的方法应用于故障检测,也就是说,故障检测相当于上述方法的实际应用场景,也可以应用于其他场景,例如天气预报等,在此不再赘述。
下面对故障检测方法进行介绍,为了简洁,进行了一些省略,省略部分可以参照上文所述训练迁移模型的方法的相关介绍。
可选地,可以获取故障检测数据,该故障检测数据包括来自于目标域的无标签的故障检测数据和来自于源域的有标签的故障检测数据,其中,有标签的故障检测数据可以理解为包括故障类别标签和对应的故障检测数据。之后获得故障检测数据中的每一维数据的多个数据片段,该多个数据片段不完全相同。接下来根据多个数据片段对故障检测模型进行训练,获得训练后的故障检测模型。
需要说明的是,上述故障检测模型同样既可以是来自于源域的模型(初始模型或预训练过的模型),也可以是来自于目标域的模型(初始模型或预训练过的模型),训练后的故障检测模型可以是适用于源域的模型,也可以是适用于目标域的模型,还可以是既适用于源域又适用于目标域的模型。
在该方案中,既能够获得故障检测数据的整体特征,又能够获得隐藏在数据片段之间的局部特征,从而能够提高训练后的故障检测模型的准确性。
可选地,上述故障检测数据同样可以是时序数据,同样可以利用上文所述的方法获得多个时序数据片段,在此不再赘述。
可选地,同样可以利用上文所述方法获得多个数据片段中相同维的数据片段之间的第一结构特征和不同维数据片段之间的第二结构特征,在此不再赘述。
而利用第一结构特征和/或第二结构特征对故障检测模型进行训练时,均能够提高训练后的故障检测模型的准确性。
上文结合附图对本申请实施例的训练迁移模型的方法进行了详细描述,下面结合附图对本申请实施例的训练迁移模型的装置进行详细的描述,应理解,下面描述的训练迁移模型的装置能够执行本申请实施例的训练迁移模型的方法的各个步骤,为了避免不必要的重复,下面在介绍本申请实施例的训练迁移模型的装置时适当省略重复的描述。
图9是本申请实施例的训练迁移模型的装置的示意性框图。图9所示的装置3000包括获取单元3001和处理单元3002。
获取单元3001和处理单元3002可以用于执行本申请实施例的训练迁移模型的方法。
例如,获取单元3001可以执行上述步骤301,处理单元3002可以执行上述步骤302和/或步骤303。又例如,获取单元3001可以执行上述步骤601,处理单元3002可以执行上述步骤602至步骤603。当执行步骤303时,还可以进一步利用图7和/或图8所示方法进行处理,此时,处理单元3002可以执行上述步骤701至步骤703,和/或可以执行上述步骤801至步骤803。
上述处理单元3002按照处理功能的不同可以分成多个模块,具体地,处理单元3002 可以包括特征提取模块和训练模块,其中特征提取模块可以用于将待处理数据划分成多个数据片段,例如可以执行步骤302,训练模块用于利用该多个数据片段训练获得迁移模型,即可以用于执行步骤303。可选地,处理单元3002还可以包括结构提取模块,用于获得第一结构特征和/或第二结构特征,也就是说,用于获得同一维数据中不同数据片段之间的依赖关系,和/或用于获得不同维数据片段之间的依赖关系,例如可以用于执行图7和/ 或图8的步骤。
图10是本申请实施例的训练迁移模型的装置的硬件结构示意图。图10所示的装置4000(该装置4000具体可以是一种计算机设备)包括存储器4001、处理器4002、通信接口4003以及总线4004。其中,存储器4001、处理器4002、通信接口4003通过总线4004 实现彼此之间的通信连接。
存储器4001可以是只读存储器(read only memory,ROM),静态存储设备,动态存储设备或者随机存取存储器(random access memory,RAM)。存储器4001可以存储程序,当存储器4001中存储的程序被处理器4002执行时,处理器4002用于执行本申请实施例的训练迁移模型的方法的各个步骤。
处理器4002可以采用通用的中央处理器(central processing unit,CPU),微处理器,应用专用集成电路(application specific integrated circuit,ASIC),图形处理器(graphics processing unit,GPU)或者一个或多个集成电路,用于执行相关程序,以实现本申请方法实施例的训练迁移模型的方法。
处理器4002还可以是一种集成电路芯片,具有信号的处理能力。在实现过程中,本申请的训练迁移模型的方法的各个步骤可以通过处理器4002中的硬件的集成逻辑电路或者软件形式的指令完成。
上述处理器4002还可以是通用处理器、数字信号处理器(digital signalprocessing, DSP)、专用集成电路(ASIC)、现成可编程门阵列(field programmable gatearray,FPGA) 或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器4001,处理器4002 读取存储器4001中的信息,结合其硬件完成本申请实施例的训练迁移模型的装置中包括的单元所需执行的功能,或者执行本申请方法实施例的训练迁移模型的方法。
通信接口4003使用例如但不限于收发器一类的收发装置,来实现装置4000与其他设备或通信网络之间的通信。
总线4004可包括在装置4000各个部件(例如,存储器4001、处理器4002、通信接口4003)之间传送信息的通路。
图11是本申请实施例的故障检测装置的示意性框图。图11所示的装置5000包括获取单元5001和处理单元5002。
获取单元5001和处理单元5002可以用于执行本申请实施例的故障检测的方法。需要说明的是,在本申请实施例中,故障检测方法相当于本申请实施例所述训练迁移模型的方法的实际应用,因此本申请实施例所述任意一种训练迁移模型的方法均可应用于故障检测。
例如,获取单元5001可以用于获取故障检测数据,该故障检测数据可以包括来自于目标域的无标签的故障检测数据和来自于源域的有标签的故障检测数据,该有标签的故障检测数据可以包括故障类别标签和对应的故障检测数据。处理单元5002可以用于获得故障检测数据中的每一维数据的多个数据片段,该多个数据片段不完全相同。处理单元5002还可以用于根据多个数据片段对故障检测模型进行训练,获得训练后的故障检测模型。
可选地,上述故障检测数据同样既可以是时序数据又可以是非时序数据,假设为故障检测时序数据,则上述多个数据片段包括多个时间起点,这些时间起点可以根据故障检测时序数据所对应的起始时刻和故障检测时序数据所对应的终止时刻来确定。
可选地,可以使得上述多个时间起点包括从根据故障检测时序数据所对应的起始时刻到故障检测时序数据所对应的终止时刻之间的所有时刻。
可选地,上述多个数据片段的时间终点可以确定为故障检测时序数据所对应的终止时刻。
可选地,处理单元5002还可以用于获得多个数据片段中相同维的数据片段之间的第一结构特征。可选地,该第一结构特征可以根据相同维的数据片段之间的依赖关系确定。
可选地,处理单元5002还可以用于获得多个数据片段中不同维的数据片段之间的第二结构特征。可选地,该第二结构特征可以根据不同维的数据片段之间的依赖关系确定。
可选地,可以利用第一结构特征和/或第二结构特征对源域的故障检测模型进行训练。
可选地,上述处理单元5002同样按照处理功能的不同可以分成多个模块,具体地,处理单元5002可以包括特征提取模块和训练模块,其中特征提取模块可以用于将故障检测数据划分成多个数据片段,训练模块用于利用该多个数据片段训练获得迁移模型。可选地,处理单元5002还可以包括结构提取模块,用于获得第一结构特征和/或第二结构特征,也就是说,用于获得同一维数据中不同数据片段之间的依赖关系,和/或用于获得不同维数据片段之间的依赖关系。
图12是本申请实施例的故障检测装置的硬件结构示意图。图12所示的装置6000包括存储器6001、处理器6002、通信接口6003以及总线6004。其中,存储器6001、处理器6002、通信接口6003通过总线6004实现彼此之间的通信连接。
存储器6001可以是ROM,静态存储设备,动态存储设备或者RAM。存储器6001可以存储程序,当存储器6001中存储的程序被处理器6002执行时,处理器6002用于执行本申请实施例的故障检测的方法的各个步骤。
处理器6002可以采用通用的CPU,微处理器,ASIC,GPU或者一个或多个集成电路,用于执行相关程序,以实现本申请方法实施例的故障检测的方法。
处理器6002还可以是一种集成电路芯片,具有信号的处理能力。在实现过程中,本申请的训练迁移模型的方法的各个步骤可以通过处理器6002中的硬件的集成逻辑电路或者软件形式的指令完成。
上述处理器6002还可以是通用处理器、DSP、ASIC、FPGA或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器6001,处理器6002读取存储器6001中的信息,结合其硬件完成本申请实施例的故障检测装置中包括的单元所需执行的功能,或者执行本申请方法实施例的故障检测的方法。
通信接口6003使用例如但不限于收发器一类的收发装置,来实现装置6000与其他设备或通信网络之间的通信。
总线6004可包括在装置6000各个部件(例如,存储器6001、处理器6002、通信接口6003)之间传送信息的通路。
应注意,尽管上述装置4000、装置6000仅仅示出了存储器、处理器、通信接口,但是在具体实现过程中,本领域的技术人员应当理解,装置4000、装置6000还可以包括实现正常运行所必须的其他器件。同时,根据具体需要,本领域的技术人员应当理解,装置 4000、装置6000还可包括实现其他附加功能的硬件器件。此外,本领域的技术人员应当理解,装置4000、装置6000也可仅仅包括实现本申请实施例所必须的器件,而不必包括图10、图12中所示的全部器件。
图13是本申请实施例的一种芯片硬件结构示意图。如图13所示,该芯片上包括神经网络处理器1000。该芯片可以被设置在如下任一种或多种装置或***中:
如图9所示的装置3000、如图10所示的装置4000、如图11所示的装置5000、如图 12所示的装置6000。
上文方法实施例中所示的任意一种方法均可在如图13所示的芯片中得以实现。
神经网络处理器1000作为协处理器挂载到主处理器(Host CPU)上,由主CPU分配任务。神经网络处理器1000的核心部分为运算电路1003,控制器1004控制运算电路1003 获取存储器(权重存储器1002或输入存储器1001)中的数据并进行运算。
在一些实现中,运算电路1003内部包括多个处理单元(process engine,PE)。在一些实现中,运算电路1003是二维脉动阵列。运算电路1003还可以是一维脉动阵列或者能够执行例如乘法和加法这样的数学运算的其它电子线路。在一些实现中,运算电路1003 是通用的矩阵处理器。
举例来说,假设有输入矩阵A,权重矩阵B,输出矩阵C。运算电路1003从权重存储器1002中取矩阵B相应的数据,并缓存在运算电路1003中每一个PE上。运算电路1003 从输入存储器1001中取矩阵A数据与矩阵B进行矩阵运算,得到的矩阵的部分结果或最终结果,保存在累加器(accumulator)1008中。
向量计算单元1007可以对运算电路1003的输出做进一步处理,如向量乘,向量加,指数运算,对数运算,大小比较等等。例如,向量计算单元1007可以用于神经网络中非卷积/非FC层的网络计算,如池化(pooling),批归一化(batch normalization),局部响应归一化(local response normalization)等。
在一些实现种,向量计算单元能1007将经处理的输出的向量存储到统一存储器(也可称为统一缓存器)1006。例如,向量计算单元1007可以将非线性函数应用到运算电路1003的输出,例如累加值的向量,用以生成激活值。在一些实现中,向量计算单元1007 生成归一化的值、合并值,或二者均有。在一些实现中,处理过的输出的向量能够用作到运算电路1003的激活输入,例如用于在神经网络中的后续层中的使用。
上文方法实施例中的方法可以由1003或1007执行。
统一存储器1006用于存放输入数据以及输出数据。
权重数据直接通过存储单元访问控制器1005(direct memory accesscontroller, DMAC)将外部存储器中的输入数据搬运到输入存储器1001和/或统一存储器1006、将外部存储器中的权重数据存入权重存储器1002,以及将统一存储器1006中的数据存入外部存储器。
总线接口单元(bus interface unit,BIU)1010,用于通过总线实现主CPU、DMAC和取指存储器1009之间进行交互。
与控制器1004连接的取指存储器(instruction fetch buffer)1009,用于存储控制器1004 使用的指令;
控制器1004,用于调用指存储器1009中缓存的指令,实现控制该运算加速器的工作过程。
在本申请实施例中,这里的数据可以是待处理的图像数据。
一般地,统一存储器1006,输入存储器1001,权重存储器1002以及取指存储器1009均为片上(On-Chip)存储器,外部存储器为该NPU外部的存储器,该外部存储器可以为双倍数据率同步动态随机存储器(double data rate synchronous dynamic random accessmemory,DDR SDRAM)、高带宽存储器(high bandwidth memory,HBM)或其他可读可写的存储器。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中在本申请的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本申请。
需要说明的是,本文中涉及的第一、第二、第三或第四等各种数字编号仅为描述方便进行的区分,并不用来限制本申请实施例的范围。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的***、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的***、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

Claims (24)

1.一种训练迁移模型的方法,其特征在于,包括:
获取待处理数据,所述待处理数据包括来自于目标域的无标签数据和来自于源域的有标签数据;
获得所述待处理数据中的每一维数据的多个数据片段,所述多个数据片段不完全相同;
利用所述多个数据片段对迁移模型进行训练,获得训练后的迁移模型。
2.如权利要求1所述的方法,其特征在于,所述待处理数据为待处理时序数据,所述多个数据片段包括多个时间起点,所述多个时间起点是根据所述待处理时序数据所对应的起始时刻和所述待处理时序数据所对应的终止时刻确定的。
3.如权利要求2所述的方法,其特征在于,所述多个时间起点是根据所述待处理时序数据所对应的起始时刻和所述待处理时序数据所对应的终止时刻确定的,包括:
所述多个时间起点包括从所述起始时刻到所述终止时刻之间的所有时刻;
所述多个数据片段的时间终点为所述待处理时序数据所对应的所述终止时刻。
4.如权利要求1至3中任一项所述的方法,其特征在于,所述利用所述多个数据片段对迁移模型进行训练,包括:
获得所述多个数据片段中相同维的数据片段之间的第一结构特征,所述第一结构特征是根据所述相同维的数据片段之间的依赖关系确定的;
利用所述第一结构特征对所述迁移模型进行训练。
5.如权利要求1至4中任一项所述的方法,其特征在于,所述利用所述多个数据片段对迁移模型进行训练,包括:
获得所述多个数据片段中不同维的数据片段之间的结构特征,所述第二结构特征是根据所述不同维的数据片段之间的依赖关系确定的;
利用所述第二结构特征对所述迁移模型进行训练。
6.一种故障检测的方法,其特征在于,包括:
获取故障检测数据,所述故障检测数据包括来自于目标域的无标签的故障检测数据和来自于源域的有标签的故障检测数据,所述有标签的故障检测数据包括故障类别标签和对应的故障检测数据;
获得所述故障检测数据中的每一维数据的多个数据片段,所述多个数据片段不完全相同;
根据所述多个数据片段对故障检测模型进行训练,获得训练后的故障检测模型。
7.如权利要求6所述的方法,其特征在于,所述故障检测数据为故障检测时序数据,所述多个数据片段包括多个时间起点,所述多个时间起点是根据所述故障检测时序数据所对应的起始时刻和所述故障检测时序数据所对应的终止时刻确定的。
8.如权利要求7所述的方法,其特征在于,所述多个时间起点是根据所述故障检测时序数据所对应的起始时刻和所述故障检测时序数据所对应的终止时刻确定的,包括:
所述多个时间起点包括从所述起始时刻到所述终止时刻之间的所有时刻;
所述多个数据片段的时间终点为所述故障检测时序数据所对应的所述终止时刻。
9.如权利要求6至8中任一项所述的方法,其特征在于,所述根据所述多个数据片段对故障检测模型进行训练,包括:
获得所述多个数据片段中相同维的数据片段之间的第一结构特征,所述第一结构特征是根据所述相同维的数据片段之间的依赖关系确定的;
根据所述第一结构特征对所述故障检测模型进行训练。
10.如权利要求6至9中任一项所述的方法,其特征在于,所述根据所述多个数据片段对故障检测模型进行训练,包括:
获得所述多个数据片段中不同维的数据片段之间的结构特征,所述第二结构特征是根据所述不同维的数据片段之间的依赖关系确定的;
利用所述第二结构特征对所述故障检测模型进行训练。
11.一种训练迁移模型的装置,其特征在于,包括:
获取单元,用于获取待处理数据,所述待处理数据包括来自于目标域的无标签数据和来自于源域的有标签数据;
处理单元,用于获得所述待处理数据中的每一维数据的多个数据片段,所述多个数据片段不完全相同;
所述处理单元,还用于利用所述多个数据片段对迁移模型进行训练,获得训练后的迁移模型。
12.如权利要求11所述的装置,其特征在于,所述待处理数据为待处理时序数据,所述多个数据片段包括多个时间起点,所述多个时间起点是根据所述待处理时序数据所对应的起始时刻和所述待处理时序数据所对应的终止时刻确定的。
13.如权利要求12所述的装置,其特征在于,所述多个时间起点是根据所述待处理时序数据所对应的起始时刻和所述待处理时序数据所对应的终止时刻确定的,包括:
所述多个时间起点包括从所述起始时刻到所述终止时刻之间的所有时刻;
所述多个数据片段的时间终点为所述待处理时序数据所对应的所述终止时刻。
14.如权利要求11至13中任一项所述的装置,其特征在于,所述处理单元具体用于:
获得所述多个数据片段中相同维的数据片段之间的第一结构特征,所述第一结构特征是根据所述相同维的数据片段之间的依赖关系确定的;
利用所述第一结构特征对所述迁移模型进行训练。
15.如权利要求11至14中任一项所述的装置,其特征在于,所述处理单元具体用于:
获得所述多个数据片段中不同维的数据片段之间的第二结构特征,所述第二结构特征是根据所述不同维的数据片段之间的依赖关系确定的;
利用所述第二结构特征对所述迁移模型进行训练。
16.一种故障检测的装置,其特征在于,包括:
获取单元,用于获取故障检测数据,所述故障检测数据包括来自于目标域的无标签的故障检测数据和来自于源域的有标签的故障检测数据,所述有标签的故障检测数据包括故障类别标签和对应的故障检测数据;
处理单元,用于获得所述故障检测数据中的每一维数据的多个数据片段,所述多个数据片段不完全相同;
所述处理单元,还用于根据所述多个数据片段对故障检测模型进行训练,获得训练后的故障检测模型。
17.如权利要求16所述的装置,其特征在于,所述故障检测数据为故障检测时序数据,所述多个数据片段包括多个时间起点,所述多个时间起点是根据所述故障检测时序数据所对应的起始时刻和所述故障检测时序数据所对应的终止时刻确定的。
18.如权利要求17所述的装置,其特征在于,所述多个时间起点是根据所述故障检测时序数据所对应的起始时刻和所述故障检测时序数据所对应的终止时刻确定的,包括:
所述多个时间起点包括从所述起始时刻到所述终止时刻之间的所有时刻;
所述多个数据片段的时间终点为所述故障检测时序数据所对应的所述终止时刻。
19.如权利要求16至18中任一项所述的装置,其特征在于,所述处理单元具体用于:
获得所述多个数据片段中相同维的数据片段之间的第一结构特征,所述第一结构特征是根据所述相同维的数据片段之间的依赖关系确定的;
根据所述第一结构特征对所述故障检测模型进行训练。
20.如权利要求16至19中任一项所述的装置,其特征在于,所述处理单元具体用于:
获得所述多个数据片段中不同维的数据片段之间的第二结构特征,所述第二结构特征是根据所述不同维的数据片段之间的依赖关系确定的;
利用所述第二结构特征对所述故障检测模型进行训练。
21.一种计算机可读存储介质,其特征在于,所述计算机可读介质存储用于设备执行的程序代码,该程序代码包括用于执行如权利要求1至5中任一项所述方法的指令。
22.一种计算机可读存储介质,其特征在于,所述计算机可读介质存储用于设备执行的程序代码,该程序代码包括用于执行如权利要求6至10中任一项所述方法的指令。
23.一种芯片,其特征在于,所述芯片包括处理器与数据接口,所述处理器通过所述数据接口读取存储器上存储的指令,以执行如权利要求1至5中任一项所述的方法。
24.一种芯片,其特征在于,所述芯片包括处理器与数据接口,所述处理器通过所述数据接口读取存储器上存储的指令,以执行如权利要求6至10中任一项所述的方法。
CN202010308439.6A 2020-04-18 2020-04-18 训练迁移模型的方法、故障检测的方法以及装置 Pending CN111612035A (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN202010308439.6A CN111612035A (zh) 2020-04-18 2020-04-18 训练迁移模型的方法、故障检测的方法以及装置
EP21787843.8A EP4131069A4 (en) 2020-04-18 2021-04-08 METHOD AND DEVICE FOR TRAINING A TRANSMISSION MODEL, AND FAULT DETECTION METHOD AND DEVICE
PCT/CN2021/086001 WO2021208799A1 (zh) 2020-04-18 2021-04-08 训练迁移模型的方法、故障检测的方法以及装置
US17/967,650 US20230063148A1 (en) 2020-04-18 2022-10-17 Transfer model training method and apparatus, and fault detection method and apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010308439.6A CN111612035A (zh) 2020-04-18 2020-04-18 训练迁移模型的方法、故障检测的方法以及装置

Publications (1)

Publication Number Publication Date
CN111612035A true CN111612035A (zh) 2020-09-01

Family

ID=72205507

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010308439.6A Pending CN111612035A (zh) 2020-04-18 2020-04-18 训练迁移模型的方法、故障检测的方法以及装置

Country Status (4)

Country Link
US (1) US20230063148A1 (zh)
EP (1) EP4131069A4 (zh)
CN (1) CN111612035A (zh)
WO (1) WO2021208799A1 (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113344902A (zh) * 2021-06-25 2021-09-03 成都信息工程大学 一种基于深度学习的强对流天气雷达图识别模型及方法
WO2021208799A1 (zh) * 2020-04-18 2021-10-21 华为技术有限公司 训练迁移模型的方法、故障检测的方法以及装置
CN113673397A (zh) * 2021-08-11 2021-11-19 山东科技大学 一种类加权对齐的局部域适应机械故障诊断方法
CN114300091A (zh) * 2021-12-07 2022-04-08 姜京池 一种胰岛素输注方案自适应调节方法、装置及存储介质
TWI823488B (zh) * 2022-07-22 2023-11-21 國立中央大學 用於深度神經網路之邊緣優化增量學習方法與電腦系統

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115392315B (zh) * 2022-08-31 2023-04-18 济南永信新材料科技有限公司 一种基于可转移特征的齿轮箱故障检测方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180068231A1 (en) * 2016-09-08 2018-03-08 Conduent Business Services, Llc Method and system for training a target domain classifier to label text segments
US20180174071A1 (en) * 2016-12-20 2018-06-21 Conduent Business Services, Llc Method and system for text classification based on learning of transferable feature representations from a source domain
CN109710636A (zh) * 2018-11-13 2019-05-03 广东工业大学 一种基于深度迁移学习的无监督工业***异常检测方法
CN109947086A (zh) * 2019-04-11 2019-06-28 清华大学 基于对抗学习的机械故障迁移诊断方法及***
CN110346142A (zh) * 2019-07-25 2019-10-18 哈尔滨理工大学 基于无监督特征对齐的变负载下滚动轴承故障诊断方法
CN110849627A (zh) * 2019-11-27 2020-02-28 哈尔滨理工大学 一种宽度迁移学习网络及基于宽度迁移学习网络的滚动轴承故障诊断方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108898218A (zh) * 2018-05-24 2018-11-27 阿里巴巴集团控股有限公司 一种神经网络模型的训练方法、装置、及计算机设备
WO2020009652A1 (en) * 2018-07-06 2020-01-09 Telefonaktiebolaget Lm Ericsson (Publ) Methods and systems for dynamic service performance prediction using transfer learning
CN109376620A (zh) * 2018-09-30 2019-02-22 华北电力大学 一种风电机组齿轮箱故障的迁移诊断方法
CN111612035A (zh) * 2020-04-18 2020-09-01 华为技术有限公司 训练迁移模型的方法、故障检测的方法以及装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180068231A1 (en) * 2016-09-08 2018-03-08 Conduent Business Services, Llc Method and system for training a target domain classifier to label text segments
US20180174071A1 (en) * 2016-12-20 2018-06-21 Conduent Business Services, Llc Method and system for text classification based on learning of transferable feature representations from a source domain
CN109710636A (zh) * 2018-11-13 2019-05-03 广东工业大学 一种基于深度迁移学习的无监督工业***异常检测方法
CN109947086A (zh) * 2019-04-11 2019-06-28 清华大学 基于对抗学习的机械故障迁移诊断方法及***
CN110346142A (zh) * 2019-07-25 2019-10-18 哈尔滨理工大学 基于无监督特征对齐的变负载下滚动轴承故障诊断方法
CN110849627A (zh) * 2019-11-27 2020-02-28 哈尔滨理工大学 一种宽度迁移学习网络及基于宽度迁移学习网络的滚动轴承故障诊断方法

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
DIAN GONG等: "Structured Time Series Analysis for Human Action Segmentation and Recognition", 《IEEE TRANSACTIONS ON PATTERN ANALYSIS AND MACHINE INTELLIGENCE》, vol. 36, no. 7, pages 1414 - 1427, XP011551861, DOI: 10.1109/TPAMI.2013.244 *
LONG M等: "Learning transferable features with deep adaptation networks", pages 97 - 105 *
ZIJIAN LI等: "Causal Mechanism Transfer Network for Time Series Domain Adaptation in Mechanical Systems", 《ARXIV:1910.06761V1》, pages 1 - 11 *
孙存威;文畅;谢凯;贺建飚;: "深度迁移模型下的小样本声纹识别方法", no. 12, pages 224 - 230 *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021208799A1 (zh) * 2020-04-18 2021-10-21 华为技术有限公司 训练迁移模型的方法、故障检测的方法以及装置
CN113344902A (zh) * 2021-06-25 2021-09-03 成都信息工程大学 一种基于深度学习的强对流天气雷达图识别模型及方法
CN113673397A (zh) * 2021-08-11 2021-11-19 山东科技大学 一种类加权对齐的局部域适应机械故障诊断方法
CN113673397B (zh) * 2021-08-11 2023-12-05 山东科技大学 一种类加权对齐的局部域适应机械故障诊断方法
CN114300091A (zh) * 2021-12-07 2022-04-08 姜京池 一种胰岛素输注方案自适应调节方法、装置及存储介质
TWI823488B (zh) * 2022-07-22 2023-11-21 國立中央大學 用於深度神經網路之邊緣優化增量學習方法與電腦系統

Also Published As

Publication number Publication date
US20230063148A1 (en) 2023-03-02
EP4131069A4 (en) 2023-08-23
EP4131069A1 (en) 2023-02-08
WO2021208799A1 (zh) 2021-10-21

Similar Documents

Publication Publication Date Title
CN111612035A (zh) 训练迁移模型的方法、故障检测的方法以及装置
US20220335284A1 (en) Apparatus and method with neural network
CN111353076B (zh) 训练跨模态检索模型的方法、跨模态检索的方法和相关装置
US20230095606A1 (en) Method for training classifier, and data processing method, system, and device
US11468332B2 (en) Deep neural network processor with interleaved backpropagation
WO2021218517A1 (zh) 获取神经网络模型的方法、图像处理方法及装置
CN113011575A (zh) 神经网络模型更新方法、图像处理方法及装置
CN112561027A (zh) 神经网络架构搜索方法、图像处理方法、装置和存储介质
WO2021218470A1 (zh) 一种神经网络优化方法以及装置
CN114255361A (zh) 神经网络模型的训练方法、图像处理方法及装置
CN111612215A (zh) 训练时间序列预测模型的方法、时间序列预测方法及装置
CN114004383A (zh) 时间序列预测模型的训练方法、时间序列预测方法及装置
CN111695673A (zh) 训练神经网络预测器的方法、图像处理方法及装置
CN115051929B (zh) 基于自监督目标感知神经网络的网络故障预测方法及装置
CN113128285A (zh) 一种处理视频的方法及装置
WO2022156475A1 (zh) 神经网络模型的训练方法、数据处理方法及装置
Bai et al. Benchmarking tropical cyclone rapid intensification with satellite images and attention-based deep models
CN110135561B (zh) 一种实时在线飞行器ai神经网络***
CN114298289A (zh) 一种数据处理的方法、数据处理设备及存储介质
Guo et al. Dynamic neural network structure: A review for its theories and applications
CN114298290A (zh) 一种基于自监督学习的神经网络编码方法及编码器
CN115579053A (zh) 药物重定位方法、装置、电子设备及存储介质
CN116802646A (zh) 数据处理的方法和装置
CN111382761B (zh) 一种基于cnn的检测器、图像检测方法及终端
CN115146757A (zh) 一种神经网络模型的训练方法及装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination