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

生成神经网络方法、设备及计算机可读存储介质与流程

2021-10-24 08:33:00 来源:中国专利 TAG:神经网络 人工智能 生成 可读 计算机


1.本发明涉及人工智能神经网络技术领域,尤其是涉及一种生成神经网络方法、设备及计算机可读存储介质。


背景技术:

2.近年来,人工神经网络发展迅猛,应用在诸多领域实施场景中。神经网络的组成单位是神经元,多层的神经元连接成网络就形成了神经网络模型。为了解决实际应用问题通常需要训练大规模的网络来解决问题,但实际上网络中的许多神经元都是冗余的,从而导致神经网络模型的计算复杂度很大。
3.在相关技术中,通常采用剪枝优化网络结构,通常是先训练一个大型网络,再将重要性较低的神经元和与其相关的连接剪掉,从而实现结构优化。也采用网络结构搜索算法直接对网络结构进行优化,其意思是给定一个函数搜索空间,每次迭代寻找一个子网络结构,评估网络的性能,直到得到最优的子网络结构,该网络将网络结构看成一个可变长度的字符串,使用一个rnn(recurrent neural network,循环神经网络)来训练这个字符串,然后训练字符串决定的网络,当网络收敛后,将网络的精度反馈给rnn(recurrent neural network,循环神经网络),从而用来调整网络的参数。
4.但是,网络剪枝的方法需要先训练一个较大的网络,然后对大型网络进行剪枝,训练大型网络本身需要较大的计算量,为了使剪枝后的网络的精度不下降,需要对剪枝的网络进行微调,十分耗费计算资源,并且网络结构搜索算法虽然比人为设计的神经网络框架的效果好,但是需要训练多个子网络,将子网络的精度反馈给rnn控制器,调整rnn控制器来生成结构更好的网络,比起传统的网络,需要更大的计算量,因此,如何对神经网络结构进行优化,简便的生成的神经网络仍为一个难题。


技术实现要素:

5.本发明旨在至少解决现有技术中存在的技术问题之一。为此,本发明提出一种生成神经网络方法、设备及计算机可读存储介质,能够通过一种降低复杂度的算法,生成优化后的神经网络。
6.根据本发明申请的第一方面实施例的生成神经网络方法,包括:
7.获取初始神经元;
8.对初始神经元进行标准正交化处理,得到标准神经元;
9.根据标准神经元计算出备选神经元;
10.根据备选神经元的备选指数确定目标神经元;
11.将目标神经元添加至神经元集合;
12.根据神经元集合生成神经网络。
13.根据本发明实施例的生成神经网络方法,至少具有如下有益效果:
14.本发明通过获取初始神经元,对初始神经元进行标准正交化处理,得到标准神经
元,根据标准神经元计算出备选神经元,再根据备选神经元的备选指数确定目标神经元,将目标神经元添加至神经元集合,根据神经元集合生成神经网络。利用向量内积生成神经网络,降低了生成神经网络的计算复杂度,大大的缩短了生成神经网络的时间成本。
15.根据本技术的一些实施例,包括:
16.获取初始网络;
17.根据初始网络获取到初始神经元。
18.根据本技术的一些实施例,包括:
19.将初始训练数据服从正态分布,得到初始训练数据的均值与标准差;
20.根据初始训练数据的均值与标准差确定区间范围;
21.根据区间范围确定初始神经元的参数;
22.对初始神经元的参数进行运算,得到初始神经元的偏置参数;
23.基于初始神经元的偏置参数,对初始神经元进行标准正交化处理,得到标准神经元。
24.根据本技术的一些实施例,包括:
25.在标准神经元中任意选择两个神经元;
26.对选中的两个神经元进行取小操作运算,得到备选神经元。
27.根据本技术的一些实施例,还包括:
28.对标准神经元进行分堆处理,得到多个神经元组;
29.从每一个神经元组中选择两个神经元进行排列组合运算得到备选神经元。
30.根据本技术的一些实施例,包括:
31.获取备选神经元的备选指数;
32.获取预设的阈值;
33.将备选指数与阈值进行比较;
34.若确定备选指数小于或等于阈值时,将备选指数对应的备选神经元确定为目标神经元。
35.根据本技术的一些实施例,包括:
36.根据向量内积对备选神经元进行计算,得到备选神经元的备选指数。
37.根据本技术的一些实施例,包括:
38.将目标神经元添加至神经元集合;
39.获取生成神经网络的目标神经元数量的临界值;
40.判断临界值是否小于目标神经元的数量;
41.若临界值小于目标神经元的数量,则生成神经网络。
42.根据本技术的第二方面实施例的生成神经网络设备,包括:
43.处理器;
44.存储器,用于存储可执行程序;
45.当可执行程序被处理器执行时,得到生成神经网络设备实现如本技术第一方面的生成神经网络方法。
46.根据本技术的第三方面实施例的计算机可读存储介质存储有可执行指令,可执行指令能被计算机执行,使计算机执行如本发明第一方面的生成神经网络方法。
47.本发明的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
48.下面结合附图和实施例对本发明做进一步的说明,其中:
49.图1为本发明提供的生成神经网络方法的一具体流程示意图;
50.图2为本发明提供的生成神经网络方法中步骤s100的一具体流程示意图;
51.图3为本发明提供的生成神经网络方法中步骤s200的一具体流程示意图;
52.图4为本发明提供的生成神经网络方法中步骤s300的第一具体流程示意图;
53.图5为本发明提供的生成神经网络方法中步骤s300的第二具体流程示意图;
54.图6为本发明提供的生成神经网络方法中步骤s400的一具体流程示意图;
55.图7为本发明提供的生成神经网络方法中步骤s600的一具体流程示意图。
具体实施方式
56.下面详细描述本发明的实施例,所述实施例的示例在附图中示出。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。
57.在本发明的描述中,若干的含义是一个以上,多个的含义是两个以上,大于、小于、超过等理解为不包括本数,以上、以下、以内等理解为包括本数。如果有描述到第一、第二只是用于区分技术特征为目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量或者隐含指明所指示的技术特征的先后关系。
58.本发明的描述中,参考术语“一个实施例”、“一些实施例”、“示意性实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
59.人工神经网络(artificial neural networks,简写为anns)也简称为神经网络(nns)或称作连接模型(connection model),它是一种模仿动物神经网络行为特征,进行分布式并行信息处理的算法数学模型。这种网络依靠系统的复杂程度,通过调整内部大量节点之间相互连接的关系,从而达到处理信息的目的。
60.神经网络的组成单位是神经元,多层的神经元连接成网络形成神经网络模型,神经元模型是一个非线性模型,神经元接收多个输入数据,每个输入数据都有一个权重值,将输入数据的权重和经过一个激活函数,激活函数的输出就是该神经元的输出数据。
61.通常来说,神经元是以生物神经系统的神经细胞为基础的生物模型。在人们对生物神经系统进行研究,以探讨人工智能的机制时,把神经元数学化,从而产生了神经元数学模型。
62.如图1所示,其为本技术实施例提供的生成神经网络方法的实施流程示意图,生成神经网络方法可以包括但不限于步骤s100至s600。
63.s100,获取初始神经元;
64.s200,对初始神经元进行标准正交化处理,得到标准神经元;
65.s300,根据标准神经元计算出备选神经元;
66.s400,根据备选神经元的备选指数确定目标神经元;
67.s500,将目标神经元添加至神经元集合;
68.s600,根据神经元集合生成神经网络。
69.在一些实施例的步骤s100中,从初始网络中获取到初始神经元,具体可以包括但不限于步骤s110至s120。
70.在一些实施例中,参考图2,生成神经网络方法可以包括但不限于步骤s110至s120。
71.s110,获取初始网络;
72.s120,根据初始网络获取到初始神经元。
73.在一些实施例的步骤s110中,获取初始网络,神经网络的组成单位是神经元,多层的神经元连接成网络形成神经网络模型。
74.在一些实施例的步骤s120中,根据初始网络获取到初始神经元。
75.通常来说,神经元是一个多输入单输出的信息处理单元,而且,它对信息的处理是非线性的。根据神经元的特性和功能,可以把神经元抽象为一个简单的数学模型。
76.在一些实施例中,max{0,x
i

β
ij
}这个就是relu(rectified linear unit,线性修正单元)激活函数的公式,是一种非线性函数用来拟合非线性的结果,一个公式的输出结果就代表一个初始神经元。这个激活函数的公式用来模拟神经信号在一个神经元输入输出的过程。
77.进一步地,relu(rectified linear unit,线性修正单元),它是一个分段函数。如果输入值小于或者等于零,那么输出的结果为0;如果输入值大于零就保持原来的值不改变。这种方法会使得一些数据强制为0,但同时增加了训练后网络的稀疏特性,这更加符合神经元信号激励原理,这种操作不但使得参数间减少了相互依赖,而且对于过拟合问题的发生有大大的缓解作用。
78.在一些实施例的步骤s200中,对初始神经元进行标准正交化处理,得到标准神经元,具体为先将初始训练数据服从正态分布处理,得到初始训练数据的均值与标准差,再根据初始训练数据的均值与标准差确定区间范围,然后根据区间范围确定初始神经元的参数,对初始神经元的参数进行运算,得到初始神经元的偏置参数,基于初始神经元的偏置参数,对初始神经元进行标准正交化处理,得到标准神经元。
79.在一些实施例中,参考图3,生成神经网络方法可以包括但不限于步骤s210至s250。
80.s210,将初始训练数据服从正态分布,得到初始训练数据的均值与标准差;
81.s220,根据初始训练数据的均值与标准差确定区间范围;
82.s230,根据区间范围确定初始神经元的参数;
83.s240,对初始神经元的参数进行运算,得到初始神经元的偏置参数;
84.s250,基于初始神经元的偏置参数,对初始神经元进行标准正交化处理,得到标准神经元。
85.在一些实施例的步骤s210中,将初始训练数据服从正态分布,得到初始训练数据的均值与标准差。
86.通常,正态分布又叫做高斯分布,若随机变量x服从一个数学期望为μ、方差为δ2的正态分布,记为n(μ,δ2)。其概率密度函数为正态分布的期望值μ决定了其位置,其标准差δ决定了分布的幅度。当μ=0,δ=1时的正态分布是标准正态分布。正态分布具有两个参数μ和δ2的连续型随机变量的分布,第一参数μ是服从正态分布的随机变量的均值,第二个参数δ2是此随机变量的方差,所以正态分布记作n(μ,δ2)。
87.μ是正态分布的位置参数,描述正态分布的集中趋势位置。概率规律为取与μ邻近的值的概率大,而取离μ越远的值的概率越小。正态分布以x=μ为对称轴,左右完全对称。正态分布的期望、均数、中位数、众数相同,均等于μ。
88.δ描述正态分布数据分布的离散程度,δ越大,数据分布越分散,δ越小,数据分布越集中。也称为是正态分布的形状参数,δ越大,曲线越扁平,反之,δ越小,曲线越瘦高。
89.在本发明申请中,是将大量的初始训练数据进行服从正态分布,以得到初始训练数据的均值与标准差。
90.在一些实施例的步骤s220中,根据初始训练数据的均值和标准差确定区间范围为[μ
i


i
,μ
i

i
],这样,就可以使初始训练数据尽可能的通过relu(rectified linear unit,线性修正单元)激活函数进行训练,待训练数据没有通过relu(rectified linear unit,线性修正单元)激活函数进行训练的误差率很小,完全可以忽略不计。
[0091]
在一些实施例的步骤s230中,根据步骤s220中的区间范围确定初始神经元的参数,
[0092]
在一些实施例中,在确定的区间范围[μ
i


i
,μ
i

i
]内,随机选取参数β
i
作为初始神经元的参数,用于根据初始神经元的参数进行运算得到初始神经元的偏置参数。
[0093]
在一些实施例的步骤s240中,对初始神经元的参数进行运算,得到初始神经元的偏置参数。
[0094]
进一步地,对初始神经元的参数进行运算,通过公式进行运算,其中μ
i
为均值,δ
i
为方差,j∈{1,
……
,q},具体为j在集合中随机选取一个数值,q为集合{1,
……
,q}中的第q个数值,q为在区间范围[μ
i


i
,μ
i

i
]中等间距采样q个点。通过此公式计算出的参数β
ij
为初始神经元的偏置参数。
[0095]
在一些实施例的步骤s250中,基于初始神经元的偏置参数,对初始神经元进行标准正交化处理,得到标准神经元。
[0096]
基于初始神经元的偏置参数,即对通过步骤s240中的公式得到初始神经元偏置参数,对步骤s250中的初始神经元进行标准正交化处理,以得到标准神经元。
[0097]
进一步地,通常标准正交化处理为:一组向量,向量的模都是1,并且两个向量的乘积为0,这样的一个过程称为标准正交化。
[0098]
在一些实施例的步骤s300中,根据标准神经元计算出备选神经元,通常有两种方法,第一种方法为在标准神经元中任意选择两个神经元,再对选中的两个神经元进行取小操作运算,得到备选神经元;第二种方法为对标准神经元进行分堆处理,得到多个神经元组,再从每一个神经元组中选择两个神经元进行排列组合运算得到备选神经元。
[0099]
在一些实施例中,参考图4,生成神经网络方法可以包括但不限于步骤s310至s320。
[0100]
s310,在标准神经元中任意选择两个神经元;
[0101]
s320,对选中的两个神经元进行取小操作运算,得到备选神经元。
[0102]
在一些实施例的步骤s310中,在标准神经元中任意选择两个神经元,即在一些实施例的步骤s310中,在标准神经元中任意选择两个神经元,即为选中的两个神经元,用于在步骤s320中,对其进行取小操作运算,得到备选神经元。
[0103]
在一些实施例的步骤s320中,对选中的两个神经元进行取小操作运算,得到备选神经元,具体地,对其进行取min操作公式为即在两个神经元中选择较小的神经元作为备选神经元。
[0104]
在一些实施例中,参考图5,生成神经网络方法还可以包括但不限于步骤s301至s302。
[0105]
s301,对标准神经元进行分堆处理,得到多个神经元组;
[0106]
s302,从每一个神经元组中选择两个神经元进行排列组合运算得到备选神经元。
[0107]
在一些实施例的步骤s301中,对m个标准神经元进行分堆处理,得到多个神经元组。比如有8个标准神经元,将其分成2堆,得到2个神经元组,则每个神经元组有4个标准神经元。
[0108]
在一些实施例的步骤s302中,从每一个神经元组中选择两个神经元进行排列组合运算,得到备选神经元。比如在分堆处理后,选取其中1个神经元组,对其中的4个神经元任意选择两个神经元,进行排列组合运算再对其进行乘以分堆数2,得到12个备选神经元。其公式为其中,m为在步骤s250中得到的标准神经元的个数,k为分堆数。
[0109]
在一些实施例的步骤s400中,根据备选神经元的备选指数确定目标神经元。具体为先获取到备选神经元的备选指数和阈值,将其进行比较,若确定备选指数小于或等于阈值时,将备选指数对应的备选神经元添确定为目标神经元。
[0110]
在一些实施例中,参考图6,生成神经网络方法可以包括但不限于步骤s410至s450。
[0111]
s410,获取备选神经元的备选指数;
[0112]
s420,获取预设的阈值;
[0113]
s430,将备选指数与阈值进行比较;
[0114]
s440,若确定备选指数小于或等于阈值时,将备选指数对应的备选神经元确定为目标神经元;
[0115]
s450,若确定备选指数大于阈值时,将备选指数对应的备选神经元舍弃。
[0116]
在一些实施例的步骤s410中,获取备选神经元的备选指数,具体为根据向量内积对备选神经元进行计算,得到备选神经元的备选指数。
[0117]
进一步地,将初始训练数据通过备选神经元的输出得到向量ν,ν∈r
n
,其中r为实数集,n为初始训练数据的个数,再将初始训练数据通过标准神经元的输出得到向量u,再根据向量内积,即以下公式进行计算得到备选神经元的备选指数,j
ν
即所求的备选指数。
[0118]
在一些实施例的步骤s420中,获取预设的阈值ε,阈值ε即为所有备选神经元备选指数的第q大值,此处的q则为集合的元素个数,j
ν
即备选指数。
[0119]
在一些实施例的步骤s430中,将备选指数与预设的阈值进行比较,以根据比较结果对备选神经元做不同的选择。
[0120]
在一些实施例的步骤s440中,如果确定备选指数小于或等于阈值时,将备选指数对应的备选神经元确定为目标神经元。
[0121]
在一些实施例的步骤s450中,如果确定备选指数大于阈值时,将备选指数对应的备选神经元舍弃。
[0122]
在一些实施例中,生成神经网络方法可以包括但不限于步骤s411。
[0123]
s411,根据向量内积对备选神经元进行计算,得到备选神经元的备选指数。
[0124]
在一些实施例的步骤s411中,根据向量内积对备选神经元进行计算,得到备选神经元的备选指数,对应步骤s410中的进一步所述,将初始训练数据通过备选神经元的输出得到向量ν,ν∈r
n
,其中r为实数集,n为初始训练数据的个数,再将初始训练数据通过标准神经元的输出得到向量u,再根据向量内积,即以下公式进行计算得到备选神经元的备选指数,j
ν
即所求的备选指数。
[0125]
在一些实施例的步骤s600中,根据神经元集合生成神经网络,具体为将步骤s440中确定的目标神经元添加至神经元集合,在根据判断添加至神经元集合的目标神经元数量是否大于或等于生成神经网络的数量,如果添加至神经元集合的目标神经元数量大于或等于生成神经网络的数量,则生成神经网络。
[0126]
在一些实施例中,参考图7,生成神经网络方法可以包括但不限于步骤s610至s650。
[0127]
s610,将目标神经元添加至神经元集合;
[0128]
s620,获取生成神经网络的目标神经元数量的临界值;
[0129]
s630,判断临界值是否小于目标神经元的数量;
[0130]
s640,若临界值小于目标神经元的数量,则生成神经网络;
[0131]
s650,若临界值大于或等于目标神经元的数量,则执行步骤s200,对初始神经元进行标准化处理,得到标准神经元。
[0132]
在一些实施例的步骤s610中,将目标神经元添加至神经元集合,对应步骤s500,如果备选指数小于或等于阈值,则将备选神经元确定为目标神经元,并将目标神经元添加至神经元集合。
[0133]
在一些实施例的步骤s620中,获取生成神经网络的目标神经元数量的临界值,比如,神经网络模型解决一个模型问题,需要使用的神经网络至少要包括100个目标神经元,则100就是生成神经网络的目标神经元数量的临界值。
[0134]
在一些实施例的步骤s630中,判断临界值是否小于目标神经元的数量,将生成神经网络的目标神经元数量的临界值和添加至神经元集合的目标神经元比较,用以根据不同比较结果,执行不同的步骤。
[0135]
在一些实施例的步骤s640中,如果生成神经网络的目标神经元数量的临界值小于
添加至神经元集合的目标神经元的数量,则生成神经网络。
[0136]
在一些实施例的步骤s650中,如果生成神经网络的目标神经元数量的临界值大于或等于添加至神经元集合的目标神经元的数量,则执行步骤s200,对初始神经元进行标准正交化处理,以得到标准神经元。
[0137]
在一些实施方式中,生成神经网络设备,包括:处理器和存储器,其中存储器用于存储可执行程序,可执行程序在被运行时执行如上所述的生成神经网络方法。
[0138]
在一些实施方式中,所述计算机可读存储介质存储有可执行指令,可执行指令能被计算机执行。
[0139]
存储器作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序以及非暂态性计算机可执行程序。此外,存储器可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施方式中,存储器可选包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至该处理器。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
[0140]
本公开实施例描述的实施例是为了更加清楚的说明本公开实施例的技术方案,并不构成对于本公开实施例提供的技术方案的限定,本领域技术人员可知,随着技术的演变和新应用场景的出现,本公开实施例提供的技术方案对于类似的技术问题,同样适用。
[0141]
在本技术所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0142]
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0143]
另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
[0144]
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括多指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本技术各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read

only memory,简称rom)、随机存取存储器(random access memory,简称ram)、磁碟或者光盘等各种可以存储程序的介质。
[0145]
以上参照附图说明了本公开实施例的优选实施例,并非因此局限本公开实施例的
权利范围。本领域技术人员不脱离本公开实施例的范围和实质内所作的任何修改、等同替换和改进,均应在本公开实施例的权利范围之内。
再多了解一些

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

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

相关文献

  • 日榜
  • 周榜
  • 月榜