用于生成卷积神经网络的方法和装置制造方法及图纸

技术编号:18459115 阅读:53 留言:0更新日期:2018-07-18 12:50
本申请实施例公开了用于生成卷积神经网络的方法和装置。该方法的一具体实施方式包括:获取卷积神经网络的目标卷积层的初始输入值和初始权重,以分别生成第一输入值集合和第一权重集合;根据当前阶段的量化比例,对第一输入值集合和第一权重集合分别进行量化取整,生成第二输入值集合和第二权重集合,其中,第二权重集合中包括量化取整后的第一权重;将第二权重集合作为目标卷积层的权重,并确定当前阶段的总量化比例是否达到预设比例值;响应于确定当前阶段的总量化比例达到预设比例值,生成并存储目标卷积神经网络。该实施方式可以实现目标卷积层权重的多阶段量化,有助于提高卷积神经网络的生成方法的灵活性。

Methods and devices for generating convolution neural networks

The embodiment of the application discloses a method and device for generating convolution neural network. A specific implementation method of the method includes: obtaining the initial input value and initial weight of the target coiling layer of the convolution neural network to generate the first set of input values and the first weight set, and quantize the first input value set and the first weight set respectively according to the quantitative proportion of the current stage, and generate the first input value set and the first weight set, and generate the first input value set and the first weight set respectively. Two the set of input values and the set of second weights, in which the second weight set includes the first weight after the quantization and integration; the weight of the second weight set is used as the weight of the target coiling layer and determines whether the total quantized proportion of the current stage is up to the preset proportion value; the total quantized proportion of the current stage is determined to reach the preset proportion. Value, generate and store the target convolution neural network. The implementation method can achieve multi-stage quantization of the weight of the target volume layer, which is helpful to improve the flexibility of the convolution neural network generation method.

【技术实现步骤摘要】
用于生成卷积神经网络的方法和装置
本申请实施例涉及计算机
,具体涉及神经网络
,尤其涉及用于生成卷积神经网络的方法和装置。
技术介绍
深度学习的概念源于人工神经网络的研究。深度学习通过组合低层特征形成更加抽象的高层表示属性类别或特征,以发现数据的分布式特征表示。深度学习是机器学习研究中的一个新的领域,其动机在于建立、模拟人脑进行分析学习的神经网络,它模仿人脑的机制来解释数据,例如图像,声音和文本。同机器学习方法一样,深度机器学习方法也有监督学习与无监督学习之分。不同的学习框架下建立的学习模型很是不同。例如,卷积神经网络(ConvolutionNeuralNetwork,简称CNN)就是一种深度的监督学习下的机器学习模型;而深度置信网(DeepBeliefNet,简称DBN)就是一种无监督学习下的机器学习模型。
技术实现思路
本申请实施例提出了用于生成卷积神经网络的方法和装置。第一方面,本申请实施例提供了一种用于生成卷积神经网络的方法,包括:获取卷积神经网络的目标卷积层的初始输入值和初始权重;根据初始输入值和初始权重,分别生成第一输入值集合和第一权重集合;根据当前阶段的量化比例,对第一输入值集合中的各第一输入值和第一权重集合中的各第一权重分别进行量化取整,生成第二输入值集合和第二权重集合,其中,第二权重集合中包括量化取整后的第一权重;将第二权重集合作为目标卷积层的权重,并确定目标卷积层的权重在当前阶段的总量化比例是否达到预设比例值;响应于确定目标卷积层的权重在当前阶段的总量化比例达到预设比例值,将当前阶段的卷积神经网络作为目标卷积神经网络,并存储目标卷积神经网络。在一些实施例中,该方法还包括:响应于确定目标卷积层的权重在当前阶段的总量化比例未达到预设比例值,根据损失函数对当前阶段的卷积神经网络进行训练,以调整第二权重集合中未量化取整的第一权重,直至损失函数的值趋于目标值;获取下一阶段的量化比例作为当前阶段的量化比例;根据当前阶段的量化比例,对第二输入值集合中未量化取整第一输入值和第二权重集合中未量化取整的第一权重分别进行量化取整,以更新第二输入值集合和第二权重集合;将更新的第二权重集合作为目标卷积层的权重,并确定目标卷积层的权重在当前阶段的总量化比例是否达到预设比例值。在一些实施例中,根据初始输入值和初始权重,分别生成第一输入值集合和第一权重集合,包括:根据量化编码的位数,将初始输入值的范围和初始权重的范围分别均匀划分为预设数目个子区间,其中,预设数目与量化编码的位数正相关;根据位于预设数目个子区间中的各输入值和各权重,分别生成第一输入值集合和第一权重集合。在一些实施例中,对第一输入值集合中的各第一输入值和第一权重集合中的各第一权重分别进行量化取整,生成第二输入值集合和第二权重集合,包括:根据预设量化方法,对第一输入值集合中的各第一输入值进行量化取整,并将量化取整后的第一输入值作为第二输入值,生成第二输入值集合;根据第一权重集合中的各第一权重的分布概率,对第一权重集合中的各第一权重进行上取整或下取整,并将取整后的第一权重作为第二权重,生成第二权重集合。在一些实施例中,根据初始输入值和初始权重,分别生成第一输入值集合和第一权重集合,包括:根据预设的第一数值,将初始输入值的范围和初始权重的范围划分为预设数目个区间长度不同的子区间;以第一数值为底数,计算各初始输入值的对数,将计算结果作为第一输入值,生成第一输入值集合;根据位于各子区间的各初始权重,确定区间权重,以作为第一权重,生成第一权重集合。在一些实施例中,对第一输入值集合中的各第一输入值和第一权重集合中的各第一权重分别进行量化取整,生成第二输入值集合和第二权重集合,包括:对第一输入值集合中的各第一输入值进行量化取整,并以量化取整后的各第一输入值分别为指数,计算第一数值的指数幂,以作为第二输入值,生成第二输入值集合;根据各子区间的顺序,依次对各第一权重建立序号,生成查询表,并将各第一权重对应的序号作为第二权重,生成第二权重集合,其中,序号为整数,且查询表中序号与和各第一权重以键值对形式存储。在一些实施例中,根据当前阶段的量化比例,对第一输入值集合中的各第一输入值和第一权重集合中的各第一权重分别进行量化取整,包括:根据当前阶段的量化比例,在第一输入值集合和第一权重集合中分别选取相应数量的第一输入值和第一权重进行量化取整,其中,选取包括按照数值由大到小,从数值大的一端选取,或者按照量化误差由小到大,从误差小的一端选取。在一些实施例中,该方法还包括:获取目标卷积神经网络的目标卷积层的初始输入信息;对初始输入信息进行量化取整,得到整数输入值;将整数输入值输入目标卷积层,并与目标卷积层的权重进行卷积运算,生成输出信息。第二方面,本申请实施例提供了一种用于生成卷积神经网络的装置,包括:第一获取单元,配置用于获取卷积神经网络的目标卷积层的初始输入值和初始权重;第一生成单元,配置用于根据初始输入值和初始权重,分别生成第一输入值集合和第一权重集合;第一量化单元,配置用于根据当前阶段的量化比例,对第一输入值集合中的各第一输入值和第一权重集合中的各第一权重分别进行量化取整,生成第二输入值集合和第二权重集合,其中,第二权重集合中包括量化取整后的第一权重;确定单元,配置用于将第二权重集合作为目标卷积层的权重,并确定目标卷积层的权重在当前阶段的总量化比例是否达到预设比例值;第二生成单元,配置用于响应于确定目标卷积层的权重在当前阶段的总量化比例达到预设比例值,将当前阶段的卷积神经网络作为目标卷积神经网络,并存储目标卷积神经网络。在一些实施例中,该装置还配置用于:响应于确定目标卷积层的权重在当前阶段的总量化比例未达到预设比例值,根据损失函数对当前阶段的卷积神经网络进行训练,以调整第二权重集合中未量化取整的第一权重,直至损失函数的值趋于目标值;获取下一阶段的量化比例作为当前阶段的量化比例;根据当前阶段的量化比例,对第二输入值集合中未量化取整第一输入值和第二权重集合中未量化取整的第一权重分别进行量化取整,以更新第二输入值集合和第二权重集合;将更新的第二权重集合作为目标卷积层的权重,并确定目标卷积层的权重在当前阶段的总量化比例是否达到预设比例值。在一些实施例中,第一生成单元进一步配置用于:根据量化编码的位数,将初始输入值的范围和初始权重的范围分别均匀划分为预设数目个子区间,其中,预设数目与量化编码的位数正相关;根据位于预设数目个子区间中的各输入值和各权重,分别生成第一输入值集合和第一权重集合。在一些实施例中,第一量化单元进一步配置用于:根据预设量化方法,对第一输入值集合中的各第一输入值进行量化取整,并将量化取整后的第一输入值作为第二输入值,生成第二输入值集合;根据第一权重集合中的各第一权重的分布概率,对第一权重集合中的各第一权重进行上取整或下取整,并将取整后的第一权重作为第二权重,生成第二权重集合。在一些实施例中,第一生成单元还进一步配置用于:根据预设的第一数值,将初始输入值的范围和初始权重的范围划分为预设数目个区间长度不同的子区间;以第一数值为底数,计算各初始输入值的对数,将计算结果作为第一输入值,生成第一输入值集合;根据位于各子区间的各初始权重,确定区间权重,以作为第本文档来自技高网...

【技术保护点】
1.一种用于生成卷积神经网络的方法,包括:获取卷积神经网络的目标卷积层的初始输入值和初始权重;根据所述初始输入值和所述初始权重,分别生成第一输入值集合和第一权重集合;根据当前阶段的量化比例,对所述第一输入值集合中的各第一输入值和所述第一权重集合中的各第一权重分别进行量化取整,生成第二输入值集合和第二权重集合,其中,所述第二权重集合中包括量化取整后的第一权重;将所述第二权重集合作为所述目标卷积层的权重,并确定所述目标卷积层的权重在当前阶段的总量化比例是否达到预设比例值;响应于确定所述目标卷积层的权重在当前阶段的总量化比例达到预设比例值,将当前阶段的卷积神经网络作为目标卷积神经网络,并存储所述目标卷积神经网络。

【技术特征摘要】
1.一种用于生成卷积神经网络的方法,包括:获取卷积神经网络的目标卷积层的初始输入值和初始权重;根据所述初始输入值和所述初始权重,分别生成第一输入值集合和第一权重集合;根据当前阶段的量化比例,对所述第一输入值集合中的各第一输入值和所述第一权重集合中的各第一权重分别进行量化取整,生成第二输入值集合和第二权重集合,其中,所述第二权重集合中包括量化取整后的第一权重;将所述第二权重集合作为所述目标卷积层的权重,并确定所述目标卷积层的权重在当前阶段的总量化比例是否达到预设比例值;响应于确定所述目标卷积层的权重在当前阶段的总量化比例达到预设比例值,将当前阶段的卷积神经网络作为目标卷积神经网络,并存储所述目标卷积神经网络。2.根据权利要求1所述的方法,其中,所述方法还包括:响应于确定所述目标卷积层的权重在当前阶段的总量化比例未达到预设比例值,根据损失函数对当前阶段的卷积神经网络进行训练,以调整所述第二权重集合中未量化取整的第一权重,直至损失函数的值趋于目标值;获取下一阶段的量化比例作为当前阶段的量化比例;根据当前阶段的量化比例,对所述第二输入值集合中未量化取整第一输入值和所述第二权重集合中未量化取整的第一权重分别进行量化取整,以更新所述第二输入值集合和所述第二权重集合;将更新的第二权重集合作为所述目标卷积层的权重,并确定所述目标卷积层的权重在当前阶段的总量化比例是否达到所述预设比例值。3.根据权利要求1所述的方法,其中,所述根据所述初始输入值和所述初始权重,分别生成第一输入值集合和第一权重集合,包括:根据量化编码的位数,将所述初始输入值的范围和所述初始权重的范围分别均匀划分为预设数目个子区间,其中,所述预设数目与所述量化编码的位数正相关;根据位于预设数目个子区间中的各输入值和各权重,分别生成第一输入值集合和第一权重集合。4.根据权利要求3所述的方法,其中,所述对所述第一输入值集合中的各第一输入值和所述第一权重集合中的各第一权重分别进行量化取整,生成第二输入值集合和第二权重集合,包括:根据预设量化方法,对所述第一输入值集合中的各第一输入值进行量化取整,并将量化取整后的第一输入值作为第二输入值,生成第二输入值集合;根据所述第一权重集合中的各第一权重的分布概率,对所述第一权重集合中的各第一权重进行上取整或下取整,并将取整后的第一权重作为第二权重,生成第二权重集合。5.根据权利要求1所述的方法,其中,所述根据所述初始输入值和所述初始权重,分别生成第一输入值集合和第一权重集合,包括:根据预设的第一数值,将所述初始输入值的范围和所述初始权重的范围划分为预设数目个区间长度不同的子区间;以所述第一数值为底数,计算各初始输入值的对数,将计算结果作为第一输入值,生成第一输入值集合;根据位于各子区间的各初始权重,确定区间权重,以作为第一权重,生成第一权重集合。6.根据权利要求5所述的方法,其中,所述对所述第一输入值集合中的各第一输入值和所述第一权重集合中的各第一权重分别进行量化取整,生成第二输入值集合和第二权重集合,包括:对所述第一输入值集合中的各第一输入值进行量化取整,并以量化取整后的各第一输入值分别为指数,计算所述第一数值的指数幂,以作为第二输入值,生成第二输入值集合;根据各子区间的顺序,依次对各第一权重建立序号,生成查询表,并将各第一权重对应的序号作为第二权重,生成第二权重集合,其中,所述序号为整数,且所述查询表中序号与和各第一权重以键值对形式存储。7.根据权利要求1所述的方法,其中,所述根据当前阶段的量化比例,对所述第一输入值集合中的各第一输入值和所述第一权重集合中的各第一权重分别进行量化取整,包括:根据当前阶段的量化比例,在所述第一输入值集合和所述第一权重集合中分别选取相应数量的第一输入值和第一权重进行量化取整,其中,所述选取包括按照数值由大到小,从数值大的一端选取,或者按照量化误差由小到大,从误差小的一端选取。8.根据权利要求1-7之一所述的方法,其中,所述方法还包括:获取所述目标卷积神经网络的目标卷积层的初始输入信息;对所述初始输入信息进行量化取整,得到整数输入值;将所述整数输入值输入所述目标卷积层,并与所述目标卷积层的权重进行卷积运算,生成输出信息。9.一种用于生成卷积神经网络的装置,包括:第一获取单元,配置用于...

【专利技术属性】
技术研发人员:姜志超
申请(专利权)人:百度在线网络技术北京有限公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1