神经网络量化方法及装置制造方法及图纸

技术编号:21158105 阅读:56 留言:0更新日期:2019-05-22 07:48
一种通过对输入人工神经网络(ANN)进行量化来产生输出人工神经网络的人工神经网络量化方法包括:通过对所述输入人工神经网络的第一参数进行量化来获得第二参数;从其中已对所述输入人工神经网络应用所获得的所述第二参数的中间人工神经网络获得样本分布;以及通过对所获得的所述样本分布进行量化来获得所述样本分布的小数长度。也提供一种神经网络量化装置及非暂时性计算机可读记录介质。

Neural Network Quantization Method and Device

An artificial neural network quantization method for generating output artificial neural network by quantifying the input artificial neural network (ANN) includes: obtaining the second parameter by quantifying the first parameter of the input artificial neural network; obtaining the sample distribution from the intermediate artificial neural network in which the second parameter obtained from the application of the input artificial neural network has been applied. The decimal length of the sample distribution is obtained by quantifying the obtained sample distribution. A neural network quantization device and a non-temporary computer readable recording medium are also provided.

【技术实现步骤摘要】
神经网络量化方法及装置[相关申请的交叉参考]本申请主张在2017年11月13日在韩国知识产权局提出申请的韩国专利申请第10-2017-0150707号的优先权,所述韩国专利申请的公开内容全文并入本申请供参考。
根据一个或多个示例性实施例的装置及方法涉及一种人工神经网络,且更具体来说,涉及一种用于对人工神经网络进行量化的方法及装置。
技术介绍
人工神经网络(artificialneuralnetwork,ANN)可指用于产生人工神经元(或神经元模型)的互连集合的计算器件或由计算器件执行的方法。人工神经元可通过对输入数据执行简单的运算来产生输出数据,且输出数据可被传送到其他人工神经元。作为人工神经网络的实例,深度神经网络(deepneuralnetwork,DNN)或深度学习架构可具有多层式结构。人工神经网络的各个层可具有参数,且可通过根据多个样本对各个层中的每一者进行训练来产生多个样本分布。
技术实现思路
一个或多个示例性实施例的各个方面提供用于以高的准确性对人工神经网络(ANN)进行量化的方法及装置。根据示例性实施例的一方面,提供一种通过对输入人工神经网络(ANN)进行量化来产生输出人工神经网络的人工神经网络量化方法,所述人工神经网络量化方法包括:通过对所述输入人工神经网络的第一参数进行量化来获得第二参数;从其中已对所述输入人工神经网络应用所获得的所述第二参数的中间人工神经网络获得样本分布;以及通过对所获得的所述样本分布进行量化来获得所获得的所述样本分布的小数长度。根据另一个示例性实施例的一方面,提供一种通过对输入人工神经网络(ANN)进行量化来产生输出人工神经网络的装置,所述装置包括:存储器,存储计算机可执行指令;以及至少一个处理器,被配置成执行所存储的所述计算机可执行指令以实行:参数量化器,被配置成通过对所述输入人工神经网络的第一参数进行量化来获得第二参数;神经网络接口,被配置成从其中已对所述输入人工神经网络应用所获得的所述第二参数的中间人工神经网络获得样本分布;以及样本量化器,被配置成获得所获得的所述样本分布的小数长度。根据另一个示例性实施例的一方面,提供一种对浮点神经网络进行量化的方法,所述方法包括:通过对所述浮点神经网络中同一类别中的参数进行量化来获得量化参数;从其中已对所述浮点神经网络应用所获得的所述量化参数的半固定点人工神经网络(ANN)获得样本分布;以及获得所获得的所述样本分布的小数长度。根据另一个示例性实施例的一方面,提供一种对浮点神经网络(ANN)进行量化的装置,所述装置包括:存储器,存储计算机可执行指令;以及至少一个处理器,被配置成执行所存储的所述计算机可执行指令以实行:参数量化器,被配置成通过对所述浮点神经网络中同一类别中的参数进行量化来获得量化参数;神经网络接口,被配置成从其中已对所述浮点神经网络应用所获得的所述量化参数的半固定点人工神经网络(ANN)获得样本分布;以及样本量化器,被配置成获得所获得的所述样本分布的小数长度。根据另一个示例性实施例的一方面,提供一种上面记录有程序的非暂时性计算机可读记录介质,所述程序能够由计算机执行来执行上述人工神经网络量化方法方法。根据另一个示例性实施例的一方面,提供一种上面记录有程序的非暂时性计算机可读记录介质,所述程序能够由计算机执行来执行上述对浮点神经网络进行量化的方法。附图说明结合附图阅读以下详细说明,将更清楚地理解一个或多个示例性实施例,在附图中:图1是根据示例性实施例的量化系统及神经网络系统的方块图。图2是示出根据示例性实施例的人工神经网络(ANN)的实例的图。图3是根据示例性实施例的对人工神经网络进行量化的方法的流程图。图4是根据示例性实施例的图3所示操作S200的实例的流程图。图5是根据示例性实施例的图3所示操作S600的实例的流程图。图6A至图6C示出根据示例性实施例的图5所示操作S620的实例。图7是根据示例性实施例的图5所示操作S660的实例的流程图。图8是根据示例性实施例的图3所示操作S680的实例的流程图。图9是根据示例性实施例的图8所示操作S682的实例的流程图。图10A及图10B是根据一个或多个示例性实施例的图8所示操作S684的实例的流程图。图11是根据示例性实施例的计算系统的方块图。图12是根据示例性实施例的移动计算器件的方块图。[符号的说明]20:深度神经网络;100:量化系统;120:神经网络接口;140:参数量化器;160:样本量化器;200:神经网络系统;300:计算系统;310:系统存储器;312:程序;330:处理器;350:存储装置;370:输入/输出器件;390:通信连接;400:移动计算器件;410:存储器子系统;412:随机存取存储器;414:存储装置;430:输入/输出器件;450:处理单元;452:中央处理器;454:图形处理单元;456:数字信号处理器;458:神经处理单元;470:网络接口;490:总线;B:偏置量集合;b1~bq:偏置量;CH11~CH1x、CH21~CH2y、CH31~CH3z:信道;CPD1:连续机率分布/第一连续机率分布;CPD2:连续机率分布/第二连续机率分布;CPDj:连续机率分布;Djgran:粒度畸变;Djover:过载畸变;FLi:第i个小数长度;FLpar、FLsam:小数长度;FL_SET:候选小数长度集合;L1:第一层/层;L2:第二层/层;L3~Ln:第三层~第n层/层;RES:结果;S200、S200'、S210、S220、S230、S240、S250、S260、S400、S600、S600'、S620、S640、S660、S660'、S662、S664、S680、S680'、S682、S682'、S684、S682_2、S682_4、S684a、S684_2a、S684_4a、S684b、S684_2b、S684_4b、S684_6b:操作;SAM:样本;SD:样本分布;SG1:样本群组/第一样本群组;SG2:样本群组/第二样本群组;SGj:样本群组;T:阈值集合;t1~tr:阈值;W:权重集合;w1~wp:权重;Δ1:第一步长/步长;Δ2:第二步长/步长;Δj:步长。具体实施方式在下文中,将结合附图详细阐述一个或多个示例性实施例,其中在通篇中相同的参考编号指代相同的元件。本文中所用的用语“及/或(and/or)”包括相关列出项中的一个或多个项的任意及所有组合。相似地,当例如“…中的至少一个”等表达位于一系列元件之后时,所述表达修饰整个系列元件而不是修饰所述系列中的单个元件。图1是根据示例性实施例的量化系统100及神经网络系统200的方块图。神经网络系统200可提供人工神经网络(ANN),且量化系统100可对神经网络系统200提供的人工神经网络进行量化并向神经网络系统200提供至少一部分已被量化的人工神经网络。人工神经网络可指根据形成动物大脑的生物神经网络启发得到的计算系统。不同于根据预定义的条件来执行任务的经典算法(例如,基于规则的编程),人工神经网络可通过考虑多个样本(或实例)来学习执行任务。人工神经网络可具有其中人工神经元(或神经元)连接到彼此的结构。各个神经元之间的连接可被称为突触(synapse)。神经元中的每一者可本文档来自技高网...

【技术保护点】
1.一种通过对输入人工神经网络进行量化来产生输出人工神经网络的人工神经网络量化方法,其特征在于,所述人工神经网络量化方法包括:通过对所述输入人工神经网络的第一参数进行量化来获得第二参数;从其中已对所述输入人工神经网络应用所获得的所述第二参数的中间人工神经网络获得样本分布;以及通过对所获得的所述样本分布进行量化来获得所获得的所述样本分布的小数长度。

【技术特征摘要】
2017.11.13 KR 10-2017-01507071.一种通过对输入人工神经网络进行量化来产生输出人工神经网络的人工神经网络量化方法,其特征在于,所述人工神经网络量化方法包括:通过对所述输入人工神经网络的第一参数进行量化来获得第二参数;从其中已对所述输入人工神经网络应用所获得的所述第二参数的中间人工神经网络获得样本分布;以及通过对所获得的所述样本分布进行量化来获得所获得的所述样本分布的小数长度。2.根据权利要求1所述的人工神经网络量化方法,其特征在于,获得所述第二参数包括:通过根据给定的小数长度对所述第一参数进行量化来获得量化参数,并计算所述第一参数与所获得的所述量化参数之间的量化误差;基于所计算的所述量化误差来计算所述给定的小数长度的评估值;以及基于与多个小数长度对应的多个评估值来获得所述第二参数的最终小数长度。3.根据权利要求2所述的人工神经网络量化方法,其特征在于,计算所述评估值包括计算所计算的所述量化误差的平方和作为所述评估值;以及获得所述最终小数长度包括确定与所述多个评估值中的最小评估值对应的小数长度作为所述最终小数长度。4.根据权利要求1所述的人工神经网络量化方法,其特征在于,所述输入人工神经网络包括多个层及多个信道,所述多个层及所述多个信道各自具有至少一个参数;以及所述第一参数包括所述多个层及所述多个信道中的每一者的所述至少一个参数中的一个或多个参数。5.根据权利要求4所述的人工神经网络量化方法,其特征在于,所述第一参数包括权重、偏置量、及阈值中的至少一者。6.根据权利要求1所述的人工神经网络量化方法,其特征在于,获得所获得的所述样本分布的所述小数长度包括:将所获得的所述样本分布分离成多个样本群组;将所述多个样本群组分别近似到多个连续机率分布;基于所述多个样本群组及所述多个连续机率分布来获得多个步长;以及基于所获得的所述多个步长来选择所述小数长度。7.根据权利要求6所述的人工神经网络量化方法,其特征在于,将所获得的所述样本分布分离成所述多个样本群组包括:将所获得的所述样本分布分离成包括负样本及零的第一样本群组及包括正样本的第二样本群组。8.根据权利要求6所述的人工神经网络量化方法,其特征在于,将所述样本分布分离成所述多个样本群组包括:将所述样本分布分离成第一样本群组、及第二样本群组;且所述第一样本群组包括负样本,且所述第二样本群组包括零及正样本。9.根据权利要求6所述的人工神经网络量化方法,其特征在于,将所述样本分布分离成所述多个样本群组包括将所述样本分布分离成第一样本群组及第二样本群组;以及所述第一样本群组包括负样本,且所述第二样本群组包括正样本。10.根据权利要求6所述的人工神经网络量化方法,其特征在于,将所述多个样本群组近似包括将所述多个样本群组中的每一者近似到广义伽玛分布、高斯分布或拉普拉斯分布。11.根据权利要求6所述的人工神经网络量化方法,其特征在于,获得所述多个步长包括:根据所述多个连续机率分布中的每一者的步长来获得过载畸变及粒度畸变;以及基于所获得的所述过载畸变及所获得的所述粒度畸变来获得所述多个步长中的每一者。12.根据权利要求6所述的人工神经网络量化方法,其特征在于,选择所述小数长度包括:基于所获得的所述多个步长来获得候选小数长度;以及从所获得的所述候选小数长度中选择一个候选小数长度作为所述小数长度。13.根据权利要求12所述的人工神经网络量化方法,其特征在于,获得所述候选小数长度包括:获得与所获得的所述多个步长相邻的步长对应的小数长度;以及基于所获得的所述小数长度来确定小数长度的范围。14.根...

【专利技术属性】
技术研发人员:金度润任汉永金炳秀成乐祐林钟汉河相赫
申请(专利权)人:三星电子株式会社
类型:发明
国别省市:韩国,KR

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

1