CN115688877A - 一种用于对待量化数据进行定点化处理的方法及计算装置 - Google Patents

一种用于对待量化数据进行定点化处理的方法及计算装置 Download PDF

Info

Publication number
CN115688877A
CN115688877A CN202211258582.4A CN202211258582A CN115688877A CN 115688877 A CN115688877 A CN 115688877A CN 202211258582 A CN202211258582 A CN 202211258582A CN 115688877 A CN115688877 A CN 115688877A
Authority
CN
China
Prior art keywords
data
fixed
quantized
point
quantization
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
CN202211258582.4A
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.)
Glenfly Tech Co Ltd
Original Assignee
Glenfly Tech Co 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 Glenfly Tech Co Ltd filed Critical Glenfly Tech Co Ltd
Priority to CN202211258582.4A priority Critical patent/CN115688877A/zh
Publication of CN115688877A publication Critical patent/CN115688877A/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods

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)
  • General Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Computational Linguistics (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • Neurology (AREA)
  • Image Processing (AREA)
  • Image Analysis (AREA)

Abstract

本公开提供了一种用于对待量化数据进行定点化处理的方法及计算装置。所述方法包括:接收待量化数据,所述待量化数据为浮点型格式;确定所述定点化处理的类型为非均匀量化法还是均匀量化法;根据所述定点化处理的类型和所述待量化数据的分布,估计一量化参数;通过迭代地找出所述量化参数与所述待量化数据的误差最小值,确定所述待量化数据要采用的最优量化步长;根据所述最优量化步长,确定与所述非均匀量化法或所述均匀量化法中的一者对应的定点型格式,其中,所述定点型格式包括符号位位数、整数位位数和小数位位数;以及利用所述定点型格式对所述待量化数据进行定点化处理,以获得具有所述定点型格式的定点化数据。

Description

一种用于对待量化数据进行定点化处理的方法及计算装置
本申请是申请日为2017年6月6日、申请号为201710417495.1、发明名称为“在卷积神经网络中的计算方法及装置”的发明专利申请的分案申请。
技术领域
本发明涉及一种用于对待量化数据进行定点化处理的方法及计算装置。更具体地,本发明涉及一种对待量化数据进行定点化处理的方法及计算装置以用于提升计算装置的计算速度并降低内存开销。
背景技术
神经网络是一种以生物大脑为模型的计算机结构。在神经网络中,称为神经元的节点可互连并共同操作以处理输入数据。不同类型神经网络的例子包括但不局限于卷积神经网络(Convolutional Neural Networks)、循环神经网络(Recurrent NeuralNetworks)、深层信念网络(Deep Belief Networks)等神经网络。
卷积神经网络包括一或多个卷积层的神经网络。卷积层通常稀疏连接至神经网络层。也就是说,卷积层中的每个节点从前面的神经网络层的一部分节点接收输入,并从输入产生激活。一般来说,卷积层具有根据每一节点的一组权重并藉由卷积已接收的输入产生激活的节点。在一些情况下,在卷积层中的节点可被配置为共享权重。也就是说,层中的所有节点或部分节点可被限制为具有与层中其他节点相同的权重。由于卷积层具有能依据在输入图像中像素数据的相对位置而从输入图像中提取特征的能力,因此卷积层被视为非常适合用于处理图像。
然而,卷积神经网络庞大的计算量和存储量使得一般的计算机系统难以有效地进行计算。因此,如何在卷积神经网络中提升计算速度及精确度并减少存储空间为目前急需解决的问题。
发明内容
以下发明内容仅为示例性的,且不意指以任何方式加以限制。除所述说明性方面、实施方式和特征之外,通过参照附图和下述具体实施方式,其他方面、实施方式和特征也将显而易见。即,以下发明内容被提供以介绍概念、重点、益处及本文所描述新颖且非显而易见的技术优势。所选择,非所有的,实施例将进一步详细描述如下。因此,以下发明内容并不意旨在所要求保护主题的必要特征,也不意旨在决定所要求保护主题的范围中使用。
本发明提供一种用于对待量化数据进行定点化处理的方法及装置。
本发明提出一种用于对待量化数据进行定点化处理的方法,包括:接收待量化数据,所述待量化数据为浮点型格式;确定所述定点化处理的类型为非均匀量化法还是均匀量化法;根据所述定点化处理的类型和所述待量化数据的分布,估计一量化参数;通过迭代地找出所述量化参数与所述待量化数据的误差最小值,确定所述待量化数据要采用的最优量化步长;根据所述最优量化步长,确定与所述非均匀量化法或所述均匀量化法中的一者对应的定点型格式,其中,所述定点型格式包括符号位位数、整数位位数和小数位位数;以及利用所述定点型格式对所述待量化数据进行定点化处理,以获得具有所述定点型格式的定点化数据。本发明所提出的对待量化数据进行定点化处理的方法用于提升计算装置的计算速度并降低内存开销。
本发明提出一种用于对待量化数据进行定点化处理的计算装置,包括:一或多个处理器;以及一或多个计算机存储介质,其存储计算机可读取指令,其中所述处理器使用所述计算机存储介质以执行以下的一者或多者:接收待量化数据,所述待量化数据为浮点型格式;确定所述定点化处理的类型为非均匀量化法还是均匀量化法;根据所述定点化处理的类型和所述待量化数据的分布,估计一量化参数;通过迭代地找出所述量化参数与所述待量化数据的误差最小值,确定所述待量化数据要采用的最优量化步长;根据所述最优量化步长,确定与所述非均匀量化法或所述均匀量化法中的一者对应的定点型格式,其中,所述定点型格式包括符号位位数、整数位位数和小数位位数;以及利用所述定点型格式对所述待量化数据进行定点化处理,以获得具有所述定点型格式的定点化数据。本发明所提出的对待量化数据进行定点化处理的计算装置用于提升计算装置的计算速度并降低内存开销。
附图说明
附图被包括以提供本发明进一步理解且被合并并组成本公开的一部分。附图用以说明本发明的实施例且连同描述一起用以解释本发明的原理。其可理解附图不一定按比例描绘,一些元件可以超过在实际实施方式的大小来显示,以清楚地说明本公开的概念。
图1是显示根据本发明一实施例中卷积神经网络系统的示例性示意图。
图2是显示根据本发明一实施例中卷积神经网络的示例性示意图。
图3是显示根据本发明一实施例所述的在一卷积神经网络中量化步长的优化方法流程图。
图4是显示根据本发明一实施例所述的在一卷积神经网络中的计算方法流程图。
图5是显示根据本发明一实施例所述的数据输入一卷积神经网络的流程图。
图6是显示根据本发明一实施例所述的适用于计算环境的方块图。
【符号说明】
100 卷积神经网络系统
110 计算装置
112 输入装置
114 处理器
116 CNN
118 存储器
1182 程序
120 网络
130 电子装置
130-A 移动电话
130-B 计算机
200 卷积神经网络
210 数据
212、218、224、226、228 卷积层
230、232、234 完全连接层
214、220 ReLu层
216、222 池化层
300 方法流程图
S305、S310、S315、S320 步骤
400 方法流程图
S405、S410、S415、S420、S425、S430、S435 步骤
500 流程图
S505、S510、S515、S520、S525、S530、S535、S540、S545、S550、S555、S560 步骤
600 计算装置
610 总线
612 存储器
614 处理器
616 显示元件
618 I/O端口
620 I/O元件
622 电源供应器
具体实施方式
在下文中将参考附图对本公开的各方面进行更充分的描述。然而,本公开可以具体化成许多不同形式且不应解释为局限于贯穿本公开所呈现的任何特定结构或功能。相反地,提供这些方面将使得本公开周全且完整,并且本公开将给本领域技术人员充分地传达本公开的范围。基于本文所教导的内容,本领域的技术人员应意识到,无论是单独还是结合本公开的任何其它方面实现本文所公开的任何方面,本公开的范围旨在涵盖本文中所公开的任何方面。例如,可以使用本文所提出任意数量的装置或者执行方法来实现。另外,除了本文所提出本公开的多个方面之外,本公开的范围更旨在涵盖使用其它结构、功能或结构和功能来实现的装置或方法。应可理解,其可通过权利要求书的一或多个元件具体化本文所公开的任何方面。
词语“示例性”在本文中用于表示“用作示例、实例或说明”。本公开的任何方面或本文描述为“示例性”的设计不一定被解释为优选于或优于本公开或设计的其他方面。
虽然此处描述特定的方面,但是这些方面的许多变化和排序落入本公开的范围内。虽然优选方面的一些益处及优点被提及,但是本公开的范围不仅旨在局限于特定益处、使用或者目标。相反地,本公开的方面旨在广泛适用于不同技术、系统配置、网络和协议,在附图和下面优选方面的说明中通过举例的方式对其中一些进行了说明。详细说明书和附图仅仅对本公开说明而不是用于限制,通过所附权利要求书及其等价物定义本公开的范围。
神经网络有助于对各种计算上复杂的任务。神经网络的类型包括:具有单向逻辑仅单层或两层的神经网络、具有复杂多路输入的神经网络、具有多方向反馈回路的神经网络以及具有多层的神经网络。通常地,这些系统在它们的程序设计中使用算法来确定它们函数的控制和组织。大部分系统使用“权重”来改变输送量的参数以及改变至神经元的连接。神经网络可以是自主的,且从通过使用训练数据的集合完成的先前训练学习。
为了给本文的教示提供一些内容,一部分将介绍于此。
如文中所讨论的,术语“神经网络”通常指具有自我调整性的统计学的学习算法,因此在机器学习中是有用的。神经网络可以包括多个人工节点,所述多个人工节点作为“神经元”、“处理元素”、“单元”或通过其他类似术语而公知,这些节点连接到一起形成模仿生物神经网络的网络。通常,神经网络包括自我调整权重的集合,且能够近似于它们输入的非线性函数。自我调整权重从概念上讲是在训练和预测期间启动的神经元之间的连接强度。通常,神经网络根据非线性、分散式、并行的以及本地处理和适应的原理而操作。
通常地,术语“卷积神经网络”是前馈型人工神经网络,其中,按照个体神经元响应于视野中的重叠区域的方式来平铺个体神经元。卷积网络是多层感知器(MLP)的变数,并且被设计为使用最小量的预处理。当用于图像识别时,卷积神经网络使用小神经元集合的多个层,其中,所述小神经元集合查看被称为“接受域”的输入图像的小部分。然后,平铺这些集合的结果使得它们重叠以获得原始图像的更好表现。针对每个这样的层重复此操作。除图像数据外,每一层的输入还包括一权重参数(weight)和一偏置参数(bias),所述图像数据与权重参数做卷积运算后再加上所述偏置参数以获得这一层的输出结果。其中,每一层的权重参数和偏置参数是不相同的。
在本文中使用术语“应用程序”意在涵盖可执行和不可执行的软件档、原始数据、合计数据、修补程序和其它程序代码片段。此外,相同的数字在所有若干图示中指示相同的元件,且除非在描述中另有指定,冠词“一”和“上述”包含多个的参考。
图1是显示根据本发明一实施例中卷积神经网络系统100的示例性示意图。卷积神经网络系统100可包括连接至网络120的一计算装置110及电子装置130。
计算装置110可包括输入装置112,其中,该输入装置112被配置为从各种来源接收输入数据。举例来说,计算装置110可以从网络120接收图像数据或接收电子装置130所传送的数据。
计算装置110还包括处理器114、一卷积神经网络(Convolutional NeuralNetwork,CNN)116及可以存储程序1182的一存储器118。此外,数据可存储在存储器118中或是存储在卷积神经网络116中。在一实施例中,卷积神经网络116可由处理器114所实现。在另一实施例中,计算装置110可与本文所描述之外的其他组件、系统、子系统和/或装置一起使用。
可使用计算装置110的电子装置130的类型范围从小型手持装置(例如,移动电话130-A/计算机130-B)到大型主机系统(例如大型计算机)。电子装置130的示例包括个人数字助理(PDA)、笔记型计算机等装置。电子装置130可使用网络120连接至计算装置110。网络120可包括但不局限于一或多个局域网(Local Area Network,LAN)和/或广域网络(WideArea Network,WAN)。
应可理解,图1所示的计算装置110及电子装置130是一合适卷积神经网络系统100架构的示例。图1所示的每个元件可经由任何类型的计算装置来实现,像是参考图1描述的电子装置600,如图6所示。
图2是显示根据本发明一实施例中卷积神经网络200的示例性示意图。数据210输入至卷积神经网络200,数据210举例而言是图像数据,例如可为224×224像素的灰阶图像。卷积神经网络200可包括五个卷积层,分别为卷积层212、卷积层218、卷积层224、卷积层226和卷积层228,其余三层可为完全连接层230、232、234。
在一些实施例中,可在卷积层212和卷积层218之后增加激活层(RectifiedLinear Unit,ReLu Unit)214和池化层(Pooling Unit)216。在另一实施例中,ReLu层214和ReLu层220可由Signoid函数或Tanh函数来实现。池化层216和池化层222可采用最大池化(Max Pooling)或平均池化(Mean Pooling)。
为了提升卷积神经网络的计算精确度、计算速度并减少存储空间,本发明实施例首先根据一数据决定一最优量化步长,其中上述数据的数据格式为浮点型。利用最优量化步长来确定一定点数的定点型格式,进而利用上述定点型格式对上述数据进行定点化处理,以取得更为精确的定点化数据。更进一步地,本发明实施例提出从第二个卷积层开始,根据上一卷积层的输出数据找出最优量化步长,利用该最优量化步长来对上一卷积层的输出数据进行定点化处理后得到定点化数据。将上述定点化数据作为下一卷积层的输入数据,从而可进一步地提升卷积神经网络的计算速度,并降低内存开销。
图3是显示根据本发明一实施例所述的在一卷积神经网络中量化步长的优化方法流程图300。此方法可执行于如图1所示的计算装置的处理器中。
在步骤S305中,计算装置接收一待量化数据,其中上述待量化数据使用一浮点型格式。在步骤S310中,计算装置根据待量化数据的一分布计算出一量化参数。在步骤S315中,计算装置根据量化参数及待量化数据迭代地找出一最优量化步长。在步骤S320中,计算装置根据最优量化步长对待量化数据进行量化以获得一量化数据。
在本发明中,提供两种量化步长的优化方式,其说明如下。
方式一
由于待量化数据的分布近似于高斯分布,因此根据此分布,可计算出上述分布的一均值μ及一方差σ。根据均值μ、方差σ及一调整函数计算一量化参数,例如初始量化步长Δ0,其中上述调整函数可推导如下:
Δ0=σ′×Cscaling(ω)×α (1)
σ′=|μ|+σ或σ′=σ或
Figure BDA0003890267650000071
Δ0=σ′×Cscaling(ω) (3)
其中Cscaling(ω)系为调整函数,而α及待量化数据的位长度ω为可调整参数。其中待量化数据的位长度ω即为待量化数据的位数(bitwidth)。
使一量化误差函数最小化时可确定最优量化步长,量化误差函数E可表示如下:
Figure BDA0003890267650000072
其中Q(xi)系为量化后的数据,xi系为待量化数据,N为xi的个数,Δ为最优量化步长。利用上述初始量化步长Δ0和量化误差函数迭代地取得最优量化步长,迭代过程可表示如下:
z(t)=argminzE(x,z,Δ(t-1)) (5)
Figure BDA0003890267650000081
详细来讲,在确定初始量化步长Δ0后,通过公式(5)求得使量化误差函数E最小时的z(1)。在确定z(1)后,通过公式(6)求得使量化误差函数E最小时的Δ(1),以此类推,最终求得使量化误差函数E最小时的最优量化步长Δ。而Q(xi)与zi的关系表示如下:
Q(xi)=Δ·zi (7)
zi=g(xi) (8)
当量化等级M为偶数时,g(xi)可表示为:
Figure BDA0003890267650000082
当量化等级M为奇数时,g(xi)可表示为:
Figure BDA0003890267650000083
其中,g(xi)中的slop(xi)可表示为:
Figure BDA0003890267650000084
在方式一这种均匀量化法中,量化等级M与位长度ω的关系为M≤2ω,量化等级M可为一奇数或偶数,调整函数Cscaling(ω)与位长度ω的关系可用表格1表示。
Figure BDA0003890267650000085
表格1
利用方式一取得最优量化步长后,可藉由最优量化步长取得待量化数据的定点型格式,上述定点型格式包括一符号位位数、一整数位位数m及一小数位位数n,其中上述符号位位数为1。在一些情况下,当待量化数据的值为正数时,上述位数的比特值取0,当待量化数据的值为负数时,上述位数的比特值取1。整数位位数m及小数位位数n可分别表示如下:
m=log2(Range/2),其中Range=(M-1)×Δ (11)
n=-log2(Δ) (12)
方式二
方式二可分为非均匀量化及均匀量化两种。
非均匀量化法
利用待量化数据的分布p(x)估计一量化参数
Figure BDA00038902676500000913
其中待量化数据的分布与量化数据的关系可表示如下:
Figure BDA0003890267650000091
其中bq系为决策边界,而bq
Figure BDA0003890267650000092
Figure BDA0003890267650000093
的关系可表示为
Figure BDA0003890267650000094
Figure BDA0003890267650000095
接着,利用上述量化参数
Figure BDA0003890267650000096
迭代找出量化参数
Figure BDA0003890267650000097
与待量化数据的一误差最小值θ,其中误差最小值θ可表示如下:
Figure BDA0003890267650000098
当q为量化等级M且误差最小值θ小于一临界值时,可找出最短量化步长Δmin,上述最短量化步长Δmin即为最优量化步长。
均匀量化法
若量化等级M远大于2时,bq
Figure BDA0003890267650000099
的关系可表示如下:
Figure BDA00038902676500000910
利用上述量化参数
Figure BDA00038902676500000911
迭代找出误差最小值θ,以得到最优量化步长。
利用方式二取得最优量化步长后,可根据最优量化步长取得待量化数据的定点型格式。若为使用非均匀量化时,则上述待量化数据的定点型格式如表格2所示:
符号位 与浮点数的符号位相同
小数位位数n n=-log<sub>2</sub>(Δmin);Δmin为最优量化步长
整数位位数m m=P-1-n,P为待量化的位数
表格2
若为使用均匀量化时,则上述待量化数据的定点型格式如表格3所示:
Figure BDA00038902676500000912
Figure BDA0003890267650000101
表格3
图4是显示根据本发明一实施例所述的在一卷积神经网络中的计算方法流程图400。此方法可执行于如图1所示的计算装置中。
在步骤S405中,计算装置接收一原始数据,其中原始数据为一浮点型格式,原始数据可包括原始图像数据。在一些实施例中,原始数据还可包括原始权重数据和/或原始偏置数据。在步骤S410中,计算装置根据原始数据的一分布确定一第一最优量化步长。在步骤S415中,计算装置根据第一最优量化步长来确定原始数据的第一定点型格式,并基于上述第一定点型格式对原始数据进行定点化处理以产生一第一数据。在步骤S420中,计算装置将第一数据作为卷积神经网络的第一层的输入,以产生一第一输出数据。其中,第一数据可包括一第一图像数据、一第一权重数据和/或一第一偏置数据,第一输出数据的数据格式为浮点型。在步骤S425中,计算装置根据第一层所输出的第一输出数据的一分布来确定一第二最优量化步长。在步骤S430中,计算装置根据第二最优量化步长定点化第一输出数据以产生一第二数据。其中,第二数据可包括一第二图像数据、一第二权重数据和/或一第二偏置数据。可基于第二最优量化步长来确定第一输出数据的第二定点型格式,并基于第二定点型格式对第一输出数据进行定点化处理以产生一第二图像数据。在步骤S435中,将第二数据输入卷积神经网络的第二层,其中卷积神经网络的第一层及第二层可为卷积神经网络中的卷积层。
在一实施例中,第二权重数据和/或第二偏置数据可以是经过定点化处理的,对其进行定点化处理所采用的定点型格式可以由本公开书所披露的方式一或方式二来确定。在一实施例中,第二权重数据和/或第二偏置数据也可以是未经定点化处理的数据。在一实施例中,第一最优量化步长与第二最优量化步长可不相同,第一定点型格式与第二定点型格式也可不相同。例如,可采用本公开书所披露的方式一这种均匀量化法来产生第一定点型格式,利用第一定点型格式该对原始数据进行定点化处理。在步骤S420中的第一权重数据和一第一偏置数据为已经定点化处理后的数据,其所采用的定点型格式可由本公开书所披露的方式一或方式二来确定,例如,可采用本公开书所披露的方式二中的非均匀量化法来产生。换句话说,卷积神经网络中的每一卷积层所输入的图像数据、权重数据及偏置数据所采用的定点型格式可以相同或不同,而确定其定点型格式的方式也可以相同或不同。图4仅为本发明的一实施例,本实施例只显示了卷积神经网络中两层神经网络的输入和/或输出。在一些实施例中,卷积神经网络可含多个神经网络层,每个神经网络层可含有卷积层、ReLU层和/或池化层。例如,计算装置在获取第一输出数据后,可通过一ReLU层和/或一池化层对第一输出数据做处理,得到一后续第一输出数据。换句话说,在步骤S425中,计算装置可根据后续第一输出数据的一分布来确定第二最优量化步长。
在一实施例中,第一最优量化步长和/或第二最优量化步长可离线地被确定。在另一实施例中,确定卷积神经网络中的每一卷积层所输入的图像数据、权重数据和/或偏置数据所采用的定点型格式和/或对其进行的定点化处理可以离线进行。换句话说,确定定点型格式和/或定点化处理可以在一计算单元中进行,该计算单元可设置在上述计算装置外。例如,原始图像数据、原始权重数据、原始偏置数据和/或第一输出数据可转存在一电子设备的一计算单元中,并由该计算单元来确定定点型格式,并对其进行定点化处理以得到相应的第一图像数据、第一权重数据、第一偏置数据和/或第二图像数据。在一些实施例中,可以不进行对原始权重数据和/或原始偏置数据的定点化处理,而是直接将原始权重数据和/或原始偏置数据输入至第一卷积层。换句话说,第一权重数据即为原始权重数据,第一偏置数据即为原始偏置数据。
图5是显示根据本发明一实施例所述的数据输入一卷积神经网络的流程图500。如图所示,在步骤S505中,数据格式为浮点型的原始数据输入至卷积神经网络中。在一些实施例中,上述原始数据可包括原始图像数据、原始权重数据和/或原始偏置数据。在步骤S510中,计算装置可根据原始数据数据一分布找出一第一最优量化步长。在一些实施例中,可基于原始数据的原始图像数据一分布来确定第一最优量化步长。在步骤S515中,计算装置根据第一最优量化步长来确定原始数据的定点型格式进而对上述原始数据进行定点化处理,进而得到第一数据。在一些实施例中,原始数据的原始图像数据、原始权重数据和/或原始偏置数据也可具有不同的第一最优量化步长,进而具有不同的定点型格式。在步骤S520中,计算装置将已定点化的原始数据输入至第一卷积层中,并输出一第一输出数据。在步骤S525中,计算装置将第一输出数据的数据格式由定点型转为浮点型。在步骤S530中,计算装置将已经过处理的第一输出数据输入至ReLU层和/或池化层,得到一后续第一输出数据。完成第一阶段的优化。
在步骤S535中,计算装置将后续第一输出数据作为第二阶段优化的输入。在步骤S540中,计算装置可根据后续第一输出数据的分布找出一第二最优量化步长。在步骤S545中,计算装置根据第二最优量化步长定点化后续第一输出数据,以产生一第二图像数据。在步骤S550中,计算装置将第二图像数据输入至第二卷积层中,以输出一第二输出数据。第二卷积层的输入还包括一第二权重数据和/或一第二偏置数据,在一些实施例中,第二权重数据和/或第二偏置数据可以是经过定点化处理的,对其进行定点化处理所采用的最优量化步长可以与第二最优量化步长相同,即统一对第二输出数据、未定点化的第二权重数据和/或第二偏置数据求取一最优量化步长,该最优量化步长即为上述第二最优量化步长。在一些实施例中,对第二权重数据和/或第二偏置数据进行定点化处理所采用的最优量化步长可以与上述第二最优量化步长不相同,即对未定点化的第二权重数据和/或第二偏置数据求取一最优量化步长,该最优量化步长不同于上述第二最优量化步长。在一实施例中,第二权重数据和/或第二偏置数据也可以是未经定点化处理的数据。在步骤S555中,计算装置将第二输出数据的数据格式由定点型转为浮点型。在步骤S560中,计算装置将处理后的第二输出数据输入至ReLU层和/或池化层。完成第二阶段的优化。
须注意的是,虽然图5仅用两阶段优化过程来进行说明,但后续优化的过程可以此类推,直到卷积神经网络的最后一层为止。在一些实施例中,也可对卷积神经网络中的一层或几层进行优化,其他层不进行优化。在一些实施例中,第一阶段的优化可以不从卷积神经网络中的第一层开始优化,例如,第一阶段的优化可在卷积神经网络中的第二层进行。
对于本发明已描述的实施例,下文描述了可以实现本发明实施例的示例性操作环境。具体参考图6,图6是显示用以实现本发明实施例的示例性操作环境,一般可被视为计算装置600。计算装置600仅为一合适计算环境的一个示例,并不意图暗示对本发明使用或功能范围的任何限制。计算装置600也不应被解释为具有与所示元件任一或组合相关任何的依赖性或要求。
本发明可在计算机程序代码或机器可使用指令来执行本发明,指令可为程序模块的计算机可执行指令,其程序模块由计算机或其它机器,例如个人数字助理或其它便携式装置执行。一般而言,程序模块包括例程、程序、物件、元件、数据结构等,程序模块指的是执行特定任务或实现特定抽象数据类型的程序代码。本发明可在各种系统配置中实现,包括便携式装置、消费者电子产品、通用计算机、更专业的计算装置等。本发明还可在分散式运算环境中实现,处理由通信网络所连结的装置。
参考图6。计算装置600包括直接或间接耦接以下装置的总线610、存储器612、一或多个处理器614、一或多个显示元件616、输入/输出(I/O)端口618、输入/输出(I/O)元件620以及说明性电源供应器622。总线610表示可为一或多个总线的元件(例如,地址总线、数据总线或其组合)。虽然图6的各个方块为简要起见以线示出,实际上,各个元件的分界并不是具体的,例如,可将显示装置的呈现元件视为I/O元件;处理器可具有存储器。
计算装置600—般包括各种计算机可读取介质。计算机可读取介质可以是可被计算装置600存取的任何可用介质,该介质同时包括易失性和非易失性介质、可移动和不可移动介质。举例但不局限于,计算机可读取介质可包括计算机存储介质和通信介质。计算机可读取介质同时包括在用于存储像是计算机可读取指令、数据结构、程序模块或其它数据的类信息的任何方法或技术中实现的易失性性和非易失性介质、可移动和不可移动介质。计算机存储介质包括但不局限于RAM、ROM、EEPROM、快闪存储器或其它存储器技术、CD-ROM、数字多功能光盘(DVD)或其它光盘存储装置、磁片、磁盘、磁片存储装置或其它磁存储装置,或可用于存储所需的信息并且可被计算装置600存取的其它任何介质。计算机存储介质本身不包括信号。
通信介质一般包含计算机可读取指令、数据结构、程序模块或其它采用诸如载波或其他传输机制之类的模块化数据信号形式的数据,并包括任何信息传递介质。术语“模块化数据信号”是指具有一或多个特征集合或以在信号中编码信息的一方式更改的信号。举例但不局限于,通信介质包括像是有线网络或直接有线连接的有线介质及无线介质,像是声频、射频、红外线以及其它无线介质。上述介质的组合包括在计算机可读取介质的范围内。
存储器612包括以易失性和非易失性存储器形式的计算机存储介质。存储器可为可移动、不移动或可以为这两种的组合。示例性硬件装置包括固态存储器、硬盘驱动器、光盘驱动器等。计算装置600包括一或多个处理器,其读取来自像是存储器612或I/O元件620各实体的数据。显示元件616向使用者或其它装置显示数据指示。示例性显示元件包括显示装置、扬声器、打印元件、振动元件等。
I/O端口618允许计算装置600逻辑连接到包括I/O元件620的其它装置,一些此种装置为内建装置。示例性元件包括麦克风、摇杆、游戏台、碟形卫星信号接收器、扫描器、打印机、无线装置等。I/O元件620可提供一自然使用者接口,用于处理使用者生成的姿势、声音或其它生理输入。在一些例子中,这些输入可被传送到一合适的网络元件以便进一步处理。NUI可实现语言识别、触摸与手写笔辨识、面部识别、生物识别、在屏幕上以及邻近屏幕的姿势识别、空中手势、头部及眼部追踪以及与计算装置600所显示相关联的触摸识别的任意组合。计算装置600可装备有深度照相机,像是立体照相机系统、红外线照相机系统、RGB照相机系统和这些系统的组合,以检测与识别姿势。另外,计算装置600可以装备有检测运动的加速度计或陀螺仪。加速度计或陀螺仪的输出可被提供给计算装置600显示以呈现沉浸式增强现实或虚拟实境。
此外,计算装置600中的处理器614也可执行存储器612中的程序及指令以呈现上述实施例所述的动作和步骤,或其它在说明书中内容的描述。
在此所公开程序的任何具体顺序或分层的步骤纯为一举例的方式。基于设计上的偏好,必须了解到程序上的任何具体顺序或分层的步骤可在此文件所公开的范围内被重新安排。伴随之方法权利要求以一示例顺序呈现出各种步骤的元件,也因此不应被此所展示的特定顺序或阶层所限制。
权利要求书中用以修饰元件的“第一”、“第二”、“第三”等序数词的使用本身未暗示任何优先权、优先次序、各元件之间的先后次序、或方法所执行的步骤的次序,而仅用作标识来区分具有相同名称(具有不同序数词)的不同元件。
虽然本公开已以实施范例公开如上,然其并非用以限定本申请,本领域技术人员在不脱离本公开的精神和范围内,当可做些许更动与润饰,因此本申请的保护范围当视所附权利要求书界定范围为准。

Claims (10)

1.一种用于对待量化数据进行定点化处理的方法,包括:
接收待量化数据,所述待量化数据为浮点型格式;
确定所述定点化处理的类型为非均匀量化法还是均匀量化法;
根据所述定点化处理的类型和所述待量化数据的分布,估计一量化参数;
通过迭代地找出所述量化参数与所述待量化数据的误差最小值,确定所述待量化数据要采用的最优量化步长;
根据所述最优量化步长,确定与所述非均匀量化法或所述均匀量化法中的一者对应的定点型格式,其中,所述定点型格式包括符号位位数、整数位位数和小数位位数;以及
利用所述定点型格式对所述待量化数据进行定点化处理,以获得具有所述定点型格式的定点化数据。
2.如权利要求1所述的用于对待量化数据进行定点化处理的方法,其中,当所述定点化处理的类型为非均匀量化法时,所述整数位位数为m,所述小数位位数为n,其中m和n分别表示为:
m=P-1-n
n=-log2(Δmin)
其中,P为所述待量化数据的位数,Δmin为所述最优量化步长。
3.如权利要求1所述的用于对待量化数据进行定点化处理的方法,其中,当所述定点化处理的类型为均匀量化法时,所述整数位位数为m,所述小数位位数为n,其中m和n分别表示为:
m=log2(max|Q0|,|QM|)
n=-log2(Δ)
其中,Q0为初始量化位置,QM为终点量化位置,Δ为所述最优量化步长。
4.如权利要求1所述的用于对待量化数据进行定点化处理的方法,其中,当所述定点化处理的类型为非均匀量化法时,量化数据为x,待量化数据的分布为p(x),量化参数为
Figure FDA0003890267640000011
并且三者的关系表示为:
Figure FDA0003890267640000012
其中bq为决策边界,且bq
Figure FDA0003890267640000021
Figure FDA0003890267640000022
的关系表示为:
Figure FDA0003890267640000023
其中确定所述最优量化步长的步骤包括:利用量化参数
Figure FDA0003890267640000024
迭代找出量化参数
Figure FDA0003890267640000025
与待量化数据的误差最小值θ,其中误差最小值θ表示为:
Figure FDA0003890267640000026
当q为量化等级M且误差最小值θ小于临界值时确定所述最优量化步长。
5.如权利要求4所述的用于对待量化数据进行定点化处理的方法,其中,当所述定点化处理的类型为均匀量化法时,决策边界bq与量化参数
Figure FDA0003890267640000027
的关系表示如下:
Figure FDA0003890267640000028
其中确定所述最优量化步长的步骤包括:利用量化参数
Figure FDA0003890267640000029
迭代找出误差最小值θ以确定所述最优量化步长。
6.如权利要求1-5中任一项所述的用于对待量化数据进行定点化处理的方法,所述方法由计算装置实施以提升所述计算装置的计算速度并降低内存开销,并且其中确定所述最优量化步长、确定所述定点型格式和进行定点化处理中的一者或多者在设置于所述计算装置之外的计算单元中离线地进行。
7.一种用于对待量化数据进行定点化处理的计算装置,包括:
一或多个处理器;以及
一或多个计算机存储介质,其存储计算机可读取指令,其中所述处理器使用所述计算机存储介质以执行以下的一者或多者:
接收待量化数据,所述待量化数据为浮点型格式;
确定所述定点化处理的类型为非均匀量化法还是均匀量化法;
根据所述定点化处理的类型和所述待量化数据的分布,估计一量化参数;
通过迭代地找出所述量化参数与所述待量化数据的误差最小值,确定所述待量化数据要采用的最优量化步长;
根据所述最优量化步长,确定与所述非均匀量化法或所述均匀量化法中的一者对应的定点型格式,其中,所述定点型格式包括符号位位数、整数位位数和小数位位数;以及
利用所述定点型格式对所述待量化数据进行定点化处理,以获得具有所述定点型格式的定点化数据。
8.如权利要求7所述的用于对待量化数据进行定点化处理的计算装置,其中,当所述定点化处理的类型为非均匀量化法时,所述整数位位数为m,所述小数位位数为n,其中m和n分别表示为:
m=P-1-n
n=-log2(Δmin)
其中,P为所述待量化数据的位数,Δmin为所述最优量化步长。
9.如权利要求7所述的用于对待量化数据进行定点化处理的计算装置,其中,当所述定点化处理的类型为均匀量化法时,所述整数位位数为m,所述小数位位数为n,其中m和n分别表示为:
m=log2(max|Q0|,|QM|)
n=-log2(Δ)
其中,Q0为初始量化位置,QM为终点量化位置,Δ为所述最优量化步长。
10.如权利要求7-9中任一项所述的用于对待量化数据进行定点化处理的计算装置,其中确定所述最优量化步长、确定所述定点型格式和进行定点化处理中的一者或多者在设置于所述计算装置之外的计算单元中离线地进行。
CN202211258582.4A 2017-06-06 2017-06-06 一种用于对待量化数据进行定点化处理的方法及计算装置 Pending CN115688877A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211258582.4A CN115688877A (zh) 2017-06-06 2017-06-06 一种用于对待量化数据进行定点化处理的方法及计算装置

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202211258582.4A CN115688877A (zh) 2017-06-06 2017-06-06 一种用于对待量化数据进行定点化处理的方法及计算装置
CN201710417495.1A CN107239826A (zh) 2017-06-06 2017-06-06 在卷积神经网络中的计算方法及装置

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CN201710417495.1A Division CN107239826A (zh) 2017-06-06 2017-06-06 在卷积神经网络中的计算方法及装置

Publications (1)

Publication Number Publication Date
CN115688877A true CN115688877A (zh) 2023-02-03

Family

ID=59985373

Family Applications (2)

Application Number Title Priority Date Filing Date
CN202211258582.4A Pending CN115688877A (zh) 2017-06-06 2017-06-06 一种用于对待量化数据进行定点化处理的方法及计算装置
CN201710417495.1A Pending CN107239826A (zh) 2017-06-06 2017-06-06 在卷积神经网络中的计算方法及装置

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN201710417495.1A Pending CN107239826A (zh) 2017-06-06 2017-06-06 在卷积神经网络中的计算方法及装置

Country Status (2)

Country Link
US (1) US11657254B2 (zh)
CN (2) CN115688877A (zh)

Families Citing this family (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190044878A (ko) * 2017-10-23 2019-05-02 삼성전자주식회사 뉴럴 네트워크에서 파라미터를 처리하는 방법 및 장치
KR102589303B1 (ko) * 2017-11-02 2023-10-24 삼성전자주식회사 고정 소수점 타입의 뉴럴 네트워크를 생성하는 방법 및 장치
US11270187B2 (en) * 2017-11-07 2022-03-08 Samsung Electronics Co., Ltd Method and apparatus for learning low-precision neural network that combines weight quantization and activation quantization
CN107798382B (zh) 2017-11-21 2020-09-01 南京地平线机器人技术有限公司 用于适配卷积神经网络中的特征数据的方法和装置
KR20190068255A (ko) * 2017-12-08 2019-06-18 삼성전자주식회사 고정 소수점 뉴럴 네트워크를 생성하는 방법 및 장치
CN109976809B (zh) * 2017-12-28 2020-08-25 中科寒武纪科技股份有限公司 调度方法及相关装置
CN110062246B (zh) * 2018-01-19 2021-01-05 杭州海康威视数字技术股份有限公司 对视频帧数据进行处理的方法和装置
CN108875899A (zh) * 2018-02-07 2018-11-23 北京旷视科技有限公司 用于神经网络的数据处理方法、装置和系统及存储介质
CN108596328B (zh) * 2018-04-26 2021-02-02 北京市商汤科技开发有限公司 一种定点化方法及装置、计算机设备
KR20190125141A (ko) * 2018-04-27 2019-11-06 삼성전자주식회사 뉴럴 네트워크의 파라미터들을 양자화하는 방법 및 장치
US10846593B2 (en) * 2018-04-27 2020-11-24 Qualcomm Technologies Inc. System and method for siamese instance search tracker with a recurrent neural network
CN110473283B (zh) * 2018-05-09 2024-01-23 无锡时代天使医疗器械科技有限公司 牙齿三维数字模型的局部坐标系设定方法
US11138731B2 (en) * 2018-05-30 2021-10-05 Siemens Healthcare Gmbh Methods for generating synthetic training data and for training deep learning algorithms for tumor lesion characterization, method and system for tumor lesion characterization, computer program and electronically readable storage medium
CN110598839A (zh) * 2018-06-12 2019-12-20 华为技术有限公司 卷积神经网络系统和卷积神经网络量化的方法
CN110059797B (zh) * 2018-10-10 2020-03-10 中科寒武纪科技股份有限公司 一种计算装置及相关产品
CN109472353B (zh) * 2018-11-22 2020-11-03 浪潮集团有限公司 一种卷积神经网络量化电路及量化方法
CN111542838B (zh) * 2018-12-12 2024-02-20 深圳鲲云信息科技有限公司 一种卷积神经网络的量化方法、装置及电子设备
US10325352B1 (en) * 2019-01-23 2019-06-18 StradVision, Inc. Method and device for transforming CNN layers to optimize CNN parameter quantization to be used for mobile devices or compact networks with high precision via hardware optimization
CN109800877B (zh) * 2019-02-20 2022-12-30 腾讯科技(深圳)有限公司 神经网络的参数调整方法、装置及设备
EP3772022A1 (en) * 2019-06-12 2021-02-03 Shanghai Cambricon Information Technology Co., Ltd Method for determining quantization parameters in neural network and related products
CN112446472A (zh) * 2019-08-28 2021-03-05 上海寒武纪信息科技有限公司 用于处理数据的方法、装置以及相关产品
EP4024281A4 (en) * 2019-08-26 2023-11-01 Shanghai Cambricon Information Technology Co., Ltd DATA PROCESSING METHOD AND APPARATUS, AND RELATED PRODUCT
CN110659734B (zh) * 2019-09-27 2022-12-23 中国科学院半导体研究所 深度可分离卷积结构的低比特量化方法
CN110705696B (zh) * 2019-10-11 2022-06-28 阿波罗智能技术(北京)有限公司 神经网络的量化与定点化融合方法及装置
CN110866962B (zh) * 2019-11-20 2023-06-16 成都威爱新经济技术研究院有限公司 一种基于卷积神经网络的虚拟人像与表情同步方法
US11861492B1 (en) * 2019-12-26 2024-01-02 Cadence Design Systems, Inc. Quantizing trained neural networks with removal of normalization
JP2021111081A (ja) * 2020-01-09 2021-08-02 富士通株式会社 情報処理装置、ニューラルネットワークの演算プログラム及びニューラルネットワークの演算方法
US11823054B2 (en) 2020-02-20 2023-11-21 International Business Machines Corporation Learned step size quantization
CN111368978B (zh) * 2020-03-02 2023-03-24 开放智能机器(上海)有限公司 一种离线量化工具的精度提升方法
CN113673664B (zh) * 2020-05-14 2023-09-12 杭州海康威视数字技术股份有限公司 数据溢出检测方法、装置、设备及存储介质
CN112232491A (zh) * 2020-10-29 2021-01-15 深兰人工智能(深圳)有限公司 基于卷积神经网络模型的特征提取方法和装置
US11853715B2 (en) * 2020-11-23 2023-12-26 International Business Machines Corporation Floating-point computation with threshold prediction for artificial intelligence system
CN113554149B (zh) * 2021-06-18 2022-04-12 北京百度网讯科技有限公司 神经网络处理单元npu、神经网络的处理方法及其装置
CN113850374A (zh) * 2021-10-14 2021-12-28 安谋科技(中国)有限公司 神经网络模型的量化方法、电子设备及介质

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2486431A1 (en) * 2002-05-20 2003-12-04 Rosetta Inpharmatics Llc Computer systems and methods for subdividing a complex disease into component diseases
CN103093196B (zh) * 2013-01-14 2014-08-27 大连理工大学 一种基于手势的汉字交互输入与识别方法
JP6042274B2 (ja) * 2013-06-28 2016-12-14 株式会社デンソーアイティーラボラトリ ニューラルネットワーク最適化方法、ニューラルネットワーク最適化装置及びプログラム
CN104572965A (zh) * 2014-12-31 2015-04-29 南京理工大学 基于卷积神经网络的以图搜图系统
CN104680491B (zh) * 2015-02-28 2016-03-30 西安交通大学 一种基于深度神经网络的图像非均匀运动模糊去除方法
US10373050B2 (en) * 2015-05-08 2019-08-06 Qualcomm Incorporated Fixed point neural network based on floating point neural network quantization
CN105447513B (zh) * 2015-11-17 2017-06-16 徐期林 一种文件墨迹数据实现自动对比的方法和系统
CN106796668B (zh) * 2016-03-16 2019-06-14 香港应用科技研究院有限公司 用于人工神经网络中比特深度减少的方法和系统
CN106326939A (zh) * 2016-08-31 2017-01-11 深圳市诺比邻科技有限公司 卷积神经网络的参数优化方法及系统

Also Published As

Publication number Publication date
CN107239826A (zh) 2017-10-10
US20180349758A1 (en) 2018-12-06
US11657254B2 (en) 2023-05-23

Similar Documents

Publication Publication Date Title
CN115688877A (zh) 一种用于对待量化数据进行定点化处理的方法及计算装置
CN115841137A (zh) 一种用于对待量化数据进行定点化处理的方法及计算装置
US20210004663A1 (en) Neural network device and method of quantizing parameters of neural network
US11003736B2 (en) Reduced dot product computation circuit
EP3295381B1 (en) Augmenting neural networks with sparsely-accessed external memory
JP2020009444A (ja) ニューラルネットワークにおいてパラメータを処理する方法及び装置
US20150242760A1 (en) Personalized Machine Learning System
WO2017201511A1 (en) Training machine learning models
WO2019099193A1 (en) Learning neural network structure
CN111062475A (zh) 用于对神经网络的参数进行量化的方法和装置
US11508170B2 (en) Digital handwriting synthesis
CN111260020B (zh) 卷积神经网络计算的方法和装置
WO2021103675A1 (zh) 神经网络的训练及人脸检测方法、装置、设备和存储介质
US11593628B2 (en) Dynamic variable bit width neural processor
US20190347072A1 (en) Block floating point computations using shared exponents
CN111105017A (zh) 神经网络量化方法、装置及电子设备
JP2022543245A (ja) 学習を転移させるための学習のためのフレームワーク
CN109886402B (zh) 深度学习模型训练方法、装置、计算机设备及存储介质
CN111630530A (zh) 数据处理系统和数据处理方法
US20190311302A1 (en) Electronic apparatus and control method thereof
WO2023219679A1 (en) Training machine-trained models by directly specifying gradient elements
US20220044125A1 (en) Training in neural networks
US20190236410A1 (en) Bootstrapping recommendation systems from passive data
US11995555B1 (en) Training a neural network with quantized weights
WO2022201399A1 (ja) 推論装置、推論方法および推論プログラム

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