【技术实现步骤摘要】
【国外来华专利技术】量化神经网络的有效初始化
技术介绍
[0001]本公开中描述的一些实施例涉及执行神经网络的计算机化系统,更具体地,但不仅限于,使用量化值执行神经网络的计算机化系统。
[0002]术语神经网络通常用于描述模拟人类大脑和神经系统的计算机系统。神经网络通常涉及大量并行操作并且在层(或级(tiers))中排列和连接的处理对象。第一层接收类似于人类视觉处理中的视神经或人类声音处理中的听觉受体神经元的原始输入信息(一个或多个输入值)。每一个连续的层接收来自它之前的一个或多个层的输出,而不是来自原始输入——类似于远离视神经或听觉受体神经元的神经元接收来自靠近视神经或听觉受体神经元的神经元的信号。最后一层产生神经网络的输出。例如,在计算机视觉中,原始输入信息可以是一个或多个图像,输出可以是在图像中检测到的一个或多个特征分类。在用于回归的神经网络系统中,输出可以是根据原始输入信息中的一个或多个值计算的预测值。深度神经网络中的术语“深度”是指这种神经网络中的层数。神经网络层中的典型计算包括对输入值和相关权重的多个乘积求和,并将所得总和(有时称为激活值)映射到输出值。所得总和到输出值的映射可以是非线性变换,有时称为“激活函数”,在该值上完成,并表示由所得总和表示的信息是与给定输入相关还是应该被忽略。这种计算有时被称为“前向传递”或“前向传播”。训练神经网络是指根据输入值集合的计算输出值和预期输出值之间的误差项来调整神经网络的多层的多个权重值的过程,使得在下一次迭代中,计算输出值将比前一次迭代更接近已知的预期输出值。训练神经网络的目的是找到多个训练的权重值, ...
【技术保护点】
【技术特征摘要】
【国外来华专利技术】1.一种用于训练量化神经网络的系统(200),包括处理单元(201),所述处理单元(201)适于:将训练后量化方法(110)应用(301)于训练的神经网络(101)的全精度权重值集合(102),以计算量化权重值集合(111);使用所述量化权重值集合初始化(305)神经网络的模型权重值集合;以及使用量化训练方法(130)训练(330)所述神经网络(135)以产生训练的量化权重值集合(141)。2.根据权利要求1所述的系统,其中,所述神经网络包括多个层,每个层与所述训练的神经网络的多个训练的层之一相关联;其中,对于所述多个层中的每一层,所述处理单元还适于:将训练后激活量化方法应用(313)于从所述训练的神经网络的相应层提取的全精度层激活值集合(102),以计算优选层偏移值(111)和优选层激活饱和因子(111);使用所述优选层偏移值初始化(315)所述层的层偏移值;使用所述优选层激活饱和因子初始化(316)所述层的层激活饱和因子;以及训练(330)所述神经网络以进一步产生训练的量化层激活偏移值和训练的量化层激活饱和因子。3.根据前述权利要求中任一项所述的系统,其中,将所述训练后量化方法应用(301)到所述全精度权重值集合以进一步计算至少一个缩放因子;以及其中,将所述训练后量化方法应用(301)到所述全精度权重值集合包括:计算(401)量化权重值的优选集合和至少一个优选缩放因子,其最小化所述全精度权重值集合和使用所述量化权重值的优选集合和所述至少一个优选缩放因子计算的重建权重值集合之间的均方差;以及分别使用(402)所述量化权重值的优选集合和所述至少一个缩放因子作为所述量化权重值的集合和所述至少一个缩放因子。4.根据前述权利要求中任一项所述的系统,其中,将所述训练后量化方法应用(301)到所述全精度权重值集合以进一步计算至少一个缩放因子;其中,使用所述量化训练方法(330)包括在多个训练迭代的每一个中将量化前向传递卷积方法(500)应用于所述模型权重值集合,包括:将所述量化训练方法的量化方法应用(501)到所述模型权重值集合,以产生量化模型权重值集合和至少一个模型缩放因子;以及将前向传递卷积方法应用(510)到所述量化模型权重值集合和所述至少一个模型缩放因子;以及其中,所述处理单元还适于:使用所述量化权重值集合和所述至少一个缩放因子以计算(303)调整后的量化权重值集合(121)和至少一个调整后的缩放因子(121),使得将所述训练神经网络的全精度前向传递卷积方法应用到所述量化权重值集合(111)和所述至少一个缩放因子(111)的全精度结果等于将所述量化前向传递卷积方法应用到所述调整后的量化权重值集合(121)和所述至
少一个调整后的缩放因子(121)的量化结果;以及当初始化(305)所述神经网络的模型权重值集合时,使用所述调整后的量化权重值集合代替所述量化权重值集合。5.根据权利要求4所述的系统,其中,将所述量化训练方法的量化方法应用(501)到所述模型权重值集合包括对于所述模型权重值集合中的每一个模型权重值,计算(600)所述量化模型权重值集合中的一个量化模型权重值,包括:通过从标识的整数位精度值中减去1来计算(601)精度幂值,所述精度幂值指示所述量化方法的精度;将所述模型权重值乘以(602)2,得到所述精度幂值的幂,以产生扩展的权重值;通过将所述扩展的权重值舍入到最接近的整数来计算(603)舍入项;通过在饱和范围内剪切所述舍入项来计算(604)剪切项;以及将所述剪切项除以(605)2,得到所述精度幂值的幂,以产生所述模型权重值的相应量化模型权重值;其中,使用所述量化训练方法(330)还包括在所述多个训练迭代的每一个中将量化后向传递更新方法应用于所述模型权重值集合,包括:根据所述量化模型权重值集合、识别的目标函数和使用所述神经网络执行所述多个训练迭代中的至少一些的结果,计算(701)量化权重梯度值集合,每个权重梯度值与所述模型权重值集合中的一个模型权重值相关联;以及将所述量化权重梯度值集合中的每一个量化权重梯度值乘以(702)将指示函数应用于与其相关联的相应权重值的结果,以产生梯度值集合;其中,计算(303)调整后的量化权重值集合包括将每个量化权重值除以(710)2,得到所述精度幂值的幂;以及其中,计算(303)所述至少一个调整后的缩放因子包括将所述至少一个缩放因子乘以(720)2,得到所述精度幂值的幂。6.根据权利要求4或5所述的系统,其中,所述处理单元还适于从训练和验证所述神经网络时使用的多个输入实例中选择(311)多个校准实例;以及其中,将所述训练后激活量化方法应用(313)到所述全精度层激活值集合包括:识别(801)多个层校准激活值集合,当由所述神经网络处理相应的校准实例时,针对所述多个校准实例中的一个来识别每个层校准激活值集合;计算(803)所述优选层偏移值,包括:通过在处理所述校准实例时为多个校准实例中的每一个识别所述层的相应层校准激活值集合的最小值,来识别(821)多个最小校准值;以及计算(823)所述多个最小校准值的平均值,以产生所述优选层偏移值;以及通过识别最小化所述多个层校准激活值集合和多个量化层校准激活值集合之间的总均方差的层激活饱和因子来计算(805)所述优选层激活饱和因子,所述计算使用所述层激活饱和因子、所述多个层校准激活值和所述优选层偏移值来进行,包括:通过为所述多个校准实例中的每一个计算校准实例误差来计算(831)多个校准实例误
差,包括:通过从所述标识的整数位精度值的2次幂的结果中减去1来计算(841)量化极限值;通过将所述量化极限值除以所述层激活饱和因子来计算(842)扩展项;通过从每个校准实例的相应层校准激活值集合中减去所述优选层偏移值来计算(843)移位值集合;通过将所述移位值集合中的每一个移位值乘以所述扩展项来计算(844)扩展项集合;通过使所述扩展项集合中的每一个扩展项饱和到识别的量化范围来计算(845)饱和项集合;通过将所述饱和项集合中的每一个饱和项舍入到最接近的整数值来计算(846)舍入项集合;通过将所述舍入项集合中的每一个舍入项除以所述扩展项来计算(...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。