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

技术编号:18351335 阅读:62 留言:0更新日期:2018-07-02 01:10
本申请实施例公开了用于生成卷积神经网络的方法和装置。该方法的一具体实施方式包括:获取卷积神经网络的目标卷积层的初始输入值和初始权重;根据量化编码的位数,将初始输入值的范围和初始权重的范围分别划分为预设数目个至少部分区间长度不同的子区间,以分别生成第一输入值集合和第一权重集合;对第一输入值集合中的各第一输入值和第一权重集合中的各第一权重分别进行量化取整,生成第二输入值集合和第二权重集合;将第二输入值集合作为输入,将第二权重集合作为目标卷积层的权重,进行卷积运算;通过迭代训练对初始权重进行修正,直至卷积神经网络满足第一预设条件,生成并存储目标卷积神经网络。该实施方式可丰富卷积神经网络的生成方法。

【技术实现步骤摘要】
用于生成卷积神经网络的方法和装置
本申请实施例涉及计算机
,具体涉及神经网络
,尤其涉及用于生成卷积神经网络的方法和装置。
技术介绍
深度学习的概念源于人工神经网络的研究。深度学习通过组合低层特征形成更加抽象的高层表示属性类别或特征,以发现数据的分布式特征表示。深度学习是机器学习研究中的一个新的领域,其动机在于建立、模拟人脑进行分析学习的神经网络,它模仿人脑的机制来解释数据,例如图像,声音和文本。同机器学习方法一样,深度机器学习方法也有监督学习与无监督学习之分。不同的学习框架下建立的学习模型很是不同。例如,卷积神经网络(ConvolutionNeuralNetwork,简称CNN)就是一种深度的监督学习下的机器学习模型;而深度置信网(DeepBeliefNet,简称DBN)就是一种无监督学习下的机器学习模型。
技术实现思路
本申请实施例提出了用于生成卷积神经网络的方法和装置。第一方面,本申请实施例提供了一种用于生成卷积神经网络的方法,包括:获取卷积神经网络的目标卷积层的初始输入值和初始权重;根据量化编码的位数,将初始输入值的范围和初始权重的范围分别划分为预设数目个子区间,其中,预设数目与量化编码的位数正相关,且预设数目个子区间中至少部分子区间的区间长度不同;根据位于预设数目个子区间中的各输入值和各权重,分别生成第一输入值集合和第一权重集合;对第一输入值集合中的各第一输入值和第一权重集合中的各第一权重分别进行量化取整,生成第二输入值集合和第二权重集合;将第二输入值集合作为输入,将第二权重集合作为目标卷积层的权重,进行卷积运算;通过迭代训练对初始权重进行修正,直至卷积神经网络满足第一预设条件,将卷积神经网络作为目标卷积神经网络,并存储目标卷积神经网络。在一些实施例中,根据量化编码的位数,将初始输入值的范围和初始权重的范围分别划分为预设数目个子区间,包括:根据预设的第一数值,将初始输入值的范围和初始权重的范围划分为预设数目个区间长度不同的子区间。在一些实施例中,根据位于预设数目个子区间中的各输入值和各权重,分别生成第一输入值集合和第一权重集合,包括:以第一数值为底数,计算各初始输入值的对数,将计算结果作为第一输入值,生成第一输入值集合;根据位于各子区间的各初始权重,确定区间权重,以作为第一权重,生成第一权重集合。在一些实施例中,对第一输入值集合中的各第一输入值和第一权重集合中的各第一权重分别进行量化取整,生成第二输入值集合和第二权重集合,包括:对第一输入值集合中的各第一输入值进行量化取整,并以量化取整后的各第一输入值分别为指数,计算第一数值的指数幂,以作为第二输入值,生成第二输入值集合;根据各子区间的顺序,依次对各第一权重建立序号,生成查询表,并将各第一权重对应的序号作为第二权重,生成第二权重集合,其中,序号为整数,且查询表中序号与第一权重以键值对形式存储。在一些实施例中,根据量化编码的位数,将初始输入值的范围和初始权重的范围分别划分为预设数目个子区间之前,该方法还包括:统计初始权重的分布信息;根据分布信息,确定初始权重中是否存在满足第二预设条件的初始权重;响应于确定存在满足第二预设条件的初始权重,对满足第二预设条件的初始权重进行处理,其中,处理方法包括删除或缩放满足第二预设条件的初始权重。在一些实施例中,该方法还包括:获取目标卷积神经网络的目标卷积层的初始输入信息;对初始输入信息进行量化取整,得到整数输入值;将整数输入值输入目标卷积层,并与目标卷积层的权重进行卷积运算,生成输出信息。第二方面,本申请实施例提供了一种用于生成卷积神经网络的装置,包括:第一获取单元,配置用于获取卷积神经网络的目标卷积层的初始输入值和初始权重;划分单元,配置用于根据量化编码的位数,将初始输入值的范围和初始权重的范围分别划分为预设数目个子区间,其中,预设数目与量化编码的位数正相关,且预设数目个子区间中至少部分子区间的区间长度不同;第一生成单元,配置用于根据位于预设数目个子区间中的各输入值和各权重,分别生成第一输入值集合和第一权重集合;第一量化单元,配置用于对第一输入值集合中的各第一输入值和第一权重集合中的各第一权重分别进行量化取整,生成第二输入值集合和第二权重集合;卷积单元,配置用于将第二输入值集合作为输入,将第二权重集合作为目标卷积层的权重,进行卷积运算;第二生成单元,配置用于通过迭代训练对初始权重进行修正,直至卷积神经网络满足第一预设条件,将卷积神经网络作为目标卷积神经网络,并存储目标卷积神经网络。在一些实施例中,划分单元进一步配置用于:根据预设的第一数值,将初始输入值的范围和初始权重的范围划分为预设数目个区间长度不同的子区间。在一些实施例中,第一生成单元包括:第一生成子单元,配置用于以第一数值为底数,计算各初始输入值的对数,将计算结果作为第一输入值,生成第一输入值集合;第二生成子单元,配置用于根据位于各子区间的各初始权重,确定区间权重,以作为第一权重,生成第一权重集合。在一些实施例中,第一量化单元包括:第一量化子单元,配置用于对第一输入值集合中的各第一输入值进行量化取整,并以量化取整后的各第一输入值分别为指数,计算第一数值的指数幂,以作为第二输入值,生成第二输入值集合;第二量化子单元,配置用于根据各子区间的顺序,依次对各第一权重建立序号,生成查询表,并将各第一权重对应的序号作为第二权重,生成第二权重集合,其中,序号为整数,且查询表中序号与第一权重以键值对形式存储。在一些实施例中,该装置还包括处理单元,配置用于:统计初始权重的分布信息;根据分布信息,确定初始权重中是否存在满足第二预设条件的初始权重;响应于确定存在满足第二预设条件的初始权重,对满足第二预设条件的初始权重进行处理,其中,处理方法包括删除或缩放满足第二预设条件的初始权重。在一些实施例中,该装置还包括:第二获取单元,配置用于获取目标卷积神经网络的目标卷积层的初始输入信息;第二量化单元,配置用于对初始输入信息进行量化取整,得到整数输入值;第三生成单元,配置用于将整数输入值输入目标卷积层,并与目标卷积层的权重进行卷积运算,生成输出信息。第三方面,本申请实施例提供了一种电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序;当一个或多个程序被一个或多个处理器执行,使得一个或多个处理器实现如上述第一方面中任一实施例所描述的方法。第四方面,本申请实施例提供了一种计算机可读存储介质,其上存储有计算机程序,其中,该计算机程序被处理器执行时实现如上述第一方面中任一实施例所描述的方法。本申请实施例提供的用于生成卷积神经网络的方法和装置,通过获取卷积神经网络的目标卷积层的初始输入值和初始权重,从而可以根据量化编码的位数,将两者的范围分别划分为预设数目个子区间,进而可以分别生成第一输入值集合和第一权重集合。其中,预设数目与量化编码的位数正相关,且预设数目个子区间中至少部分子区间的区间长度不同。接着,对第一输入值集合中的各第一输入值和第一权重集合中的各第一权重分别进行量化取整,可以生成第二输入值集合和第二权重集合。之后,可以将第二输入值集合作为目标卷积层的输入,并将第二权重集合作为目标卷积层的权重,以进行卷积运算。也就是说,将目标卷积层的输入值和权重均转换为本文档来自技高网...
用于生成卷积神经网络的方法和装置

【技术保护点】
1.一种用于生成卷积神经网络的方法,包括:获取卷积神经网络的目标卷积层的初始输入值和初始权重;根据量化编码的位数,将所述初始输入值的范围和所述初始权重的范围分别划分为预设数目个子区间,其中,所述预设数目与所述量化编码的位数正相关,且所述预设数目个子区间中至少部分子区间的区间长度不同;根据位于预设数目个子区间中的各输入值和各权重,分别生成第一输入值集合和第一权重集合;对所述第一输入值集合中的各第一输入值和第一权重集合中的各第一权重分别进行量化取整,生成第二输入值集合和第二权重集合;将所述第二输入值集合作为输入,将所述第二权重集合作为所述目标卷积层的权重,进行卷积运算;通过迭代训练对所述初始权重进行修正,直至所述卷积神经网络满足第一预设条件,将所述卷积神经网络作为目标卷积神经网络,并存储所述目标卷积神经网络。

【技术特征摘要】
1.一种用于生成卷积神经网络的方法,包括:获取卷积神经网络的目标卷积层的初始输入值和初始权重;根据量化编码的位数,将所述初始输入值的范围和所述初始权重的范围分别划分为预设数目个子区间,其中,所述预设数目与所述量化编码的位数正相关,且所述预设数目个子区间中至少部分子区间的区间长度不同;根据位于预设数目个子区间中的各输入值和各权重,分别生成第一输入值集合和第一权重集合;对所述第一输入值集合中的各第一输入值和第一权重集合中的各第一权重分别进行量化取整,生成第二输入值集合和第二权重集合;将所述第二输入值集合作为输入,将所述第二权重集合作为所述目标卷积层的权重,进行卷积运算;通过迭代训练对所述初始权重进行修正,直至所述卷积神经网络满足第一预设条件,将所述卷积神经网络作为目标卷积神经网络,并存储所述目标卷积神经网络。2.根据权利要求1所述的方法,其中,所述根据量化编码的位数,将所述初始输入值的范围和所述初始权重的范围分别划分为预设数目个子区间,包括:根据预设的第一数值,将所述初始输入值的范围和所述初始权重的范围划分为预设数目个区间长度不同的子区间。3.根据权利要求2所述的方法,其中,所述根据位于预设数目个子区间中的各输入值和各权重,分别生成第一输入值集合和第一权重集合,包括:以所述第一数值为底数,计算各初始输入值的对数,将计算结果作为第一输入值,生成第一输入值集合;根据位于各子区间的各初始权重,确定区间权重,以作为第一权重,生成第一权重集合。4.根据权利要求3所述的方法,其中,所述对所述第一输入值集合中的各第一输入值和第一权重集合中的各第一权重分别进行量化取整,生成第二输入值集合和第二权重集合,包括:对所述第一输入值集合中的各第一输入值进行量化取整,并以量化取整后的各第一输入值分别为指数,计算所述第一数值的指数幂,以作为第二输入值,生成第二输入值集合;根据各子区间的顺序,依次对各第一权重建立序号,生成查询表,并将各第一权重对应的序号作为第二权重,生成第二权重集合,其中,所述序号为整数,且所述查询表中序号与第一权重以键值对形式存储。5.根据权利要求1所述的方法,其中,所述根据量化编码的位数,将所述初始输入值的范围和所述初始权重的范围分别划分为预设数目个子区间之前,所述方法还包括:统计所述初始权重的分布信息;根据所述分布信息,确定所述初始权重中是否存在满足第二预设条件的初始权重;响应于确定存在满足第二预设条件的初始权重,对满足所述第二预设条件的初始权重进行处理,其中,处理方法包括删除或缩放满足第二预设条件的初始权重。6.根据权利要求1-5之一所述的方法,其中,所述方法还包括:获取所述目标卷积神经网络的目标卷积层的初始输入信息;对所述初始输入信息进行量化取整,得到整数输入值;将所述整数输入值输入所述目标卷积层,并与所述目标卷积层的权重进行卷积运算,生成输出信息。7.一种用于生成卷积神经网络的装置,包括:第一获取单元,配置用于获取卷积神经网络的目标卷积层的初始输入值和初始权重;划分单元,配置用于根据...

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

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

1