一种样本特征的处理方法、装置、电子设备及存储介质

文档序号:153947 发布日期:2021-10-26 浏览:23次 >En<

阅读说明:本技术 一种样本特征的处理方法、装置、电子设备及存储介质 (Sample feature processing method and device, electronic equipment and storage medium ) 是由 吴晓琳 于 2021-04-27 设计创作,主要内容包括:本公开实施例公开了一种样本特征的处理方法,所述方法,包括:获取神经网络模型中激活函数的输入数据中的第一参考数据;其中,所述输入数据,包括待输入所述激活函数的样本特征的特征数据;将所述输入数据输入所述激活函数,获取所述激活函数的输出数据;基于所述第一参考数据,确定所述输出数据中的与所述第一参考数据对应的第二参考数据;基于所述第二参考数据,对所述输出数据进行量化。相较于不基于所述第一参考数据,在获得所述输出数据后再从所述输出数据中获取第二参考数据的方式,确定第二参考数据的时间会更短,效率更高。基于所述第二参考数据,对所述输出数据进行量化,如此,可以提升运算速度并减少消耗的运算资源。(The embodiment of the disclosure discloses a method for processing sample characteristics, which comprises the following steps: acquiring first reference data in input data of an activation function in a neural network model; wherein the input data comprises feature data of sample features to be input into the activation function; inputting the input data into the activation function to obtain output data of the activation function; determining second reference data corresponding to the first reference data in the output data based on the first reference data; quantizing the output data based on the second reference data. Compared with a mode of acquiring second reference data from the output data after the output data is acquired without the first reference data, the time for determining the second reference data is shorter, and the efficiency is higher. And quantizing the output data based on the second reference data, so that the operation speed can be improved, and the consumed operation resources can be reduced.)

一种样本特征的处理方法、装置、电子设备及存储介质

技术领域

本公开涉及无线通信

技术领域

但不限于无线通信技术领域,尤其涉及一种样本特征的处理方法、 装置、电子设备及存储介质。

背景技术

伴随着计算机技术的发展,深度学习已经在计算机视觉处理、自然语言处理和语音处理等多个领 域得到广泛应用。然而,深度学习算法模型呈现出越来越大且越来越深的发展趋势,伴随而来的是更 大的参数规模和更慢的推理速度。

相关技术中,深度学习算法模型的发展将会对电子设备的运行带来巨大挑战,尤其是移动终端设 备,受移动终端设备的硬件资源限制,移动终端设备难以直接运行较大的深度学习算法模型,运行速 度慢且处理效率低。

发明内容

本公开实施例公开了一种样本特征的处理方法、装置、电子设备及存储介质。

根据本公开实施例的第一方面,提供一种样本特征的处理方法,其特征在于,所述方法,包括:

获取神经网络模型中激活函数的输入数据中的第一参考数据;其中,所述输入数据,包括待输入 所述激活函数的样本特征的特征数据;

将所述输入数据输入所述激活函数,获取所述激活函数的输出数据;

基于所述第一参考数据,确定所述输出数据中的与所述第一参考数据对应的第二参考数据;

基于所述第二参考数据,对所述输出数据进行量化。

在一个实施例中,所述第一参考数据和所述输出数据是同时获取的。

在一个实施例中,在将所述第一参考数据输入所述激活函数后,将所述激活函数输出的输出数据 确定为所述第二参考数据。

在一个实施例中,所述第一参考数据,包括:

所述输入数据中的最大值和最小值。

在一个实施例中,所述激活函数为单调递增函数或者单调递减函数。

在一个实施例中,所述输出数据的位宽为第一位宽;所述基于所述第二参考数据,对所述输出数 据进行量化,包括:将所述输出数据输入量化映射函数,获得量化后的输出数据;其中,所述量化映 射函数,用于将数据从第一位宽量化为第二位宽;所述第一位宽大于所述第二位宽;所述量化映射函 数的量化参考点包括所述第二参考数据中的最大值和最小值。根据本公开实施例的第二方面,提供一 种样本特征的处理装置,其特征在于,所述装置,包括获取模块、确定模块和量化模块;其中,

所述获取模块,用于:获取神经网络模型中激活函数的输入数据中的第一参考数据;其中,所述 输入数据,包括待输入所述激活函数的样本特征的特征数据;将所述输入数据输入所述激活函数,获 取所述激活函数的输出数据;

所述确定模块,用于:基于所述第一参考数据,确定所述输出数据中的与所述第一参考数据对应 的第二参考数据;

所述量化模块,用于:基于所述第二参考数据,对所述输出数据进行量化。

在一个实施例中,所述获取模块,还用于:所述第一参考数据和所述输出数据是同时获取的。

在一个实施例中,所述确定模块,还被配置为:

在将所述第一参考数据输入所述激活函数后,将所述激活函数输出的输出数据确定为所述第二参 考数据。

在一个实施例中,所述获取模块,还用于:所述第一参考数据包括所述输入数据中的最大值和最 小值。

在一个实施例中,所述获取模块,还用于所述激活函数为单调递增函数或者单调递减函数。

在一个实施例中,所述第一参数包括所述输入数据中的最大值和最小值;所述第二参考数据包括 所述输出数据中的最大值和最小值。

在一个实施例中,所述输出数据的位宽为第一位宽;所述量化模块,还用于将所述输出数据输入 量化映射函数,获得量化后的输出数据;其中,所述量化映射函数,用于将数据从第一位宽量化为第 二位宽;所述第一位宽大于所述第二位宽;所述量化映射函数的量化参考点包括所述第二参考数据中 的最大值和最小值。。

根据本公开实施例的第三方面,提供一种电子设备,所述电子设备,包括:

处理器;

用于存储所述处理器可执行指令的存储器;

其中,所述处理器被配置为:用于运行所述可执行指令时,实现本公开任意实施例所述的方法。

根据本公开实施例的第四方面,提供一种计算机存储介质,所述计算机存储介质存储有计算机可 执行程序,所述可执行程序被处理器执行时实现本公开任意实施例所述的方法。

本公开的实施例提供的技术方案可以包括以下有益效果:

在本公开实施例中,获取神经网络模型中激活函数的输入数据中的第一参考数据;其中,所述输 入数据,包括待输入所述激活函数的样本特征的特征数据;将所述输入数据输入所述激活函数,获取 所述激活函数的输出数据;基于所述第一参考数据,确定所述输出数据中的与所述第一参考数据对应 的第二参考数据。相较于不基于所述第一参考数据,在获得所述输出数据后再从所述输出数据中获取 第二参考数据的方式,确定第二参考数据的时间会更短,效率更高。基于所述第二参考数据,对所述 输出数据进行量化,如此,可以提升运算速度并减少消耗的运算资源。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书 一起用于解释本发明的原理。

图1是根据一示例性实施例示出的一种量化方法的示意图。

图2是根据一示例性实施例示出的一种量化方法的示意图。

图3是根据一示例性实施例示出的一种量化方法的示意图。

图4是根据一示例性实施例示出的一种量化方法的示意图。

图5是根据一示例性实施例示出的一种量化方法的示意图。

图6是根据一示例性实施例示出的一种样本特征的处理方法的流程图。

图7是根据一示例性实施例示出的一种样本特征的处理方法的流程图。

图8是根据一示例性实施例示出的一种样本特征的处理方法的流程图。

图9是根据一示例性实施例示出的一种样本特征的处理装置的示意图。

图10是根据一示例性实施例示出的一种电子设备的框图。

具体实施方式

这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另 有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不 代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一 些方面相一致的装置和方法的例子。

为了便于本领域内技术人员理解,本公开实施例列举了多个实施方式以对本公开实施例的技术方 案进行清晰地说明。当然,本领域内技术人员可以理解,本公开实施例提供的多个实施例,可以被单 独执行,也可以与本公开实施例中其他实施例的方法结合后一起被执行,还可以单独或结合后与其他 相关技术中的一些方法一起被执行;本公开实施例并不对此作出限定。

为了方便对本公开任一实施例的理解,首先,对深度学习中的神经网络模型进行说明。

神经网络模型包含多种参数,在训练过程中,参数精度较高的神经网络模型会有大量的矩阵运算, 这会占用较多的计算资源,导致神经网络模型训练效率低下。在训练完成后,运行的神经网络模型也 会消耗多的资源,并且大的计算量通常会导致较长的延时,无法满足实时性需求,因此,需要对神经 网络模型的参数进行量化,降低参数的位宽,以提升神经网络模型的运行速度。

模型量化属于模型压缩的范畴,而模型压缩的目的是降低模型的内存大小,加快模型推理速度。 对待量化的神经网络模型进行量化主要是压缩待量化的神经网络模型的参数,压缩的过程将神经网络 模型中占用较大内存空间、较高位的浮点型数据(例如,32bit)用占用较小内存空间、更低位的整数 型数据(例如,8bit)表示,从而在不影响量化的神经网络模型准确率的情况下,使待量化的神经网 络模型的内部采用比较简单数值类型进行计算,计算速度会提高很多,消耗的计算资源会大大减小。

在一个实施例中,为了保持精度的需求,训练得到的神经网络模型往往需要采用浮点型float32进 行保存,模型量化指将高精度的浮点型float32的数值转换为低精度的整型表示,例如,int8或者int4 的整型表示等。请参见图1,为将float32的数值转换为int8的数值。由于表示范围差别较大,且整型 无法表示小数范围,量化方式通常不通过类型转换,而是缩放或者仿射变换。请参见图2,上层数值为 量化前的数值,下层数值为量化后的数值。仿射变换通常为对非对称变换,即0点的映射点不一定在 0点。例如,图2中的0点在量化后的点在z点。

通过仿射变换量化的公式包括:

z=-round(β·s)-2b-1

xq=quantize(x,b,s,z)=clip(round(s·x+z),-2b-1,2b-1-1);

其中,s为缩放因子,z是float32的0点映射到整数的位置,α表示所在向量的最大值,β表示 所在向量的最小值,b是整数表示位数,l为待量化数据的最小值,u为待量化数据的最大值。

在8bit的条件下,

z=-round(β·s)-128;

z会进行取整,以保证可用整数表示。

请参见图3,缩放为对称变换,0点仍映射到0点。

通过缩放量化的公式包括:

xq=quantize(x,b,s)=clip(round(s·x),-2b-1+1,2b-1-1);

α1表示最大的绝对值。

上述仿射变换量化的方法和缩放变换量化的方法都需要计算张量中的最大值和最小值。

在一个实施例中,对于神经网络中的张量可以分为权重和激活量两种,权重为训练得到的权重值, 激活量为激活函数后的输出,权重的最大值和最小值可以在训练固定后得到。激活量的值和输入有关。

在一个实施例中,激活量的最大值和最小值有两种计算方式,分别为在线方式或者离线方式。请 参见图4,在线方式在神经网络推理过程中,在量化操作之前计算出所需的最大值和最小值,进而用 于量化操作。请参见图5,离线方式在神经网络推理过程中,在线下收集并统计样本在网络中各处激 活量的最大值和最小值并记录下来以在推理时使用。由此可见无论是在线方式还是离线方式都有各自 的缺点。在线方式计算最大最小值产生额外时间,会削弱量化计算带来的效益。离线方式统计出的最 大值和最小值与实际的输入有偏差,会产生精度偏差。

如图6所示,本实施例中提供一种样本特征的处理方法,所述方法,包括:

步骤61、获取神经网络模型中激活函数的输入数据中的第一参考数据;其中,所述输入数据,包 括待输入所述激活函数的样本特征的特征数据;

步骤62、将所述输入数据输入所述激活函数,获取所述激活函数的输出数据;

步骤63、基于所述第一参考数据,确定所述输出数据中的与所述第一参考数据对应的第二参考数 据;

步骤64、基于所述第二参考数据,对所述输出数据进行量化。

在一些实施例中,该方法可以应用于终端,该终端可以是但不限于是计算机、手机、可穿戴设备、 车载终端、路侧单元(RSU,Road Side Unit)、智能家居终端、工业用传感设备和/或医疗设备等。

在一些实施例中,所述神经网络模型可以是具有以下至少之一功能的模型:图像处理功能、自然 语言处理功能和语音处理功能。这里,所述样本特征,可以是以下至少之一的特征:图像数据样本的 图像特征、文字数据样本的文字特征和语音数据样本的语音特征。特征数据可以是通过对数据样本的 特征进行特征提取后获得的数据。

在一个实施例中,所述神经网络模型为图像识别神经网络模型。获取图像识别神经网络模型中激 活函数的输入数据中的第一参考数据;其中,所述输入数据,包括待输入所述激活函数的图像样本特 征的待识别图像特征数据;将所述输入数据输入所述激活函数,获取输出数据;基于所述第一参考数 据,确定所述输出数据中的与所述第一参考数据对应的第二参考数据;基于所述第二参考数据,对所 述输出数据进行量化。这里,由于用于对所述输出数据进行量化的第二参考数据是根据第一参考数据 确定的,而并非从输出数据中按照复杂的预设算法确定的,可以提升所述神经网络模型的运行效率。 例如,第一参考数据为输入数据的最大值和最小值,第二参考数据为输出数据的最大值和最小值,本 方法可以直接基于第一参考数据经过两次运算获得第二参考数据,相较于在获得所述输出数据后,需 要从所述输出数据中通过数据比较等算法确定所述第二参考数据,可以减少数据运算量,提升所述神 经网络模型的运行效率,减少时延。

这里,可以将第一参考数据输入激活函数后获得的输出数据确定为所述输出数据中的与所述第一 参考数据对应的第二参考数据。

在一个实施例中,所述神经网络模型包括多个神经元层,其中,所述神经元层可以是神经网络中 的输入层、输出层和隐含层中的任意一种,也可以是神经网络中隐含层的任一个神经元层,在此不做 具体限定。这里,所述激活函数为在所述神经元层上运行的函数,所述激活函数用于将所述神经元层 的输入映射到输出端。在一个实施例中,所述激活函数可以是以下之一:sigmoid、relu、gelu和tanh。 这里,样本特征可以是输入层、输出层或者隐含层中任意一层对应的样本特征。

在一个实施例中,所述输入数据可以是神经元中输入的特征数据通过加权、求和后获得的数据。 所述输入数据输入所述激活函数后,可以获得所述输出数据。

在一个实施例中,第一参考数据可以包括输入数据中的最大值和最小值;这里,激活函数可以是 单调递增或者递减函数,如此,将第一参考数据输入激活函数后可以获得输出数据的最大值和最小值。 需要说明的是,在一个场景实施例中,在将所述输入数据输入到所述激活函数之前,已经获得所述输 入数据中的最大值和最小值。即,在将所述输入数据输入到所述激活函数之前,已经获得所述输入数 据x中的max(x)和min(x)。

在一个实施例中,激活函数为单调递增函数,则所述激活函数的输出数据的最大值可以表示为:

max(activation(x))=activation(max(x))。

这里,所述激活函数的输出数据的最小值可以表示为:

min(activation(x))=activation(min(x))。

其中,max(x)为输入数据中的最大值;min(x)为输入数据中的最小值;max(activation(x)) 为输出数据中的最大值;min(activation(x))为输出数据中的最小值。需要说明的是,在对所述输出数据 进行良好时,需要基于所述输出数据的最大值和最小值进行量化。

在一个实施例中,采用仿射变换量化方式或者缩放变换量化方式对所述输出数据进行量化。这里, 仿射变换量化方式和缩放变换量化方式需要基于所述输出数据的所述最大值和所述最小值对所述输出 数据进行量化。

在一个实施例中,第一参考数据为a和b,其中,a为输入数据中的最大值,b为输入数据中的最 小值;则将a和b输入激活函数后,可以得到输出数据c和d,其中,c为输出数据中的最大值,d为 输出数据中的最小值。响应于激活函数为递增函数,a与c一一对应,b与d一一对应。在c和d确定 后,就可以基于仿射变换量化方式或者缩放变换量化方式对所有的输出数据进行量化。

在一个实施例中,可以对输入数据按照大小关系进行排序,在对输入数据进行排序后,获得所述 输入数据的所述最大值和最小值。例如,按照从大到小的顺序对输入数据进行排序,则排序完后的首 位输入数据为最大值,末位输入数据为最小值;又例如,按照从小到大的顺序对输入数据进行排序, 则排序完后的首位输入数据为最小值,末位输入数据为最大值。

在一个实施例中,可以对输入数据中的相邻数据逐个进行比对,确定所述最大值和所述最小值。 例如,输入数据包括a、b、c、d、e、f、g、h和i,对a、b、c、d、e、f、g、h和i中的相邻数据进 行逐个比较,确定所述最大值和所述最小值。例如,a和b比较,a大于b,则继续利用b和c进行比 较,以此类推。

在一个实施例中,将所述输入数据分为多个组,分别确定每个组内的最大值和最小值,比较各组 的最大值和最小值的大小,获得最大值和最小值。这样,可以降低获得最大值和最小值的计算复杂度。

例如,输入数据包括a、b、c、d、e、f、g、h和i,将输入数据分为3个组,第一组为a、b和c, 第二组为d、e和f,第三组为g、h和i;第一组的最大值为a,最小值为b;第二组的最大值为e,最 小值为f;第三组的最大值为g,最小值为i;比较a、b、e、f、g和i的大小,其中,a为最大值,g 为最小值,则确定a为输入数据中的最大值,g为输入数据中的最小值。在一个实施例中,在对激活 函数的输出数据进行量化时,需要用到第二参考数据。可以预先确定第二参考数据的取值范围,例如, 第二参考数据为最大值和最小值。在一个实施例中,可以根据第二参考数据的取值范围确定第一参考 数据的取值范围,例如,第二参考数据为最大值和最小值,如果激活函数为单调递增函数或者单调递 减函数,则第一参考数据也为最大值和最小值。需要说明的是,所述第二参考数据也可以是任意用于 所述输出数据量化的参考点的取值。

在一个实施例中,待量化的输出数据可以是浮点数(例如,占32bit的浮点数),量化后的输出数 据可以是整数。如此,可以用占用较小内存空间、更低位的整数表示(例如,占8bit的浮点数)。

在一个实施例中,输出数据中32位的浮点数可以量化为4位的整数或者8位的整数。

在一个实施例中,可以同时获取神经网络模型中激活函数的输入数据中的第一参考数据并将所述 输入数据输入所述激活函数获取输出数据。如此,在获得所述输出数据后,就可以基于所述第一参考 数据,快速确定所述输出数据中的与所述第一参考数据对应的第二参考数据。相较于在获得所述输出 数据后,需要从所述输出数据中通过数据比较等算法确定所述第二参考数据,可以减少数据运算量, 提升所述神经网络模型的运行效率,减少了时延。

在一个实施例中,运行所述神经网络模型的终端为多核终端,所述终端可以并行获取神经网络模 型中激活函数的输入数据中的第一参考数据和将所述输入数据输入所述激活函数获取输出数据,如此, 在获取所述第一参考数据的同时获取到了所述输出数据,相较于在获得所述输出数据后,需要从所述 输出数据中通过数据比较等算法确定所述第二参考数据,可以减少数据运算量,提升所述神经网络模 型的运行效率,减少了时延。

在一个实施例中,在对所述输出数据进行量化时,需要用到所述输出数据的最大值和最小值。

在一个实施例中,终端获取神经网络模型中激活函数的输入数据中的最小值和最大值;将所述输 入数据输入所述激活函数,获取输出数据;基于输入数据中的最小值和最大值,确定所述输出数据中 的与所述最小值和所述最大值分别对应的最小值和最大值;基于所述输出数据中的最大值和最小值, 对所述输出数据进行量化。其中,所述激活函数可以为单调递增函数。

在本公开实施例中,获取神经网络模型中激活函数的输入数据中的第一参考数据;其中,所述输 入数据,包括待输入所述激活函数的样本特征的特征数据;将所述输入数据输入所述激活函数,获取 输出数据;基于所述第一参考数据,确定所述输出数据中的与所述第一参考数据对应的第二参考数据。 相较于不基于所述第一参考数据,在获得所述输出数据后再从所述输出数据中获取第二参考数据的方 式,确定第二参考数据的时间会更短,效率更高。基于所述第二参考数据,对所述输出数据进行量化, 如此,可以提升运算速度并减少消耗的运算资源。

需要说明的是,本领域内技术人员可以理解,本公开实施例提供的方法,可以被单独执行,也可 以与本公开实施例中一些方法或相关技术中的一些方法一起被执行。

在一个实施例中,所述第一参考数据和所述输出数据是同时获取的。

在一个实施例中,所述神经网络模型为图像识别神经网络模型。多核终端并行获取图像识别神经 网络模型中激活函数的输入数据中的第一参考数据和将所述输入数据输入所述激活函数以获取输出数 据;其中,所述输入数据,包括待输入所述激活函数的图像样本特征的待识别图像特征数据;基于所 述第一参考数据,确定所述输出数据中的与所述第一参考数据对应的第二参考数据;基于所述第二参 考数据,对所述输出数据进行量化。这里,由于用于对所述输出数据进行量化的第二参考数据是根据 第一参考数据确定的,而并非从输出数据中按照复杂的预设算法确定的,可以提升所述神经网络模型 的运行效率,快速识别图像。例如,第一参考数据为输入数据的最大值和最小值,第二参考数据为输 入数据的最大值和最小值,本方法可以直接基于第一参考数据经过两次运算获得第二参考数据,相较 于在获得所述输出数据后,需要从所述输出数据中通过数据比较等算法确定所述第二参考数据,可以 减少数据运算量,提升所述神经网络模型的运行效率,减少时延。

在一个实施例中,所述第一参考数据可以是输入数据中的最大值和最小值。所述输出数据可以是 所述输入数据输入所述激活函数后得到的数据。其中,所述输出数据包括所述最大值和所述最小值。

在一个实施例中,可以通过排序的方式获得所述第一参考数据。例如,可以对输入数据按照大小 关系进行排序,在对输入数据进行排序后,获得所述输入数据的所述最大值和所述最小值。

在一个实施例中,可以对输入数据中的相邻数据逐个进行比对,确定所述最大值和所述最小值。

在一个实施例中,可以通过分组后排序的方式获得所述第一参考数据。例如,将所述输入数据分 为多个组,分别确定每个组内的最大值和最小值,比较各组的最大值和最小值的大小,获得所述最大 值和所述最小值。

这里,由于所述最大值、所述最小值和所述输出数据是同时获取的,在获取到输出数据后,可以 根据第一参考数据确定所述最大值和最小值,相较于需要在获取所述输出数据后再通过比较大小的方 式获取所述输出数据的最大值和最小值,可以减少终端的处理时延,提高终端的运算速度。

需要说明的是,本领域内技术人员可以理解,本公开实施例提供的方法,可以被单独执行,也可 以与本公开实施例中一些方法或相关技术中的一些方法一起被执行。

本实施例中提供一种样本特征的处理方法,所述方法,包括:在将所述第一参考数据输入所述激 活函数后,将所述激活函数输出的输出数据确定为所述第二参考数据。在一个实施例中,所述第一参 考数据包括第一最大值和第一最小值。若激活函数为单调递增函数,则第二参考数据也包括与所述第 一最大值对应的第二最大值和与所述第一最小值对应的第二最小值。若激活函数为单调递减函数,则 第二参考数据也包括与所述第一最大值对应的第二最小值和与所述第一最小值对应的第二最大值。需 要说明的是,在一个场景实施例中,在将所述输入数据输入到所述激活函数之前,已经获得所述输入 数据中的最大值和最小值。即,在将所述输入数据输入到所述激活函数之前,已经获得所述输入数据 x中的max(x)和min(x)。

在一个实施例中,由于在将所述第一参考数据输入所述激活函数后就可以快速获得所述第二参考 数据。如此,在快速获得所述第二参考数据后,神经网络模型就可以基于所述第二参考数据对输入神 经网络中激活函数的输入数据的输出数据进行实时量化,例如,每输出一个输出结果y,就可以利用 所述第二参考数据对y进行量化,相较于在将全部输入数据输入所述激活函数获得全部输出数据并在 将所述全部输出数据进行排序获得所述第二参考数据后才能利用所述第二参考数据进行量化的方式, 节省了所述神经网络进行量化的时间,使得所述神经网络的量化处理更加高效。

需要说明的是,本领域内技术人员可以理解,本公开实施例提供的方法,可以被单独执行,也可 以与本公开实施例中一些方法或相关技术中的一些方法一起被执行。在一个实施例中,所述第一参考 数据,包括所述输入数据中的最大值和最小值。

如图7所示,本实施例中提供一种样本特征的处理方法,所述获取神经网络模型中激活函数的输 入数据中的第一参考数据,包括:

步骤71、获取所述神经网络模型中激活函数的输入数据中的最大值和最小值。

在一个实施例中,终端获取神经网络模型中激活函数的输入数据中的最小值和最大值;将所述输 入数据输入所述激活函数,获取输出数据;基于输入数据中的最小值和最大值,确定所述输出数据中 的与所述最小值和所述最大值分别对应的最小值和最大值;基于所述输出数据中的最大值和最小值, 对所述输出数据进行量化。其中,所述激活函数为单调递增函数。由于所述激活函数为单调递增函数, 则可以根据所述输入数据的所述最小值和所述输入数据的最大值就可以确定所述输出数据的最大值和 最小值。

在一个实施例中,可以对输入数据按照大小关系进行排序,在对输入数据进行排序后,获得所述 输入数据的所述最大值和最小值。例如,按照从大到小的顺序对输入数据进行排序,则排序完后的首 位输入数据为最大值,末位输入数据为最小值;又例如,按照从小到大的顺序对输入数据进行排序, 则排序完后的首位输入数据为最小值,末位输入数据为最大值。

在一个实施例中,可以对输入数据中的相邻数据逐个进行比对,确定所述最大值和所述最小值。 例如,输入数据包括a、b、c、d、e、f、g、h和i,对a、b、c、d、e、f、g、h和i中的相邻数据进 行逐个比较,确定所述最大值和所述最小值。例如,a和b比较,a大于b,则继续利用b和c进行比 较,以此类推。

在一个实施例中,将所述输入数据分为多个组,分别确定每个组内的最大值和最小值,比较各组 的最大值和最小值的大小,获得最大值和最小值。这样,可以降低获得最大值和最小值的计算复杂度。

例如,输入数据包括a、b、c、d、e、f、g、h和i,将输入数据分为3个组,第一组为a、b和c, 第二组为d、e和f,第三组为g、h和i;第一组的最大值为a,最小值为b;第二组的最大值为e,最 小值为f;第三组的最大值为g,最小值为i;比较a、b、e、f、g和i的大小,其中,a为最大值,g 为最小值,则确定a为输入数据中的最大值,g为输入数据中的最小值。

需要说明的是,本领域内技术人员可以理解,本公开实施例提供的方法,可以被单独执行,也可 以与本公开实施例中一些方法或相关技术中的一些方法一起被执行。

在一个实施例中,所述激活函数为单调递增函数或者单调递减函数。

例如,所述激活函数为单调递增函数。在一个实施例中,所述激活函数可以是以下之一:sigmoid、 relu、gelu和tanh。

在一个实施例中,所述激活函数为单调递增函数;终端获取神经网络模型中激活函数的输入数据 中的最小值和最大值;将所述输入数据输入所述激活函数,获取输出数据;基于输入数据中的最小值 和最大值,确定所述输出数据中的与所述最小值和所述最大值分别对应的最小值和最大值;基于所述 输出数据中的最大值和最小值,对所述输出数据进行量化。

在一个实施例中,所述激活函数为单调递减函数;终端获取神经网络模型中激活函数的输入数据 中的最小值和最大值;将所述输入数据输入所述激活函数,获取输出数据;基于输入数据中的最小值 和最大值,确定所述输出数据中的与所述最小值和所述最大值分别对应的最大值和最小值;基于所述 输出数据中的最大值和最小值,对所述输出数据进行量化。

需要说明的是,本领域内技术人员可以理解,本公开实施例提供的方法,可以被单独执行,也可 以与本公开实施例中一些方法或相关技术中的一些方法一起被执行。

如图8所示,本实施例中提供一种样本特征的处理方法,所述输出数据的位宽为第一位宽;所述 方法,包括:

步骤81、将所述输出数据输入量化映射函数,获得量化后的输出数据;

其中,所述量化映射函数,用于将第一位宽的数据量化为第二位宽的数据;所述第一位宽大于所 述第二位宽;所述量化映射函数的量化参考点包括所述第二参考数据中的最大值和最小值。

这里,所述第二参考数据可以包括所述激活函数输出的最大值和最小值。需要说明的是,在利用 所述量化映射函数对数据进行量化时,需要首先获得该数据中的至少两个量化参考点,例如,前述实 施例中的α和β。

这里,第一位宽可以是数据被量化前所占用的比特位的位数。例如,占用32位。这里,第二位宽 可以是数据被量化后所占用的比特位的位数。例如,占用8位。

需要说明的是,在某些场景实施例中,第二位宽还可以被定义为量化位宽。这里,量化位宽可以 是所述输出数据被量化后的数据所占用的比特位的位数。例如,所述输出数据为32位的浮点数,量化 后的所述输出数据为8位的整型数据,则量化位宽为8位。

在一个实施例中,所述神经网络模型为语音识别神经网络模型。获取语音识别神经网络模型中激 活函数的输入数据中的第一参考数据;其中,所述输入数据,包括待输入所述激活函数的语音样本特 征的待识别语音特征数据;将所述输入数据输入所述激活函数,获取输出数据;基于所述第一参考数 据,确定所述输出数据中的与所述第一参考数据对应的第二参考数据;基于所述第二参考数据,采用 仿射变换量化方式对所述输出数据进行量化。这里,由于用于对所述输出数据进行量化的第二参考数 据是根据第一参考数据确定的,而并非从输出数据中按照复杂的预设算法确定的,可以提升所述神经 网络模型的运行效率。例如,第一参考数据为输入数据的最大值和最小值,第二参考数据为输入数据 的最大值和最小值,本方法可以直接基于第一参考数据经过两次运算获得第二参考数据,相较于在获 得所述输出数据后,需要从所述输出数据中通过数据比较等算法确定所述第二参考数据,并进行量化 处理,这可以减少数据运算量,提升所述神经网络模型的运行效率,减少时延。

在一个实施例中,所述神经网络模型为文字识别神经网络模型。获取文字识别神经网络模型中激 活函数的输入数据中的第一参考数据;其中,所述输入数据,包括待输入所述激活函数的文字样本特 征的待识别文字特征数据;将所述输入数据输入所述激活函数,获取输出数据;基于所述第一参考数 据,确定所述输出数据中的与所述第一参考数据对应的第二参考数据;基于所述第二参考数据,采用 缩放变换量化方式对所述输出数据进行量化。这里,由于用于对所述输出数据进行量化的第二参考数 据是根据第一参考数据确定的,而并非从输出数据中按照复杂的预设算法确定的,可以提升所述神经 网络模型的运行效率。例如,第一参考数据为输入数据的最大值和最小值,第二参考数据为输入数据 的最大值和最小值,本方法可以直接基于第一参考数据经过两次运算获得第二参考数据,相较于在获 得所述输出数据后,需要从所述输出数据中通过数据比较等算法确定所述第二参考数据,可以减少数 据运算量,提升所述神经网络模型的运行效率,减少时延。这里,所述映射函数用于对待量化的所述 输出数据进行量化。这里,不同的所述量化位数可以对应不同的量化映射函数。例如,量化位宽为4 位时,对应的所述映射函数为第一映射函数;量化位宽为8位时,对应的映射函数为第二映射函数。

在一个实施例中,量化位宽是根据所述神经网络模型所在终端的运行环境确定的。例如,响应于 所述运行环境支持8位量化,所述量化位宽可以为8位;响应于运行环境支持4位量化,所述量化位 宽可以为4位。

在一个实施例中,输出数据以32位的浮点型数据格式存储在存储区域中。

在一个实施例中,响应于运行环境支持8位量化,对所述输出数据进行量化,包括:将32位的所 述输出数据量化为8位的所述输出数据;响应于运行环境支持4位量化,对所述输出数据进行量化, 包括:将32位的所述输出数据量化为4位的所述输出数据。

在一个实施例中,根据所述输出结果的信息准确度确定所述位宽阈值。

在一个实施例中,响应于所述输出结果的信息准确度要求小于准确度阈值,所述量化位宽大于位 宽阈值;响应于所述输出结果的信息准确度要求大于准确度阈值,所述量化位宽小于位宽阈值。

这里,需要说明的是,对待量化的神经网络模型中的数据进行量化主要是压缩待量化的神经网络 模型的数据,压缩的过程将待量化的神经网络模型中占用较多位数的数据(比如32bit)转换为用占用 较小内存空间、更少位数的数据(比如8bit)表示,从而在不影响量化的神经网络模型准确率的情况 下,使待量化的神经网络模型的内部采用比较简单数值类型进行计算,计算速度会提高很多,消耗的 计算资源会大大减小。

需要说明的是,本领域内技术人员可以理解,本公开实施例提供的方法,可以被单独执行,也可 以与本公开实施例中一些方法或相关技术中的一些方法一起被执行。

如图9所示,本实施例中提供一种样本特征的处理装置,所述装置,包括获取模块91、确定模块 92和量化模块93;其中,

所述获取模块91,用于:获取神经网络模型中激活函数的输入数据中的第一参考数据;其中,所 述输入数据,包括待输入所述激活函数的样本特征的特征数据;将所述输入数据输入所述激活函数, 获取所述激活函数的输出数据;

所述确定模块92,用于:基于所述第一参考数据,确定所述输出数据中的与所述第一参考数据对 应的第二参考数据;

所述量化模块93,用于:基于所述第二参考数据,对所述输出数据进行量化。

在一个实施例中,所述获取模块91,还用于:所述第一参考数据和所述输出数据是同时获取的。

在一个实施例中,所述确定模块,还被配置为:

在将所述第一参考数据输入所述激活函数后,将所述激活函数输出的输出数据确定为所述第二参 考数据。

在一个实施例中,所述获取模块91,还用于:所述第一参考数据包括所述输入数据中的最大值和 最小值。

在一个实施例中,所述获取模块91,还用于所述激活函数为单调递增函数或者单调递减函数。

在一个实施例中,所述第一参数包括所述输入数据中的最大值和最小值;所述第二参考数据包括 所述输出数据中的最大值和最小值。

在一个实施例中,所述量化模块93,还用于将所述第二参考数据作为所述输出数据的量化参考点, 基于根据量化位宽确定的量化映射函数对所述输出数据进行量化。

关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行 了详细描述,此处将不做详细阐述说明。

本公开实施例还提供一种通信设备,包括:

天线;

存储器;

处理器,分别与天线及存储器连接,用于通过执行存储在存储器上的可执行程序,控制天线收发 无线信号,并能够执行前述任意实施例提供的无线网络接入方法的步骤。

本实施例提供的通信设备可为前述的终端或基站。该终端可为各种人载终端或车载终端。基站可 为各种类型的基站,例如,4G基站或5G基站等。

天线可为各种类型的天线、例如,3G天线、4G天线或5G天线等移动天线;天线还可包括:WiFi 天线或无线充电天线等。

存储器可包括各种类型的存储介质,该存储介质为非临时性计算机存储介质,在通信设备掉电之 后能够继续记忆存储其上的信息。

处理器可以通过总线等与天线和存储器连接,用于读取存储器上存储的可执行程序,例如,本公 开任一个实施例所示方法的至少其中之一。

本公开实施例还提供一种非临时性计算机可读存储介质,非临时性计算机可读存储介质存储有可 执行程序,其中,可执行程序被处理器执行时实现前述任意实施例提供的无线网络接入方法的步骤, 例如,本公开任一个实施例所示方法的至少其中之一。

关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行 了详细描述,此处将不做详细阐述说明。

图10是根据一示例性实施例示出的一种用于电子设备600的框图。例如,电子设备600可以是移 动电话,计算机,数字广播终端,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个 人数字助理等。

参照图10,电子设备600可以包括以下一个或多个组件:处理组件602,存储器604,电源组件 606,多媒体组件608,音频组件610,输入/输出(I/O)的接口612,传感器组件614,以及通信组件 616。

处理组件602通常控制电子设备600的整体操作,诸如与显示,电话呼叫,数据通信,相机操作 和记录操作相关联的操作。处理组件602可以包括一个或多个处理器820来执行指令,以完成上述的 方法的全部或部分步骤。此外,处理组件602可以包括一个或多个模块,便于处理组件602和其他组 件之间的交互。例如,处理组件602可以包括多媒体模块,以方便多媒体组件608和处理组件602之 间的交互。

存储器604被配置为存储各种类型的数据以支持在设备600的操作。这些数据的示例包括用于在 电子设备600上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。 存储器604可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储 器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编 程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。

电源组件606为电子设备600的各种组件提供电力。电源组件606可以包括电源管理系统,一个 或多个电源,及其他与为电子设备600生成、管理和分配电力相关联的组件。

多媒体组件608包括在所述电子设备600和用户之间的提供一个输出接口的屏幕。在一些实施例 中,屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现 为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触 摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑 动操作相关的持续时间和压力。在一些实施例中,多媒体组件608包括一个前置摄像头和/或后置摄像 头。当设备600处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部 的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦 能力。

音频组件610被配置为输出和/或输入音频信号。例如,音频组件610包括一个麦克风(MIC), 当电子设备600处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部 音频信号。所接收的音频信号可以被进一步存储在存储器604或经由通信组件616发送。在一些实施 例中,音频组件610还包括一个扬声器,用于输出音频信号。

I/O接口612为处理组件602和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点 击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。

传感器组件614包括一个或多个传感器,用于为电子设备600提供各个方面的状态评估。例如, 传感器组件614可以检测到设备600的打开/关闭状态,组件的相对定位,例如所述组件为电子设备 600的显示器和小键盘,传感器组件614还可以检测电子设备600或电子设备600一个组件的位置改 变,用户与电子设备600接触的存在或不存在,电子设备600方位或加速/减速和电子设备600的温度 变化。传感器组件614可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存 在。传感器组件614还可以包括光传感器,如CMOS或CCD图像传感器,用于在成像应用中使用。 在一些实施例中,该传感器组件614还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感 器或温度传感器。

通信组件616被配置为便于电子设备600和其他设备之间有线或无线方式的通信。电子设备600 可以接入基于通信标准的无线网络,如WiFi,2G或3G,或它们的组合。在一个示例性实施例中,通 信组件616经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施 例中,所述通信组件616还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于 射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其 他技术来实现。

在示例性实施例中,电子设备600可以被一个或多个应用专用集成电路(ASIC)、数字信号处理 器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控 制器、微控制器、微处理器或其他电子元件实现,用于执行上述方法。

在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存 储器604,上述指令可由电子设备600的处理器820执行以完成上述方法。例如,所述非临时性计算 机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。

本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实施方案。本 申请旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明 的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被 视为示例性的,本发明的真正范围和精神由下面的权利要求指出。

应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离 其范围进行各种修改和改变。本发明的范围仅由所附的权利要求来限制。

21页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种基于贝叶斯优化的BiLSTM电压偏差预测方法

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!