CN110874626A - 一种量化方法及装置 - Google Patents
一种量化方法及装置 Download PDFInfo
- Publication number
- CN110874626A CN110874626A CN201811022762.6A CN201811022762A CN110874626A CN 110874626 A CN110874626 A CN 110874626A CN 201811022762 A CN201811022762 A CN 201811022762A CN 110874626 A CN110874626 A CN 110874626A
- Authority
- CN
- China
- Prior art keywords
- channel
- channels
- group
- neural network
- grouped
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
一种量化方法及装置,用以提出一种在硬件设计友好的前提下,保证量化后的精度损失较小的通用的量化方法。在该方法中,读取一个神经网络中N个通道分别对应的权重,将N个通道分成F组,根据每组中包含的通道分别对应的权重确定该组的量化系数,根据量化系数对该组对应的权重进行量化;每组中包含至少一个通道,且至少一个组中包含的多个通道属于神经网络的至少两个层,F为小于N的正整数。这样,针对神经网络中所有层的通道作为一个整体进行分组,且分的组中存在包含不同层中的通道,这样可以打破现有技术中只能考虑单层分组的局限性,可以提高量化精度;并且,分的组比现有的分组的数量少的多,进而量化时在硬件上可以减少成本消耗。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种量化方法及装置。
背景技术
大数据和人工智能时代的到来,推动着数据处理的革命性变化,人们不仅提出了对精确度的高要求,更在精确的基础上扩展出了实时、低功耗、智能等要求。随着发展,通过神经网络进行数据处理越来越广泛应用。
从存储的角度看,现有的神经网络都是采用浮点型进行存储的,一个神经网络模型一般需要几十兆至上百兆的存储资源,就其模型尺寸来说,很难移植到手机等终端设备进行使用。从计算的角度,一个神经网络需要进行大量的乘、加等运算,在一些对实时性要求比较高的应用场景,很难满足他们的需求。例如自动驾驶场景,需要多个神经网络同时进行计算。从硬件的角度,现有的神经网络只能够运行在以浮点型数据运算的CPU、GPU上。在消耗更小,运算更快的可定制FPGA平台进行神经网络算法的实现时,考虑到硬件资源等限制条件,浮点数的运算必须转变为更低存储的定点数。因此,将模型的浮点型数据量化为定点化的整型数据成为一个重要的研究方向。
目前常用的神经网络的量化方法,主要是首先统计每一层神经网络的权重值,并每一层根据权重的最大值确定该层权重值对应的量化系数。在计算每一层输出的特征图(feature map)时,首先对权重矩阵乘以对应的量化系数,得到量化权重矩阵,然后将上一层的feature map与量化权重进行卷积,在得到结果后,再除以相应的量化系数还原原来的数据值,进而完成量化。
显然,上述方法只机械考虑每一层的权重分布,即每一层对应一个量化方案,但是由于每层神经网络对应的多个权重之间的差异不确定,采用同一种量化方案不能保证量化后的精度;又由于神经网络层数巨大,可能有成百上千层,每一层对应一个量化方案的话可能在硬件上实现成本较大。因此,上述量化方法可用性较差。
综上,提出一种在硬件设计友好的前提下,保证量化后的精度损失较小的量化方法是一个亟需解决的问题。
发明内容
本申请提供一种量化方法及装置,用以提出一种在硬件设计友好的前提下,保证量化后的精度损失较小的通用的量化方法。
第一方面,本申请提供了一种量化方法,通过读取一个神经网络中N个通道分别对应的权重,将所述N个通道分成F组,根据每组中包含的通道分别对应的权重,确定该组的量化系数,并根据所述量化系数对该组对应的权重进行量化;其中所述神经网络的M层的每一层包含至少一个通道,每个通道对应至少一个权重,N为大于1的整数,M为大于1的整数;每组中包含至少一个通道,且至少一个组中包含的多个通道属于所述神经网络的至少两个层,F为小于N的正整数。
通过上述方法,针对神经网络中所有层的通道作为一个整体进行分组,且分的组中存在包含不同层中的通道,这样可以打破现有技术中只能考虑单层分组的局限性,可以提高量化精度;并且,通过上述方法分的组要比现有的分组的数量少的多,也即量化方案可以相对于现有技术少的多,进而量化时在硬件上可以减少成本消耗。
在一种可能的设计中,将所述N个通道分成F组时,具体方法可以为:在所述N个通道中确定F-1个分割点,并根据所述F-1个分割点对所述N个通道进行分组,得到F组,其中任一个分割点为相邻两组中分界处的相邻两个通道中的任一个。
通过上述方法,可以准确地将所述N个通道分成F组。
在一种可能的设计中,可以通过以下步骤在所述N个通道中确定F-1个分割点:在p取遍1到N中任意一个整数的条件下,在p取到每个值时分别执行:
确定对应的已分组序列、待分组序列和分割点序列,其中,所述已分组序列中包含已被分组的前p-1个通道分别对应的通道标识,所述待分组序列中包含未被分组的第p个通道到第N个通道分别对应的通道标识,所述分割点序列中包含已被分组的前p-1个通道中作为分割点的通道对应的通道标识;将第r+1个通道到第p个通道作为一组,将第1个通道到第r个通道作为一组作为一种分组结果时,在r取遍p-1到1中任意一个整数时,得到p-1种分组结果;根据预设的权重损失函数,分别计算每种分组结果分别对应的权重损失度,并在所述p-1种分组结果中选择权重损失度最小的一种分组结果;将选择的所述分组结果中两组分界处的分割点对应的通道标识更新到所述分割点序列中;将p取遍1到N中任意一个整数完成时,最后更新得到的分割点序列中的各个通道标识分别对应的通道作为所述F-1个分割点。
通过上述方法,可以得到符合需求的分割点,以使后续根据确定的分割点进行分组。
在一种可能的设计中,所述预设的权重损失函数可以符合以下公式:
其中,f()是一个用于计算通道分组的权重损失函数,I是所述通道分组包括的通道分别对应的通道标识的集合,Ai是所述通道分组中包括的第i个通道,ω是Ai对应的权重值,θ是所述通道分组对应的量化系数,g()是与权重相关的函数,用于调整所述权重损失函数的精度,round()是取整函数。
在一种可能的设计中,所述权重损失度可以,符合以下公式:
其中,D()是所述通道分组的权重损失度,P是已分组序列。
在一种可能的设计中,读取所述神经网络中所述N个通道分别对应的权重之前,对所述神经网络进行训练,得到所述神经网络中的所有权重。这样可以后续根据相应的权重进行通道分组,并进行量化。
第二方面,本申请还提供了一种量化装置,该量化装置具有实现上述方法的功能。所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的模块。
在一个可能的设计中,所述量化装置的结构中包括通信单元和处理单元,这些单元可以执行上述方法示例中的相应功能,具体参见方法示例中的详细描述,此处不做赘述。
在一个可能的设计中,所述量化装置的结构中包括通信模块和处理器,可选的还可以包括存储器,所述通信模块用于获取数据,以及与其他设备进行通信交互,所述处理器被配置为执行上述提及的方法。所述存储器与所述处理器耦合,其保存所述量化装置必要的程序指令和数据。
第三方面,本申请还提供了一种计算机存储介质,所述计算机存储介质中存储有计算机可执行指令,所述计算机可执行指令在被所述计算机调用时用于使所述计算机执行上述第一方面提及的任一种方法。
第四方面,本申请还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述第一方面提及的任一种方法。
第五方面,本申请还提供了一种芯片,所述芯片与存储器相连,用于读取并执行存储器中存储的程序指令,以实现上述第一方面提及的任一种方法。
附图说明
图1为本申请提供的一种神经网络的示意图;
图2为本申请提供的一种神经网络的训练流程示意图;
图3为本申请提供的一种量化前后数据流的示意图;
图4为本申请提供的一种量化的硬件实现的示意图;
图5为本申请提供的一种量化方法的流程图;
图5a为本申请提供的一种确定分割点的流程示意图;
图6为本申请提供的一种放大器的示意图;
图7为本申请提供的一种移位器的示意图;
图8为本申请提供的一种通道分组的示意图;
图9为本申请提供的一种量化装置的结构示意图;
图10为本申请提供的一种量化装置的结构图。
具体实施方式
下面将结合附图对本申请作进一步地详细描述。
本申请实施例提供一种量化方法及装置,用以提出一种在硬件设计友好的前提下,保证量化后的精度损失较小的通用的量化方法。其中,本申请所述方法和装置基于同一发明构思,由于方法及装置解决问题的原理相似,因此装置与方法的实施可以相互参见,重复之处不再赘述。
以下,对本申请中的部分用语进行解释说明,以便于本领域技术人员理解。
1)、神经网络,是模仿动物神经网络行为特征,类似于大脑神经突触连接的结构进行数据处理。神经网络作为一种数学运算模型,由大量的节点(或称为神经元)之间相互连接构成。神经网络由输入层、隐藏层、输出层组成,例如图1所示。其中,输入层为神经网络的输入数据;输出层为神经网络的输出数据;而隐藏层由输入层和输出层之间众多节点连接组成的,用于对输入数据进行运算处理。其中,隐藏层可以由一层或多层构成。神经网络中隐藏层的层数、节点数与该神经网络实际解决的问题的复杂程度、输入层的节点以及输出层的节点的个数有着直接关系。其中,常用的神经网络为深度神经网络(deep neuralnetwork,DNN),而卷积神经网络(convolutional neural network,CNN)是常用的DNN的一种。
2)、神经网络的通道(channel),卷积神经网络中计算feature map中的一个点时所用到的卷积核和偏置的集合。其中,每一层(在卷积神经网络中称为卷积层)有多个channel。
3)、至少一个,指一个或者多个,多个指两个或两个以上。
目前,神经网络应用到很多场景中,例如,在自动驾驶的场景中,需要利用深度学习的模型(也即神经网络的模型)处理目标识别、目标分类、目标跟踪等多项任务。在这些任务中,通过深度的卷积神经网络和大量的有监督学习训练,可以得到效果很好的模型。但是另一方面,随着神经网络的深度和参数数量的增加,完成一次计算所需的时间和资源也大大增加,已经无法完成自动驾驶本身的资源配置和响应时间要求。因此量化方法可以在保证精度基本不变的前提下,大大减少模型的计算量和计算时间。
例如,在通过神经网络进行图像识别时,输入单元从摄像头得到图片,将图片以像素值的形式传递到处理单元,处理单元通过将像素值与已训练好的神经网络(例如,在图像识别时,对神经网络(或者神经网络的模型)的训练流程可以如图2所示)进行矩阵运算,最后得到某个标签的输出(例如确定图片的类别)。因为主要的计算和存储资源都消耗在了处理单元,因此为了降低这一部分开销,可以利用量化方法将其中复杂的数据类型(如浮点型32())转换为简单的、存储少的数据类型(如整型8(Int8)),从而达到减小资源消耗。例如,在图像识别中,量化前后数据流的对比图可以如图3所示,其中可以从图3中看出,量化前的数据的为Float32,量化后的数据为Int8。
在具体量化时,为了保证神经网络的精度不受影响,需要先针对数据里不同的特性设置不同的量化方案,再通过硬件的设置,实现量化。例如,在利用阻变式随机访问存储器(resistive random-access memory,ReRAM)实现量化时,在硬件设置时可以根据不同的量化方案通过在ReRAM中设置不同的放大器,实现量化。例如,图4示出了一种可能的量化的硬件实现方式。由此可知,平衡精度损失(即保证神经网络的精度)与硬件实现尤为重要。基于此,本申请提出了一种在硬件设计友好的前提下,保证量化后的精度损失较小的通用的量化方法。
在本申请实施例中,执行量化方法的可以但不限于是处理器,其中,当所述量化装置为处理器时,所述处理器可以为计算机装置中的处理器,也可以为其他设备(例如量化芯片系统、ReRAM)中的处理器,还可以为单独存在的处理器。在本申请实施例中,均以执行主体为处理器进行详细说明。
本申请实施例提供的一种量化方法,适用于如图1所示的神经网络,参阅图5所示,该方法的具体流程包括:
步骤501、处理器读取一个神经网络中N个通道分别对应的权重,其中所述神经网络的M层的每一层包含至少一个通道,每个通道对应至少一个权重,N为大于1的整数,M为大于1的整数。
在一种可选的实施方式中,在所述处理器读取所述神经网络中所述N个通道分别对应的权重之前,需要对所述神经网络进行训练,得到所述神经网络中的所有权重。对所述神经网络进行训练,得到所述神经网络中的所有权重,具体可以为:通过数据输入和神经网络模型构建,得到神经网络的结构和神经网络中的所有权重值。例如,可以通过以下三个步骤实现神经网络的训练,并得到神经网络中的所有权重:
步骤a1:通过输入设备(如摄像头,麦克风等)得到图片、声音等信号,利用多个二维矩阵组成的张量表示。
步骤a2:利用有标签的训练数据集训练神经网络的参数,即神经网络中的权重值。具体可以包括:信息前向传播:设置初始权重值,通过计算矩阵的乘加,从输入依次计算神经网络每一层的输出,从而得到最后的输出结果;误差反向传播:采用梯度下降法,依次更新输出层、隐含层的权重和偏置使得整体误差最小。
其中,上述对神经网络的训练的流程也可以通过图2所示。通过上述方法,可以准确地所述神经网络进行训练,得到所述神经网络中的所有权重。
步骤502、处理器将所述N个通道分成F组,其中每组中包含至少一个通道,且至少一个组中包含的多个通道属于所述神经网络的至少两个层,F为小于N的正整数。
在一种可选的实施方式中,所述处理器将所述N个通道分成F组时,具体方法可以为:所述处理器在所述N个通道中确定F-1个分割点,并根据所述F-1个分割点对所述N个通道进行分组,得到F组,其中,任一个分割点为相邻两组中分界处的相邻两个通道中的任一个。例如,假设分好的F组中其中相邻两组分别为{通道1,通道2,通道3}和{通道4,通道5}时这两组的分界处相邻的两个通道为通道3和通道4,此时通道3或者通道4其中一个可以作为一个分割点。也就是说,当确定其中一个分割点是通道3时,通道3为两组的分界处,其中通道3可以划为前一组中的通道。当然,一个分割点也可以划为后一组中的通道。例如上述举例中的当通道4为分割点时的情况,此处不再详细说明。因此,当F-1个分割点确定之后,就可以得到分成的F组。
在一种具体的实现方式中,所述处理器可以通过执行下述流程在所述N个通道中确定F-1个分割点:
在p取遍1到N中任意一个整数的条件下,在p取到每个值时分别执行:
确定对应的已分组序列、待分组序列和分割点序列,其中,所述已分组序列中包含已被分组的前p-1个通道分别对应的通道标识,所述待分组序列中包含未被分组的第p个通道到第N个通道分别对应的通道标识,所述分割点序列中包含已被分组的前p-1个通道中作为分割点的通道对应的通道标识;
将第r+1个通道到第p个通道作为一组,将第1个通道到第r个通道作为一组作为一种分组结果时,在r取遍p-1到1中任意一个整数时,得到p-1种分组结果;
根据预设的权重损失函数,分别计算每种分组结果分别对应的权重损失度,并在所述p-1种分组结果中选择权重损失度最小的一种分组结果;
将选择的所述分组结果中两组分界处的分割点对应的通道标识更新到所述分割点序列中;
将p取遍1到N中任意一个整数完成时,最后更新得到的分割点序列中的各个通道标识分别对应的通道作为所述F-1个分割点。
上述流程实际上是一个循环过程,上述流程结束时,最后得到的已分组序列中包含了神经网络的所有通道的标识,即N个通道分别对应的标识,最后的待分组序列为空。也就是说通过上述方法得到所述F-1个分割点后,就得到了分成的所述F组。例如,上述确定F-1个分割点的流程示意图可以如图5a所示。
例如,对上述流程中当p取8时过程为代表进行详细说明:
此时当前确定的已分组序列中包含已被分组的前7个通道分别对应的通道标识(例如,记为通道1……通道7),确定的当前待分组序列中包含第8个通道到地N个通道对应的通道标识(例如,记为通道8……通道N)。
将第r+1个通道到第8个通道作为一组,将第1个通道到第r个通道作为一组作为一种分组结果时,在r取遍7到1中任意一个整数时,得到7种分组结果,具体的,得到的7种分组结果分为可以记为:
第一种分组结果:{通道1、通道2、……、通道7}和{通道8};
第二种分组结果:{通道1、通道2、……、通道6}和{通道7、通道8};
第三种分组结果:{通道1、通道2、……、通道5}和{通道6、通道7、通道8};
第四种分组结果:{通道1、通道2、通道3、通道4}和{通道5、……、通道8};
第五种分组结果:{通道1、通道2、通道3}和{通道4、通道5、……、通道8};
第六种分组结果:{通道1、通道2}和{通道3、通道4、……、通道8};
第七种分组结果:{通道1}和{通道2、通道3、……、通道8}。
然后根据所述预设的权重损失函数,分别计算每种分组结果分别对应的权重损失度,假设在上述7种分组结果中权重损失度最小的是第三种分组结果时,可以通过上述第三种分组结果得知所述第三组分组结果中的两组的分界处的分割点为通道5或者是通道6,因此可以得到当p为8时得到的分割点为通道5和通道6中的任一个,将确定的所述分割点更新到分割点序列中。
通过上述步骤,通道8也就会被添加到已分组序列中,然后之后从通道9开始继续重复上述步骤,直至将通道N添加到已分组序列中为止,就会得到F-1个分割点。
需要说明的是,已分组序列中的通道标识对应的通道已经时当前分好组的了,也就是说已分组序列中包含的通道标识实际上是包含了几组通道标识。具体的,在上述流程中的每种分组结果中,该种分组结果中的两组中,第一个通道到第r个通道组成的一组可以看成是已分组序列中相应的第1个通道到第r个通道已分成的几个分组(通道组)的通道组集合,而第r+1个通道到第p个通道组成的一组就是一个整体的通道组,即可以认为当前分成的一个通道组是由第r+1个通道到第p个通道组成。进一步地,当计算一种分组结果对应的损失度时,会分别计算第1个通道到第r个通道中对应的几个通道组分别对应的权重损失函数的值,以及计算第r+1个通道到第p个通道组成的通道组对应的权重损失函数的值,然后将得到的多个损失函数的值的和作为权重损失度。
需要说明的是,每次对一个通道执行上述流程时,确定的一个分割点,可能已经存在与分割点序列中了,也就是说确定了重复的分割点,此时更新的分割点序列可能与更新之前的分割点序列相同。
在一种可选的实施方式中,上述流程中涉及的所述预设的权重损失函数,可以符合以下公式一:
其中,在上述公式一中,f()是一个用于计算通道分组的权重损失函数,I是所述通道分组包括的通道分别对应的通道标识的集合,Ai是所述通道分组中包括的第i个通道,ω是Ai对应的权重值,θ是所述通道分组对应的量化系数,g()是与权重相关的函数,用于调整所述权重损失函数的精度,round()是取整函数。
其中,所述预设的权重损失函数可以定义为量化前与量化后的加权均方和,表示经过量化后的神经网络与原神经网络的差值,这个值越小,说明量化方案越好。
在一种示例中,上述流程中涉及的所述权重损失度,可以符合以下公式二:
其中,在上述公式二中,D()是所述通道分组的权重损失度,P是已分组序列。
例如,在上述举例中p为8时,根据所述预设的权重损失函数(例如公式一),分别计算每种分组结果分别对应的权重损失度(例如公式二)时,针对每一种分组结果,可以分别根据公式一得到该种分组结果中分成的两组分别对应的权重损失,然后将两个权重损失代入公式二中求和可以得到该种分组结果的权重损失度。其中,具体的,该种分组结果中的一个组(即通道分组)中包括的通道的标识的集合可以对应I,此时Ai是该分组中包括的第i个通道。需要说明的是,该种分组结果中前一组(也即第1个通道到第r个通道组成的组)对应的权重损失度是该组中包括的一个或多个通道组分别对应的权重损失度的总和。
上述方法可以被称为动态规划算法,当然还可以成为其他算法,本申请此时不做限定。
通过上述方法,可以得到最优的分组方案。具体的,由于通过上述方法,可以充分考虑到每个通道的权重,突破层的限制,实现对通道的跨层分组,从而可以使通道的分组数尽可能的少,从而可以减少量化方案的数量,可以达到减少硬件开销的目的。
步骤503、处理器根据每组中包含的通道分别对应的权重,确定该组的量化系数,并根据所述量化系数对该组对应的权重进行量化。
其中,确定每组的量化系数,以及对改组进行量化的方法可以有多种,本申请此处不再一一详细介绍。例如,在一种可选的实施方式中,可以采用最常用的定点移位量化方法:
首先统计每组中通道对应的权重的最大值,由量化范围(int8)除以权重的最大值取整后得到该组的量化系数。在得到该组的量化系数之后,每一个Float32类型的权重,通过乘以相应的量化系数,根据得到的结果,超过量化范围上下限的结果直接量化成上下限,而处于int8数据范围内的结果通过四舍五入直接得到int8的整型数据。在运行完相应的运算后再除以量化系数将数据还原。这样就完成了对该组的权重的量化。
在一种可选的实施方式中,在通过步骤502将所述N个通道分成F组之后,可以为所述F组通道中每组通道设置一个放大器来实现对量化,而其中每组对应的放大器的放大倍数与该组的量化系数相同。也就是说,将每组对应的放大器的放大倍数设置成该组对应的量化系数,例如,每组对应的放大器的示意图可以如图6所示。这样,就完成了针对上述的量化方法进行的硬件实现。由于本申请实施例提供的量化方法,分组的数量会比现有的分组数量少的得多,所以设置的方法器的数量就会少得多,因此从硬件上来看,就可以大大减少硬件成本消耗。
在另一种可选的实现方式中,在硬件实现时,还可以通过设置移位器来实现对每组权重的量化。例如,图7所示的移位器示意图所示,针对每组通道的个数,进行移位器的移位,其中移位器移动的j位与该组对应的量化系数相关。
采用本申请实施例提供的量化方法,读取一个具有M层的神经网络中N个通道分别对应的权重,将所述N个通道分成F组,根据每组中包含的通道分别对应的权重,确定该组的量化系数,并根据所述量化系数对该组对应的权重进行量化;其中每组中包含至少一个通道,且至少一个组中包含的多个通道属于所述神经网络的至少两个层,F为小于N的正整数。通过上述方法,针对神经网络中所有层的通道作为一个整体进行分组,且分的组中存在包含不同层中的通道,这样可以打破现有技术中只能考虑单层分组的局限性,可以提高量化精度;并且,通过上述方法分的组要比现有的分组的数量少的多,也即量化方案可以相对于现有技术少的多,进而量化时在硬件上可以减少成本消耗。
以下通过图8所示的通道分组的示意图,对现有的分组和本申请实施例的方法分组的对比进行详细说明:
其中,图8示出的第一层、第二层、……、第M-1层、第M层代表神经网络中的M层。图8中分别列出了五种不同的方法对神经网络中的通道进行分组的分组结果,其中前四种为现有的分组情况,第五种为通过本申请实施例提供的方法进行的分组情况。其中,图8中不同的形状(例如,圆圈、长方形、正方形、三角形)代表神经网络中不同层中的通道。具体的:
方法1为传统的单层分组的量化方法的分组情况,即每一层中的通道为一组,这样神经网络有多少层就分成多少组,这里根据M层神经网络分成M组。其中方法1中不同的形状(例如,圆圈、长方形、正方形、三角形)代表不同层的分组。
方法2为传统的层内分组的量化方法的分组情况,对每层中的通道进行等分分组,其中在方法2中每层中不同的形状(例如,长方形、正方形、三角形)代表不同的通道分组。从图中可以看出,方法2中每层中分成了多个通道组。
方法3为聚类分组量化方法的分组情况,所有的通道被放在一起通过聚类算法进行聚类,最后每层中的通道分成不同的组,其中,方法3中每层中不同形状(例如,圆圈、长方形、正方形、三角形)代表不同的通道分组。从图中可以看出方法3的每层中分成了多个通道组。
方法4为聚类重排分组量化方法的分组情况,在一个层里面,属于同一类别的通道被重新分配,排列到了一起。其中方法4中每层中不同形状(例如,长方形、正方形、三角形)代表不同的通道分组。从图中可以看出方法4的每层中分成了多个通道组。
方法5为本申请实施例提供的量化方法的分组情况,将所有通道作为整体进行分组,其中,方法5中不同形状(例如,圆圈、长方形、正方形、三角形)代表不同的通道分组。从图中可以看出,有些通道分组中包含的通道不只有一个层中的通道,即可以包含两层或者两层以上通道,也即实现了跨层分组。
通过上述可知,前四种现有的方法分成的组只能单层或者对层内的通道进行分组,都无法实现跨层分组,这样最后分成的组的数量巨大,这样再后续对分成的组进行硬件实现时会造成硬件成本消耗很大(例如,对每组设置相应放大器,设置的放大器的数量巨大,造成硬件成本消耗巨大);而本申请实施例提供的方法5中,可以实现跨层分组,这样分成的组的数量会比现有的分组数量少得多,从而可以降低硬件成本消耗(例如同样对每组设置相应的放大器,设置的放大器的数量比现有的数量少得多,可以降低硬件成本消耗)。
基于上述实施例,由于上述量化方法中涉及的分组方法(动态规划算法)可以保证得到的损失函数最小的分组结果。例如,定义每一次求最后确定的分组的损失度符合以下公式三:
进而可以通过公式四证明损失度最小:
其中,在上述公式三B(r)表示当通道数为r时候的加入惩罚项的最后的分组方案的损失度,γ为惩罚项系数(目的是保证分组的组数不超过一定数值,从而避免过拟合),D()为公式二中的权重损失度,|P|为分组方案P的分组个数,ΘP表示P对应的量化系数的集合。B(p)表示当通道数为p时候的加入惩罚项的分组方案的损失度;inf表示求下确界函数,f[r,p]表示从第r个通道到第p个通道的权重损失函数的值。
通过上述验证,得到了最小的B(n),n为神经网络中的通道的总数。基于上述方法,每一次迭代都得到的是使得整体损失度最小的分组方案,从而实现最优化。从而可以在硬件设计友好的前提下,保证量化后的精度损失较小。
基于以上实施例,本申请实施例还提供了一种量化装置,用于实现图5所示的实施例提供的量化方法。参阅图9所示,所述量化装置900中包括:通信理单元901和处理单元902。其中:
所述通信单元901用于读取一个神经网络中N个通道分别对应的权重,其中所述神经网络的M层的每一层包含至少一个通道,每个通道对应至少一个权重,N为大于1的整数,M为大于1的整数;
所述处理单元902用于将所述N个通道分成F组,根据每组中包含的通道分别对应的权重,确定该组的量化系数,并根据所述量化系数对该组对应的权重进行量化,其中每组中包含至少一个通道,且至少一个组中包含的多个通道属于所述神经网络的至少两个层,F为小于N的正整数。
在一种可选的实施方式中,所述处理单元902在将所述N个通道分成F组时具体用于:在所述N个通道中确定F-1个分割点,并根据所述F-1个分割点对所述N个通道进行分组,得到F组,任一个分割点为相邻两组中分界处的相邻两个通道中的任一个。
在一种可选的实施方式中,所述处理单元902在所述N个通道中确定F-1个分割点时具体用于:在p取遍1到N中任意一个整数的条件下,在p取到每个值时分别执行:
确定对应的已分组序列、待分组序列和分割点序列,其中,所述已分组序列中包含已被分组的前p-1个通道分别对应的通道标识,所述待分组序列中包含未被分组的第p个通道到第N个通道分别对应的通道标识,所述分割点序列中包含已被分组的前p-1个通道中作为分割点的通道对应的通道标识;
将第r+1个通道到第p个通道作为一组,将第1个通道到第r个通道作为一组作为一种分组结果时,在r取遍p-1到1中任意一个整数时,得到p-1种分组结果;
根据预设的权重损失函数,分别计算每种分组结果分别对应的权重损失度,并在所述p-1种分组结果中选择权重损失度最小的一种分组结果;
将选择的所述分组结果中两组分界处的分割点对应的通道标识更新到所述分割点序列中;
将p取遍1到N中任意一个整数完成时,最后更新得到的分割点序列中的各个通道标识分别对应的通道作为所述F-1个分割点。
在一种可选的实施方式中,所述预设的权重损失函数,符合以下公式:
其中,f()是一个用于计算通道分组的权重损失函数,I是所述通道分组包括的通道分别对应的通道标识的集合,Ai是所述通道分组中包括的第i个通道,ω是Ai对应的权重值,θ是所述通道分组对应的量化系数,g()是与权重相关的函数,用于调整所述权重损失函数的精度,round()是取整函数。
在一种可选的实施方式中,所述权重损失度,符合以下公式:
其中,D()是所述通道分组的权重损失度,P是已分组序列。
在一种可选的实施方式中,所述处理单元902还用于在所述通信单元901读取所述神经网络中所述N个通道分别对应的权重之前,对所述神经网络进行训练,得到所述神经网络中的所有权重。
采用本申请实施例提供的量化装置,读取一个具有M层的神经网络中N个通道分别对应的权重,将所述N个通道分成F组,根据每组中包含的通道分别对应的权重,确定该组的量化系数,并根据所述量化系数对该组对应的权重进行量化;其中每组中包含至少一个通道,且至少一个组中包含的多个通道属于所述神经网络的至少两个层,F为小于N的正整数。这样,针对神经网络中所有层的通道作为一个整体进行分组,且分的组中存在包含不同层中的通道,这样可以打破现有技术中只能考虑单层分组的局限性,可以提高量化精度;并且,通过上述方法分的组要比现有的分组的数量少的多,也即量化方案可以相对于现有技术少的多,进而量化时在硬件上可以减少成本消耗。
需要说明的是,本申请实施例中对单元的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。在本申请的实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
基于以上实施例,本申请实施例还提供了一种量化装置,用于实现如图5所示的量化方法。参阅图10所示,所述1000包括:通信模块1001、处理器1002,可选的还可以包括存储器1003,其中,其中,处理器1002可以是中央处理器(central processing unit,CPU),网络处理器(network processor,NP)或者CPU和NP的组合等等。处理器1002还可以进一步包括硬件芯片。上述硬件芯片可以是专用集成电路(application-specific integratedcircuit,ASIC),可编程逻辑器件(programmable logic device,PLD)或其组合。上述PLD可以是复杂可编程逻辑器件(complex programmable logic device,CPLD),现场可编程逻辑门阵列(field-programmable gate array,FPGA),通用阵列逻辑(generic array logic,GAL)或其任意组合。处理器1002在实现上述功能时,可以通过硬件实现,当然也可以通过硬件执行相应的软件实现。
所述通信模块1001、所述处理器1002以及所述存储器1003之间相互连接。可选的,所述通信模块1001、所述处理1002以及所述存储器1003通过总线1004相互连接;所述总线1004可以是外设部件互连标准(Peripheral Component Interconnect,PCI)总线或扩展工业标准结构(Extended Industry Standard Architecture,EISA)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图10中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
所述通信模块1001,用于与其他设备进行通信交互。在一种可选的实施方式中,所述通信模块1001可以通过无线连接与其他设备进行通信,例如,所述通信模块1001可以为RF电路、WiFi模块等。所述通信模块1001也可以通过物理连接与其他设备进行通信,例如,所述通信模块1001可以为通信接口。
所述处理器1002,用于实现如图2所示的量化方法,具体过程可以参照以上实施例中的具体描述,此处不再赘述。
所述存储器1003,用于存放程序和数据等。具体地,程序可以包括程序代码,该程序代码包括计算机操作的指令。存储器1003可能包含随机存取存储器(random accessmemory,RAM),也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。处理器1002执行存储器1002所存放的程序,实现上述功能,从而实现如图2所示的量化方法。
综上所述,通过本申请实施例提供一种量化方法及装置,读取一个具有M层的神经网络中N个通道分别对应的权重,将所述N个通道分成F组,根据每组中包含的通道分别对应的权重,确定该组的量化系数,并根据所述量化系数对该组对应的权重进行量化;其中每组中包含至少一个通道,且至少一个组中包含的多个通道属于所述神经网络的至少两个层,F为小于N的正整数。这样,针对神经网络中所有层的通道作为一个整体进行分组,且分的组中存在包含不同层中的通道,这样可以打破现有技术中只能考虑单层分组的局限性,可以提高量化精度;并且,通过上述方法分的组要比现有的分组的数量少的多,也即量化方案可以相对于现有技术少的多,进而量化时在硬件上可以减少成本消耗。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (15)
1.一种量化方法,其特征在于,包括:
读取一个神经网络中N个通道分别对应的权重,其中所述神经网络的M层的每一层包含至少一个通道,每个通道对应至少一个权重,N为大于1的整数,M为大于1的整数;
将所述N个通道分成F组,其中每组中包含至少一个通道,且至少一个组中包含的多个通道属于所述神经网络的至少两个层,F为小于N的正整数;
根据每组中包含的通道分别对应的权重,确定该组的量化系数,并根据所述量化系数对该组对应的权重进行量化。
2.如权利要求1所述的方法,其特征在于,将所述N个通道分成F组,包括:
在所述N个通道中确定F-1个分割点,任一个分割点为相邻两组中分界处的相邻两个通道中的任一个;
根据所述F-1个分割点对所述N个通道进行分组,得到F组。
3.如权利要求2所述的方法,其特征在于,在所述N个通道中确定F-1个分割点,包括:
在p取遍1到N中任意一个整数的条件下,在p取到每个值时分别执行:
确定对应的已分组序列、待分组序列和分割点序列,其中,所述已分组序列中包含已被分组的前p-1个通道分别对应的通道标识,所述待分组序列中包含未被分组的第p个通道到第N个通道分别对应的通道标识,所述分割点序列中包含已被分组的前p-1个通道中作为分割点的通道对应的通道标识;
将第r+1个通道到第p个通道作为一组,将第1个通道到第r个通道作为一组作为一种分组结果时,在r取遍p-1到1中任意一个整数时,得到p-1种分组结果;
根据预设的权重损失函数,分别计算每种分组结果分别对应的权重损失度,并在所述p-1种分组结果中选择权重损失度最小的一种分组结果;
将选择的所述分组结果中两组分界处的分割点对应的通道标识更新到所述分割点序列中;
将p取遍1到N中任意一个整数完成时,最后更新得到的分割点序列中的各个通道标识分别对应的通道作为所述F-1个分割点。
6.如权利要求1-5任一项所述的方法,其特征在于,读取所述神经网络中所述N个通道分别对应的权重之前,所述方法还包括:
对所述神经网络进行训练,得到所述神经网络中的所有权重。
7.一种量化装置,其特征在于,包括:
通信单元,用于读取一个神经网络中N个通道分别对应的权重,其中所述神经网络的M层的每一层包含至少一个通道,每个通道对应至少一个权重,N为大于1的整数,M为大于1的整数;
处理单元,用于将所述N个通道分成F组,其中每组中包含至少一个通道,且至少一个组中包含的多个通道属于所述神经网络的至少两个层,F为小于N的正整数;以及
根据每组中包含的通道分别对应的权重,确定该组的量化系数,并根据所述量化系数对该组对应的权重进行量化。
8.如权利要求7所述的装置,其特征在于,所述处理单元将所述N个通道分成F组时,具体用于:
在所述N个通道中确定F-1个分割点,任一个分割点为相邻两组中分界处的相邻两个通道中的任一个;
根据所述F-1个分割点对所述N个通道进行分组,得到F组。
9.如权利要求8所述的装置,其特征在于,所述处理单元在所述N个通道中确定F-1个分割点时,具体用于:
在p取遍1到N中任意一个整数的条件下,在p取到每个值时分别执行:
确定对应的已分组序列、待分组序列和分割点序列,其中,所述已分组序列中包含已被分组的前p-1个通道分别对应的通道标识,所述待分组序列中包含未被分组的第p个通道到第N个通道分别对应的通道标识,所述分割点序列中包含已被分组的前p-1个通道中作为分割点的通道对应的通道标识;
将第r+1个通道到第p个通道作为一组,将第1个通道到第r个通道作为一组作为一种分组结果时,在r取遍p-1到1中任意一个整数时,得到p-1种分组结果;
根据预设的权重损失函数,分别计算每种分组结果分别对应的权重损失度,并在所述p-1种分组结果中选择权重损失度最小的一种分组结果;
将选择的所述分组结果中两组分界处的分割点对应的通道标识更新到所述分割点序列中;
将p取遍1到N中任意一个整数完成时,最后更新得到的分割点序列中的各个通道标识分别对应的通道作为所述F-1个分割点。
12.如权利要求7-11任一项所述的装置,其特征在于,所述处理单元,还用于:
在所述通信单元读取所述神经网络中所述N个通道分别对应的权重之前,对所述神经网络进行训练,得到所述神经网络中的所有权重。
13.一种包含指令的计算机程序产品,其特征在于,当所述计算机程序产品在计算机上运行时,使得计算机执行权利要求1-6任一项所述的方法。
14.一种计算机存储介质,其特征在于,所述计算机存储介质中存储有计算机程序,所述计算机程序被计算机执行时,使得所述计算机执行权利要求1-6任一项提供的方法。
15.一种芯片,其特征在于,所述芯片与存储器相连,用于读取并执行所述存储器中存储的程序指令,以实现权利要求1-6任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811022762.6A CN110874626B (zh) | 2018-09-03 | 2018-09-03 | 一种量化方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811022762.6A CN110874626B (zh) | 2018-09-03 | 2018-09-03 | 一种量化方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110874626A true CN110874626A (zh) | 2020-03-10 |
CN110874626B CN110874626B (zh) | 2023-07-18 |
Family
ID=69716166
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811022762.6A Active CN110874626B (zh) | 2018-09-03 | 2018-09-03 | 一种量化方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110874626B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113238987A (zh) * | 2021-06-08 | 2021-08-10 | 中科寒武纪科技股份有限公司 | 量化数据的统计量化器、存储装置、处理装置及板卡 |
CN113255576A (zh) * | 2021-06-18 | 2021-08-13 | 第六镜科技(北京)有限公司 | 人脸识别方法及装置 |
CN113762499A (zh) * | 2020-06-04 | 2021-12-07 | 合肥君正科技有限公司 | 一种分通道量化权重的方法 |
CN115311506A (zh) * | 2022-10-11 | 2022-11-08 | 之江实验室 | 基于阻变存储器的量化因子优化的图像分类方法及装置 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040228539A1 (en) * | 2002-08-14 | 2004-11-18 | Sony Corporation | Image coding apparatus and method, and program and recording medium |
JP2005197989A (ja) * | 2004-01-07 | 2005-07-21 | Mega Chips Corp | べき乗演算回路、量子化回路および方法 |
WO2017149722A1 (ja) * | 2016-03-03 | 2017-09-08 | 三菱電機株式会社 | 演算装置および演算方法 |
CN107152995A (zh) * | 2017-04-24 | 2017-09-12 | 中国汽车技术研究中心 | 一种汽车碰撞试验中试验重复性的量化评价方法 |
US20170286830A1 (en) * | 2016-04-04 | 2017-10-05 | Technion Research & Development Foundation Limited | Quantized neural network training and inference |
US20170316311A1 (en) * | 2015-03-24 | 2017-11-02 | Hrl Laboratories, Llc | Sparse inference modules for deep learning |
CN107644254A (zh) * | 2017-09-09 | 2018-01-30 | 复旦大学 | 一种卷积神经网络权重参数量化训练方法及系统 |
CN107895580A (zh) * | 2016-09-30 | 2018-04-10 | 华为技术有限公司 | 一种音频信号的重建方法和装置 |
US20180121796A1 (en) * | 2016-11-03 | 2018-05-03 | Intel Corporation | Flexible neural network accelerator and methods therefor |
CA3051990A1 (en) * | 2017-02-23 | 2018-08-30 | Cerebras Systems Inc. | Accelerated deep learning |
-
2018
- 2018-09-03 CN CN201811022762.6A patent/CN110874626B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040228539A1 (en) * | 2002-08-14 | 2004-11-18 | Sony Corporation | Image coding apparatus and method, and program and recording medium |
JP2005197989A (ja) * | 2004-01-07 | 2005-07-21 | Mega Chips Corp | べき乗演算回路、量子化回路および方法 |
US20170316311A1 (en) * | 2015-03-24 | 2017-11-02 | Hrl Laboratories, Llc | Sparse inference modules for deep learning |
WO2017149722A1 (ja) * | 2016-03-03 | 2017-09-08 | 三菱電機株式会社 | 演算装置および演算方法 |
US20170286830A1 (en) * | 2016-04-04 | 2017-10-05 | Technion Research & Development Foundation Limited | Quantized neural network training and inference |
CN107895580A (zh) * | 2016-09-30 | 2018-04-10 | 华为技术有限公司 | 一种音频信号的重建方法和装置 |
US20180121796A1 (en) * | 2016-11-03 | 2018-05-03 | Intel Corporation | Flexible neural network accelerator and methods therefor |
CA3051990A1 (en) * | 2017-02-23 | 2018-08-30 | Cerebras Systems Inc. | Accelerated deep learning |
CN107152995A (zh) * | 2017-04-24 | 2017-09-12 | 中国汽车技术研究中心 | 一种汽车碰撞试验中试验重复性的量化评价方法 |
CN107644254A (zh) * | 2017-09-09 | 2018-01-30 | 复旦大学 | 一种卷积神经网络权重参数量化训练方法及系统 |
Non-Patent Citations (1)
Title |
---|
彭明智: "电能质量在线监测终端的硬件实现研究", 《中国优秀硕士学位论文全文数据库工程科技Ⅱ辑》 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113762499A (zh) * | 2020-06-04 | 2021-12-07 | 合肥君正科技有限公司 | 一种分通道量化权重的方法 |
CN113762499B (zh) * | 2020-06-04 | 2024-04-02 | 合肥君正科技有限公司 | 一种分通道量化权重的方法 |
CN113238987A (zh) * | 2021-06-08 | 2021-08-10 | 中科寒武纪科技股份有限公司 | 量化数据的统计量化器、存储装置、处理装置及板卡 |
CN113255576A (zh) * | 2021-06-18 | 2021-08-13 | 第六镜科技(北京)有限公司 | 人脸识别方法及装置 |
CN115311506A (zh) * | 2022-10-11 | 2022-11-08 | 之江实验室 | 基于阻变存储器的量化因子优化的图像分类方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN110874626B (zh) | 2023-07-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109754066B (zh) | 用于生成定点型神经网络的方法和装置 | |
CN110874626B (zh) | 一种量化方法及装置 | |
US11295208B2 (en) | Robust gradient weight compression schemes for deep learning applications | |
CN110163368B (zh) | 基于混合精度的深度学习模型训练方法、装置及系统 | |
CN113326126B (zh) | 任务处理方法、任务调度方法、装置及计算机设备 | |
RU2586864C2 (ru) | Способ и устройство для локального правила состязательного обучения, которое приводит к разреженной связности | |
JP7325158B2 (ja) | ニューラル・ネットワーク・コアにおける動的精度のためのデータ表現 | |
CN110728317A (zh) | 决策树模型的训练方法、系统、存储介质及预测方法 | |
CN110689109A (zh) | 神经网络方法和装置 | |
CN110008952B (zh) | 一种目标识别方法及设备 | |
CN112513886B (zh) | 信息处理方法、信息处理装置和信息处理程序 | |
CN115485695A (zh) | 用于分层权重稀疏卷积处理的方法和系统 | |
CN110084364B (zh) | 一种深度神经网络压缩方法和装置 | |
US11763150B2 (en) | Method and system for balanced-weight sparse convolution processing | |
CN114127740A (zh) | 人工智能模型的分布式训练中的数据并行性 | |
CN114127702A (zh) | 在存储器受限设备上执行大型人工智能模型 | |
CN112215331A (zh) | 对神经网络系统中的数据处理方法和神经网络系统 | |
CN114511042A (zh) | 一种模型的训练方法、装置、存储介质及电子装置 | |
CN113627545A (zh) | 一种基于同构多教师指导知识蒸馏的图像分类方法及系统 | |
KR20200132305A (ko) | 전자 장치가 뉴럴 네트워크 내의 소정 레이어에서 컨볼루션 연산을 수행하는 방법 및 그 방법을 수행하는 전자 장치 | |
KR20190130443A (ko) | 뉴럴 네트워크의 양자화 방법 및 장치 | |
CN116188878A (zh) | 基于神经网络结构微调的图像分类方法、装置和存储介质 | |
CN111344719A (zh) | 基于深度神经网络的数据处理方法、装置及移动设备 | |
CN111144574A (zh) | 使用指导者模型训练学习者模型的人工智能系统和方法 | |
CN114358274A (zh) | 训练用于图像识别的神经网络的方法和设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |