一种深度学习网络及其缺失数据的预测方法和装置与流程

文档序号:29796274发布日期:2022-04-23 18:55阅读:162来源:国知局
一种深度学习网络及其缺失数据的预测方法和装置与流程

1.本发明涉及学习网络技术领域,具体提供一种深度学习网络及其缺失数据的预测方法和装置。


背景技术:

2.目前,现实世界中的很多数据往往不完整,存在缺失值。传统基于非神经网络的方法,能力往往太弱,并不能发现数据中的规律,在数量很大的时候难以应用。基于深度学习的方法往往需要针对特定的数据设计特殊的网络结构,其对于输入的大小是固定的。基于transformer的深度学习方法会将固定比例的输入拿掉来训练网络,而数据补齐的任务中,输入数据的缺失值的比例往往并不固定。另外,缺失算法往往对缺失值有一个唯一的补齐值,不能体现出缺失值可能的一个变化。因此,现有技术预测的缺失数据的精确度较低,难以满足实际需求。
3.相应地,本领域需要一种新的缺失数据的预测方案来解决上述问题。


技术实现要素:

4.为了克服上述缺陷,提出了本发明,以提供解决或至少部分地解决现有技术预测的缺失数据的精确度较低的技术问题。本发明提供了一种深度学习网络及其缺失数据的预测方法和装置。
5.在第一方面,本发明提供一种深度学习网络,用于预测输入数据对应的缺失数据,所述深度学习网络包括:向量提取层,用于提取所述输入数据中任意两个元素之间的关系向量;数据编码层,用于对所述输入数据中每个元素进行编码,得到每个元素对应的特征向量;特征融合层,用于根据所述每个元素对应的特征向量和关系向量进行特征融合,得到输入数据每一坐标对应的第一特征向量;特征解码层,用于根据所述第一特征向量和关系向量进行解码,得到所述输入数据每一坐标对应的第二特征向量;数据预测层,用于根据所述输入数据每一坐标对应的第二特征向量,对所述输入数据对应的缺失数据进行预测,得到所述缺失数据的预测值。
6.在一个实施方式中,所述向量提取层包括:坐标编码层,用于对所述输入数据中每个元素对应坐标进行编码,得到每个元素对应坐标的坐标向量;关系计算层,用于根据所述坐标向量获取所述输入数据中任意两个元素之间的关系向量。
7.在一个实施方式中,所述特征融合层包括:感知机,用于根据所述每个元素对应的特征向量和关系向量,得到第三特征向量;特征更新层,用于根据所述第三特征向量确定输入数据每一坐标对应的第一特征向量。
8.在一个实施方式中,所述特征更新层包括:获取单元,用于获取所述第三特征向量每个维度的最大值,得到更新向量,所述更新向量的计算公式为:
9.f(i)

=element_wise_max
lfi,l
10.其中,f(i)

为更新向量,element_wise_max表示对第三特征向量f
i,l
每个维度取
最大值;
11.确定单元,用于基于所述更新向量确定输入数据每一坐标对应的第一特征向量。
12.在一个实施方式中,所述数据预测层包括:第一预测层,用于在所述输入数据为连续变量的情况下,基于所述输入数据每一坐标对应的第二特征向量进行重参数化,得到所述缺失数据每一坐标对应的均值和方差;第二预测层,用于根据所述缺失数据每一坐标对应的均值和方差,确定所述缺失数据的预测值。
13.在一个实施方式中,所述特征融合层和所述特征解码层的个数至少为一个。
14.在第二方面,本发明提供一种缺失数据的预测方法,包括下述步骤:获取历史数据集和待预测数据;构建深度学习网络;基于所述历史数据集对所述深度学习网络进行训练,得到训练好的深度学习网络;将待预测数据输入所述训练好的深度学习网络,得到所述待预测数据对应缺失数据的预测值。
15.在第三方面,本发明提供一种缺失数据的预测装置,包括:输入模块,被配置为获取历史数据集和待预测数据;构建模块,被配置为构建权利要求1至权利要求6任一项所述的深度学习网络;训练模块,被配置为基于所述历史数据集对所述深度学习网络进行训练,得到训练好的深度学习网络;预测模块,被配置为将待预测数据输入所述训练好的深度学习网络,得到所述待预测数据对应缺失数据的预测值。
16.在第四方面,提供一种电子设备,该电子设备包括处理器和存储装置,所述存储装置适于存储多条程序代码,所述程序代码适于由所述处理器加载并运行以执行前述所述的缺失数据的预测方法。
17.在第五方面,提供一种计算机可读存储介质,该计算机可读存储介质其中存储有多条程序代码,所述程序代码适于由处理器加载并运行以执行前述所述的缺失数据的预测方法。
18.本发明上述一个或多个技术方案,至少具有如下一种或多种有益效果:
19.本发明中的通过上述深度学习网络,能够获取输入数据对应的缺失数据,提高了获取的缺失数据的精确度,实现了对任意输入数据缺失比例的支持,适用于任何缺失数据的预测,满足了用户实际需求。
20.本技术中的特征融合层可以融合不同坐标对应元素的信息,其中通过element_wise_max操作允许同一个网络支持不同数目的输入坐标,进而实现对任意输入数据缺失比例的支持。
附图说明
21.参照附图,本发明的公开内容将变得更易理解。本领域技术人员容易理解的是:这些附图仅仅用于说明的目的,而并非意在对本发明的保护范围组成限制。此外,图中类似的数字用以表示类似的部件,其中:
22.图1是根据本发明的一个实施例的深度学习网络的主要结构示意图;
23.图2是根据本发明的一个实施例的深度学习网络的结构示意图;
24.图3是根据本发明的一个实施例的感知机的结构示意图;
25.图4是根据本发明的一个实施例的缺失数据的预测方法的主要步骤流程示意图;
26.图5是根据本发明的一个实施例的缺失数据的预测装置的主要结构框图示意图。
27.附图标记列表:
28.11:输入模块;12:构建模块;13:训练模块;14:预测模块。
具体实施方式
29.下面参照附图来描述本发明的一些实施方式。本领域技术人员应当理解的是,这些实施方式仅仅用于解释本发明的技术原理,并非旨在限制本发明的保护范围。
30.在本发明的描述中,“模块”、“处理器”可以包括硬件、软件或者两者的组合。一个模块可以包括硬件电路,各种合适的感应器,通信端口,存储器,也可以包括软件部分,比如程序代码,也可以是软件和硬件的组合。处理器可以是中央处理器、微处理器、图像处理器、数字信号处理器或者其他任何合适的处理器。处理器具有数据和/或信号处理功能。处理器可以以软件方式实现、硬件方式实现或者二者结合方式实现。非暂时性的计算机可读存储介质包括任何合适的可存储程序代码的介质,比如磁碟、硬盘、光碟、闪存、只读存储器、随机存取存储器等等。术语“a和/或b”表示所有可能的a与b的组合,比如只是a、只是b或者a和b。术语“至少一个a或b”或者“a和b中的至少一个”含义与“a和/或b”类似,可以包括只是a、只是b或者a和b。单数形式的术语“一个”、“这个”也可以包含复数形式。
31.目前传统技术预测的缺失数据的精确度较低,难以满足实际需求。为此,本技术提出深度学习网络及其缺失数据的预测方法和装置,通过深度学习网络能够获取输入数据对应的缺失数据,提高了获取的缺失数据的精确度,实现了对任意输入数据缺失比例的支持,适用于任何缺失数据的预测,满足了用户实际需求。
32.参阅附图1,图1是根据本发明的一个实施例的深度学习网络的主要结构示意图。如图1所示,本发明实施例中的深度学习网络主要包括向量提取层100、数据编码层200、特征融合层300、特征解码层400和数据预测层500。其中,向量提取层100可以用于提取输入数据中任意两个元素之间的关系向量。数据编码层200可以用于对输入数据中每个元素进行编码,得到每个元素对应的特征向量。特征融合层300可以用于根据每个元素对应的特征向量和关系向量进行特征融合,得到输入数据每一坐标对应的第一特征向量。特征解码层400可以根据第一特征向量和关系向量进行解码,得到输入数据每一坐标对应的第二特征向量。数据预测层500可以用于根据输入数据每一坐标对应的第二特征向量,对输入数据对应的缺失数据进行预测,得到缺失数据的预测值。在一个实施方式中,上述的特征融合层和特征解码层的个数至少为一个。具体地,本技术后续将以特征融合层和特征解码层的个数为多个进行详细说明,此处不赘述。
33.通过上述深度学习网络,能够获取输入数据对应的缺失数据,提高了获取的缺失数据的精确度,实现了对任意输入数据缺失比例的支持,适用于任何缺失数据的预测,满足了用户实际需求。
34.在一个实施方式中,向量提取层包括坐标编码层和关系计算层,其中,坐标编码层可以用于对输入数据中每个元素对应坐标进行编码,得到每个元素对应坐标的坐标向量,关系计算层可以用于根据坐标向量获取输入数据中任意两个元素之间的关系向量。
35.在一个实施方式中,特征融合层包括感知机和特征更新层,其中,感知机可以用于根据每个元素对应的特征向量和关系向量,得到第三特征向量,特征更新层可以用于根据第三特征向量确定输入数据每一坐标对应的第一特征向量。
36.在一个实施方式中,特征更新层包括获取单元和确定单元,其中,获取单元可以用于获取第三特征向量每个维度的最大值,得到更新向量,确定单元可以用于基于更新向量确定输入数据每一坐标对应的第一特征向量,更新向量的计算公式为:
37.f(i)

=element_wise_max
lfi,l
38.其中,f(i)

为更新向量,element_wise_max表示对第三特征向量f
i,l
每个维度取最大值。特征融合层可以融合不同坐标对应元素的信息。其中通过element_wise_max操作允许同一个网络支持不同数目的输入坐标,进而实现对任意输入数据缺失比例的支持。
39.在一个实施方式中,数据预测层包括第一预测层和第二预测层,第一预测层可以用于在输入数据为连续变量的情况下,基于输入数据每一坐标对应的第二特征向量进行重参数化,得到缺失数据每一坐标对应的均值和方差;第二预测层可以用于根据缺失数据每一坐标对应的均值和方差,确定缺失数据的预测值。
40.具体来说,该实施例中深度学习网络的特征融合层和特征解码层的数量可以为多个,如图2所示,第一个特征融合层的输出可以作为下一个特征融合层的输入,同样的,第一个特征解码层的输出可以作为下一个特征解码层的输入,最后一个特征融合层的输出可以作为第一个特征解码层的输入。将输入数据输入深度学习网络中,输出输入数据对应缺失数据对应的预测值,将通过下述实施例进行详细举例说明。
41.对于数据x,假设该数据中的各个元素是x1,x2,...,xn,其中部分元素(xa,a∈m(x))缺失,现在需要根据数据x中原有数据将缺失的元素补齐,表示m(x)的补集。注意,此处集合m是x的一个函数,也就是说,不同的x所对应的缺失集合是不相同的。
42.首先,将数据x中原有数据作为输入数据,输入至深度学习网络中。输入数据的每个元素都有其对应的坐标,例如,图像对应的坐标是二维坐标,文本以及声音对应的坐标都是一维坐标,绝大多数机器学习的数据对应的坐标也是一维坐标。对于输入数据中的任意一个坐标i,利用上述深度学习网络中的坐标编码层对其进行位置编码,生成每个元素对应坐标的坐标向量,例如e(i)、e(j)等,其中i和j可以是输入数据中的任意两个元素分别对应的坐标。通常来说,不同的数据类型对应不同的位置编码处理方案。一方面是采用one-hot编码,例如,对1到n的每个数字采用one-hot编码,具体是对于位置i采用一个长度为n的向量e(i)来表示,其中只有在第i个位置为1,其它位置都为0。这种方案适用于坐标之间没有任何关系的输入数据,比如互联网数据中的用户画像包含一个用户的很多特征,年龄、性别、购买记录等等,每个特征对应一个坐标,这些坐标之间没有任何关系。另一方面,采用余弦方案实现位置编码,具体是对于输入数据中的任意一个坐标i,生成一个维度为2*a的向量e(i),这个向量的偶数维度定义为e
2*j
=sin(i/10000
2i/a
),奇数维度定义为:e
2*j+1
=cos(i/10000
2i/a
),其中a为预设维度。采用余弦方案实现位置编码的方案适用于输入数据的不同坐标之间有一定的周期性,比如图像、文本、声音数据等。在本技术中的位置编码不局限于上述实施例所述的方案,任何能够反映不同坐标之间的区别的编码都能够作为位置编码方案。
43.在对输入数据进行位置编码生成向量e(i)、e(j)后,可以计算一个关系向量r(i,j),该计算可以由一个三层感知机(mlp1)来实现,但不限于此,mlp1也可以由其它的网络结
构代替,只要满足输入是两个坐标向量和输出是一个表示关系向量的要求即可。具体的三层感知机的结构如图3所示,将向量e(i)、e(j)输入感知机(mlp1)后,输出为关系向量r(i,j)。
44.对输入数据中每个元素进行编码,得到每个元素对应的特征向量,例如输入数据中的任意两个元素xi和xj分别进行编码,可以得到f(i)和f(j)。对于输入数据中的每一个元素,其可能属于不同的数据类型,比如离散变量、连续变量、图像等,因此,不同类型的数据编码的方式不同。具体来说,当输入数据为连续变量时,需要对输入数据的每个元素归一化,即由每个元素减去这个元素维度的均值再除以方差即可实现编码。对于离散值,则用one-hot编码,对于声音则采用梅尔频率倒谱(mel-frequency cepstrum)编码。
45.接着,可以利用深度学习网络的特征融合层对每个元素对应的特征向量f(i)和f(j)和关系向量r(i,j)进行特征融合。具体是先将每个元素对应的特征向量f(i)和f(j)和关系向量r(i,j)输入第一个特征融合层,由特征融合层中的一个三层感知机(mlp2)输出第三特征向量f(i,j),接着基于下述公式计算第一特征向量f(i)


46.f(i)

=element_wise_max
lfi,l
47.其中,f(i)

为更新向量,element_wise_max表示对第三特征向量f
i,l
每个维度取最大值,f
i,l
也就是f(i,j)。在该实施例中,当时,f(i)和f(j)为数据编码层输出的特征向量f(i)和f(j)。接着,可以将第一个特征融合层的输出作为第二个特征融合层的输入,直至遍历完所有的特征融合层,即可得到更新后的第一特征向量f(i)

和f(j)

。每次应用特征融合层所采用的mlp2都有自己独立的参数。由于输入数据有缺失,所以编码部分只对没有缺失的部分坐标进行计算。本技术中的mlp2可以由其它的网络结构代替,不仅仅局限于mlp2。另外,element_wise_max也可以被其它操作替换,只要输入的顺序不影响这个操作的结构即可,比如可以对每个特征维度求均值等,但不限于此。
48.其次,将最后一个特征融合层的输出作为第一个特征解码层的输入进行解码,遍历完所有的特征融合层,即可得到解码后的输入数据每一坐标对应的第二特征向量。具体来说,每一个特征解码层的结构和特征融合层结构类似。对于任意的i,j∈n,特征解码层中的感知机mlp2根据输入f(i)

,f(j)

,r(i,j),计算f(i,j)

,然后计算f(i)

的更新值f(i)

=element_wise_max
lfi,l
,其中element_wise_max表示对特征的每个维度求得最大值。第一个特征解码层的输入是最后一个特征融合层的输出,遍历完所有的特征解码层,即可得到更新后的第二特征向量f(i)

,f(j)

。在该步骤中,如果i∈m,那么设定f(i)

=0以及f(j)

=0。
49.最后将第二特征向量f(i)

,f(j)

输入深度学习网络的数据预测层,即可得到缺失数据的预测值。具体来说,对于连续变量,采用“重参数化(reparameterization)”的方案,对于每个坐标,预测层输出两个变量,分别表示当前坐标对应元素的预测值的均值μ和方差δ,每次随机从标准正态分布采样出一个随机数r,最终缺失数据中每个坐标对应元素的预测值可以通过公式r*δ+μ计算得到。对于离散变量,可以采用softmax对预测层的输出结果进行分类,从而得到缺失数据中每个坐标对应元素的概率分布,最后可以将概率分布中最大概率对应的数值作为缺失数据中每个坐标对应元素的预测值。
50.在进行深度学习网络模型训练时,对于一个输入数据x=x1,x2,...,xn,每次随机
从中选择一部分i∈m1作为输入,然后经过网络预测剩下部分坐标i∈m2的值,其中m1∩m2=φ。具体来说,对于不同类型的输入数据,可以选择不同类型的目标函数进行训练,在本技术,对于连续变量,目标函数为平均平方误差,对于离散变量,目标函数为负对数似然函数。在模型训练过程中,具体的训练方法采用带有动量的随机梯度下降sgd算法,学习率为0.01,动量为0.99。为了加速训练,每一个batch的输入大小相同,但是不同batch的输入大小可以不同。
51.进一步,本发明还提供了一种缺失数据的方法,如图4所示,本发明实施例中的缺失数据的预测方法主要基于下述步骤s101-步骤s104来实现。
52.步骤s101:获取历史数据集和待预测数据。
53.步骤s102:构建深度学习网络。该实施例构建的深度学习网络可以是前述示例中详述的深度学习网络,具体的深度学习网络请参见前述实施例,这里不赘述。
54.步骤s103:基于历史数据集对深度学习网络进行训练,得到训练好的深度学习网络。具体在训练过程中,采用带有动量的随机梯度下降sgd算法进行网络训练,其中学习率为0.01,动量为0.99。当输入数据为连续变量时,目标函数为平均平方误差,当输入数据为离散变量时,目标函数为负对数似然函数。
55.步骤s104:将待预测数据输入训练好的深度学习网络,得到待预测数据对应缺失数据的预测值。基于前述步骤s103训练得到训练好的深度学习网络后,将需要预测的数据输入训练好的深度学习网络,得到待预测数据对应的缺失数据的预测值,从而实现了数据补齐。具体来说,对于整个完整数据集x=x1,x2,...,xn,输入数据xi,i∈m,然后通过网络采样可以输出确实数据的预测值
56.基于上述步骤s101-步骤s104,能够获取输入数据对应缺失数据的预测值,提高了获取的缺失数据的精确度,实现了对任意输入数据缺失比例的支持,适用于任何缺失数据的预测,满足了用户实际需求。
57.需要指出的是,尽管上述实施例中将各个步骤按照特定的先后顺序进行了描述,但是本领域技术人员可以理解,为了实现本发明的效果,不同的步骤之间并非必须按照这样的顺序执行,其可以同时(并行)执行或以其他顺序执行,这些变化都在本发明的保护范围之内。
58.进一步,本发明还提供了一种缺失数据的预测装置。
59.参阅附图5,图5是根据本发明的一个实施例的缺失数据的预测装置的主要结构框图。如图5所示,本发明实施例中的缺失数据的预测装置主要包括输入模块11、构建模块12、训练模块模块13和预测模块14。在一些实施例中,输入模块11、构建模块12、训练模块模块13和预测模块14中的一个或多个可以合并在一起成为一个模块。在一些实施例中输入模块11可以被配置成获取历史数据集和待预测数据。构建模块12可以被配置成构建深度学习网络。训练模块13可以被配置成基于历史数据集对所述深度学习网络进行训练,得到训练好的深度学习网络。预测模块14可以被配置为将待预测数据输入训练好的深度学习网络,得到待预测数据对应缺失数据的预测值。一个实施方式中,具体实现功能的描述可以参见步骤s101-步骤s104所述。
60.上述缺失数据的预测装置以用于执行图4所示的缺失数据的预测方法实施例,两
者的技术原理、所解决的技术问题及产生的技术效果相似,本技术领域技术人员可以清楚地了解到,为了描述的方便和简洁,缺失数据的预测装置的具体工作过程及有关说明,可以参考缺失数据的预测方法的实施例所描述的内容,此处不再赘述。
61.本领域技术人员能够理解的是,本发明实现上述一实施例的方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读存储介质可以包括:能够携带所述计算机程序代码的任何实体或装置、介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器、随机存取存储器、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读存储介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读存储介质不包括电载波信号和电信信号。
62.进一步,本发明还提供了一种电子设备。在根据本发明的一个电子设备实施例中,电子设备包括处理器和存储装置,存储装置可以被配置成存储执行上述方法实施例的缺失数据的预测方法的程序,处理器可以被配置成用于执行存储装置中的程序,该程序包括但不限于执行上述方法实施例的缺失数据的预测方法的程序。为了便于说明,仅示出了与本发明实施例相关的部分,具体技术细节未揭示的,请参照本发明实施例方法部分。
63.进一步,本发明还提供了一种计算机可读存储介质。在根据本发明的一个计算机可读存储介质实施例中,计算机可读存储介质可以被配置成存储执行上述方法实施例的缺失数据的预测方法的程序,该程序可以由处理器加载并运行以实现上述缺失数据的预测方法。为了便于说明,仅示出了与本发明实施例相关的部分,具体技术细节未揭示的,请参照本发明实施例方法部分。该计算机可读存储介质可以是包括各种电子设备形成的存储装置设备,可选的,本发明实施例中计算机可读存储介质是非暂时性的计算机可读存储介质。
64.进一步,应该理解的是,由于各个模块的设定仅仅是为了说明本发明的装置的功能单元,这些模块对应的物理器件可以是处理器本身,或者处理器中软件的一部分,硬件的一部分,或者软件和硬件结合的一部分。因此,图中的各个模块的数量仅仅是示意性的。
65.本领域技术人员能够理解的是,可以对装置中的各个模块进行适应性地拆分或合并。对具体模块的这种拆分或合并并不会导致技术方案偏离本发明的原理,因此,拆分或合并之后的技术方案都将落入本发明的保护范围内。
66.至此,已经结合附图所示的优选实施方式描述了本发明的技术方案,但是,本领域技术人员容易理解的是,本发明的保护范围显然不局限于这些具体实施方式。在不偏离本发明的原理的前提下,本领域技术人员可以对相关技术特征作出等同的更改或替换,这些更改或替换之后的技术方案都将落入本发明的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1