CN110008952A - 一种目标识别方法及设备 - Google Patents

一种目标识别方法及设备 Download PDF

Info

Publication number
CN110008952A
CN110008952A CN201910233549.8A CN201910233549A CN110008952A CN 110008952 A CN110008952 A CN 110008952A CN 201910233549 A CN201910233549 A CN 201910233549A CN 110008952 A CN110008952 A CN 110008952A
Authority
CN
China
Prior art keywords
data
value
quantization
shifted
model parameter
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
Application number
CN201910233549.8A
Other languages
English (en)
Other versions
CN110008952B (zh
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.)
Shenlan Robot Shanghai Co ltd
Original Assignee
Deep Blue Technology Shanghai 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 Deep Blue Technology Shanghai Co Ltd filed Critical Deep Blue Technology Shanghai Co Ltd
Priority to CN201910233549.8A priority Critical patent/CN110008952B/zh
Publication of CN110008952A publication Critical patent/CN110008952A/zh
Application granted granted Critical
Publication of CN110008952B publication Critical patent/CN110008952B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/255Detecting or recognising potential candidate objects based on visual cues, e.g. shapes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V2201/00Indexing scheme relating to image or video recognition or understanding
    • G06V2201/07Target detection

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Biomedical Technology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Multimedia (AREA)
  • Image Analysis (AREA)

Abstract

本发明公开了一种目标识别方法及设备,用以解决对神经网络模型进行量化时,量化过程复杂,占用资源较多,消耗时间长,效率低,且量化后的模型训练精度损失大的问题,本发明方法包括:获取用于目标识别的图像数据;将所述图像数据输入定点神经网络模型,其中,在预设神经网络模型训练过程中,确定需要进行量化的一组模型参数,根据所述一组模型参数中各模型参数绝对值的最大值以及量化基准值,确定数据量化系数,利用所述数据量化系数对所述一组模型参数进行量化处理,利用量化前的模型参数调整训练结束后的预设神经网络模型的模型参数,得到定点神经网络模型;通过所述定点神经网络模型对所述图像数据进行处理,输出所述目标识别的识别结果。

Description

一种目标识别方法及设备
技术领域
本发明涉及人工智能技术领域,特别涉及一种目标识别方法及设备。
背景技术
随着计算机技术、神经网络技术的发展,越来越多的人用神经网络模型进行目标识别,但在用神经网络模型进行目标识别的过程中,存在着大量复杂数据的运算,如各个网络层的浮点型模型参数,以及可能为小数形式的图像数据,上述各个网络层的模型参数以及上述图像数据间的运算直接影响着神经网络模型进行目标识别的效率,但由于上述各个网络层的参数常常是浮点数或者小数,在利用上述参数构建神经网络模型时,固件消耗时间较长,且构建出的神经网络模型处理任务时,占用的计算机资源多、消耗时间长,此时对各个网络层的参数处理的复杂度会导致构建模型效率低下,进而极大地降低了神经网络模型进行目标识别的效率;由于对参数的处理过程复杂导致数据处理效率低下,因此如何在保证不影响任务处理的效益的情况下,简化需处理的各个网络层的参数成为急需解决的问题。
发明内容
本发明提供一种目标识别方法及设备,用以解决现有技术中,对神经网络模型进行量化时,量化过程复杂,占用资源较多,消耗时间长,效率低,且量化后的模型训练精度损失大的问题。
第一方面,本申请提供一种目标识别方法,该方法包括:
获取用于目标识别的图像数据;
将所述图像数据输入定点神经网络模型,其中,在预设神经网络模型训练过程中,确定需要进行量化的一组模型参数,根据所述一组模型参数中各模型参数绝对值的最大值以及量化基准值,确定数据量化系数,利用所述数据量化系数对所述一组模型参数进行量化处理,利用量化前的模型参数调整训练结束后的预设神经网络模型的模型参数,得到定点神经网络模型;
通过所述定点神经网络模型对所述图像数据进行处理,输出所述目标识别的识别结果。
上述方法中,在利用神经网络模型进行目标识别的过程中,对复杂数据类型的处理数据进行量化,数据量化的步骤少,所用时间少,且占用资源少,因此利用量化后的参数构建神经网络模型的过程占用资源较少、消耗时间短,且构建的神经网络模型处理任务时占用计算资源少,消耗时间短,提高了利用神经网络模型进行目标识别的效率。
在一中可能的实施方式中,利用所述量化前的模型参数通过反向传播过程,更新所述预设定点神经网络模型的模型参数的梯度值。
在一中可能的实施方式中,通过所述定点神经网络模型对所述图像数据进行处理过程中,或者在预设神经网络模型训练过程中,还包括:
确定N个需要相乘的处理数据,从所述N个需要相乘的处理数据中确定M个移位数据,其中,所述N为大于1的整数,所述M为大于0小于N的整数;
根据各移位数据的真实值确实所述各移位数据对应的移位方向,根据各移位数据的绝对值确定所述各移位数据对应的移位位数;
根据所述各移位数据对应的移位方向和移位位数,确定所述N个处理数据相乘的结果。
在一种可能的实施方式中,所述需要进行量化的一组模型参数包括如下任一或任多:
所述预设神经网络模型的卷积层的每个网络层的权重;
所述预设神经网络模型的卷积层的每个网络层的偏置。
在一种可能的实施方式中,根据如下方法确定所述量化基准值:
根据设定的数据量化位数,确定所述数据量化位数表示的最大数据值为所述量化基准值。
在一种可能的实施方式中,确定所述数据量化位数表示的最大数据值,包括:
根据设定的数据量化位数确定2的K次幂;
根据所述2的K次幂确定所述最大数据值。
在一种可能的实施方式中,将所述2的K次幂的结果减去1的结果,作为所述最大数据值。
在一种可能的实施方式中,当所述一组模型参数中不包含标识数据正负的符号位时,将所述设定的数据量化位数确定为2的幂数k;
当所述一组处理数据中包含标识数据正负的1个符号位时,将所述设定的数据量化位数减去1的结果,确定为2的幂数k。
在一种可能的实施方式中,将量化基准值与所述一组模型参数中各数据绝对值的最大值的比值,确定为所述数据量化系数。
在一种可能的实施方式中,确定所述一组模型参数中的任一数据与所述量化系数的乘积;
对所述乘积进行四舍五入的取整操作,获得所述任一数据的量化数据。
在一种可能的实施方式中,任一移位数据的真实值大小大于1时,确定该移位数据的移位方向为左移;
任一移位数据的真实值大小不大于1时,确定该移位数据的移位方向为右移。
在一种可能的实施方式中,确定与任一移位数据的绝对值最接近的2的幂次方的值;
根据所述2的幂次方的值确定所述幂数k;
将所述幂数k确定为该移位数据的移位位数,所述k为整数。
在一种可能的实施方式中,从N个相乘或相除的处理数据中确定M个移位数据,包括如下任一步骤:
从所述N个相乘或相除的处理数据中确定任M个数据为移位数据;
从所述N个相乘或相除的处理数据中指定M个数据为移位数据;
从所述N个相乘或相除的处理数据中指定部分数据,从所述部分数据中确定任M个数据为移位数据。
在一种可能的实施方式中,确定所述N个处理数据中除所述各移位数据外的其他处理数据相乘的结果值;
只存在一个移位数据时,将所述其他处理数据相乘的结果值根据该移位数据对应的移位方向和移位位数进行移位;
存在多个移位数据时,将所述其他处理数据相乘的结果值根据每个移位数据对应的移位方向和移位位数进行移位。
第二方面,本申请提供一种目标识别设备,该设备包括处理器和存储器,其中,所述存储器存储可执行程序,所述处理器在所述可执行程序被执行时实现如下过程:
获取用于目标识别的图像数据;
将所述图像数据输入定点神经网络模型,其中,在预设神经网络模型训练过程中,确定需要进行量化的一组模型参数,根据所述一组模型参数中各模型参数绝对值的最大值以及量化基准值,确定数据量化系数,利用所述数据量化系数对所述一组模型参数进行量化处理,利用量化前的模型参数调整训练结束后的预设神经网络模型的模型参数,得到定点神经网络模型;
通过所述定点神经网络模型对所述图像数据进行处理,输出所述目标识别的识别结果。
第三方面,本申请还提供一种计算机存储介质,其上存储有计算机程序,该程序被处理单元执行时实现第一方面所述方法的步骤。
另外,第二方面至第三方面中任一种实现方式所带来的技术效果可参见第一方面中不同实现方式所带来的技术效果,此处不再赘述。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例一提供的一种目标识别方法的示意图;
图2为本发明实施例二提供的一种目标识别设备的示意图;
图3为本发明实施例二提供的一种目标识别装置的示意图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部份实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
本发明实施例描述的应用场景是为了更加清楚的说明本发明实施例的技术方案,并不构成对于本发明实施例提供的技术方案的限定,本领域普通技术人员可知,随着新应用场景的出现,本发明实施例提供的技术方案对于类似的技术问题,同样适用。其中,在本发明的描述中,除非另有说明,“多个”的含义是两个或两个以上。
随着计算机技术的发展,各种场景中数据的处理直接影响着任务执行的效率,如在卷积神经网络中,各个网络层的参数直接影响着卷积神经网络模型处理的效率,但由于上述各个网络层的参数常常是浮点数或者小数,在利用上述参数处理任务时,需要对上述参数进行量化处理,因此本发明实施例一种目标识别方法及设备。
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
针对上述场景,下面结合说明书附图对本发明实施例做进一步详细描述。
实施例一:
如图1所示,本实施例提供一种方法,具体包括以下步骤:
步骤101,获取用于目标识别的图像数据;
步骤102,将所述图像数据输入定点神经网络模型,其中,在预设神经网络模型训练过程中,确定需要进行量化的一组模型参数,根据所述一组模型参数中各模型参数绝对值的最大值以及量化基准值,确定数据量化系数,利用所述数据量化系数对所述一组模型参数进行量化处理,利用量化前的模型参数调整训练结束后的预设神经网络模型的模型参数,得到定点神经网络模型;
作为一种可选的实施方式,获取用于目标识别的图像数据时,可以但不局限于,将利用神经网络模型对上述图像数据进行目标识别过程中的大范围的一组处理数据按照不同进制表示形式,或者按照正负,或者按照数据处理负荷需求,将上述大范围的一组处理数据划分成不同组的需进行量化的数据组;
作为一种可选的实施方式,上述数据量化基准值可以但不局限于技术人员通过经验设置的一个数据值,或者按照设定的一个数据值,通过一定的运算关系计算而得,能够反映对数据量化的度的数据值;
作为一种可选的实施方式,可以利用上述数据量化系数对上述获取的需要进行量化的一组处理数据进行量化处理。
步骤103,通过所述定点神经网络模型对所述图像数据进行处理,输出所述目标识别的识别结果。
作为一种可选的实施方式,需要进行量化的一组模型参数包括如下任一或任多:
所述预设神经网络模型的卷积层的每个网络层的权重;
所述预设神经网络模型的卷积层的每个网络层的偏置。
作为一种可选的实施方式,可以但不局限于根据如下方法确定所述量化基准值:
根据设定的数据量化位数,确定所述数据量化位数表示的最大数据值为所述量化基准值。
作为一种可选的实施方式,当上述一组处理数据为二进制数据,记上述数据量化位数为n时,确定n个二进制字符表示的最大数据值为上述量化基准值,其中,上述n为大于0的整数。
作为一种可选的实施方式,确定上述数据量化位数表示的最大数据值,包括:
根据设定的数据量化位数n确定2的K次幂;
根据上述2的K次幂确定上述最大数据值。
作为一种可选的实施方式,根据设定的数据量化位数确定2的K次幂,包括:
当所述一组模型参数中不包含标识数据正负的符号位时,将所述设定的数据量化位数确定为2的幂数k;
当所述一组处理数据中包含标识数据正负的1个符号位时,将所述设定的数据量化位数减去1的结果,确定为2的幂数k。
在本实施例中,上述一组处理数据中的每个处理数据不包含表示数据正负的符号位时,将设定的数据量化位数n确定为2的幂数k,即此时k=n;当上述一组处理数据中的每个处理数据包含标识数据正负的预设个数m的符号位时,将上述设定的数据量化位数n减去上述预设个数m的结果,确定为2的幂数k,即此时k=(n-m)。
作为一种可选的实施方式,根据2的k次幂确定上述最大数据值,包括如下任一步骤:
将上述2的k次幂的结果减去1的结果,作为上述最大数据值。
在本实施例中,将上述2的k次幂的结果减去1的结果作为上述最大数据值,其中2表示需要量化的处理数据为二进制数据,确定的最大数据值为(2k-1);
即当需要量化的处理数据为用二进制数字表示时,且上述一组处理数据中的每个处理数据包含标识数据正负的1个符号位时,确定的上述最大数据值为(2n-m-1),其中,m为大于等于0的整数;如当上述需要量化的处理数据用二进制表示时,用每个处理数据的第一个二进制数字表示数据的符号,此时m即为1;
即需要量化的处理数据为二进制,且上述一组处理数据中不包含标识数据正负的符号位时,m的值为0,确定的上述最大数据值为(2n-1);当需要量化的处理数据为二进制,且上述一组处理数据中的每个处理数据包含标识数据正负的一个符号位时,m的值为1,确定的上述最大数据值为(2n-1-1);
根据所述一组模型参数中各处理数据绝对值的最大值以及量化基准值,确定数据量化系数,包括:
将量化基准值与所述一组模型参数中各数据绝对值的最大值的比值,确定为所述数据量化系数。
其中qx为上述数据量化系数,s为上述量化基准值,max为上述一组模型参数中各数据绝对值的最大值。
在一种可能的实现方式中,利用所述量化系数对所述一组模型参数中的任一数据进行量化处理,包括:
确定所述一组模型参数中的任一数据与所述量化系数的乘积;
对上述乘积进行四舍五入的取整操作,获得上述任一处理数据的量化数据。
在本实施例中,xq=round(qx×xf),其中,xf为需要被量化的任一模型参数,qx为上述数据量化系数,round()表示对括号内的数值进行四舍五入取整操作,xq为上述xf量化后的模型参数;
即在本实施例中,对一组二进制表示的处理数据中任一处理数据进行量化的完整的公式为下述公式1:
公式1:
其中,上述公式1中,xf为需要被量化的任一模型参数,qx为上述数据量化系数,round()表示对括号内的数值进行四舍五入取整操作,xq为上述xf量化后的模型参数,n为上述设定的数据量化位数,且n为大于0的整数,max为上述一组数据中各数据绝对值的最大值,m为一组模型参数中每个处理数据包含标识数据正负的符号位的个数,且m为大于等于0的整数,且上述公式1中的乘法运算可以由现场可编程门阵列FPGA(Field-ProgrammableGate Array)实现。
作为一种可选的实施方式,通过所述定点神经网络模型对所述图像数据进行处理过程中,或者在预设神经网络模型训练过程中,还包括:
确定N个需要相乘的处理数据,从所述N个需要相乘的处理数据中确定M个移位数据,其中,所述N为大于1的整数,所述M为大于0小于N的整数;
根据各移位数据的真实值确实所述各移位数据对应的移位方向,根据各移位数据的绝对值确定所述各移位数据对应的移位位数;
根据所述各移位数据对应的移位方向和移位位数,确定所述N个处理数据相乘的结果。
作为一种可选的实施方式,该方法用于多个处理数据相乘时,根据乘法运算的特性,根据各移位数据的真实值确实上述各移位数据对应的移位方向,包括:
任一移位数据的真实值大小大于1时,确定该移位数据的移位方向为左移;
任一移位数据的真实值大小不大于1时,确定该移位数据的移位方向为右移。
在本实施中,可以根据乘数的先后顺序依次确定上述各移位数据的移位方向,也可以按照其他顺序确定上述各移位数据的移位方向。
作为一种可选的实施方式,根据各移位数据的绝对值确定上述各移位数据对应的移位位数,包括:
确定与任一移位数据的绝对值最接近的,2的幂次方的值;
根据上述2的幂次方的值,确定该移位数据的移位位数。
作为一种可选的实施方式,根据上述2的幂次方的值,确定该移位数据的移位位数,包括:
根据上述2的幂次方的值确定上述幂数k;
将上述幂数k确定为该移位数据的移位位数,上述k为整数。
在本实施例中,对于(A×B),若A为二进制表示的“101”(即十进制表示的数字5),B为二进制表示的1000(即十进制表示的数字8)时,若确定的移位数据为B,因B表示的数接近十进制的23,因此上述幂数k为3,上述B对应的移位方向为左移,移位位数为3;
作为一种可选的实施方式,从N个相乘的数据中确定M个移位数据,包括如下任一步骤:
1)从上述N个相乘的处理数据中确定任M个处理数据为移位数据;
在本实施例中,该方法应用于多个处理数据相乘时,可以从N个数据中选出任一或者任多个处理数据为移位数据;
2)从上述N个相乘的处理数据中指定M个处理数据为移位数据;
在本实施例中,该方法应用于多个处理数据相乘时,可以从N个处理数据中指定一或者多个处理数据为移位数据;
3)从上述N个相乘的处理数据中指定部分数据,从上述部分数据中确定任M个处理数据为移位数据。
在本实施例中,该方法应用于多个处理数据相乘时,可以从N个处理数据中指定部分数据,进而从指定的部分数据中选择任一或者任多个处理数据为移位数据。
作为一种可选的实施方式,该方法应用于多个处理数据相乘时,根据上述各移位数据对应的移位方向和移位数据确定上述N个处理数据相乘的结果,包括:
确定上述N个处理数据中除上述各移位数据外的其他处理数据相乘的结果值;
只存在一个移位数据时,将上述其他处理数据相乘的结果值根据该移位数据对应的移位方向和移位位数进行移位;
存在多个移位数据时,将上述其他处理数据相乘的结果值根据每个移位数据对应的移位方向和移位位数进行移位。
应当理解的是,当存在多个移位数据,将上述其他处理数据相乘的结果值根据每个移位数据对应的移位方向和移位位数位进行移位时,可以按照乘数的先后顺序依次将各移位数据前的乘积结果按照对应的移位方向移动移位位数,也可以按照如下方法确定上述N个处理数据相乘的结果:
1)计算除作为移位数据的各乘数的乘积的结果值;
2)根据上述各移位数据对应的移位方向和移位位数确定综合移位操作,上述综合移位操作包括综合移位方向和综合移位个数;
3)根据上述综合移位操作将对上述除作为移位数据的各乘数的乘积的结果值进行移位;
如在本实施例中,若多个处理数据相乘为(A×B×C),且确定的移位数据为B和C时,若B对应的移位方向为右移,移位位数为2,C对应的移位方向右移为右移,移位位数为3,则上述综合移位操作的移位方向为右移,移位位数为5,则上述(A×B×C)的结果为将A进行右移5位的结果;若B对应的移位方向为左移,移位位数为2,C对应的移位方向右移为右移,移位位数为3,则上述综合移位操作的移位方向为右移,移位位数为1,则上述(A×B×C)的结果为将A进行右移1位的结果。
作为一种可选的实施方式,还包括对所述预设神经网络模型的激活层的参数进行量化。
获取激活层的参数,分别计算量化前和量化后的激活层的分布,计算相对熵,根据相对熵最小时找到合适的阈值,使用所述阈值计算量化的规模,从而使量化的分布更均匀,损失精度最小。
作为一种可选的实施方式,所述利用量化前的模型参数调整训练结束后的所述预设定点神经网络模型的模型参数,包括:
利用所述量化前的模型参数通过反向传播过程,更新所述预设定点神经网络模型的模型参数的梯度值。
在实施中,在神经网络模型训练时,同时加载未经过模型参数量化的浮点神经网络模型和上述定点神经网络模型,在训练过程中,利用量化前的模型参数通过反向传播过程计算梯度值,用计算的所述梯度值更新所述预设定点神经网络模型的模型参数的梯度值。
作为一种可选的实施方式,还包括对获取的用于目标识别的图像数据进行量化;量化方式同上述模型参数量化方式。
上述方法中,在利用神经网络模型进行目标识别的过程中,对复杂数据类型的处理数据进行量化,数据量化的步骤少,所用时间少,且占用资源少,因此利用量化后的参数构建神经网络模型的过程占用资源较少、消耗时间短,且构建的神经网络模型处理任务时占用计算资源少,消耗时间短,提高了利用神经网络模型进行目标识别的效率。
实施例二
如图2所示,基于相同的发明构思,本实施例提供一种目标识别设备,该设备包括处理器201和存储器202,其中,上述存储器存储可执行程序,上述处理器在上述可执行程序被执行时实现如下过程:
获取用于目标识别的图像数据;
将所述图像数据输入定点神经网络模型,其中,在预设神经网络模型训练过程中,确定需要进行量化的一组模型参数,根据所述一组模型参数中各模型参数绝对值的最大值以及量化基准值,确定数据量化系数,利用所述数据量化系数对所述一组模型参数进行量化处理,利用量化前的模型参数调整训练结束后的预设神经网络模型的模型参数,得到定点神经网络模型;
通过所述定点神经网络模型对所述图像数据进行处理,输出所述目标识别的识别结果。
可选的,上述处理器201具体用于,利用所述量化前的模型参数通过反向传播过程,更新所述预设定点神经网络模型的模型参数的梯度值。
可选的,上述处理器201具体用于,确定N个需要相乘的处理数据,从所述N个需要相乘的处理数据中确定M个移位数据,其中,所述N为大于1的整数,所述M为大于0小于N的整数;
根据各移位数据的真实值确实所述各移位数据对应的移位方向,根据各移位数据的绝对值确定所述各移位数据对应的移位位数;
根据所述各移位数据对应的移位方向和移位位数,确定所述N个处理数据相乘的结果。
可选的,上述需要进行量化的一组模型参数包括如下任一或任多:
上述预设神经网络模型的卷积层的每个网络层的权重;
上述预设神经网络模型的卷积层的每个网络层的偏置。
可选的,上述处理器201具体用于,根据如下方法确定所述量化基准值:
根据设定的数据量化位数,确定所述数据量化位数表示的最大数据值为所述量化基准值。
可选的,上述处理器201具体用于,根据设定的数据量化位数确定2的K次幂;
根据所述2的K次幂确定所述最大数据值。
可选的,上述处理器201具体用于,将所述2的K次幂的结果减去1的结果,作为所述最大数据值。
可选的,上述处理器201具体用于,当所述一组模型参数中不包含标识数据正负的符号位时,将所述设定的数据量化位数确定为2的幂数k;
当所述一组处理数据中包含标识数据正负的1个符号位时,将所述设定的数据量化位数减去1的结果,确定为2的幂数k。
可选的,上述处理器201具体用于,将量化基准值与所述一组模型参数中各数据绝对值的最大值的比值,确定为所述数据量化系数。
可选的,上述处理器201具体用于,确定所述一组模型参数中的任一数据与所述量化系数的乘积;
对所述乘积进行四舍五入的取整操作,获得所述任一数据的量化数据。
可选的,上述处理器201具体用于,任一移位数据的真实值大小大于1时,确定该移位数据的移位方向为左移;
任一移位数据的真实值大小不大于1时,确定该移位数据的移位方向为右移。
可选的,上述处理器201具体用于,确定与任一移位数据的绝对值最接近的2的幂次方的值;
根据所述2的幂次方的值确定所述幂数k;
将所述幂数k确定为该移位数据的移位位数,所述k为整数。
可选的,上述处理器201具体用于,从N个相乘或相除的处理数据中确定M个移位数据,包括如下任一步骤:
从所述N个相乘或相除的处理数据中确定任M个数据为移位数据;
从所述N个相乘或相除的处理数据中指定M个数据为移位数据;
从所述N个相乘或相除的处理数据中指定部分数据,从所述部分数据中确定任M个数据为移位数据。
可选的,上述处理器201具体用于,确定所述N个处理数据中除所述各移位数据外的其他处理数据相乘的结果值;
只存在一个移位数据时,将所述其他处理数据相乘的结果值根据该移位数据对应的移位方向和移位位数进行移位;
存在多个移位数据时,将所述其他处理数据相乘的结果值根据每个移位数据对应的移位方向和移位位数进行移位。
如图3所示,基于相同的发明构思,本实施提供一种目标识别装置,该装置包括:
目标识别获取单元301,用于获取用于目标识别的图像数据;
模型参数量化单元302,用于将所述图像数据输入定点神经网络模型,其中,在预设神经网络模型训练过程中,确定需要进行量化的一组模型参数,根据所述一组模型参数中各模型参数绝对值的最大值以及量化基准值,确定数据量化系数,利用所述数据量化系数对所述一组模型参数进行量化处理,利用量化前的模型参数调整训练结束后的预设神经网络模型的模型参数,得到定点神经网络模型;
识别结果输出单元303,用于通过所述定点神经网络模型对所述图像数据进行处理,输出所述目标识别的识别结果。
可选的,上述模型参数量化单元302具体用于,利用所述量化前的模型参数通过反向传播过程,更新所述预设定点神经网络模型的模型参数的梯度值。
可选的,上述模型参数量化单元302具体用于,通过所述定点神经网络模型对所述图像数据进行处理过程中,或者在预设神经网络模型训练过程中,还用于:
确定N个需要相乘的处理数据,从所述N个需要相乘的处理数据中确定M个移位数据,其中,所述N为大于1的整数,所述M为大于0小于N的整数;
根据各移位数据的真实值确实所述各移位数据对应的移位方向,根据各移位数据的绝对值确定所述各移位数据对应的移位位数;
根据所述各移位数据对应的移位方向和移位位数,确定所述N个处理数据相乘的结果。
可选的,上述需要进行量化的一组模型参数包括如下任一或任多:
所述预设神经网络模型的卷积层的每个网络层的权重;
所述预设神经网络模型的卷积层的每个网络层的偏置。
可选的,上述模型参数量化单元302具体用于,根据设定的数据量化位数,确定所述数据量化位数表示的最大数据值为所述量化基准值。
可选的,上述模型参数量化单元302具体用于,根据设定的数据量化位数确定2的K次幂;
根据所述2的K次幂确定所述最大数据值。
可选的,上述模型参数量化单元302具体用于,将所述2的K次幂的结果减去1的结果,作为所述最大数据值。
可选的,上述模型参数量化单元302具体用于,当所述一组模型参数中不包含标识数据正负的符号位时,将所述设定的数据量化位数确定为2的幂数k;
当所述一组处理数据中包含标识数据正负的1个符号位时,将所述设定的数据量化位数减去1的结果,确定为2的幂数k。
可选的,上述模型参数量化单元302具体用于,将量化基准值与所述一组模型参数中各数据绝对值的最大值的比值,确定为所述数据量化系数。
可选的,上述模型参数量化单元302具体用于,确定所述一组模型参数中的任一数据与所述量化系数的乘积;
对所述乘积进行四舍五入的取整操作,获得所述任一数据的量化数据。
可选的,上述模型参数量化单元302具体用于,任一移位数据的真实值大小大于1时,确定该移位数据的移位方向为左移;
任一移位数据的真实值大小不大于1时,确定该移位数据的移位方向为右移。
可选的,上述模型参数量化单元302具体用于,确定与任一移位数据的绝对值最接近的2的幂次方的值;
根据所述2的幂次方的值确定所述幂数k;
将所述幂数k确定为该移位数据的移位位数,所述k为整数。
可选的,上述模型参数量化单元302具体用于,从N个相乘或相除的处理数据中确定M个移位数据,包括如下任一步骤:
从所述N个相乘或相除的处理数据中确定任M个数据为移位数据;
从所述N个相乘或相除的处理数据中指定M个数据为移位数据;
从所述N个相乘或相除的处理数据中指定部分数据,从所述部分数据中确定任M个数据为移位数据。
可选的,上述模型参数量化单元302具体用于,确定所述N个处理数据中除所述各移位数据外的其他处理数据相乘的结果值;
只存在一个移位数据时,将所述其他处理数据相乘的结果值根据该移位数据对应的移位方向和移位位数进行移位;
存在多个移位数据时,将所述其他处理数据相乘的结果值根据每个移位数据对应的移位方向和移位位数进行移位。
实施例三
本发明实施例还提供一种计算机可读非易失性存储介质,包括程序代码,当上述程序代码在计算终端上运行时,上述程序代码用于使所述计算终端执行上述本发明实施例一的方法的步骤。
以上参照示出根据本申请实施例的方法、装置(系统)和/或计算机程序产品的框图和/或流程图描述本申请。应理解,可以通过计算机程序指令来实现框图和/或流程图示图的一个块以及框图和/或流程图示图的块的组合。可以将这些计算机程序指令提供给通用计算机、专用计算机的处理器和/或其它可编程数据处理装置,以产生机器,使得经由计算机处理器和/或其它可编程数据处理装置执行的指令创建用于实现框图和/或流程图块中所指定的功能/动作的方法。
相应地,还可以用硬件和/或软件(包括固件、驻留软件、微码等)来实施本申请。更进一步地,本申请可以采取计算机可使用或计算机可读存储介质上的计算机程序产品的形式,其具有在介质中实现的计算机可使用或计算机可读程序代码,以由指令执行系统来使用或结合指令执行系统而使用。在本申请上下文中,计算机可使用或计算机可读介质可以是任意介质,其可以包含、存储、通信、传输、或传送程序,以由指令执行系统、装置或设备使用,或结合指令执行系统、装置或设备使用。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

Claims (16)

1.一种目标识别方法,其特征在于,该方法包括:
获取用于目标识别的图像数据;
将所述图像数据输入定点神经网络模型,其中,在预设神经网络模型训练过程中,确定需要进行量化的一组模型参数,根据所述一组模型参数中各模型参数绝对值的最大值以及量化基准值,确定数据量化系数,利用所述数据量化系数对所述一组模型参数进行量化处理,利用量化前的模型参数调整训练结束后的预设神经网络模型的模型参数,得到定点神经网络模型;
通过所述定点神经网络模型对所述图像数据进行处理,输出所述目标识别的识别结果。
2.根据权利要求1所述的方法,其特征在于,所述利用量化前的模型参数调整训练结束后的所述预设定点神经网络模型的模型参数,包括:
利用所述量化前的模型参数通过反向传播过程,更新所述预设定点神经网络模型的模型参数的梯度值。
3.根据权利要求1所述的方法,其特征在于,通过所述定点神经网络模型对所述图像数据进行处理过程中,或者在预设神经网络模型训练过程中,还包括:
确定N个需要相乘的处理数据,从所述N个需要相乘的处理数据中确定M个移位数据,其中,所述N为大于1的整数,所述M为大于0小于N的整数;
根据各移位数据的真实值确实所述各移位数据对应的移位方向,根据各移位数据的绝对值确定所述各移位数据对应的移位位数;
根据所述各移位数据对应的移位方向和移位位数,确定所述N个处理数据相乘的结果。
4.根据权利要求1所述的方法,其特征在于,所述需要进行量化的一组模型参数包括如下任一或任多:
所述预设神经网络模型的卷积层的每个网络层的权重;
所述预设神经网络模型的卷积层的每个网络层的偏置。
5.根据权利要求1所述的方法,其特征在于,根据如下方法确定所述量化基准值:
根据设定的数据量化位数,确定所述数据量化位数表示的最大数据值为所述量化基准值。
6.根据权利要求5所述的方法,其特征在于,确定所述数据量化位数表示的最大数据值,包括:
根据设定的数据量化位数确定2的K次幂;
根据所述2的K次幂确定所述最大数据值。
7.根据权利要求6所述的方法,其特征在于,根据所述2的K次幂确定所述最大数据值,包括:
将所述2的K次幂的结果减去1的结果,作为所述最大数据值。
8.根据权利要求7所述的方法,其特征在于,根据设定的数据量化位数确定2的K次幂,包括:
当所述一组模型参数中不包含标识数据正负的符号位时,将所述设定的数据量化位数确定为2的幂数k;
当所述一组处理数据中包含标识数据正负的m个符号位时,将所述设定的数据量化位数减去1的结果,确定为2的幂数k。
9.根据权利要求1所述的方法,其特征在于,根据所述一组模型参数中各处理数据绝对值的最大值以及量化基准值,确定数据量化系数,包括:
将量化基准值与所述一组模型参数中各数据绝对值的最大值的比值,确定为所述数据量化系数。
10.根据权利要求1所述的方法,其特征在于,利用所述量化系数对所述一组模型参数中的任一数据进行量化处理,包括:
确定所述一组模型参数中的任一数据与所述量化系数的乘积;
对所述乘积进行四舍五入的取整操作,获得所述任一数据的量化数据。
11.根据权利要求3所述的方法,其特征在于,该方法用于多个处理数据相乘时,根据各移位数据的真实值确实所述各移位数据对应的移位方向,包括:
任一移位数据的真实值大小大于1时,确定该移位数据的移位方向为左移;
任一移位数据的真实值大小不大于1时,确定该移位数据的移位方向为右移。
12.根据权利要求3所述的方法,其特征在于,根据各移位数据的绝对值确定所述各移位数据对应的移位位数,包括:
确定与任一移位数据的绝对值最接近的2的幂次方的值;
根据所述2的幂次方的值确定所述幂数k;
将所述幂数k确定为该移位数据的移位位数,所述k为整数。
13.如权利要求3所述的方法,其特征在于,从N个相乘或相除的处理数据中确定M个移位数据,包括如下任一步骤:
从所述N个相乘或相除的处理数据中确定任M个数据为移位数据;
从所述N个相乘或相除的处理数据中指定M个数据为移位数据;
从所述N个相乘或相除的处理数据中指定部分数据,从所述部分数据中确定任M个数据为移位数据。
14.如权利要求3所述的方法,其特征在于,根据所述各移位数据对应的移位方向和移位数据确定所述N个处理数据相乘的结果,包括:
确定所述N个处理数据中除所述各移位数据外的其他处理数据相乘的结果值;
只存在一个移位数据时,将所述其他处理数据相乘的结果值根据该移位数据对应的移位方向和移位位数进行移位;
存在多个移位数据时,将所述其他处理数据相乘的结果值根据每个移位数据对应的移位方向和移位位数进行移位。
15.一种目标识别设备,其特征在于,该设备包括处理器和存储器,其中,所述存储器存储可执行程序,所述处理器在所述可执行程序被执行时实现如下过程:
获取用于目标识别的图像数据;
将所述图像数据输入定点神经网络模型,其中,在预设神经网络模型训练过程中,确定需要进行量化的一组模型参数,根据所述一组模型参数中各模型参数绝对值的最大值以及量化基准值,确定数据量化系数,利用所述数据量化系数对所述一组模型参数进行量化处理,利用量化前的模型参数调整训练结束后的预设神经网络模型的模型参数,得到定点神经网络模型;
通过所述定点神经网络模型对所述图像数据进行处理,输出所述目标识别的识别结果。
16.一种计算机可存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1~14任一所述方法的步骤。
CN201910233549.8A 2019-03-26 2019-03-26 一种目标识别方法及设备 Active CN110008952B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910233549.8A CN110008952B (zh) 2019-03-26 2019-03-26 一种目标识别方法及设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910233549.8A CN110008952B (zh) 2019-03-26 2019-03-26 一种目标识别方法及设备

Publications (2)

Publication Number Publication Date
CN110008952A true CN110008952A (zh) 2019-07-12
CN110008952B CN110008952B (zh) 2021-06-15

Family

ID=67168222

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910233549.8A Active CN110008952B (zh) 2019-03-26 2019-03-26 一种目标识别方法及设备

Country Status (1)

Country Link
CN (1) CN110008952B (zh)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110533165A (zh) * 2019-08-16 2019-12-03 浪潮电子信息产业股份有限公司 一种图像处理方法、装置及设备
CN110728358A (zh) * 2019-09-30 2020-01-24 上海商汤智能科技有限公司 基于神经网络的数据处理方法和装置
CN111401518A (zh) * 2020-03-04 2020-07-10 杭州嘉楠耘智信息科技有限公司 一种神经网络量化方法、装置及计算机可读存储介质
CN112395905A (zh) * 2019-08-12 2021-02-23 北京林业大学 一种森林病虫害实时检测方法、系统及模型建立方法
WO2021036255A1 (zh) * 2019-08-26 2021-03-04 上海寒武纪信息科技有限公司 用于处理数据的方法、装置以及相关产品
CN112541549A (zh) * 2020-12-15 2021-03-23 深兰人工智能(深圳)有限公司 商品分类识别方法及装置
CN112560677A (zh) * 2020-12-15 2021-03-26 深兰人工智能(深圳)有限公司 指纹识别方法及装置
WO2021068469A1 (zh) * 2019-10-11 2021-04-15 百度在线网络技术(北京)有限公司 神经网络的量化与定点化融合方法及装置
CN113139650A (zh) * 2020-01-20 2021-07-20 阿里巴巴集团控股有限公司 深度学习模型的调优方法和计算装置
CN111401518B (zh) * 2020-03-04 2024-06-04 北京硅升科技有限公司 一种神经网络量化方法、装置及计算机可读存储介质

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105320495A (zh) * 2014-07-22 2016-02-10 英特尔公司 用于卷积神经网络的权重移位机制
CN106066783A (zh) * 2016-06-02 2016-11-02 华为技术有限公司 基于幂次权重量化的神经网络前向运算硬件结构
CN107480770A (zh) * 2017-07-27 2017-12-15 中国科学院自动化研究所 可调节量化位宽的神经网络量化与压缩的方法及装置
CN107636697A (zh) * 2015-05-08 2018-01-26 高通股份有限公司 基于浮点神经网络量化的定点神经网络
CN108427991A (zh) * 2017-02-14 2018-08-21 谷歌有限责任公司 在定点运算计算系统中实现神经网络
CN109214509A (zh) * 2017-07-05 2019-01-15 中国科学院沈阳自动化研究所 一种用于深度神经网络高速实时量化结构和运算实现方法
CN109472353A (zh) * 2018-11-22 2019-03-15 济南浪潮高新科技投资发展有限公司 一种卷积神经网络量化电路及量化方法
US10643124B2 (en) * 2016-08-12 2020-05-05 Beijing Deephi Intelligent Technology Co., Ltd. Method and device for quantizing complex artificial neural network

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105320495A (zh) * 2014-07-22 2016-02-10 英特尔公司 用于卷积神经网络的权重移位机制
CN107636697A (zh) * 2015-05-08 2018-01-26 高通股份有限公司 基于浮点神经网络量化的定点神经网络
CN106066783A (zh) * 2016-06-02 2016-11-02 华为技术有限公司 基于幂次权重量化的神经网络前向运算硬件结构
US10643124B2 (en) * 2016-08-12 2020-05-05 Beijing Deephi Intelligent Technology Co., Ltd. Method and device for quantizing complex artificial neural network
CN108427991A (zh) * 2017-02-14 2018-08-21 谷歌有限责任公司 在定点运算计算系统中实现神经网络
CN109214509A (zh) * 2017-07-05 2019-01-15 中国科学院沈阳自动化研究所 一种用于深度神经网络高速实时量化结构和运算实现方法
CN107480770A (zh) * 2017-07-27 2017-12-15 中国科学院自动化研究所 可调节量化位宽的神经网络量化与压缩的方法及装置
CN109472353A (zh) * 2018-11-22 2019-03-15 济南浪潮高新科技投资发展有限公司 一种卷积神经网络量化电路及量化方法

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112395905A (zh) * 2019-08-12 2021-02-23 北京林业大学 一种森林病虫害实时检测方法、系统及模型建立方法
WO2021031298A1 (zh) * 2019-08-16 2021-02-25 浪潮电子信息产业股份有限公司 一种图像处理方法、装置及设备
CN110533165B (zh) * 2019-08-16 2022-05-17 浪潮电子信息产业股份有限公司 一种图像处理方法、装置及设备
CN110533165A (zh) * 2019-08-16 2019-12-03 浪潮电子信息产业股份有限公司 一种图像处理方法、装置及设备
WO2021036255A1 (zh) * 2019-08-26 2021-03-04 上海寒武纪信息科技有限公司 用于处理数据的方法、装置以及相关产品
CN110728358A (zh) * 2019-09-30 2020-01-24 上海商汤智能科技有限公司 基于神经网络的数据处理方法和装置
CN110728358B (zh) * 2019-09-30 2022-06-10 上海商汤智能科技有限公司 基于神经网络的数据处理方法和装置
WO2021068469A1 (zh) * 2019-10-11 2021-04-15 百度在线网络技术(北京)有限公司 神经网络的量化与定点化融合方法及装置
CN113139650A (zh) * 2020-01-20 2021-07-20 阿里巴巴集团控股有限公司 深度学习模型的调优方法和计算装置
CN111401518A (zh) * 2020-03-04 2020-07-10 杭州嘉楠耘智信息科技有限公司 一种神经网络量化方法、装置及计算机可读存储介质
CN111401518B (zh) * 2020-03-04 2024-06-04 北京硅升科技有限公司 一种神经网络量化方法、装置及计算机可读存储介质
CN112560677A (zh) * 2020-12-15 2021-03-26 深兰人工智能(深圳)有限公司 指纹识别方法及装置
CN112541549A (zh) * 2020-12-15 2021-03-23 深兰人工智能(深圳)有限公司 商品分类识别方法及装置
CN112541549B (zh) * 2020-12-15 2024-04-26 深兰人工智能(深圳)有限公司 商品分类识别方法及装置

Also Published As

Publication number Publication date
CN110008952B (zh) 2021-06-15

Similar Documents

Publication Publication Date Title
CN110008952A (zh) 一种目标识别方法及设备
CN110020616A (zh) 一种目标识别方法及设备
CN107862374B (zh) 基于流水线的神经网络处理系统和处理方法
CN105550323B (zh) 一种分布式数据库负载均衡预测方法和预测分析器
TW201911138A (zh) 神經網路計算方法、設備、處理器及電腦可讀儲存媒體
CN107368857A (zh) 图像对象检测方法、系统及模型处理方法、设备、终端
CN107657316A (zh) 通用处理器与神经网络处理器的协同系统设计
CN108229681A (zh) 一种神经网络模型压缩方法、系统、装置及可读存储介质
CN106780512A (zh) 分割图像的方法、应用及计算设备
CN110956202B (zh) 基于分布式学习的图像训练方法、系统、介质及智能设备
CN109426553A (zh) 任务切分装置及方法、任务处理装置及方法、多核处理器
CN110334802A (zh) 一种神经网络模型的构建方法、装置、设备及存储介质
CN109284761B (zh) 一种图像特征提取方法、装置、设备及可读存储介质
CN110245753A (zh) 一种基于幂指数量化的神经网络压缩方法
CN109816196A (zh) 预测模型的评价值计算方法、装置、设备及可读存储介质
CN112508190A (zh) 结构化稀疏参数的处理方法、装置、设备及存储介质
CN108334944A (zh) 一种人工神经网络运算的装置及方法
CN110163350A (zh) 一种计算装置及方法
CN109214502A (zh) 神经网络权重离散化方法和系统
CN108304925A (zh) 一种池化计算装置及方法
CN107871159A (zh) 神经网络设备和操作神经网络设备的方法
CN117436485A (zh) 基于权衡时延和精度的多退出点的端-边-云协同系统及方法
CN109389209A (zh) 处理装置及处理方法
CN113255877A (zh) 神经网络模型的量化处理方法、装置、设备及存储介质
CN113673532B (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
TR01 Transfer of patent right

Effective date of registration: 20240508

Address after: Room 6227, No. 999, Changning District, Shanghai 200050

Patentee after: Shenlan robot (Shanghai) Co.,Ltd.

Country or region after: China

Address before: Unit 1001, 369 Weining Road, Changning District, Shanghai, 200336 (9th floor of actual floor)

Patentee before: DEEPBLUE TECHNOLOGY (SHANGHAI) Co.,Ltd.

Country or region before: China