CN113033787A - 一种量化神经网络矩阵的方法、设备、计算机产品及板卡 - Google Patents

一种量化神经网络矩阵的方法、设备、计算机产品及板卡 Download PDF

Info

Publication number
CN113033787A
CN113033787A CN201911349745.8A CN201911349745A CN113033787A CN 113033787 A CN113033787 A CN 113033787A CN 201911349745 A CN201911349745 A CN 201911349745A CN 113033787 A CN113033787 A CN 113033787A
Authority
CN
China
Prior art keywords
section
array
data
precision
matrix
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.)
Pending
Application number
CN201911349745.8A
Other languages
English (en)
Inventor
不公告发明人
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Cambricon Technologies Corp Ltd
Original Assignee
Cambricon Technologies Corp Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Cambricon Technologies Corp Ltd filed Critical Cambricon Technologies Corp Ltd
Priority to CN201911349745.8A priority Critical patent/CN113033787A/zh
Publication of CN113033787A publication Critical patent/CN113033787A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/063Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • General Health & Medical Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Computational Linguistics (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • Neurology (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

本发明涉及一种量化神经网络矩阵的方法、设备、计算机产品及板卡,其中该设备包括处理器及存储器,该处理器可以包括在组合处理装置中,该组合处理装置还可以包括通用互联接口和其他处理装置。该处理器与其他处理装置进行交互,共同完成用户指定的计算操作。该存储器分别与该处理器和其他处理装置连接,用于该处理器和其他处理装置的数据存储。

Description

一种量化神经网络矩阵的方法、设备、计算机产品及板卡
技术领域
本披露涉及信息处理技术领域,具体涉及一种量化神经网络矩阵的方法、设备、计算机产品及板卡。
背景技术
神经网络在人工智能领域有着广泛的应用,其特点在于需要大量训练的过程,在神经网络的重复训练过程中,为提高处理效率,一般会对神经元或权值矩阵进行量化,但量化的过程会降低神经网络的精度水平,往往也无法降低数据存储所占的内存空间或传送带宽。因此,如何获得一种有效量化神经网络矩阵的方案仍是现有技术中需要解决的问题。
发明内容
为了至少部分地解决背景技术中提到的技术问题,本披露的方案提供了一种量化神经网络矩阵的方法、设备、计算机产品及板卡。
在一个方面中,本披露提供一种量化神经网络矩阵的方法,包括以下步骤:压缩所述神经网络矩阵以产生频域矩阵;扫描所述频域矩阵以产生数组;降低排序在所述数组后段的数据精度;以及将降低精度后的数组还原成量化后矩阵。
在另一个方面中,本披露提供一种量化神经网络矩阵的设备,包括:至少一个处理器及至少一个存储器,存储器存储有计算机程序指令,当所述计算机程序指令由所述至少一个处理器执行时,使得所述设备得以执行前述的方法。
在另一个方面中,本披露提供一种计算机可读存储介质,其存储用于电子数据交换的计算机程序,其中,所述计算机程序使得计算机执行如前所述的方法。
在另一个方面中,本披露提供一种计算机程序产品,所述计算机程序产品包括存储了计算机程序的非瞬时性计算机可读存储介质,所述计算机程序可操作来使计算机执行如前所述的方法。
在另一个方面中,本披露提供一种集成电路芯片,包括前述的设备。
在另一个方面中,本披露提供一种板卡,包括前述的集成电路芯片。
利用本披露的方法、设备、计算机产品及板卡,在量化的过程可以有效的维持神经网络的精度水平,同时降低数据存储所占的内存空间或传送带宽。
附图说明
通过参考附图阅读下文的详细描述,本披露示例性实施方式的上述以及其他目的、特征和优点将变得易于理解。在附图中,以示例性而非限制性的方式示出了本披露的若干实施方式,并且相同或对应的标号表示相同或对应的部分,其中:
图1是示出根据本披露的卷积神经网络的四层结构示意图;
图2是示出根据本披露实施例中量化神经网络矩阵的方法的流程图;
图3是示出根据本披露实施例中扫描矩阵以产生数组的示意图;
图4是示出根据本披露实施例中降低数据精度的方法的流程图;
图5是示出根据本披露实施例中降低数据精度的另一个方法的流程图;
图6是示出根据本披露实施例的设备的结构图;以及
图7是示出根据本披露实施例的板卡的框架图。
具体实施方式
本披露的技术方案在整体上提供一种量化神经网络矩阵的方法、设备、计算机相关产品及板卡。不同于现有技术的量化方式,本披露提供了一种技术方案,在量化的过程可以有效地维持神经网络的精度水平,同时降低数据存储所占的内存空间或传送带宽。
深度学习已被证明在包括图像分类、目标检测、自然语言处理等领域上有十分良好的效果,大量的应用程序都配备了图像(计算机视觉)相关的深度学习算法,就当前的技术实务来说,深度学习算法大都使用卷积神经网络来落实。
卷积神经网络通常由以下四种层结构组成:输入层、卷积层(convolutionlayer)、池化层(pooling layer)、全连接层(fully connected layer)。图1是示出卷积神经网络100的四层结构示意图。
输入层102是自输入图像中截取部分信息,转化成特征矩阵方式呈现,其中载有对应该部分信息的特征。
卷积层104配置成接收来自输入层102的特征矩阵,通过卷积操作对输入图像进行特征抽取。虽然图1的卷积层104仅显示一层结构,但实际运用时可以建制多层卷积层,前半部的卷积层用以捕捉图像局部、细节信息,即输出图像的每个像素只是感受到输入图像很小范围数值进行计算的结果,后面的卷积层感受范围逐层加大,用于捕获图像更复杂、更抽象的信息。经过多个卷积层的运算,最后得到图像在各个不同尺度的抽象表示。
虽然通过卷积操作,完成了对输入图像的特征抽取,但特征图像信息量太大,维数过高,不仅计算耗时,而且容易导致过拟合,需要进一步降维。
池化层106配置成对图像的某一个区域用一个值代替,这值通常是该区域所有数值里的最大值或平均值。如果采用最大值,称为最大池化;如果采用平均值,称为均值池化。通过池化,在不至于损失过多信息的前提下,可以缩减模型大小、提高计算速度。
全连接层108在整个卷积神经网络100中起到分类器的作用,相当于特征空间变换,把前面所有有用的信息提取整合,再加上激活函数的非线性映射,多层全连接层理论上可以模拟任何非线性变换,以基于不同的分类做信息比对,借以判断输入图像是否相似于比对的标的。
随着模型预测越来越准确,网络越来越深,神经网络消耗的内存空间成为问题,尤其是在移动设备上,以2019年初为例,手机一般配备4GB内存来支持多个应用程序的同时运行,但三个神经网络模型运行一次就要占掉1GB内存。因此需要对信息进行压缩以降低硬件的负担。
图2是示出本披露实施例中的量化神经网络矩阵的方法,该神经网络应用在计算机视觉上,此处所述的神经网络矩阵可以是神经元矩阵或权重矩阵,这些矩阵都能利用本披露的实施例,在卷积层或全连接层进行运算前量化,以降低运算的负担。以下将以神经元矩阵为例做说明。
在执行步骤202时,接收图像信号。同时参照图1,卷积神经网络100在输入层102中是自输入图像中接收图像信号。
在执行步骤204时,转换图像信号为神经网络矩阵。同时参照图1,卷积神经网络100在输入层102中将接收到的图像信号转化成特征矩阵方式呈现,即神经网络矩阵,其中载有对应该部分信息的特征。
在执行步骤206时,压缩神经网络矩阵以产生频域矩阵。在此实施例中,是利用离散余弦变换(Discrete Cosine Transform,DCT)对神经元矩阵进行压缩,将空域的信号转换成频域。离散余弦变换除了具有一般的正交变换性质外,其变换阵的基向量可以很好地记录像是语音和图像信号的相关特征。
由于此实施例涉及二维矩阵运算,因此采用二维离散余弦变换。二维离散余弦变换有许多实践方法,例如,以f(x,y)来代表M×N的神经元矩阵,二维离散余弦变换的正变换核可以为:
Figure BDA0002334361130000041
其中,x,u=0,1,2,…,M-1;y,v=0,1,2,…,N-1。二维离散余弦变换的定义如下:
Figure BDA0002334361130000051
通过离散余弦变换,原本在空域的神经元矩阵转换成如图3所示的频域神经元矩阵302,其中频域神经元矩阵302为7×7的矩阵,该7×7的矩阵仅为示例,本披露的方案并不限制矩阵的大小。
在执行步骤208时,扫描频域神经元矩阵302以产生数组。在进行扫描时,此实施例是将频域神经元矩阵302的元素以Z字形(zigzag)方式截取排列。如图3所示,频域神经元矩阵302在进行Z字形方式截取排列时,是以频域神经元矩阵304中虚线箭头的方向依序由左上到右下将矩阵内的元素进行排列,以此方式产生数组306。数组306内含频域神经元矩阵302的49个元素。根据离散余弦变换的特性,频域神经元矩阵302中靠左上角的元素,像是A11、A21、A12等,也就是数组306中靠前的元素是属于低频的信号,愈往后频率愈高。
在执行步骤210时,降低排序在数组306后段的数据精度。离散余弦变换具有很强的能量集中特性,大多数的自然信号(例如图像信息)的能量会集中在离散余弦变换后的低频部分,即是频域神经元矩阵302中靠左上角的元素,也是数组306中靠前的元素,愈靠前的元素对图像的辨识度有愈大的影响,应该尽可能的保留信息,而愈靠后的元素对图像的辨识度影响愈小,可以适当地进行量化。
因此,此实施例选择降低排序在数组306后段的数据精度,保留了在低频部分的重要信息,仅牺牲高频较不关键的信息,对整体的信息不致产生实质的影响。
数组306的元素一般都是单精度浮点数(FP32),当降低排序在数组306后段的数据精度时,此实施例可以把精度降至半精度浮点数(FP16)、八位定点数(INT8)、四位定点数(INT4)或1比特,以节省内存及运算空间。具体的量化方式将如后说明。
在执行步骤212时,将降低精度后的数组还原成量化后矩阵,以供在卷积层或全连接层中进行运算。
通过上述的方法,本披露的实施例降低了频域神经元矩阵的高频信号的数据精度,再进行矩阵运算,一方面减少运算的负担,一方面又不至于损失实质的信息,在硬件需求和运算效率上取得平衡,有效地解决现有技术的问题。
图4是示出在步骤210中,降低排序在数组306后段的数据精度的一种实施方法。在执行步骤402时,分割数组306为N个区段,其中第一区段为数组306最靠前的区段,第N区段为数组306最靠后的区段,N是大于或等于3的正整数,可以视具体情况分割为合适数目的区段。
以N等于3为例。在步骤402中,数组306被分割为三个区段。在此实施例中,定义第一区段为数组306的0-30%,也就是数组306的前15个元素,即A6至A51;定义第二区段为数组306的30%-50%,也就是数组306的中段的10个元素,即A61至A44;定义第三区段为数组306的50%-100%,也就是数组306的后24个元素,即A53至A77。各区段所含元素整理如下:
第一区段:A6 A21 A12 A13 A22 A31 A41 A32 A23 A14 A15 A24 A33 A42 A51
第二区段:A61 A52 A43 A34 A25 A16 A17 A26 A35 A44
第三区段:A53 A62 A71 A72 A63 A54 A45 A36 A27 A37 A46 A55 A64 A73 A74A65 A56 A47 A57 A66 A75 A76 A67 A77
在执行步骤404时,维持第一区段的数据精度,也就是第一区段的数据精度不调降,仍为单精度浮点数,以保留低频部分的重要信息。
在后续的步骤中,本披露的实施例以降幂方式设定第二区段至第三区段的数据精度。具体来说,在执行步骤406时,设定第二区段的数据精度为半精度浮点数或八位定点数。相较于单精度浮点数,半精度浮点数的比特数仅为二分之一,而八位定点数的比特数仅为四分之一。在执行步骤408时,设定第三区段的数据精度为四位定点数或1比特。相较于单精度浮点数,四位定点数的比特数仅为八分之一,而1比特仅为三十二分之一。
图5是示出在步骤210中,降低排序在数组306后段的数据精度的另一种实施方法。在执行步骤502时,分割数组306为五个区段。
在此实施例中,定义第一区段为数组306的0-20%,也就是A6至A14;定义第二区段为数组306的20%-40%,也就是A15至A25;定义第三区段为数组306的40%-60%,也就是A16至A63;定义第四区段为数组306的60%-80%,也就是A54至A74;定义第五区段为数组306的80%-100%,也就是A65至A77。各区段所含元素整理如下:
第一区段:A6 A21 A12 A13 A22 A31 A41 A32 A23 A14
第二区段:A15 A24 A33 A42 A51 A61 A52 A43 A34 A25
第三区段:A16 A17 A26 A35 A44 A53 A62 A71 A72 A63
第四区段:A54 A45 A36 A27 A37 A46 A55 A64 A73 A74
第五区段:A65 A56 A47 A57 A66 A75 A76 A67 A77
在执行步骤504时,维持所述第一区段的数据精度,也就是第一区段的数据精度不调降,仍为单精度浮点数。
在后续的步骤中,本披露实施例以降幂方式设定第二区段至第五区段的数据精度。在执行步骤506时,设定第二区段的数据精度为半精度浮点数;在执行步骤508时,设定第三区段的数据精度为八位定点数;在执行步骤510时,设定第四区段的数据精度为四位定点数;在执行步骤512时,设定第五区段的数据精度为1比特。
本披露通过图4及图5的说明,展示如何降低排序在数组306后段的数据精度,保留频域神经元矩阵的低频信号的完整性,同时降低高频信号的数据精度,有效地解决现有技术的问题。
尽管上述方法以步骤形式示出利用本披露的技术方案,但这些步骤顺序并不意味着本方法的步骤必须依所述顺序来执行,而是可以采其他顺序或并行的方式来处理。另外,此处为了描述的简明而没有阐述本披露的其他步骤,但本领域技术人员根据本披露的内容可以理解该方法也可以通过使用计算装置来执行前述结合附图所描述的各种操作。
本披露实施例还提供一种计算机可读存储介质,其存储用于电子数据交换的计算机程序,其中,所述计算机程序使得计算机执行如图2、图4及图5所示的方法以及细化方案。
图6是示出根据本披露实施例的一种设备600的结构图。如图所示,设备600包括处理器602、通用互联接口604、其他处理装置606及存储器608。
根据本披露的实施例,处理器602可以是中央处理器、图形处理器、人工智能处理器等通用和/或专用处理器中的一种或多种类型的处理器,其数目不做限制而是依实际需要来确定。处理器602在执行计算机程序时,实现如图2、图4及图5所示的方法以及细化方案。
其他处理装置606与外部数据和控制的接口,执行包括但不限于数据搬运,完成对本机器学习运算装置的开启、停止等的基本控制。其他处理装置606也可以和机器学习运算装置协作共同完成运算任务。
通用互联接口604可以用于在处理器602与其他处理装置606间传输数据和控制指令。例如,处理器602可以经由通用互联接口604从其他处理装置606中获取所需的输入数据,写入处理器602片上的存储器。进一步来说,处理器602可以经由通用互联接口604从其他处理装置606中获取控制指令,写入处理器602片上的控制缓存。替代地或可选地,通用互联接口604也可以读取处理器602的存储模块中的数据并传输给其他处理装置606。
存储器608分别与处理器602和其他处理装置606连接。在一个或多个实施例中,存储器608可以用于存储处理器602和其他处理装置606的数据,尤其适用于所需要运算的数据在处理器602或其他处理装置606的内部存储中无法全部保存的数据,例如处理器602执行如图2、图4及图5所示的方法以及细化方案时所需读取的计算机程序。
根据应用场景的不同,本披露的设备600可以作为手机、机器人、无人机、视频采集、视频采集设备等设备的SOC片上系统,从而有效地降低控制部分的核心面积,提高处理速度并降低整体的功耗。在此情况时,设备600的通用互联接口604与设备的某些部件相连接。此处的某些部件可以例如是摄像头,显示器,鼠标,键盘,网卡或wifi接口。
本披露另一实施例是一种计算机程序产品,包括存储了计算机程序的非瞬时性计算机可读存储介质,所述计算机程序可操作来使计算机执行如图2、图4及图5所示的方法。
在一些实施例里,本披露还公开了一种芯片或集成电路芯片,其包括了图6的设备600。在另一些实施例里,本披露还公开了一种芯片封装结构,其包括了上述芯片。
在一些实施例里,本披露还公开了一种板卡,其包括了上述芯片封装结构。参阅图7,其提供了前述的示例性板卡700,板卡700除了包括上述芯片702以外,还可以包括其他的配套部件,该配套部件可以包括但不限于:存储器件704、接口装置706和控制器件708。
存储器件704与芯片封装结构内的芯片702通过总线714连接,用于存储数据。存储器件704可以包括多组存储单元710。每一组存储单元710与芯片702通过总线714连接。每一组存储单元710可以是DDR SDRAM(“Double Data Rate SDRAM”,双倍速率同步动态随机存储器)。
在一个实施例中,存储器件704可以包括4组存储单元710。每一组存储单元710可以包括多个DDR4颗粒(芯片)。在一个实施例中,所述芯片702内部可以包括4个72位DDR4控制器,上述72位DDR4控制器中的64比特用于传输数据,8比特用于ECC校验。
在一个实施例中,每一组存储单元710可以包括多个并联设置的双倍速率同步动态随机存储器。DDR在一个时钟周期内可以传输两次数据。在芯片702中设置控制DDR的控制器,用于对每个存储单元710的数据传输与数据存储的控制。
接口装置706与所述芯片封装结构内的芯片702电连接。所述接口装置706用于实现芯片702与外部设备712(例如服务器或计算机)之间的数据传输。在一个实施例中,接口装置706可以为标准PCIE接口。例如,待处理的数据由服务器通过标准PCIE接口传递至芯片702,实现数据转移。在另一个实施例中,接口装置706还可以是其他的接口,本披露并不限制上述其他的接口的具体表现形式,能够实现转接功能即可。另外,芯片702的计算结果仍由接口装置706传送回外部设备712。
控制器件708与芯片702电连接,以便对芯片702的状态进行监控。具体地,芯片702与控制器件708可以通过SPI接口电连接。控制器件708可以包括单片机(“MCU”,MicroController Unit)。芯片702可以包括多个处理芯片、多个处理核或多个处理电路,并且可以带动多个负载。由此,芯片702可以处于多负载和轻负载等不同的工作状态。通过控制器件708可以实现对芯片702中多个处理芯片、多个处理和/或多个处理电路的工作状态的调控。
在一些实施例里,本披露还公开了一种电子设备或装置,其包括了上述板卡700。根据不同的应用场景,电子设备或装置可以包括数据处理装置、机器人、电脑、打印机、扫描仪、平板电脑、智能终端、手机、行车记录仪、导航仪、传感器、摄像头、服务器、云端服务器、相机、摄像机、投影仪、手表、耳机、移动存储、可穿戴设备、交通工具、家用电器、和/或医疗设备。所述交通工具包括飞机、轮船和/或车辆;所述家用电器包括电视、空调、微波炉、冰箱、电饭煲、加湿器、洗衣机、电灯、燃气灶、油烟机;所述医疗设备包括核磁共振仪、B超仪和/或心电图仪。
本披露的实施例降低了频域神经元矩阵的高频信号的数据精度,再进行矩阵运算,一方面减少运算的负担,一方面又不至于损失实质的信息,在硬件需求和运算效率上取得平衡,有效地解决现有技术的问题。
在本披露的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。上述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
在本披露所提供的几个实施例中,应该理解到,所披露的装置,可通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性、光学、声学、磁性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本披露各个实施例中的各功能单元可以集成在一个计算装置中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件程序模块的形式实现。
所述集成的单元如果以软件程序模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储器中。基于这样的理解,当本披露的技术方案可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储器中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本披露各个实施例所述方法的全部或部分步骤。而前述的存储器包括:U盘、只读存储器(“ROM”,Read-OnlyMemory)、随机存取存储器(“RAM”,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
依据以下条款可更好地理解前述内容:
条款A1、一种量化神经网络矩阵的方法,包括以下步骤:压缩所述神经网络矩阵以产生频域矩阵;扫描所述频域矩阵以产生数组;降低排序在所述数组后段的数据精度;以及将降低精度后的数组还原成量化后矩阵。
条款A2、根据条款A1所述的方法,还包括以下步骤:接收图像信号;以及转换所述图像信号为所述神经网络矩阵。
条款A3、根据条款A1所述的方法,其中所述压缩步骤是采用离散余弦变换。
条款A4、根据条款A1所述的方法,其中所述扫描步骤是将所述频域矩阵的元素以Z字形方式截取排列。
条款A5、根据条款A1所述的方法,其中所述降低步骤包括以下步骤:分割所述数组为N个区段,其中第一区段为所述数组最靠前的区段,第N区段为所述数组最靠后的区段;维持所述第一区段的数据精度;以及以降幂方式设定第二区段至第N区段的数据精度,其中N是大于或等于3的正整数。
条款A6、根据条款A5所述的方法,其中N为3。
条款A7、根据条款A6所述的方法,其中所述分割步骤包括以下步骤:定义所述第一区段为所述数组的0-30%;定义所述第二区段为所述数组的30%-50%;以及定义所述第三区段为所述数组的50%-100%。
条款A8、根据条款A6或7所述的方法,其中所述第一区段的数据精度为单精度浮点数,所述设定步骤包括以下步骤:设定所述第二区段的数据精度为半精度浮点数或八位定点数;以及设定所述第三区段的数据精度为四位定点数或1比特。
条款A9、根据条款A5所述的方法,其中N为5。
条款A10、根据条款A9所述的方法,其中所述分割步骤包括以下步骤:定义所述第一区段为所述数组的0-20%;定义所述第二区段为所述数组的20%-40%;定义所述第三区段为所述数组的40%-60%;定义所述第四区段为所述数组的60%-80%;以及定义所述第五区段为所述数组的80%-100%。
条款A11、根据条款A9或10所述的方法,其中所述第一区段的数据精度为单精度浮点数,所述设定步骤包括以下步骤:设定所述第二区段的数据精度为半精度浮点数;设定所述第三区段的数据精度为八位定点数;设定所述第四区段的数据精度为四位定点数;以及设定所述第五区段的数据精度为1比特。
条款A12、一种量化神经网络矩阵的设备,包括:至少一个处理器;至少一个存储器,其存储有计算机程序指令,当所述计算机程序指令由所述至少一个处理器执行时,使得所述设备执行根据条款A1-11的任意一项所述的方法。
条款A13、一种计算机可读存储介质,其特征在于,其存储用于电子数据交换的计算机程序,其中,所述计算机程序使得计算机执行如条款A1-11任一项所述的方法。
条款A14、一种计算机程序产品,其特征在于,所述计算机程序产品包括存储了计算机程序的非瞬时性计算机可读存储介质,所述计算机程序可操作来使计算机执行如条款A1-11任一项所述的方法。
条款A15、一种集成电路芯片,包括根据条款A12所述的设备。
条款A16、一种板卡,包括根据条款A15所述的集成电路芯片。
以上对本披露实施例进行了详细介绍,本文中应用了具体个例对本披露的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本披露的方法及其核心思想;同时,对于本领域的一般技术人员,依据本披露的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本披露的限制。
应当理解,本披露的权利要求、说明书及附图中的术语“第一”、“第二”、“第三”和“第四”等是用于区别不同对象,而不是用于描述特定顺序。本披露的说明书和权利要求书中使用的术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在此本披露说明书中所使用的术语仅仅是出于描述特定实施例的目的,而并不意在限定本披露。如在本披露说明书和权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。还应当进一步理解,在本披露说明书和权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
如在本说明书和权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。
以上对本披露实施例进行了详细介绍,本文中应用了具体个例对本披露的原理及实施方式进行了阐述,以上实施例的说明仅用于帮助理解本披露的方法及其核心思想。同时,本领域技术人员依据本披露的思想,基于本披露的具体实施方式及应用范围上做出的改变或变形之处,都属于本披露保护的范围。综上所述,本说明书内容不应理解为对本披露的限制。

Claims (16)

1.一种量化神经网络矩阵的方法,包括以下步骤:
压缩所述神经网络矩阵以产生频域矩阵;
扫描所述频域矩阵以产生数组;
降低排序在所述数组后段的数据精度;以及
将降低精度后的数组还原成量化后矩阵。
2.根据权利要求1所述的方法,还包括以下步骤:
接收图像信号;以及
转换所述图像信号为所述神经网络矩阵。
3.根据权利要求1所述的方法,其中所述压缩步骤是采用离散余弦变换。
4.根据权利要求1所述的方法,其中所述扫描步骤是将所述频域矩阵的元素以Z字形方式截取排列。
5.根据权利要求1所述的方法,其中所述降低步骤包括以下步骤:
分割所述数组为N个区段,其中第一区段为所述数组最靠前的区段,第N区段为所述数组最靠后的区段;
维持所述第一区段的数据精度;以及
以降幂方式设定第二区段至第N区段的数据精度,其中N是大于或等于3的正整数。
6.根据权利要求5所述的方法,其中N为3。
7.根据权利要求6所述的方法,其中所述分割步骤包括以下步骤:
定义所述第一区段为所述数组的0-30%;
定义所述第二区段为所述数组的30%-50%;以及
定义所述第三区段为所述数组的50%-100%。
8.根据权利要求6或7所述的方法,其中所述第一区段的数据精度为单精度浮点数,所述设定步骤包括以下步骤:
设定所述第二区段的数据精度为半精度浮点数或八位定点数;以及
设定所述第三区段的数据精度为四位定点数或1比特。
9.根据权利要求5所述的方法,其中N为5。
10.根据权利要求9所述的方法,其中所述分割步骤包括以下步骤:
定义所述第一区段为所述数组的0-20%;
定义所述第二区段为所述数组的20%-40%;
定义所述第三区段为所述数组的40%-60%;
定义所述第四区段为所述数组的60%-80%;以及
定义所述第五区段为所述数组的80%-100%。
11.根据权利要求9或10所述的方法,其中所述第一区段的数据精度为单精度浮点数,所述设定步骤包括以下步骤:
设定所述第二区段的数据精度为半精度浮点数;
设定所述第三区段的数据精度为八位定点数;
设定所述第四区段的数据精度为四位定点数;以及
设定所述第五区段的数据精度为1比特。
12.一种量化神经网络矩阵的设备,包括:
至少一个处理器;
至少一个存储器,其存储有计算机程序指令,当所述计算机程序指令由所述至少一个处理器执行时,使得所述设备执行根据权利要求1-11的任意一项所述的方法。
13.一种计算机可读存储介质,其特征在于,其存储用于电子数据交换的计算机程序,其中,所述计算机程序使得计算机执行如权利要求1-11任一项所述的方法。
14.一种计算机程序产品,其特征在于,所述计算机程序产品包括存储了计算机程序的非瞬时性计算机可读存储介质,所述计算机程序可操作来使计算机执行如权利要求1-11任一项所述的方法。
15.一种集成电路芯片,包括根据权利要求12所述的设备。
16.一种板卡,包括根据权利要求15所述的集成电路芯片。
CN201911349745.8A 2019-12-24 2019-12-24 一种量化神经网络矩阵的方法、设备、计算机产品及板卡 Pending CN113033787A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911349745.8A CN113033787A (zh) 2019-12-24 2019-12-24 一种量化神经网络矩阵的方法、设备、计算机产品及板卡

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911349745.8A CN113033787A (zh) 2019-12-24 2019-12-24 一种量化神经网络矩阵的方法、设备、计算机产品及板卡

Publications (1)

Publication Number Publication Date
CN113033787A true CN113033787A (zh) 2021-06-25

Family

ID=76452305

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911349745.8A Pending CN113033787A (zh) 2019-12-24 2019-12-24 一种量化神经网络矩阵的方法、设备、计算机产品及板卡

Country Status (1)

Country Link
CN (1) CN113033787A (zh)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050066075A1 (en) * 2001-11-15 2005-03-24 Vojislav Kecman Method, apparatus and software for lossy data compression and function estimation
CN105916174A (zh) * 2016-04-08 2016-08-31 南京邮电大学 基于锯齿形扫描的自适应空间压缩方法
CN107079095A (zh) * 2014-09-30 2017-08-18 富士胶片株式会社 图像处理装置、滤波器获取装置、图像处理方法、滤波器获取方法、程序及记录介质
WO2017214671A1 (en) * 2016-06-17 2017-12-21 Immersive Robotics Pty Ltd Image compression method and apparatus
CN108635849A (zh) * 2018-05-15 2018-10-12 深圳市腾讯网络信息技术有限公司 一种动画数据压缩、解压缩方法及装置
CN109643456A (zh) * 2016-06-17 2019-04-16 因默希弗机器人私人有限公司 图像压缩方法与设备
CN109800877A (zh) * 2019-02-20 2019-05-24 腾讯科技(深圳)有限公司 神经网络的参数调整方法、装置及设备

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050066075A1 (en) * 2001-11-15 2005-03-24 Vojislav Kecman Method, apparatus and software for lossy data compression and function estimation
CN107079095A (zh) * 2014-09-30 2017-08-18 富士胶片株式会社 图像处理装置、滤波器获取装置、图像处理方法、滤波器获取方法、程序及记录介质
CN105916174A (zh) * 2016-04-08 2016-08-31 南京邮电大学 基于锯齿形扫描的自适应空间压缩方法
WO2017214671A1 (en) * 2016-06-17 2017-12-21 Immersive Robotics Pty Ltd Image compression method and apparatus
CN109643456A (zh) * 2016-06-17 2019-04-16 因默希弗机器人私人有限公司 图像压缩方法与设备
CN108635849A (zh) * 2018-05-15 2018-10-12 深圳市腾讯网络信息技术有限公司 一种动画数据压缩、解压缩方法及装置
CN109800877A (zh) * 2019-02-20 2019-05-24 腾讯科技(深圳)有限公司 神经网络的参数调整方法、装置及设备

Similar Documents

Publication Publication Date Title
CN110473141B (zh) 图像处理方法、装置、存储介质及电子设备
CN107895191B (zh) 一种信息处理方法及相关产品
JP6880160B2 (ja) 計算装置と計算方法
Han et al. A low-power deep neural network online learning processor for real-time object tracking application
US11990137B2 (en) Image retouching method and terminal device
CN111027691A (zh) 用于神经网络运算的计算装置及其集成电路板卡
CN110909870A (zh) 训练装置及方法
CN112784951B (zh) Winograd卷积运算方法及相关产品
CN109740729B (zh) 运算方法、装置及相关产品
EP4053753A1 (en) Operation apparatus and related product
CN113033787A (zh) 一种量化神经网络矩阵的方法、设备、计算机产品及板卡
CN111258537B (zh) 一种防止数据溢出的方法、装置和芯片
CN113112009B (zh) 用于神经网络数据量化的方法、装置和计算机可读存储介质
CN111125627A (zh) 用于池化多维矩阵的方法及相关产品
CN114580625A (zh) 用于训练神经网络的方法、设备和计算机可读存储介质
CN113469333B (zh) 执行神经网络模型的人工智能处理器、方法及相关产品
CN113112008B (zh) 用于神经网络数据量化的方法、装置和计算机可读存储介质
CN112784207B (zh) 运算方法及相关产品
CN113111997B (zh) 用于神经网络数据量化的方法、装置和相关产品
CN113807489B (zh) 用于执行反卷积操作的方法、板卡及其计算装置
CN112766473B (zh) 运算装置及相关产品
CN115221105A (zh) 数据处理装置、数据处理方法及相关产品
CN115222027A (zh) 一种神经网络计算的方法、电子设备以及存储介质
CN114444677A (zh) 进行稀疏化训练的装置、板卡、方法及可读存储介质
CN114692074A (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