技术摘要:
本公开是关于一种网络参数处理方法及装置。所述方法包括:获取神经网络不同网络层的网络参数;分别对所述不同网络层的网络参数进行量化。利用本公开各个实施例提出的技术方案,通过对神经网络中不同网络层的网络参数分别量化,可以根据不同网络层对应的数据分布特征, 全部
背景技术:
目前,神经网络算法在图像处理、语音识别等多个技术领域中具有广泛的应用。随 着各个技术领域所要解决问题的复杂化以及对神经网络性能要求的提高,神经网络的规模 也越来越大。而神经网络的规模越大,对应的网络层数和网络参数也越多。这些网络参数的 存储和传输也逐渐成为一个不能忽视的问题,尤其例如在边缘计算中,神经网络设置于终 端中,因此,需要将网络参数存储于终端中。继而导致在相关技术中,网络参数的存储和读 取所占用的总线带宽对终端处理器(如芯片或者其他硬件/软件形式)的计算成本和功耗影 响较大。 神经网络的参数量化是减小神经网络规模的重要方式之一,参数量化可以利用更 少的数据位宽表示网络参数,其优势在于节省存储空间,并可以更快地访存和计算。但是, 相关技术中的参数量化往往可能导致计算精度的损失。 因此,相关技术中亟需一种能够在不损失计算精度的情况下对神经网络进行参数 量化的方式。
技术实现要素:
为克服相关技术中存在的问题,本公开提供一种网络参数处理方法及装置。 根据本公开实施例的第一方面,提供一种网络参数处理方法,所述方法包括: 获取神经网络不同网络层的网络参数; 分别对所述不同网络层的网络参数进行量化。 本公开的实施例提供的技术方案可以包括以下有益效果:本公开提供的网络参数 处理方法,通过对神经网络中不同网络层的网络参数分别量化,可以根据不同网络层对应 的数据分布特征,确定与所述网络层相适配的量化位宽,这样,不仅可以使得各个网络层的 位宽收敛到最小值,从整体上也压缩了存储和计算所述网络参数所需的位宽。本公开通过 的技术方案可以应用于图像处理、语音识别等技术领域,在一定程度上可以大大压缩神经 网络的规模,减少存储空间,提升存取速度,对于神经网络模块嵌入和移动端具有十分重要 的意义。 可选的,在本公开的一个实施例中,所述分别对所述不同网络层的网络参数进行 量化包括: 遍历所述网络层,在确定所述网络层中具有多个卷积核的情况下,分别对所述多 个卷积核进行量化。 本公开的实施例提供的技术方案可以包括以下有益效果:对网络层中的多个卷积 核进行分别量化,可以压缩了存储和计算所述卷积核所需的位宽。 可选的,在本公开的一个实施例中,所述分别对所述不同网络层的网络参数进行 4 CN 111582432 A 说 明 书 2/10 页 量化包括: 在确定所述网络层中具有多个卷积核的情况下,分别确定所述多个卷积核的数据 分布范围; 根据所述多个卷积核的数据分布范围,将所述多个卷积核划分成至少一个分组; 分别对所述至少一个分组内的卷积核进行统一量化。 本公开的实施例提供的技术方案可以包括以下有益效果:在实际应用环境中,一 些卷积核可能大小、分布范围比较相似,因此,可以对卷积核进行分组量化,使得同一分组 内的卷积核进行统一量化,可以提升量化效率以及降低存储卷积核所占用的位宽。 可选的,在本公开的一个实施例中,所述根据所述多个卷积核的数据分布范围,将 所述多个卷积核划分成至少一个分组,包括: 确定所述多个卷积核的数据分布范围之间的相似度; 将相似度大于预设阈值的卷积核划分至同一分组。 本公开的实施例提供的技术方案可以包括以下有益效果:本实施例中,可以利用 数据分布范围之间的相似度确定同一分组内的卷积核,提升量化效率。 可选的,在本公开的一个实施例中,所述分别对所述不同网络层的网络参数进行 量化包括: 确定所述网络层中网络参数的数据分布范围; 根据所述数据分布范围确定系数指数值,以二为底数、以所述系数指数值为指数 的数值被设置为量化系数; 基于所述量化系数对所述网络层中的网络参数进行量化。 本公开的实施例提供的技术方案可以包括以下有益效果:通过调节系数指数值, 即使在定点网络参数较小的情况下,也可以表达较大数据范围的网络参数, 可选的,在本公开的一个实施例中,所述基于所述量化系数对所述网络层中的网 络参数进行量化,包括: 所述网络参数的量化公式包括: FP_Tensor=2nscale_factor(N_Tensor FP_bias) 其中,FP_Tensor为量化前的浮点网络参数,N_Tensor为量化之后的N比特的定点 网络参数,n为系数指数值,scale_factor为比例因子,FP_bias为偏置。 本公开的实施例提供的技术方案可以包括以下有益效果:量化之后的定点网络参 数N_Tensor比相关技术中的定点网络参数小,这样,可以进一步降低网络参数对应的位宽。 另一方面,通过调节n值,即使在N_Tensor较小的情况下,也可以表达较大数据范围的网络 参数,因此,利用上述公式的线性量化方式,可以在不损失网络参数精度的情况下,降低定 点网络参数的位宽。 可选的,在本公开的一个实施例中,所述确定所述网络层中网络参数的数据分布 范围包括: 确定所述网络层的网络层类型; 基于所述网络层类型对所述网络层中网络参数的分布进行校准,确定所述网络层 中网络参数的数据分布阈值。 本公开的实施例提供的技术方案可以包括以下有益效果:本公开实施例中,可以 5 CN 111582432 A 说 明 书 3/10 页 根据网络层类型的不同,对网络层中网络参数的分布分别进行校准,以获取更加准确的数 据分布范围。 根据本公开实施例的第二方面,提供一种网络参数处理装置,所述装置包括: 参数获取模块,用于获取神经网络不同网络层的网络参数; 量化模块,用于分别对所述不同网络层的网络参数进行量化。 可选的,在本公开的一个实施例中,所述量化模块包括: 量化子模块,用于遍历所述网络层,在确定所述网络层中具有多个卷积核的情况 下,分别对所述多个卷积核进行量化。 可选的,在本公开的一个实施例中,所述量化模块包括: 分布确定子模块,用于在确定所述网络层中具有多个卷积核的情况下,分别确定 所述多个卷积核的数据分布范围; 分组划分子模块,用于根据所述多个卷积核的数据分布范围,将所述多个卷积核 划分成至少一个分组; 统一量化子模块,用于分别对所述至少一个分组内的卷积核进行统一量化。 可选的,在本公开的一个实施例中,所述分组划分子模块包括: 相似度确定单元,用于确定所述多个卷积核的数据分布范围之间的相似度; 卷积核划分单元,用于将相似度大于预设阈值的卷积核划分至同一分组。 可选的,在本公开的一个实施例中,所述量化模块包括: 分布确定子模块,用于确定所述网络层中网络参数的数据分布范围; 系数确定子模块,用于根据所述数据分布范围确定系数指数值,以二为底数、以所 述系数指数值为指数的数值被设置为量化系数; 参数量化子模块,用于基于所述量化系数对所述网络层中的网络参数进行量化。 可选的,在本公开的一个实施例中,所述参数量化子模块包括: 量化公式单元,用于设置所述网络参数的量化公式包括: FP_Tensor=2nscale_factor(N_Tensor FP_bias) 其中,FP_Tensor为量化前的浮点网络参数,N_Tensor为量化之后的N比特的定点 网络参数,n为系数指数值,scale_factor为比例因子,FP_bias为偏置。 可选的,在本公开的一个实施例中,所述分布确定子模块包括: 网络层类型确定单元,用于确定所述网络层的网络层类型; 分布校准单元,用于基于所述网络层类型对所述网络层中网络参数的分布进行校 准,确定所述网络层中网络参数的数据分布阈值。 根据本公开实施例的第三方面,提供一种网络参数处理装置,所述装置包括: 处理器; 用于存储处理器可执行指令的存储器; 其中,所述处理器被配置为执行本公开实施例提供的网络参数处理方法。 根据本公开实施例的第四方面,提供一种非临时性计算机可读存储介质,当所述 存储介质中的指令由处理器执行时,使得处理器能够执行本公开实施例提供的网络参数处 理方法。 应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不 6 CN 111582432 A 说 明 书 4/10 页 能限制本公开。 附图说明 此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施 例,并与说明书一起用于解释本公开的原理。 图1是根据一示例性实施例示出的一种网络参数处理方法的流程图。 图2是根据一示例性实施例示出的一种网络参数处理方法的流程图。 图3是根据一示例性实施例示出的一种网络参数处理方法的流程图。 图4是根据一示例性实施例示出的一种网络参数处理装置的框图。 图5是根据一示例性实施例示出的一种网络参数处理装置的框图。 图6是根据一示例性实施例示出的一种网络参数处理装置的框图。