CN111476362B - 确定fl值的方法及装置 - Google Patents
确定fl值的方法及装置 Download PDFInfo
- Publication number
- CN111476362B CN111476362B CN201911294370.XA CN201911294370A CN111476362B CN 111476362 B CN111476362 B CN 111476362B CN 201911294370 A CN201911294370 A CN 201911294370A CN 111476362 B CN111476362 B CN 111476362B
- Authority
- CN
- China
- Prior art keywords
- value
- values
- quantized
- vector
- original
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 37
- 238000013139 quantization Methods 0.000 claims abstract description 99
- 239000013598 vector Substances 0.000 claims abstract description 93
- 238000004364 calculation method Methods 0.000 claims abstract description 15
- 238000012360 testing method Methods 0.000 claims description 50
- 238000012545 processing Methods 0.000 claims description 22
- 230000008569 process Effects 0.000 claims description 12
- 238000012549 training Methods 0.000 claims description 5
- FGUUSXIOTUKUDN-IBGZPJMESA-N C1(=CC=CC=C1)N1C2=C(NC([C@H](C1)NC=1OC(=NN=1)C1=CC=CC=C1)=O)C=CC=C2 Chemical compound C1(=CC=CC=C1)N1C2=C(NC([C@H](C1)NC=1OC(=NN=1)C1=CC=CC=C1)=O)C=CC=C2 FGUUSXIOTUKUDN-IBGZPJMESA-N 0.000 claims description 3
- 238000013527 convolutional neural network Methods 0.000 description 25
- 238000010586 diagram Methods 0.000 description 6
- 238000013135 deep learning Methods 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 238000013528 artificial neural network Methods 0.000 description 3
- 238000010801 machine learning Methods 0.000 description 3
- 244000025254 Cannabis sativa Species 0.000 description 2
- 241000196324 Embryophyta Species 0.000 description 2
- 241001465754 Metazoa Species 0.000 description 2
- 238000013459 approach Methods 0.000 description 2
- 238000007796 conventional method Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000010354 integration Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 2
- 238000007792 addition Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 230000005484 gravity Effects 0.000 description 1
- 230000001788 irregular Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
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
-
- 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/06—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
- G06N3/063—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/16—Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- Molecular Biology (AREA)
- General Health & Medical Sciences (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Mathematical Analysis (AREA)
- Computational Mathematics (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Algebra (AREA)
- Databases & Information Systems (AREA)
- Neurology (AREA)
- Complex Calculations (AREA)
- Image Analysis (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
本发明涉及确定FL值的方法及装置。一种确定FL值的方法,该FL值为与量化的值中所包含的LSB的大小相对应的FL参数,其特征在于,包括:步骤a,计算装置若获取到包含原始值的原始向量,则参照(i)BW值及(ii)各个FL候补值来在所述原始值适用量化运算,由此生成各个量化的向量;步骤b,所述计算装置对与各个所述量化的向量所包含的所述量化的值及所述原始向量所包含的所述原始值之间的各个差异有关的信息适用加权量化损失运算,由此生成与各个所述FL候补值相对应的加权量化损失值;以及步骤c,所述计算装置参照所述加权量化损失值,在所述FL候补值中确定所述FL值。
Description
技术领域
本发明涉及为了量化用于将适用于移动设备或高精度小型网络中的硬件最优化的CNN(Convolutional Neural Network;卷积神经网络)参数及特征值而使用加权量化损失值来确定FL(Fractional Length;小数部分长度)值的方法及装置。
背景技术
深度CNN(Deep Convolutional Neural Network or Deep CNN)是深度学习领域中所取得的耀眼发展成果的核心。为了解决字符识别问题,虽然90年代开始已经在使用CNN,但近年开始才广泛应用于机器学习(Machine Learning)领域中。例如,CNN在2012年的图像识别比赛(ImageNet Large Scale Visual Recognition Challenge)中击败了其他竞争对手夺得了冠军。之后,CNN在机器学习领域中成为了非常有用的工具。
但是,由于存在深度学习算法需要32位浮点运算这种偏见,因此被看作是移动设备无法执行包括深度学习算法的程序。
但是,经实验已证明,所需的计算性能小于32位浮点运算的10位定点运算已足以满足深度学习算法。因此,已经进行了许多尝试去提供一种在资源受限的装置即移动设备中对于深度学习算法使用10位定点运算的方法。在这种尝试中广泛使用的是Caffe-Ristretto的动态定点(Dynamic Fixed Point)方法。动态定点方法与其他方法的区别在于,各个过渡(transitional)FL值可适用于CNN所包含的各个部分中。其中,FL值为与量化的值所包含的LSB的大小相对应的参数,LSB为最小值,即具有单位值的二进制数的位位置。因过渡FL值而在量化处理期间,不同的FL值有可适用于不同的通道中,由此将浮点值近似于定点值,能够减少量化误差。在动态定点方法中,参照在原始浮点值中最大的值的量化误差来确定FL值。
但是,通过以往的动态定点提出的确定FL值的处理具有关键性缺陷。在神经网络中,包含参数的值或特征图的值的浮点值并不遵循特定分布。反而,值的分布不规则,大多数为小的值,而大的值很少,若通过以往的方式,参照原始浮点值中最大的值的量化误差来确定FL值,则与比最大的值相对小的值有关的量化误差将变得过大。
图4为示出呈现出这种问题的根据现有技术表示各个通道所包含的量化的值的各个变动(variation)的例示图。
参照图4,可知第一通道的变动与第二通道的变动之间的差异极大。用于量化的FL值参照最大的值的量化误差来确定,因此,小的值不会被适当量化。在通道之间的变动差异大的情况下,存在输出值发生失真的问题。
发明内容
本发明的目的在于,解决如上所述的问题。
本发明的另一目的在于,即使使用相同的FL值来对浮点值进行量化,也将参照加权量化损失值,来将大小各异的浮点值准确地量化成为定点值。
用于实现如上所述的本发明的目的并实现后述的本发明的特征性效果的本发明的特征性构成如下。
根据本发明的一实施方式,提供一种确定FL值的方法,该FL值为与量化的值中所包含的LSB的大小相对应的FL参数,该方法的特征在于,包括如下步骤:步骤a,计算装置若获取到包含原始值的原始向量,则参照(i)BW值及(ii)各个FL候补值来在所述原始值适用量化运算,由此生成各个量化的向量,所述BW值为与表示各个所述量化的值所使用的位数相对应的BW参数,所述量化的向量与各个所述FL候补值相对应并包含所述量化的值;步骤b,所述计算装置对与各个所述量化的向量所包含的所述量化的值及所述原始向量所包含的所述原始值之间的各个差异有关的信息适用加权量化损失运算,由此生成与各个所述FL候补值相对应的加权量化损失值;以及步骤c,所述计算装置参照所述加权量化损失值,在所述FL候补值中确定所述FL值。
根据一实施例,提供如下方法,其特征在于,在所述步骤a中,根据下述数学式执行所述量化运算,
为第1个量化的向量,xk为所述原始向量所包含的第k个原始值,∈为确定所述量化运算的方式的常数,[]为高斯运算。
根据一实施例,提供如下方法,其特征在于,在步骤b中,所述加权量化损失运算参照权重向量来生成与各个所述FL候补值相对应的各个所述加权量化损失值,所述权重向量包含参照所述原始值的大小来生成的加权值的至少一部分。
根据一实施例,提供如下方法,其特征在于,在所述步骤b中,所述加权量化损失运算是根据下述数学式进行的,
为所述原始向量,Ql为第1个量化的向量,/>为权重向量,所述权重向量包含参照所述原始值的大小来生成的加权值的至少一部分,·为生成包含通过所述权重向量/>及差分向量/>乘积确定的成分的积分向量的运算,||||p为L-P范数运算。
根据一实施例,提供如下方法,其特征在于,所述原始值包含:(i)包含在CNN的任意特定层的CNN参数;以及(ii)与在所述特定层对所述特征图进行处理的期间为了确定所述FL值而使用的训练图像相对应的特征图的特征值。
根据一实施例,提供如下方法,其特征在于,所述FL值为当所述特征图的值被量化时以所述加权量化损失值小于阈值的方式进行最优化的值,所述特征图的值的至少一部分包含在相互不同通道中。
根据一实施例,提供如下方法,其特征在于,还包括步骤d,所述计算装置参照所述FL值及所述BW值,在CNN的各个层所包含的参数适用所述量化运算来生成量化的参数。
根据一实施例,提供如下方法,其特征在于,还包括:步骤e,若获取到测试值,则所述计算装置使所述CNN利用所述量化的参数在所述测试值适用卷积运算来生成测试特征值,并使所述CNN累积所述测试特征值;以及步骤f,所述计算装置参照所述FL值及所述BW值,在累积的测试特征值适用所述量化运算来生成量化的测试特征值,并将所述量化的测试特征值存储于存储器。
根据一实施例,提供如下方法,其特征在于,在所述步骤e中,所述测试值以定点形态获取,所述测试特征值以浮点形态生成,所述计算装置使所述CNN以所述浮点形态累积所述测试特征值,在所述步骤f中,所述计算装置生成以所述定点形态量化的特征值,在所述存储器存储以所述定点形态量化的特征值。
根据本发明的另一实施方式,提供一种确定FL值的计算装置,所述FL值为与量化的值中所包含的LSB的大小相对应的FL参数,该装置的特征在于,至少一个存储器,其用于存储指令;以及至少一个处理器,其构成为能够实施所述指令,该指令用于执行如下处理:处理I,若获取到包含原始值的原始向量,则参照(i)BW值及(ii)各个FL候补值来在所述原始值适用量化运算,由此生成各个量化的向量,所述BW值为与表示各个所述量化的值所使用的位数相对应的BW参数,所述量化的向量与各个所述FL候补值相对应并包含所述量化的值;处理II,对与各个所述量化的向量所包含的所述量化的值及所述原始向量所包含的所述原始值之间的各个差异有关的信息适用加权量化损失运算,由此生成与各个所述FL候补值相对应的加权量化损失值;以及处理III,参照所述加权量化损失值,在所述FL候补值中确定所述FL值。
根据一实施例,提供如下计算装置,其特征在于,在所述处理I中,根据下述数学式执行所述量化运算,
为第1个量化的向量,xk为所述原始向量所包含的第k个原始值,∈为确定所述量化运算的方式的常数,[]为高斯运算。
根据一实施例,提供如下计算装置,其特征在于,在所述处理II中,所述加权量化损失运算参照权重向量来生成与各个所述FL候补值相对应的各个所述加权量化损失值,所述权重向量包含参照所述原始值的大小来生成的加权值的至少一部分。
根据一实施例,提供如下计算装置,其特征在于,在所述处理II中,所述加权量化损失运算是根据下述数学式进行的,
为所述原始向量,Ql为第1个量化的向量,/>为权重向量,所述权重向量包含参照所述原始值的大小来生成的加权值的至少一部分,·为生成包含通过所述权重向量/>及差分向量/>乘积确定的成分的积分向量的运算,||||p为L-P范数运算。
根据一实施例,提供如下计算装置,其特征在于,所述原始值包含:(i)包含在CNN的任意特定层的CNN参数;以及(ii)与在所述特定层对所述特征图进行处理的期间为了确定所述FL值而使用的训练图像相对应的特征图的特征值。
根据一实施例,提供如下计算装置,其特征在于,所述FL值为当所述特征图的值被量化时以所述加权量化损失值小于阈值的方式进行最优化的值,所述特征图的值的至少一部分包含在相互不同通道中。
根据一实施例,提供如下计算装置,其特征在于,还包括处理IV,参照所述FL值及所述BW值,在CNN的各个层所包含的参数适用所述量化运算来生成量化的参数。
根据一实施例,提供如下计算装置,其特征在于,还包括:处理V,若获取到测试值,则使所述CNN利用所述量化的参数在所述测试值适用卷积运算来生成测试特征值,并使所述CNN累积所述测试特征值;以及处理VI,参照所述FL值及所述BW值,在累积的测试特征值适用所述量化运算来生成量化的测试特征值,并将所述量化的测试特征值存储于存储器。
根据一实施例,提供如下计算装置,其特征在于,在所述处理V中,所述测试值以定点形态获取,所述测试特征值以浮点形态生成,使所述CNN以所述浮点形态累积所述测试特征值,在所述处理VI中,生成以所述定点形态量化的特征值,在所述存储器存储以所述定点形态量化的特征值。
发明效果
本发明能够避免因不同通道所包含的值的变动之间的大小差异所引起的失真现象,并能够对适用于移动设备或高精度小型网络等的硬件进行最优化来使用。
附图说明
用于本发明实施例的说明中的以下附图是,仅仅是本发明实施例中的一部分,对于本领域技术人员而言,在不需要付出创造性劳动的情况下,能够基于以下附图获得其他附图。
图1为示出根据本发明一实施例确定FL值的计算装置的构成的图。
图2为示出本发明一实施例的计算装置的内部单元的构成的图。
图3为示出本发明一实施例的各个通道所包含的各个量化的值的变动的例示图。
图4为示出根据现有技术的各个通道所包含的各个量化的值的变动的例示图。
具体实施方式
后述的对本发明的详细说明为能够实施本发明的特定实施例的示例,可参照图示的附图。对这些实施例的详细说明足以使本领域技术人员能够实施本发明。应理解为,尽管本发明的各种实施例相互不同,但是没有相互排斥的必要。例如,在此记载的特定形状、结构及特征,与一实施例相关,在不脱离本发明的精神及范围的情况下,能够以另一实施例实现。并且,应理解为,各个揭示的实施例中的个别结构要素的位置或配置在不脱离本发明思想及范围的情况下能够进行变更。因此,后述的详细说明并不具有限定的含义,关于本发明的保护范围,更确切地说,应当仅由所附的权利要求及与其主张的范围均等的所有范围来限定。在附图中类似的附图标记,表示在各方面相同或类似的功能。
并且,在本发明的详细说明及权利要求中出现的用语“包括”及其变形并不意味着有意排除其他技术特征、附加物、结构要素或步骤等。关于本发明的其它目的、优点及特征,一部分通过说明书而一部分通过实施本发明的过程中呈现给本领域技术人员。以下的示例及附图以实例提供,并不是用于限定本发明。
本发明中所提及的各种图像可以包括铺装或未铺装道路有关的图像,在此情况下,可以设想出现在道路环境中的物体(例如、汽车、行人、动物、植物、物件、建筑物、如飞机或无人机等飞行体,其他障碍物),但并不一定限定于此,本发明中所提及的各种图像也可以是与道路无关的图像(例如、未铺装道路、小胡同、空地、海洋、湖水、江河、山林、草丛、沙漠、天空、与室内有关的图像),在此情况下,可以设想出现在未铺装道路、空地、海洋、湖水、江河、山林、草丛、沙漠、天空、室内环境下可出现的物体(例如、汽车、人物、动物、植物、物件、建筑物、如飞机或无人机等飞行体,其他障碍物),但并不一定限定于此。
以下,为了使本领域技术人员容易实施本发明,参照附图详细地说明本发明的优选实施例。
图1为示出根据本发明一实施例的确定FL值的计算装置的构成的图。图2为示出本发明一实施例的计算装置的内部单元的构成的图。
参照图1及图2,计算装置100包括CNN200、量化近似单元130、损失单元140以及选择单元150。CNN200、量化近似单元130、损失单元140以及选择单元150的各种数据及使各种数据工作的功能分别通过通信部110及处理器120执行。但是,图1中,省略对于通信部110和处理器120如何连接的详细说明。并且,计算装置还可以包括能够存储用于执行后续处理的计算机可读取指令的存储器115。作为一例,处理器、存储器、介质等可以与集成处理器合并。
在说明根据本发明确定FL值的方法之前,首先说明FL值及BW(Bit Width)值等。
在计算装置100中,值(value)以二进制数表现。其中,MSB(最高有效位;MostSignificant Bit),即最高位是指当计算装置100中以二进制数表示数字时表示最高位的位。相反,LSB(最低有效位;Least Significant Bit),即最低位是指表示最低位的位。并且,BW(Bit Width;位宽)值,即BW为表示用于与二进制数表示值的位数的BW参数。
另一方面,FL值表示与量化的值所包含的LSB的大小相对应的FL参数。尤其,FL值为与LSB值及BW值有关的值。其中,LSB所表示的数为2的指数幂,FL值为所述LSB所表示的数字的指数的绝对值。若LSB所表示的数字为0.125,即,2-3,则与该LSB对应的FL值为3。
FL值确定LSB的尺寸,由此用于将浮点值量化成定点值。若FL值过小,则大的值无法被正常量化,相反,若FL值过大,则小的值无法被正常量化。
在浮点值为0.03125、0.03216、0.03214等接近1/32的值的情况下,若FL值被确定为4,则LSB显示为1/16,因此,量化的定点值均为0。如上所述地,若小的值被忽略,则有可能在输出值发生大的失真。
相反,在浮点值为0.25、0.24、0.26等接近1/4的值的情况下,若BW值及FL值分别被确定为4和10,则LSB显示为1/1024。因此,最大值为15/1024,因此,大的值的近似值过小,输出值有可能发生失真。
因此,选择一个合适的FL值来将LSB确定为适当的大小是非常重要的。
以上,充分说明了用于说明本发明的前提事项,下面参照图2,说明本发明中如何确定FL值。
参照图2,计算装置100包括量化近似单元130、损失单元140及选择单元150。
首先,计算装置100通过通信部110获取原始向量,该原始向量包含原始值即将要量化成定点值的浮点值。所述原始值包含:(i)包含在CNN200的一个特定层的CNN参数;以及(ii)与在所述特定层对所述特征图进行处理的期间为了确定所述FL值而使用的训练图像相对应的特征图的特征值。
若获取到原始向量,则计算装置100使量化近似单元130参照BW值及FL候补值来在所述原始值适用量化运算,由此生成包含与各个所述FL候补值相对应的量化的值的量化后的各个向量。之后,计算装置100使损失单元140对与所述量化的向量所包含的所述量化的值及所述原始向量所包含的所述原始值之间的差异有关的信息适用加权量化损失运算,由此生成与各个所述FL候补值相对应的加权量化损失值。而且,计算装置100使选择单元150参照所述加权量化损失值来在所述FL候补值中确定所述FL值。
所述量化近似单元130、损失单元140及选择单元150通过软件实现,但并不限定于此。
以上,说明了本发明的简单构成,下面详细说明在量化近似单元130、损失单元140及选择单元150中进行的运算。
首先,说明计算装置100使量化近似单元130确定FL候补值的范围的方式。
FL候补值的范围参照BW值、原始值中最大值及最小值来确定其范围。即,在所确定的范围中,能够由规定MSB表示最大值的FL候补值为最小FL值,能够由规定LSB表示最小值的FL候补值为最大FL值。
例如,在原始值中,最大值为0.26,最小值为0.000142,BW为4。若想要通过二进制数来适当地表示0.26,则MSB最小表示为2-2。此时,BW为4,因此,LSB为2-5,因此,与已知原始向量有关的最小FL候补值为5。
并且,若想要通过二进制数来适当地表示0.000142,则MSB最小表示为2-13,因此,LSB表示为2-16,原始向量的FL候补值的最大值为16。结果,对于已知原始向量而言,FL候补值的最大值为16。根据所述例示,FL候补值的范围为5至16。
如上所述,若FL候补值的范围已被确定,则计算装置100使量化近似单元130参照BW值及各个FL候补值来在原始值适用量化运算。因此,量化运算可以根据以下数学式来完成。
其中,为第1个量化的向量,xk为所述原始向量所包含的第k个原始值,[]为高斯运算,即可以是运算(low floor operation)。在所述式中,FL及BW与上面说明的FL值及BW值相同。∈可以为确定所述量化运算的方式的常数。在∈为0.5的情况下,原始值四舍五入到最接近的整数。在∈为0的情况下,原始值将四舍五入。在∈为任意值的情况下,原始值按概率进行近似运算。
接着,说明在损失单元140中执行的加权量化损失运算方式。
加权量化损失运算对与所述量化的各个向量所包含的所述量化的值及所述原始向量所包含的所述原始值之间的各个差异有关的信息赋予加权值来生成各个加权量化损失值。通过使用加权量化损失值,能够按照大多数为小的值且大的值很少的神经网络上的值的分布,很大程度地反映与小的值有关的错误。
加权量化损失运算可以根据以下数学式进行。
其中,为所述原始向量,Ql为第1个量化的向量,/>为权重向量,所述权重向量包含参照所述原始值的大小来生成的加权值的至少一部分,·表示生成包含通过所述权重向量/>及差分向量/>乘积确定下来的成分的积分向量的运算,而且,||||p为L-P范数(norm)运算。
因此,若对差分向量生成与原始值与量化的值之间的各个差异有关的信息,则损失单元140从权重向量/>及差分向量/>各个成分的乘积生成积分向量。而且,损失单元140通过在积分向量适用L-P范数运算来生成加权量化损失值。其中,权重向量的成分为了较大地反应与小的值相对应的量化误差,通过相对应的原始值的各成分的倒数来确定。
在原始向量为(0.124,0.249,4.748),且FL值为2的情况下,所生成的量化的向量为(1/8,1/4,19/4),运算出的差分向量为(0.001,0.001,0.002)。在与原始向量(0.124,0.249,4.748)相对应的权重向量中,各个成分通过原始值的倒数来计算,即生成为(8.06,4.02,0.21)。相反,在用于确定FL值的现有的方法中所使用的权重向量是对原始值中最大的值赋予1的加权值,对剩余值赋予0的加权值。因此,仅有与原始值中的最大值相对应的量化误差反映在量化损失值。
上述例示的4.748远远大于其他原始值。大的值对不同通道所包含的特征图的量化的值的变动产生很大的影响。现有技术与本发明的最大差异在于,对这种大的值赋予的比重大或小,后面将详细说明这种区别对变动产生何种影响。
在通过根据所述本发明一实施例的方式导出的权重向量及差分向量按不同成分乘法运算之后,将L-P范数运算适用于积分向量来生成加权量化损失值。
例如,若原始向量及权重向量按不同成分乘法运算,则结果向量可以为(0.00806,0.004748,0.00042)。其中,假设p为2,则加权量化损失值可以计算成为即0.0093。
根据上述的方式,能够反映与占据原始值的大部分的小的值有关的量化误差,与大的值有关的量化误差也能够与加权量化损失值一同反映。
作为另一例,将权重向量的各个成分值均简单地确定为1,由此能够不分小的值和大的值均反映在加权量化损失值。其运算过程与如上所述类似,因此省略对其的说明。
如上所述,在生成加权量化损失的条件下,在FL候补值中确定FL值。计算装置100使选择单元150选择最小的加权量化损失值,在FL候补值中,将与最小的加权量化损失值相对应的FL值确定为特定FL候补值。
以上,说明了根据本发明一实施例的FL值确定方式。下面说明如上所述地确定的FL值在神经网络中如何利用。
首先,计算装置100参照FL值及BW值,对于浮点形态的CNN的各个层所包含的CNN参数适用量化运算来生成定点形态的量化的参数。
之后,若获取到测试值,则计算装置100使CNN200利用量化的参数在测试值适用卷积运算来生成测试特征值,并使CNN200累积浮点形态的测试特征值。
最后,计算装置100参照与CNN200的特定层相对应的FL值来在累积的测试特征值适用量化运算,BW值生成量化的测试特征值,在存储器存储定点形态的量化的测试特征值。
根据上述的方式,FL值为当所述特征图的值被量化时,以所述加权量化损失值小于阈值的方式进行最优化的值,所述特征图的值的至少一部分包含在相互不同通道中。这种情况可以参照图3来确认。
图3为示出根据本发明一实施例的各个通道所包含的量化的值的各个变动的例示图。
参照图3,与现有方法相比,在特征图由第一层210进行处理的期间,第一通道所包含的值的第一变动及第二通道所包含的第二变动之间的差异相对小。若通道之间的量化近似后的值的变动差异大,则在运算结果发生失真的情况偏多,但根据本发明,能够解决这种问题。
本领域技术人员应当理解的是,通过学习装置及测试装置的通信部能够实现以上说明的图像,例如原图像、原标签及添加标签等图像数据的收发,并且通过学习装置及测试装置的处理器(及/或存储器)能够具有/维持用于与特征图进行运算的数据,卷积运算、反卷积运算、损失值运算过程主要通过学习装置及测试装置的处理器执行,但本发明并不限定于此。
以上说明的本发明实施例能够以可通过各种计算机组成要素执行的程序指令的形态体现,并记录于计算机可读取的存储介质。上述计算机可读取的存储介质能够单独或组合包含程序指令、数据文件、数据结构等。上述计算机可读取的存储介质中所记录的程序指令可以是为本发明而特别设计的,或者是公知于计算机软件领域的技术人员而能够使用的。计算机可读取的存储介质包括如硬盘、软盘及磁带的磁体媒介;如CD-ROM、DVD的光刻录媒介;如光磁软盘(floptical disk)的磁光介质(magneto-optical media);以及ROM、RAM、快闪存储器等的用于存储并执行程序指令而特别构成的硬件装置。程序指令的例子不仅包括编译而成的机器语言代码,还包括利用解释器的计算机可执行的高级语言代码。上述硬件装置为了执行根据本发明的处理,以一个以上的软件模块运行的方式构成,其相反的处理也相同。
以上,通过具体结构要素等特定事项和限定的实施例及附图说明了本发明,但这仅仅是为了有助于全面地理解本发明而提供的,本发明并不限定于上述实施例,只要是本领域技术人员均能够基于上述记载进行各种修正及变形。
因此,本发明的思想并不限定于如上所述的实施例,后述的权利要求书及与该权利要求书均等或等同的变形的所有形态均应包括在本发明的思想范围内。
Claims (14)
1.一种确定FL值的方法,该FL值为与量化的值中所包含的LSB的大小相对应的FL参数,其特征在于,所述方法包括以下步骤:
步骤a,计算装置若获取到包含原始值的原始向量,则参照(i)BW值及(ii)各个FL候补值来在所述原始值适用量化运算,由此生成各个量化的向量,所述BW值为与表示各个所述量化的值所使用的位数相对应的BW参数,所述量化的向量与各个所述FL候补值相对应并包含所述量化的值;
步骤b,所述计算装置对与各个所述量化的向量所包含的所述量化的值及所述原始向量所包含的所述原始值之间的各个差异有关的信息适用加权量化损失运算,由此生成与各个所述FL候补值相对应的加权量化损失值;以及
步骤c,所述计算装置参照所述加权量化损失值,在所述FL候补值中确定所述FL值;
其中,在所述步骤b中,所述加权量化损失运算是根据下述数学式进行的,
为所述原始向量,/>为第1个量化的向量,/>为权重向量,所述权重向量包含参照所述原始值的大小来生成的加权值的至少一部分,·为生成包含通过所述权重向量/>及差分向量/>乘积确定的成分的积分向量的运算,||||p为L-P范数运算,并且
其中,在所述步骤a中,根据下述数学式执行所述量化运算,
其中,为第1个量化的向量,xk为所述原始向量所包含的第k个原始值,∈为确定所述量化运算的方式的常数,[]为高斯运算。
2.根据权利要求1所述的方法,其特征在于,在所述步骤b中,所述加权量化损失运算参照权重向量来生成与各个所述FL候补值相对应的各个所述加权量化损失值,所述权重向量包含参照所述原始值的大小来生成的加权值的至少一部分。
3.根据权利要求1所述的方法,其特征在于,所述原始值包含:
(i)包含在CNN的任意特定层的CNN参数;以及
(ii)与在所述特定层对特征图进行处理的期间为了确定所述FL值而使用的训练图像相对应的特征图的特征值。
4.根据权利要求3所述的方法,其特征在于,所述FL值为当所述特征图的值被量化时以所述加权量化损失值小于阈值的方式进行最优化的值,所述特征图的值的至少一部分包含在相互不同通道中。
5.根据权利要求1所述的方法,其特征在于,还包括步骤d,所述计算装置参照所述FL值及所述BW值,在CNN的各个层所包含的参数适用所述量化运算来生成量化的参数。
6.根据权利要求5所述的方法,其特征在于,还包括以下步骤:
步骤e,若获取到测试值,则所述计算装置使所述CNN利用所述量化的参数在所述测试值适用卷积运算来生成测试特征值,并使所述CNN累积所述测试特征值;以及
步骤f,所述计算装置参照所述FL值及所述BW值,在累积的测试特征值适用所述量化运算来生成量化的测试特征值,并将所述量化的测试特征值存储于存储器。
7.根据权利要求6所述的方法,其特征在于,
在所述步骤e中,所述测试值以定点形态获取,所述测试特征值以浮点形态生成,所述计算装置使所述CNN以所述浮点形态累积所述测试特征值,
在所述步骤f中,所述计算装置生成以所述定点形态量化的特征值,在所述存储器存储以所述定点形态量化的特征值。
8.一种确定FL值的计算装置,该FL值为与量化的值中所包含的LSB的大小相对应的FL参数,其特征在于,包括:
至少一个存储器,用于存储指令;以及
至少一个处理器,构成为能够实施所述指令,该指令用于执行以下处理:处理I,若获取到包含原始值的原始向量,则参照(i)BW值及(ii)各个FL候补值来在所述原始值适用量化运算,由此生成各个量化的向量,所述BW值为与表示各个所述量化的值所使用的位数相对应的BW参数,所述量化的向量与各个所述FL候补值相对应并包含所述量化的值;处理II,对与各个所述量化的向量所包含的所述量化的值及所述原始向量所包含的所述原始值之间的各个差异有关的信息适用加权量化损失运算,由此生成与各个所述FL候补值相对应的加权量化损失值;以及处理III,参照所述加权量化损失值,在所述FL候补值中确定所述FL值;
其中,在所述处理II中,所述加权量化损失运算是根据下述数学式进行的,
为所述原始向量,/>为第1个量化的向量,/>为权重向量,所述权重向量包含参照所述原始值的大小来生成的加权值的至少一部分,·为生成包含通过所述权重向量/>及差分向量/>乘积确定的成分的积分向量的运算,||||p为L-P范数运算,并且
其中,在所述处理I中,根据下述数学式执行所述量化运算,
其中,为第1个量化的向量,xk为所述原始向量所包含的第k个原始值,∈为确定所述量化运算的方式的常数,[]为高斯运算。
9.根据权利要求8所述的计算装置,其特征在于,在所述处理II中,所述加权量化损失运算参照权重向量来生成与各个所述FL候补值相对应的各个所述加权量化损失值,所述权重向量包含参照所述原始值的大小来生成的加权值的至少一部分。
10.根据权利要求8所述的计算装置,其特征在于,所述原始值包含:
(i)包含在CNN的任意特定层的CNN参数;以及
(ii)与在所述特定层对特征图进行处理的期间为了确定所述FL值而使用的训练图像相对应的特征图的特征值。
11.根据权利要求8所述的计算装置,其特征在于,所述FL值为当特征图的值被量化时以所述加权量化损失值小于阈值的方式进行最优化的值,所述特征图的值的至少一部分包含在相互不同通道中。
12.根据权利要求8所述的计算装置,其特征在于,还包括处理IV,参照所述FL值及所述BW值,在CNN的各个层所包含的参数适用所述量化运算来生成量化的参数。
13.根据权利要求12所述的计算装置,其特征在于,还包括:
处理V,若获取到测试值,则使所述CNN利用所述量化的参数在所述测试值适用卷积运算来生成测试特征值,并使所述CNN累积所述测试特征值;以及
处理VI,参照所述FL值及所述BW值,在累积的测试特征值适用所述量化运算来生成量化的测试特征值,并将所述量化的测试特征值存储于存储器。
14.根据权利要求13所述的计算装置,其特征在于,
在所述处理V中,所述测试值以定点形态获取,所述测试特征值以浮点形态生成,使所述CNN以所述浮点形态累积所述测试特征值,
在所述处理VI中,生成以所述定点形态量化的特征值,在所述存储器存储以所述定点形态量化的特征值。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/255,012 | 2019-01-23 | ||
US16/255,012 US10592799B1 (en) | 2019-01-23 | 2019-01-23 | Determining FL value by using weighted quantization loss values to thereby quantize CNN parameters and feature values to be used for optimizing hardware applicable to mobile devices or compact networks with high precision |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111476362A CN111476362A (zh) | 2020-07-31 |
CN111476362B true CN111476362B (zh) | 2024-05-03 |
Family
ID=68886758
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911294370.XA Active CN111476362B (zh) | 2019-01-23 | 2019-12-16 | 确定fl值的方法及装置 |
Country Status (5)
Country | Link |
---|---|
US (1) | US10592799B1 (zh) |
EP (1) | EP3686809A1 (zh) |
JP (1) | JP6970460B2 (zh) |
KR (1) | KR102325031B1 (zh) |
CN (1) | CN111476362B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20210110382A1 (en) * | 2019-10-13 | 2021-04-15 | MobileCoin | System and method for providing auxiliary curve cold storage |
CN113762496B (zh) * | 2020-06-04 | 2024-05-03 | 合肥君正科技有限公司 | 一种降低低比特卷积神经网络推理运算复杂度的方法 |
JP6992864B1 (ja) | 2020-09-28 | 2022-01-13 | 沖電気工業株式会社 | ニューラルネットワーク軽量化装置、ニューラルネットワーク軽量化方法およびプログラム |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107239829A (zh) * | 2016-08-12 | 2017-10-10 | 北京深鉴科技有限公司 | 一种优化人工神经网络的方法 |
CN107688855A (zh) * | 2016-08-12 | 2018-02-13 | 北京深鉴科技有限公司 | 针对于复杂神经网络的分层量化方法与装置 |
CN108701250A (zh) * | 2017-10-16 | 2018-10-23 | 深圳市大疆创新科技有限公司 | 数据定点化方法和装置 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10643124B2 (en) * | 2016-08-12 | 2020-05-05 | Beijing Deephi Intelligent Technology Co., Ltd. | Method and device for quantizing complex artificial neural network |
US10381020B2 (en) * | 2017-06-16 | 2019-08-13 | Apple Inc. | Speech model-based neural network-assisted signal enhancement |
KR20190034985A (ko) * | 2017-09-25 | 2019-04-03 | 삼성전자주식회사 | 인공 신경망의 양자화 방법 및 장치 |
KR20200043169A (ko) * | 2018-10-17 | 2020-04-27 | 삼성전자주식회사 | 뉴럴 네트워크의 파라미터를 양자화하는 방법 및 장치 |
-
2019
- 2019-01-23 US US16/255,012 patent/US10592799B1/en active Active
- 2019-09-27 KR KR1020190119524A patent/KR102325031B1/ko active IP Right Grant
- 2019-12-11 EP EP19215143.9A patent/EP3686809A1/en active Pending
- 2019-12-16 CN CN201911294370.XA patent/CN111476362B/zh active Active
-
2020
- 2020-01-07 JP JP2020001009A patent/JP6970460B2/ja active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107239829A (zh) * | 2016-08-12 | 2017-10-10 | 北京深鉴科技有限公司 | 一种优化人工神经网络的方法 |
CN107688855A (zh) * | 2016-08-12 | 2018-02-13 | 北京深鉴科技有限公司 | 针对于复杂神经网络的分层量化方法与装置 |
CN108701250A (zh) * | 2017-10-16 | 2018-10-23 | 深圳市大疆创新科技有限公司 | 数据定点化方法和装置 |
Non-Patent Citations (2)
Title |
---|
Darryl D. Lin,et al.Fixed point quantization of deep convolutional network.《In Proceedings of the 33rd International Conference on International Conference on Machine Learning》.2016,第2849–2858页. * |
Philipp Gysel,et al.Ristretto: Aframework for empirical study of resource efficient inference in convolutional neural networks.《IEEE Transactions on Neural Networks and Learning Systems, 2018》.2018,第5784-5789页. * |
Also Published As
Publication number | Publication date |
---|---|
JP6970460B2 (ja) | 2021-11-24 |
KR20200091784A (ko) | 2020-07-31 |
CN111476362A (zh) | 2020-07-31 |
US10592799B1 (en) | 2020-03-17 |
KR102325031B1 (ko) | 2021-11-12 |
JP2020119528A (ja) | 2020-08-06 |
EP3686809A1 (en) | 2020-07-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111476362B (zh) | 确定fl值的方法及装置 | |
CN111476341B (zh) | 转换cnn的卷积层的方法及装置 | |
KR102337376B1 (ko) | 레인 마스크(Lane Mask)를 사용하여 후처리 없이 입력 이미지에 포함된 하나 이상의 차선을 검출하는 방법 및 장치, 그리고 이를 이용한 테스트 방법 및 테스트 장치 | |
KR102313119B1 (ko) | 자율주행 자동차의 레벨 4를 충족시키기 위해 요구되는 hd 맵 업데이트에 이용될 적어도 하나의 어댑티브 로스 가중치 맵을 이용한 어텐션 드리븐 이미지 세그먼테이션 학습 방법 및 학습 장치, 그리고 이를 이용한 테스팅 방법 및 테스팅 장치 | |
CN111462129B (zh) | 按网格单元利用加权卷积滤波器的图像分割方法及装置 | |
KR102337358B1 (ko) | 모바일 장치 또는 소형 네트워크에 적용 가능한 하드웨어를 최적화하는데 사용될 수 있는 roi를 풀링하기 위하여, 마스킹 파라미터를 이용하는 방법 및 장치, 그리고 이를 이용한 테스트 방법 및 테스트 장치 | |
CN110490205B (zh) | 基于全残差空洞卷积神经网络的道路场景语义分割方法 | |
EP3686810B1 (en) | Method and device for online batch normalization, on-device learning, and continual learning applicable to mobile devices or iot devices additionally referring to one or more previous batches to be used for military purpose, drone or robot, and testing method and testing device using the same | |
CN109118504B (zh) | 一种基于神经网络的图像边缘检测方法、装置及其设备 | |
CN111985495A (zh) | 模型部署方法、装置、***及存储介质 | |
JP6916548B2 (ja) | 自律走行自動車のレベル4を満たすために必要なhdマップとのコラボレーションを支援するエンベディングロス及びソフトマックスロスを利用して少なくとも一つの車線を有するイメージをセグメンテーションする学習方法及び学習装置、並びにそれを利用したテスト方法及びテスト装置 | |
KR102320995B1 (ko) | 객체의 스케일에 따라 모드 전환이 가능한 cnn 기반의 감시용 객체 검출기의 학습 방법 및 학습 장치, 이를 이용한 테스트 방법 및 테스트 장치 | |
CN110879960A (zh) | 生成卷积神经网络学习用图像数据集的方法及计算装置 | |
US20200234135A1 (en) | LEARNING METHOD AND LEARNING DEVICE FOR CNN USING 1xK OR Kx1 CONVOLUTION TO BE USED FOR HARDWARE OPTIMIZATION, AND TESTING METHOD AND TESTING DEVICE USING THE SAME | |
CN109446933B (zh) | 一种基于卷积神经网络的道路场景语义分割方法 | |
KR20220045424A (ko) | 인공 신경망을 압축하는 방법 및 장치 | |
CN117935259A (zh) | 一种多模态遥感图像分割装置及方法 | |
CN118194954A (zh) | 神经网络模型的训练方法及装置、电子设备和存储介质 | |
CN115331067A (zh) | 图像的处理方法、装置、设备及存储介质 | |
CN117058397A (zh) | 一种模型量化方法、装置及存储介质 | |
CN115484459A (zh) | 一种基于深度学习的图像压缩方法及装置 | |
CN118429648A (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 |