一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

数据编码方法、装置、计算机设备及存储介质与流程

2021-12-14 22:51:00 来源:中国专利 TAG:


1.本发明涉及人工智能技术领域,具体而言,涉及一种数据编码方法、装置、计算机设备及存储介质。


背景技术:

2.模型训练和利用训练的模型进行预测已经成为人工智能领域的主要研究热点,但是,不管模型训练还是利用训练的模型进行预测,都不能直接将获取到的原始数据直接输入至模型进行处理,需要首先对原始数据进行降噪、清洗,再对降噪、清洗后的原始数据进行编码,以满足模型对输入数据的要求,这样才能使得训练的模型更准确或者预测结果更准确。


技术实现要素:

3.本发明的目的在于提供了一种数据编码方法、装置、计算机设备及存储介质,其能够自动根据待编码数据的数据类型,对利用与其数据类型匹配的编码方式对待编码数据进行合适地编码,使得待编码数据的编码更合理,同时也实现了编码的自动化。
4.为了实现上述目的,本发明采用的技术方案如下:
5.第一方面,本发明提供一种数据编码方法,所述方法包括:获取待编码数据的数据类型;根据所述待编码数据的数据类型,对所述待编码数据进行编码,得到所述待编码数据的编码;其中,不同的数据类型对应不同的编码方式,当所述数据类型为非序列数值型,对应的编码方式为:将待编码数据的符号类型对应的编码及待编码数据的取值进行预设运算得到的编码进行组合,得到所述待编码数据的编码;当所述数据类型为非序列时间型,对应的编码方式为:按照预设时间单位对所述待编码数据进行分段编码,并将所有分段编码得到的编码进行组合,得到所述待编码数据的编码;当所述数据类型为序列类型,根据所述序列类型的子类型,对所述待编码数据中最后一个数据进行编码,得到初始编码,并将所述初始编码输入预先训练的编码器进行编码,得到所述待编码数据的编码。
6.第二方面,本发明提供一种数据编码装置,所述装置包括:获取模块,用于获取待编码数据的数据类型;编码模块,用于根据所述待编码数据的数据类型,对所述待编码数据进行编码,得到所述待编码数据的编码;其中,不同的数据类型对应不同的编码方式,当所述数据类型为非序列数值型,对应的编码方式为:将待编码数据的符号类型对应的编码及待编码数据的取值进行预设运算得到的编码进行组合,得到所述待编码数据的编码;当所述数据类型为非序列时间型,对应的编码方式为:按照预设时间单位对所述待编码数据进行分段编码,并将所有分段编码得到的编码进行组合,得到所述待编码数据的编码;当所述数据类型为序列类型,根据所述序列类型的子类型,对所述待编码数据中最后一个数据进行编码,得到初始编码,并将所述初始编码输入预先训练的编码器进行编码,得到所述待编码数据的编码。
7.第三方面,本发明提供一种计算机设备,包括存储器和处理器,所述存储器存储有
计算机程序,所述处理器执行所述计算机程序时实现如上述的数据编码方法。
8.第四方面,本发明提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述的数据编码方法。
9.与现有技术相比,本发明通过自动根据待编码数据的数据类型,对利用与其数据类型匹配的编码方式对待编码数据进行合适地编码,使得待编码数据的编码更合理,同时也实现了编码的自动化。
附图说明
10.为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
11.图1为本发明实施例提供的模型训练的框架图。
12.图2为本发明实施例提供的一种数据编码方法的流程示例图。
13.图3为本发明实施例提供的另一种数据编码方法的流程示例图。
14.图4为本发明实施例提供的另一种数据编码方法的流程示例图。
15.图5为本发明实施例提供的另一种数据编码方法的流程示例图。
16.图6为本发明实施例提供的另一种数据编码方法的流程示例图。
17.图7为本发明实施例提供的数据编码装置的方框示意图。
18.图8为本发明实施例提供的计算机设备的方框示意图。
19.图标:10

计算机设备;11

处理器;12

存储器;13

总线;14

通信接口;100

数据编码装置;110

获取模块;120

编码模块;130

训练模块。
具体实施方式
20.为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。
21.因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
22.应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
23.在本发明的描述中,需要说明的是,若出现术语“上”、“下”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,或者是该发明产品使用时惯常摆放的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
24.此外,若出现术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相
对重要性。
25.需要说明的是,在不冲突的情况下,本发明的实施例中的特征可以相互结合。
26.请参考图1,图1为本发明实施例提供的模型训练的框架图,图1中,模型训练的框架主要包括以下几个处理部分,获取结构化数据;对结构化数据进行预处理,对预处理后的结构化数据进行编码处理,将编码处理后得到的结构化数据的编码作为训练数据输入预设模型,对预设模型进行训练,最终得到训练后的预设模型,该框架可以根据用户提供的结构化数据,在不需要人工干预的情况下实现预设模型的自动训练。
27.作为一种具体实施方式,在对结构化数据进行预处理的时候,首先确定结构化数据的数据类型,然后根据确定的数据类型对结构化数据中明显不规范的数据进行清洗,还可以根据确定的数据类型自动排除掉不可能作为训练数据的数据或者明显对模型训练没有任何帮助的数据,由此可以减少预设模型的参数量、提高预设模型的处理速度、鲁棒性及泛化能力。
28.作为另一种具体实施方式,在对结构化数据进行编码时,利用确定的结构化数据的数据类型,对于不同数据类型的数据采用不同的编码方式,使得编码更合理,利用更合理的编码使得训练后的预设模型的鲁棒性和准确性更好。
29.需要说明的是,上述模型训练的框架只是本发明实施例提供的数据编码方法的一种具体应用场景,事实上,根据实际场景需要,该方法还可以应用于其他需要确定数据类型的场景中,例如数据挖掘,大数据分析等场景。
30.基于图1的模型训练的框架,本发明实施例提供了一种数据编码方法,可以在图1中对预处理后的数据进行编码处理时,根据其数据类型进行与其数据类型最匹配的编码方式进行合理编码,以利用合理编码的数据对预设模型进行训练,使得训练后的模型更准确,当然,如果用本发明实施例提供的数据编码方法对数据进行编码后,输入训练后的模型,也可以得到较为准确的预测结果,请参照图2,为本发明实施例提供的一种数据编码方法的流程示例图,该方法包括以下步骤:
31.步骤s100,获取待编码数据的数据类型。
32.在本实施例中,待编码数据的数据类型可以根据用户场景预先确定,例如,如果用户场景是对图像进行识别,则待编码的数据的数据类型为图像,如果用户场景是对语音进行识别,则待编码的数据的数据类型为语音,如果用户场景是对文本进行识别,则待编码的数据的数据类型可以进一步分为短文本和长文本等,不同的数据类型,其对应的最适合的编码方式也可能不一样。
33.在本实施例中,待编码数据可以是结构化数据中的一列或者几列数据,待编码数据可以包括多个特征列和至少一个目标列,特征列体现待编码数据的表示的特征,可以是训练预设模型时输入的训练数据,目标列体现预设模型的输出结果,可以是训练预设模型时输入的训练数据对应的标签数据,例如,待编码数据如表1所示。
[0034][0035]
表1中,“发烧程度”、“肌肉是否疼痛”及“是否头疼”为特征列,“是否是流感”为目标列。
[0036]
步骤s110,根据待编码数据的数据类型,对待编码数据进行编码,得到待编码数据的编码;其中,不同的数据类型对应不同的编码方式,当数据类型为非序列数值型,对应的编码方式为:将待编码数据的符号类型对应的编码及待编码数据的取值进行预设运算得到的编码进行组合,得到待编码数据的编码;当数据类型为非序列时间型,对应的编码方式为:按照预设时间单位对待编码数据进行分段编码,并将所有分段编码得到的编码进行组合,得到待编码数据的编码;当数据类型为序列类型,根据序列类型的子类型,对待编码数据中最后一个数据进行编码,得到初始编码,并将初始编码输入预先训练的编码器进行编码,得到待编码数据的编码。
[0037]
在本实施例中,不同数据类型利用不同的编码方式,例如,对于数据类型为图像的数据,可以直接用图像分类处理模型的预训练模型进行编码,对于数据类型为长文本的数据,可以用自然语言处理模型的预训练模型进行编码等。
[0038]
本实施例提供的上述方法,自动根据待编码数据的数据类型,对利用与其数据类型匹配的编码方式对待编码数据进行合适地编码,使得待编码数据的编码更合理,同时也实现了编码的自动化。
[0039]
在图2的基础上,本发明实施例还提供一种数据类型为非序列数据值型的数据的具体编码方式,请参照图3,图3为本发明实施例提供的另一种数据编码方法的流程示例图,步骤s110包括以下子步骤:
[0040]
子步骤s110

10,当待编码数据为非序列数值型时,对每一待编码数据进行第一运算,得到每一待编码数据的第一数据,其中,第一数据在当待编码数据满足预设条件时解码时使用。
[0041]
在本实施例中,待编码数据可以是序列型,也可以是非序列型,序列型的待编码数据可以包含由多个数据组成的有序序列,当多个数据的排列的顺序发生变化后,就认为是不同的数据,例如,有序序列a为:1、2、3,则另一个有序序列b:2、3、1,则a和b就是不同的数据。非序列型的待编码数据包含一个数据,或者由多个数据组成的数据集,但是数据集中的数据之间不存在序列关系。
[0042]
在本实施例中,预设条件用于表征待编码数据为大于第一预设值的大数,当待编
码数据满足预设条件时,待编码数据为大数,此时需要按照大数的处理方式对待编码数据进行解码,否则,需要按照非大数的处理方式对待编码数据进行解码。由此可以对很大的待编码数据和很小的待编码数据都能合理编码。
[0043]
在本实施例中,作为一种具体实现方式,对每一待编码数据进行第一运算的方式可以是:
[0044]
对每一待编码数据进行对数计算,得到每一待编码数据的第一数据。
[0045]
在本实施例中,对数计算公式可以表示为:
[0046]
data_after1=ln(abs(data_before)),其中,data_before为待编码数据,abs(data_before)为待编码数据的绝对值,data_after为第一数据,ln为以e为底数的自然对数。
[0047]
在本实施例中,自然对数还可以用以2为底的对数log2,或者以10为底的对数log10代替。
[0048]
子步骤s110

11,对每一待编码数据进行第二运算,得到每一待编码数据的第二数据,其中,第二数据在当待编码数据不满足预设条件时解码时使用。
[0049]
在本实施例中,待编码数据为多个,且多个待编码数据的数据类型均为非序列数值型,作为一种具体实现方式,对每一待编码数据进行第二运算的方式可以是:
[0050]
首先,对所有待编码数据进行平均,得到平均值。
[0051]
在本实施例中,平均值是对所有待编码数据进行平均得到的结果。
[0052]
其次,根据每一待编码数据及平均值,得到每一待编码数据的第二数据。
[0053]
在本实施例中,作为一种具体实现方式,第二数据可以采用如下方式计算:data_after2=data_before/data_mean_abs,其中,data_mean_abs为所有待编码数据绝对值的平均值,data_before为待编码数据,data_after2为第二数据。
[0054]
在本实施例中,平均值还可以用方差、标准差等方式代替。
[0055]
在本实施例中,预设条件还可以通过第二数据表示,例如,当第二数据大于第二预设值时,则认为待编码数据不满足预设条件,此时根据第二数据进行反编码运算,得到待编码数据,当第二数据不大于第二预设值时,则认为待编码数据满足预设条件,此时根据第一数据进行反编码运算,得到待编码数据。例如,第二预设值为0.5,当第二数据大于0.5时,若第二运算是采用公式data_after2=data_before/data_mean_abs计算,则根据公式对第二数据进行解码,以还原出编码前的待编码数据,当第二数据不大于0.5时,若第一运算采用自然对数计算,则对第一数据进行自然对数的逆运算即e指数运算进行解码,以还原出编码前的待编码数据。
[0056]
子步骤s110

12,根据每一待编码数据的符号类型,确定每一待编码数据的第三数据。
[0057]
在本实施例中,第三数据用于表征待编码数据的符号类型,即待编码数据为正数还是负数,作为一种具体实现方式,若待编码数据为正数,则第三数据取值为1,若待编码数据为负数或者0,则第三数据取值为0。
[0058]
子步骤s110

13,将每一待编码数据的第一数据、第二数据及第三数据进行组合,得到待编码数据的编码。
[0059]
在本实施例中,第一数据、第二数据及第三数据的组合方式可以是按照预设顺序
依次排列。
[0060]
本发明实施例提供的上述方法,对于非序列数值型的较大的数和较小的数都可以按照合理方式进行编码,并给出对应的解码方式,以使待编码数据得以合理编码。
[0061]
在图2的基础上,本发明实施例还提供一种数据类型为序列时间型的数据的具体编码方式,请参照图4,图4为本发明实施例提供的另一种数据编码方法的流程示例图,步骤s110还包括以下子步骤:
[0062]
子步骤s110

20,当待编码数据的数据类型为非序列时间型时,将待编码数据按照预设时间单位进行分段,得到多个待编码段。
[0063]
在本实施例中,非序列时间型的待编码数据为非序列、且为时间类型的数据,此处的时间类型包括日期和/或时间,即待编码数据可以只包括日期,也可以只包括时间,还可以同时包括日期和时间。预设时间单位可以是“年”、“月”、“日”、“时”、“分”、“秒”,分别对应不同的归一化因子,例如,其归一化因子可以分别为:3000、12、31、24、60、60。
[0064]
子步骤s110

21,按照每一待编码段对应的归一化因子,对每一待编码段进行归一化编码,得到每一待编码段的编码。
[0065]
在本实施例中,作为一种具体实现方式,可以用每一待编码段除以对应的归一化因子,得到该待编码段的编码。
[0066]
子步骤s110

22,将所有待编码段的编码进行组合,得到待编码数据的编码。
[0067]
在本实施例中,当对编码后的数据进行解码时,解码过程就是该编码过程的逆过程,即对编码后的数据的每一段按照对应的归一化因子分别进行解码,最后再组合,以恢复出待编码数据。可以理解的是,由于编码时按照预设时间单位进行分段编码,在分段解码时,也可以按照预设时间单位的规则将时间转化为一个合法的时间,如2月份不会出现30、31日。
[0068]
本发明实施例提供的上述方法,按照预设时间单位和对应的归一化因子进行分段编码,使得解码时也可以分段解码,以便按照预设时间单位的规则将时间转化为一个合法的时间,保证编码和解码数据的合理性。
[0069]
在图2的基础上,本发明实施例还提供一种数据类型为序列类型的数据的具体编码方式,请参照图5,图5为本发明实施例提供的另一种数据编码方法的流程示例图,步骤s110还包括以下子步骤:
[0070]
子步骤s110

30,当待编码数据的数据类型为序列类型时,确定序列类型的子类型。
[0071]
在本实施例中,序列类型包括至少一种子类型,子类型可以、但不限于日期型、时间型、日期时间型、单标签型、数值型等。
[0072]
子步骤s110

31,根据子类型,对待编码数据中最后一个数据进行编码,得到待编码数据的初始编码。
[0073]
在本实施例中,当子类型为日期型、时间型、日期时间型时,可以首先采用上述子步骤s110

20~s110

22的方法对待编码数据中最后一个数据进行编码,然后再对编码得到每一个段的数据进行预设三角函数运算,例如正弦、余弦运算(类似于用bert中类似的位置编码),最终得到待编码数据的初始编码,故,对于一个日期时间型数据,经过子步骤s110

20~s110

22的方法可以得到长度为6的向量,每一个向量进行正弦、余弦运算,最终得到的
初始编码为长度为12的向量;当子类型为数值型时,可以采用上述子步骤s110

10~s110

13的方法对待编码数据中最后一个数据进行编码,得到待编码数据的初始编码,也可以直接采用最大值、最小值进行编码,例如将待编码数据除以最大值或者最小值,得到其初始编码。如果子类型为单标签分类类别,这种情况与多标签分类类别很相似,但是多标签分类的长度都相同且标签缺失值很少,而时间序列的数组长度可以不一样,对数据的容忍度更高。
[0074]
子步骤s110

32,将初始编码输入预先训练的编码器进行编码,得到待编码数据的编码。
[0075]
在本实施例中,编码器的训练方式可以为:
[0076]
首先,获取训练数据,其中,训练数据包括多个顺序排列的初始编码和每一初始编码的标签,任意相邻的两个初始编码中的后一个初始编码为前一个初始编码的标签。
[0077]
在本实施例中,由于每一个初始编码都对应一个标签,且任意相邻的两个初始编码中的后一个初始编码为前一个初始编码的标签,对于多个顺序排序中的最后一个初始编码而言,可以使其不参与训练,也可以专门为其设置一个对应的标签,使其正常参与训练。例如,一个训练数据为:(a,b,c,d),则a的标签是b,b的标签是c,c的标签是d,d可以不参与训练,也可以为d设置一个标签e。
[0078]
其次,将所有初始编码输入编码器,得到预测数据。
[0079]
最后,根据预测数据及每一初始编码的标签对编码器进行参数更新,直至满足预设终止条件,得到训练后的编码器。
[0080]
在本实施例中,每一个初始编码输入编码器,都可以得到预测数据,将每一个初始编码的预测数据与其对应的标签进行比对,以调整编码器的参数,对编码器的参数进行更新,其过程与现有的模型训练过程类似,此处不再赘述。其中,预设终止条件可以是达到预设训练次数,或者是预测数据的准确率达到预设阈值等。
[0081]
需要说明的是,编码器和解码器可以同时训练得到,编码器和解码器均可以是一个双向gru加一个全连接层构成,作为一种具体实现方式,gru的隐藏层的大小可以设置为64,gru的输入层和输出层大小均为序列中的元素编码后的长度;全连接层的输入大小为隐藏层大小,输出层大小为序列中的元素编码后的长度。
[0082]
还需要说明的是,作为另一种实现方式,对于多个顺序排列的初始编码中任意一个初始编码,也可以通过等概率的方式选择该初始编码或者该初始编码的上一个初始编码的输出作为训练数据输入编码器进行训练。
[0083]
本发明实施例提供的上述方法,通过将任意相邻的两个初始编码中的后一个初始编码为前一个初始编码的标签训练得到的编码器,使得序列类型的待编码数据的编码结果中可以提现出待编码数据中顺序排列的初始编码之间的顺序关系,从而使序列类型的待编码数据编码更准确。
[0084]
在本实施例中,除了上述实施例中描述的非序列数值型、非序列时间型、序列类型等类型之外,待编码数据的数据类型还包括、但不限于单标签类型、多标签类型、短文本类型、长文本类型、图像类型及语音类型等,其中,每一种数据类型均有对应的编码方式,下面对其中主要的数据类型进行描述。
[0085]
(1)单标签类型:用one

hot编码方式编码/解码。
[0086]
在本实施例中,在人工智能领域,one

hot编码后得到的是one

hot向量,one

hot
向量将类别变量转换为机器学习算法易于利用的一种形式的过程,这个向量的表示为一项属性的特征向量,也就是同一时间只有一个激活点(不为0),这个向量只有一个特征是不为0的,其他都是0,特别稀疏。例如,性别有“男性”、“女性”,这个特征有两个特征值,也只有两个特征值,如果这个特征进行one

hot编码,则特征值为“男性”的编码为“10”,“女性”的编码为“01”。作为一种具体实施方式,对于结构化数据中的单标签类型的列,首先统计这一列有多少种(记为n)不同的值情况,将这些取值情况按照一定的顺序保存起来,用于解码。用one

hot编码方式对数据进行编/解码,one

hot的维度为n,n的上限取值n_max大于预设判定阈值,该预设判定阈值用于判定单标签类型的阈值,n_max可以取值为20000。
[0087]
(2)多标签类型,用sklearn的multilabelbinarizer进行编/解码。
[0088]
在本实施例中,作为一种具体实施方式,对于结构化数据中的多标签类型的列,该列通常为目标列(该列包括表征预测结果的特征的目标数据)或者特征列为比较短(例如,长度小于128)的数组情况,且每个数据的长度可能不一样,如标注问题。多标签类型的列可以用sklearn的multilabelbinarizer进行编/解码。同样也会保存每种取值情况,用于解码。
[0089]
(3)短文本类型
[0090]
在本实施例中,对于结构化数据,短文本类型的列通常为表征预设特征的特征列,段文本类型的定义可以是:短文本字数不超过15字,字表不超过128。
[0091]
在本实施例中,短文本类型可以采用训练后的短文本编/解码器进行编/解码,作为一种具体实施方式,短文本编/解码器可以由2层全连接(全连接层1和全连接层2)、1个激活层、1个dropout层构成,网络结构可以为:全连接层1(输入维度为文本最大长度,输出维度为隐藏层大小)、dropout、全连接2(输入维度为隐藏层大小,输出维度为文本最大长度)、激活层,其中全连接层1就是短文本编码器,全连接层2就是短文本解码器。短文本编/解码器训练方式与文本训练类似,此处不再赘述。
[0092]
(4)长文本类型
[0093]
在本实施例中,长文本类型的数据可以直接用自然语言处理模型的预训练模型(例如bert系列)进行编码即可,可以使用这类模型的embedding层(embedding的过程是用一个低维的向量表示一个词,能够用低维向量对物体进行编码还能保留其含义的特点)进行编码。
[0094]
(5)图像类型
[0095]
在本实施例中,可以用图像分类处理模型的预训练模型(如resnet18、resnet50)对图像类型的数据进行编码,使用图像分类处理模型除最后一层(分类层)的其他层,也即是原网络最后一层的输入向量就是需要的向量,将其排列为一维向量作为图像的编码结果。对于图像类型的数据的预处理过程与图像分类模型一致。例如,如果为视频,将视频拆帧处理采样后(最多采样16张),再对每张图片进行编码,然后将所有图片拼接在一起,构成一个一维向量。
[0096]
(6)语音类型
[0097]
在本实施例中,语音类型的数据可以用语音处理工具处理后变成数值型的时间序列,然后再用上述实施例中对序列类型的数据进行编码的方式(例如,子步骤s110

30~子步骤s110

32)进行编码即可。
[0098]
在本实施例中,待编码数据可以包括预设特征的特征数据(可以是结构化数据中的特征列)和表征预测结果的特征的目标数据(可以是结构化数据中的目标列),对于图1所示的应用场景,当预设模型为神经网络模型时,为了保证预设模型的稳定性,在图2的基础上,本发明实施例还提供了一种对上述编码方式的优化方式,请参照图6,图6为本发明实施例提供的另一种数据编码方法的流程示例图,该方法还包括以下步骤:
[0099]
步骤s120,若待编码数据为表征预设特征的数据,则将预设位更新至待编码数据的编码中。
[0100]
在本实施例中,若待编码数据为保证预设特征的数据,作为一种更新待编码数据的具体实现方式:可以在待编码数据的编码中增加一个标志位,例如将该标志位设置为1,若待编码数据不为保证预设特征的数据,则将该标志位设置为0。对于神经网络模型,在将编码后的数据输入至模型时,需要将所有的编码后的数据(也称为特征向量)拼接在一起输入至神经网络模型,这样能让该特征向量,表示一个特征列。在对该神经网络模型进行训练时,结合神经网络的dropout操作,能随机删除与该向量该元素相连的节点,可以制造一部分的噪声数据,增加模型的泛化能力。因此,对于特征列数据,在其编码中增加标志位,并将其设置为1,对于目标列数据,将其设置为0,一方面,在训练时,如果为0,那么0乘以任何数都为0,相当于这个神经元对网络没有贡献;另一方面,与被激活函数抑制掉的输出难以区分,一般会经过激活层(如relu)来处理一层神经网络层的输出,输出小于0的会被抑制掉,由此保证了神经网络模型的稳定性。
[0101]
需要说明的是,步骤s120可以和上述子步骤s110

10~s110

13、子步骤s110

20~s110

22、子步骤s110

30~s110

32分别组合,以实现对不同数据类型的编码的更新,实现对应的技术效果。
[0102]
为了执行上述实施例及各个可能的实施方式中的相应步骤,下面给出一种数据编码装置100的实现方式。请参照图7,图7示出了本发明实施例提供的数据编码装置100的方框示意图。需要说明的是,本实施例所提供的数据编码装置100,其基本原理及产生的技术效果和上述实施例相同,为简要描述,本实施例部分未提及指出。
[0103]
数据编码装置100包括获取模块110、编码模块120及训练模块130。
[0104]
获取模块110,用于获取待编码数据的数据类型。
[0105]
编码模块120,用于根据待编码数据的数据类型,对待编码数据进行编码,得到待编码数据的编码;其中,不同的数据类型对应不同的编码方式,当数据类型为非序列数值型,对应的编码方式为:将待编码数据的符号类型对应的编码及待编码数据的取值进行预设运算得到的编码进行组合,得到待编码数据的编码;当数据类型为非序列时间型,对应的编码方式为:按照预设时间单位对待编码数据进行分段编码,并将所有分段编码得到的编码进行组合,得到待编码数据的编码;当数据类型为序列类型,根据序列类型的子类型,对待编码数据中最后一个数据进行编码,得到初始编码,并将初始编码输入预先训练的编码器进行编码,得到待编码数据的编码。
[0106]
作为一种具体实施方式,编码模块120具体用于:当待编码数据为多个、且多个待编码数据的数据类型均为非序列数值型时,对每一待编码数据进行第一运算,得到每一待编码数据的第一数据,其中,第一数据在当所述待编码数据满足预设条件时解码时使用;对每一待编码数据进行第二运算,得到每一待编码数据的第二数据,其中,第二数据在当待编
码数据不满足预设条件时解码时使用;根据每一待编码数据的符号类型,确定每一待编码数据的第三数据;将每一待编码数据的第一数据、第二数据及第三数据进行组合,得到待编码数据的编码。
[0107]
作为一种具体实施方式,编码模块120在用于对每一待编码数据进行第一运算,得到每一待编码数据的第一数据时,具体用于:对每一待编码数据进行对数计算,得到每一待编码数据的第一数据。
[0108]
作为一种具体实施方式,编码模块120在用于对每一待编码数据进行第二运算,得到每一待编码数据的第二数据时,具体用于:对所有待编码数据进行平均,得到平均值;根据每一待编码数据及平均值,得到每一待编码数据的第二数据。
[0109]
作为一种具体实施方式,编码模块120具体还用于:当待编码数据的数据类型为非序列时间型时,将待编码数据按照预设时间单位进行分段,得到多个待编码段;按照每一待编码段对应的归一化因子,对每一待编码段进行归一化编码,得到每一待编码段的编码;将所有待编码段的编码进行组合,得到待编码数据的编码。
[0110]
作为一种具体实施方式,待编码数据包括多个顺序的数据,编码模块120具体还用于:当待编码数据的数据类型为序列类型时,确定序列类型的子类型;根据子类型,对待编码数据中最后一个数据进行编码,得到待编码数据的初始编码;将初始编码输入预先训练的编码器进行编码,得到待编码数据的编码。
[0111]
作为一种具体实施方式,编码模块120具体还用于:若待编码数据为表征预设特征的数据,则将预设位更新至所述待编码数据的编码中。
[0112]
训练模块130,用于采用如下方式训练编码器:获取训练数据,其中,训练数据包括多个顺序排列的初始编码和每一初始编码的标签,任意相邻的两个初始编码中的后一个初始编码为前一个初始编码的标签;将所有初始编码输入编码器,得到预测数据;根据预测数据及每一初始编码的标签对编码器进行参数更新,直至满足预设终止条件,得到训练后的编码器。
[0113]
本发明实施例还提供了执行上述数据编码方法的计算机设备,请参照图8,图8为本发明实施例提供的计算机设备10的方框示意图。计算机设备10包括处理器11、存储器12、总线13、通信接口14。处理器11、存储器12通过总线13连接,处理器11通过通信接口14与外部设备通信。
[0114]
处理器11可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器11中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器11可以是通用处理器,包括中央处理器(central processing unit,简称cpu)、网络处理器(network processor,简称np)等;还可以是数字信号处理器(dsp)、专用集成电路(asic)、现成可编程门阵列(fpga)或者其它可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
[0115]
存储器12用于存储程序,例如本发明实施例中的数据编码装置100,数据编码装置100均包括至少一个可以软件或固件(firmware)的形式存储于存储器12中的软件功能模块,处理器11在接收到执行指令后,执行所述程序以实现本发明实施例中的数据编码方法。
[0116]
存储器12可能包括高速随机存取存储器(ram:random access memory),也可能还包括非易失存储器(non

volatile memory)。可选地,存储器12可以是内置于处理器11中的
存储装置,也可以是独立于处理器11的存储装置。
[0117]
总线13可以是isa总线、pci总线或eisa总线等。图8仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
[0118]
综上所述,本发明实施例提供了一种数据编码方法、装置、计算机设备及存储介质,所述方法包括:获取待编码数据的数据类型;根据待编码数据的数据类型,对待编码数据进行编码,得到待编码数据的编码;其中,不同的数据类型对应不同的编码方式,当数据类型为非序列数值型,对应的编码方式为:将待编码数据的符号类型对应的编码及待编码数据的取值进行预设运算得到的编码进行组合,得到待编码数据的编码;当数据类型为非序列时间型,对应的编码方式为:按照预设时间单位对待编码数据进行分段编码,并将所有分段编码得到的编码进行组合,得到待编码数据的编码;当数据类型为序列类型,根据序列类型的子类型,对待编码数据中最后一个数据进行编码,得到初始编码,并将初始编码输入预先训练的编码器进行编码,得到待编码数据的编码。与现有技术相比,本发明实施例通过自动根据待编码数据的数据类型,对利用与其数据类型匹配的编码方式对待编码数据进行合适地编码,使得待编码数据的编码更合理,同时也实现了编码的自动化。
[0119]
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献