本发明涉及计算机,尤其涉及一种参数量可变的神经网络模型构建方法及装置。
背景技术:
1、现有神经网络模型中,由于神经网络模型的结构是相对固定的,因此参数量一旦进入训练,几乎不会发生改变,无论是经典的cnn、rnn等网络结构,还是现在的transformer架构的生成式网络,模型的参数量从模型训练前设置到模型训练优化结束,模型的参数量一直保持不变。
2、现有神经网络模型的优化通常依赖于人工的经验而设定模型参数量的大小,在训练数据量较少的时候,如果参数量设计过大,则容易导致过拟合现象;在训练数据量较大时,如果参数量设计过小,则容易导致模型无法收敛问题。
技术实现思路
1、本发明提供一种参数量可变的神经网络模型构建方法及装置,以解决上述问题。
2、第一个方面,本发明提供了一种参数量可变的神经网络模型构建方法,具体包括如下步骤:
3、步骤s1、获取输入序列a={ a 1 ,a 2 ,...,a n},并根据输入序列a构建链式生成式神经网络模型;
4、步骤s2、对所述链式生成式神经网络模型进行训练优化;
5、步骤s3、当输入序列发生改变时,判断所述链式生成式神经网络模型是否需要增加或减少基本单元,当需要增加或减少基本单元时,执行步骤s4,反之,则输出最终的所述链式生成式神经网络模型;
6、每个所述基本单元包括一个对象,其中,所述对象包括一个神经元或多个(本技术内容中,术语“多个”是指至少2个)神经元组合形成的局部网络,且所述对象的输入量和输出量相等;或者,
7、每个所述基本单元包括多个对象通过线性连接构成的链式结构,其中,每个对象按照特定顺序连接在一起,形成一个连续的链;或者,
8、每个所述基本单元包括由多个所述链式结构嵌套构成的多路径结构(本技术内容中,术语“多路径”是指至少2个路径),所述链式结构由多个基本单元通过线性连接而成,形成一个连续的、线性的网络结构;
9、步骤s4、确定增加或减少基本单元的数量,将基本单元增加或减少至 m个;
10、步骤s5、在基本单元增加或减少完成后,更新所述链式生成式神经网络模型。
11、其中, a 1 ,a 2 ,...,a n为序列a中的 n个元素, n为自然数。
12、优选地,步骤s1中,所述输入序列包括 n个元素,其中每个元素代表文本中的一个基本单位,包括单词、字符、子词、符号或其他预定义的文本单元;
13、其中,所述输入序列的长度为所述输入序列包含元素的数量大小,每个所述元素均对应一个独立的基本单元,不同元素对应的基本单元相同或者不同。
14、优选地,步骤s1中,所述链式生成式神经网络模型包含一个或多个所述多路径结构。
15、优选地,步骤s3中,所述链式结构的输入和输出由其所包含的基本单元共同决定,且允许通过添加转换层来适应不同的输入和输出需求;
16、所述多路径结构由多个链式结构嵌套形成,每个链式结构作为子路径,允许信息在多个路径上并行处理;
17、其中,所述多路径结构允许通过不同的链式结构组合和配置。
18、优选地,步骤s1中,获取输入序列a={ a 1 ,a 2 ,...,a n},并根据输入序列a构建链式生成式神经网络模型,具体包括如下步骤:
19、步骤s101、对输入序列a中的每个数据段进行特征提取,形成序列b={ b 1 ,b 2 ,..., b n};
20、步骤s102、对序列b进行线性或非线性的变换,形成序列x={ x 1 ,x 2 ,...,x n};
21、步骤s103、将序列x中的每条数据分别输入基本单元选择网络,映射得到与序列x中的每条数据分别对应的多个基本单元,作为候选;
22、步骤s104、对于序列x中的每条数据,从其映射得到的多个候选的基本单元中选择与所述数据对应的具有最高权重的基本单元,从而得到 n个与输入序列a对应的基本单元;
23、步骤s105、根据得到的 n个基本单元,构建链式生成式神经网络模型。
24、优选地,步骤s101中,提取输入序列的特征,包括通过embedding的方式,使得输入序列的序列id转换为可计算的序列特征。
25、其中, b 1 ,b 2 ,...,b n为序列b中的 n个元素, n为自然数。
26、其中, x 1 ,x 2 ,...,x n为序列x中的 n个元素, n为自然数。
27、优选地,步骤s102中,对序列a进行线性或非线性的变换,包括通过sequential网络进行线性或非线性的序列特征的变换,形成变换后的序列特征b。
28、优选地,步骤s103中,将x输入基本单元选择网络,映射得到与序列x中的每条数据分别对应多个基本单元,包括两种方式;
29、其中,
30、第一种方式,具体包括将序列x中的每条数据分别输入基本单元选择网络,获得与该条数据对应的多个基本单元;
31、第二种方式,具体包括将序列x中的每条数据中的各条数据按照 x 1 ,x 1 +x 2 ,...,x 1 + x 2 +...+x n的形式依次输入基本单元选择网络,获得多个基本单元。
32、优选地,步骤s2中,对所述链式生成式神经网络模型进行训练优化,具体包括如下步骤:
33、步骤s201、根据所述链式生成式网络模型应用的业务类型,构建该链式生成式神经网络模型的损失函数;
34、步骤s202、输入多个用于训练的输入序列,根据所述损失函数完成所述链式生成式神经网络模型的训练优化。
35、优选地,步骤s201中,所述损失函数,用于引导所述链式生成式神经网络模型的参数进行优化调整。
36、优选地,步骤s4中,所述将基本单元增加或减少至 m个,具体包括三种方法;
37、第一种方法,将基本单元选择网络的输出层神经元个数由 n改为 m;
38、第二种方法,在基本单元选择网络的输出层后面新增一层包含 m个神经元的网络,作为新的输出层进行基本单元的输出,对接到原始的最后一层,使得原始的 n个神经元与 m个神经元全连接;
39、第三种方法,在基本单元选择网络的输出层后面新增一层神经元作为新的输出层进行基本单元的输出,原先输出层中的每个神经元衍生为一个或多个神经元。
40、第二个方面,本发明还提供了一种参数量可变的神经网络模型构建装置,具体包括如下模块:
41、链式生成式神经网络模型构建模块,用于获取并根据输入序列a={ a 1 ,a 2 ,...,a n}构建链式生成式神经网络模型;
42、链式生成式神经网络模型进行训练优化模块,用于对所述链式生成式神经网络模型进行训练优化;
43、基本单元更新判断模块,用于在输入序列发生改变时,判断所述链式生成式神经网络模型是否需要增加或减少基本单元,当需要增加或减少基本单元时,执行基本单元更新模块,反之,则输出最终的所述链式生成式神经网络模型;
44、基本单元更新模块,用于确定增加或减少基本单元的数量,将基本单元增加或减少至 m个;
45、链式生成式神经网络模型更新模块,用于在基本单元增加或减少完成后,更新所述链式生成式神经网络模型。
46、优选地,所述链式生成式神经网络模型构建模块包括如下子模块:
47、特征提取子模块,用于对输入序列a中的每个数据段进行特征提取,形成序列b={ b 1 ,b 2 ,...,b n};
48、特征变换子模块,用于对序列b进行线性或非线性的变换,形成序列x={ x 1 ,x 2 ,..., x n};
49、基本单元映射子模块,用于将序列x中的每条数据分别输入基本单元选择网络,映射得到与序列x中的每条数据分别对应的多个基本单元,作为候选;
50、最优基本单元选择子模块,用于对于序列x中的每条数据,从其映射得到的多个候选的基本单元中选择与所述数据对应的具有最高权重的基本单元,从而得到 n个与输入序列a对应的基本单元;
51、网络模型构建子模块,用于根据得到的 n个基本单元,构建链式生成式神经网络模型;
52、优选地,所述链式生成式神经网络模型进行训练优化模块包括如下子模块:
53、损失函数构建子模块,用于根据所述链式生成式网络模型应用的业务类型,构建该链式生成式神经网络模型的损失函数;
54、网络模型更新子模块,用于输入多个用于训练的输入序列,根据所述损失函数完成所述链式生成式神经网络模型的训练优化。
55、第三方面,本发明还提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现本技术第一方面中任一项所述的一种参数量可变的神经网络模型构建方法。
56、第四方面,本发明还提供一种电子设备,所述电子设备包括:存储器,存储有一计算机程序:处理器,与所述存储器通信相连,调用所述计算机程序时执行本技术第一方面中任一项所述的一种参数量可变的神经网络模型构建方法。
57、本发明与现有技术相比较,具有如下显而易见的突出实质性特点和显著优点:
58、为了解决现有神经网络模型的优化通常依赖经验设定模型参数量的大小,出现的训练数据量和参数量需求不匹配,进而导致神经网络模型出现欠拟合或过拟合的问题,本发明提出了一种参数量可变的神经网络模型构建方法,实现了对于具体的应用场景,参数量级的自适应。通过参数量可变,使得模型能够快速学习、收敛,缓解了神经网络模型训练周期长的问题,避免了神经网络模型出现欠拟合或过拟合情况的出现。