CN109472349A - 神经网络级间激活值量化方法及装置 - Google Patents

神经网络级间激活值量化方法及装置 Download PDF

Info

Publication number
CN109472349A
CN109472349A CN201811257759.2A CN201811257759A CN109472349A CN 109472349 A CN109472349 A CN 109472349A CN 201811257759 A CN201811257759 A CN 201811257759A CN 109472349 A CN109472349 A CN 109472349A
Authority
CN
China
Prior art keywords
activation value
cluster centre
neural network
divided
active layer
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
CN201811257759.2A
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.)
BOCOM SMART NETWORK TECHNOLOGIES Inc
Original Assignee
BOCOM SMART NETWORK TECHNOLOGIES Inc
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 BOCOM SMART NETWORK TECHNOLOGIES Inc filed Critical BOCOM SMART NETWORK TECHNOLOGIES Inc
Priority to CN201811257759.2A priority Critical patent/CN109472349A/zh
Publication of CN109472349A publication Critical patent/CN109472349A/zh
Pending legal-status Critical Current

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/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks

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)
  • Image Analysis (AREA)

Abstract

一种神经网络级间激活值量化方法及装置,其中,所述方法包括:获取神经网络上一级激活层的激活值;根据激活值到各个聚类中心的距离确定激活值划分到的聚类中心;采用预设权重对划分到的聚类中心进行加权得到当前激活层的加权输入;在当前激活层对加权输入进行量化得到当前激活层的激活值。相对于现有技术中复杂的卷积运算,本发明提供的技术方案能够对神经网络在进行激活值量化时减少乘法运算负担,从而降低神经网络激活值量化复杂度,继而提高了量化运行效率。

Description

神经网络级间激活值量化方法及装置
技术领域
本发明涉及神经网络技术领域,具体涉及一种神经网络级间激活值量化方法及装置。
背景技术
随着人工智能的发展,尤其是卷积神经网络的发展,其在智能监控领域得到了广泛的运用,成为不可缺少的一个工具,比如人脸识别、车辆检测、物体识别等。但是随着现代卷积神经网络的层数加深,网络的复杂度也变得越来越大,比如说对于一个卷积神经网络,其卷积层数量可以超过10层,此外所有卷积层的计算量几乎占据了整个网络计算量的80%。这就导致类似的卷积神经网络不能够运行在监控摄像头等嵌入式设备上。
因此,如何降低神经网络的计算复杂度,是神经网络算法所需要解决的问题。现有技术中,通常会对神经网络的级间激活和每一层的权重进行一些量化操作,从而使得神经网络中所有的矩阵乘法变成指数移位操作。譬如现有技术中常采用线性量化(LinearQuant)或者非线性量化(LogQuant)来量化级间激活值,从而限制激活值的取值范围,但是,在量化过程中都不可避免的需要涉及到乘除法计算,从而给网络量化带来了额外的计算量。
因此,如何降低神经网络激活值量化复杂度成为亟待解决的技术问题。
发明内容
本发明要解决的技术问题在于如何降低神经网络激活值量化复杂度。
为此,根据第一方面,本发明实施例公开了一种神经网络级间激活值量化方法,包括:
获取神经网络上一级激活层的激活值;根据激活值到各个聚类中心的距离确定激活值划分到的聚类中心;采用预设权重对划分到的聚类中心进行加权得到当前激活层的加权输入;在当前激活层对加权输入进行量化得到当前激活层的激活值。
可选地,根据激活值到各个聚类中心的距离确定激活值划分到的聚类中心包括:获取激活值到各个聚类中心的距离;确定激活值到各个聚类中心的最小距离;将激活值划分到激活值到各个聚类中心的最小距离对应的聚类中心。
可选地,采用预设权重对划分到的聚类中心进行加权得到当前激活层的加权输入包括:根据上一级激活层的激活值所在位置提取对应的预设权重;采用提取的预设权重对划分到的聚类中心进行加权得到当前激活层与上一级激活层的激活值对应位置的加权输入。
可选地,预设权重包括0、-1和1。
根据第二方面,本发明实施例公开了一种神经网络级间激活值量化装置,包括:
获取模块,用于获取神经网络上一级激活层的激活值;聚类模块,用于根据激活值到各个聚类中心的距离确定激活值划分到的聚类中心;加权模块,用于采用预设权重对划分到的聚类中心进行加权得到当前激活层的加权输入;量化模块,用于在当前激活层对加权输入进行量化得到当前激活层的激活值。
可选地,聚类模块包括:距离获取单元,用于获取激活值到各个聚类中心的距离;最小确定单元,用于确定激活值到各个聚类中心的最小距离;聚类确定单元,用于将激活值划分到激活值到各个聚类中心的最小距离对应的聚类中心。
可选地,加权模块包括:提取单元,用于根据上一级激活层的激活值所在位置提取对应的预设权重;计算单元,用于采用提取的预设权重对划分到的聚类中心进行加权得到当前激活层与上一级激活层的激活值对应位置的加权输入。
可选地,预设权重包括0、-1和1。
本发明技术方案,具有如下优点:
本发明实施例提供的神经网络级间激活值量化方法及装置,在获取上一级激活层的激活值后,根据激活值到各个聚类中心的距离确定激活值划分到的聚类中心,而后,采用预设权重对划分到的聚类中心进行加权得到当前激活层的加权输入,在当前激活层对加权输入进行量化得到当前激活层的激活值,由于通过距离确定聚类中心,而后采用加权的方式得到加权输入,相对于现有技术中复杂的卷积运算,本发明提供的技术方案能够对神经网络在进行激活值量化时减少乘法运算负担,从而降低神经网络激活值量化复杂度,继而提高了量化运行效率。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例一种神经网络级间激活值量化方法流程图;
图2为本发明实施例一种神经网络级间激活值量化装置原理框图。
具体实施方式
下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本发明的描述中,需要说明的是,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。
在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,还可以是两个元件内部的连通,可以是无线连接,也可以是有线连接。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
此外,下面所描述的本发明不同实施方式中所涉及的技术特征只要彼此之间未构成冲突就可以相互结合。
为了降低神经网络激活值量化复杂度,本实施例公开了一种神经网络级间激活值量化方法,本实施例公开的神经网络级间激活值量化方法适用于需要量化激活值的神经网络结构,例如BP、RNN、卷积神经网络等。本实施例中,以卷积神经网络为例,各级神经网络包括relu层、激活层和量化层,当然,在一些实施例中,各层可以进行适当的合并或者拆分,也可以根据需要增加适当的神经网络层。请参考图1,为该神经网络级间激活值量化方法流程图,该神经网络级间激活值量化方法包括:
步骤S101,获取神经网络上一级激活层的激活值。对于设计好的神经网络模型(例如卷积神经网络模型),在该网络模型未经过训练时,需要对激活层ReLU之后的非负激活值进行量化。本实施例中,在对本级激活层的各个激活值进行量化时,参照上一级激活层的激活值进行量化,因此,需要获取神经网络上一级激活层的激活值。
步骤S102,根据激活值到各个聚类中心的距离确定激活值划分到的聚类中心。本实施例中,可以预先采用距离函数对各个聚类中心进行训练,确定各个聚类中心的数据,具体参见后文。本实施例中,采用与训练时相同的距离函数计算激活值到各个聚类中心的距离,而后根据激活值到各个聚类中心的距离来确定激活值划分到的聚类中心。在具体实施例中,根据激活值到各个聚类中心的距离确定激活值划分到的聚类中心具体可以包括:获取激活值到各个聚类中心的距离;确定激活值到各个聚类中心的最小距离;将激活值划分到激活值到各个聚类中心的最小距离对应的聚类中心。
步骤S103,采用预设权重对划分到的聚类中心进行加权得到当前激活层的加权输入。为了减少运算量,在具体实施例中,预设权重可以优选简单的数值,本实施例中,预设权重为-1、0和1。本实施例中,对上一级激活层的激活值进行加权后累加可以得到当前激活层的加权输入。在具体实施例中,在对神经网络训练之后,可以确定加权时选择的预设权重。
步骤S104,在当前激活层对加权输入进行量化得到当前激活层的激活值。本实施例中,将通过预设权重对上一级激活层的激活值进行加权后得到的数据作为当前激活层的加权输入,而后在当前激活层对加权输入进行相应的量化运算即可得到垫钱激活层的激活值。
在可选的实施例中,在执行步骤S103的操作中,采用预设权重对划分到的聚类中心进行加权得到当前激活层的加权输入包括:根据上一级激活层的激活值所在位置提取对应的预设权重;采用提取的预设权重对划分到的聚类中心进行加权得到当前激活层与上一级激活层的激活值对应位置的加权输入。具体地,例如分别获取上一级激活层的激活值划分到的聚类中心为s0、s1、s2、s3、s4和s5,而后,分别对上一级激活层的激活值划分到的聚类中心s0、s1、s2、s3、s4和s5进行加权得到了当前激活层与上一级激活层的激活值分别对应的加权输入。具体地,请参考下表:
作为例子,上一级激活层的激活值分别为s0、s1、s2、s3、s4和s5,对应的权重分别为1、-1、0、0、1,则当前的加权输入为s0+(-s1)+0+0+s5。
需要说明的是,在采用距离函数对各个聚类中心进行训练时,可以包括如下步骤:
步骤1,获取各个聚类中心的初始化值。在具体实施例中,在对神经网络进行激活层训练时,可以预先设置聚类中心的个数,例如k个。在确定聚类中心的数目后,可以随机选取k个聚类中心:μ1…μk作为各个聚类中心的初始化值。
步骤2,采用距离函数基于各个聚类中心的初始化值进行距离迭代,直到迭代收敛即可确定各个聚类中心的量化数据。在具体实施例中,可以使用k-means对每一层的激活值分别进行聚类。具体地,在迭代样本与各个聚类中心的距离时,可以采用如下公式得到:
其中,k为聚类中心的数目,xi为样本中第i个激活值;μj为第j个聚类中心的数值;ci为样本中第i个激活值与聚类中心的距离;
在根据样本与各个聚类中心的距离迭代确定各个聚类中心的量化数据时,可以采用如下公式得到:
其中,N为样本的样本容量,I为指示函数,当花括号中间的判断条件为真时即为1否则为0。
本实施例中,通过对公式(1)和公式(2)进行迭代,直至收敛,即可得到每个聚类中心的量化数据。
本实施例还公开了一种神经网络级间激活值量化装置,请参考图2,为该神经网络级间激活值量化装置结构示意图,该神经网络级间激活值量化装置包括:获取模块201、聚类模块202、加权模块203和量化模块204,其中:
获取模块201用于获取神经网络上一级激活层的激活值;聚类模块202用于根据激活值到各个聚类中心的距离确定激活值划分到的聚类中心;加权模块203用于采用预设权重对划分到的聚类中心进行加权得到当前激活层的加权输入;量化模块204用于在当前激活层对加权输入进行量化得到当前激活层的激活值。
在可选的实施例中,聚类模块包括:距离获取单元,用于获取激活值到各个聚类中心的距离;最小确定单元,用于确定激活值到各个聚类中心的最小距离;聚类确定单元,用于将激活值划分到激活值到各个聚类中心的最小距离对应的聚类中心。
在可选的实施例中,加权模块包括:提取单元,用于根据上一级激活层的激活值所在位置提取对应的预设权重;计算单元,用于采用提取的预设权重对划分到的聚类中心进行加权得到当前激活层与上一级激活层的激活值对应位置的加权输入。
在可选的实施例中,预设权重包括0、-1和1。
本实施例提供的神经网络级间激活值量化方法及装置,在获取上一级激活层的激活值后,根据激活值到各个聚类中心的距离确定激活值划分到的聚类中心,而后,采用预设权重对划分到的聚类中心进行加权得到当前激活层的加权输入,在当前激活层对加权输入进行量化得到当前激活层的激活值,由于通过距离确定聚类中心,而后采用加权的方式得到加权输入,相对于现有技术中复杂的卷积运算,本发明提供的技术方案能够对神经网络在进行激活值量化时减少乘法运算负担,从而降低神经网络激活值量化复杂度,继而提高了量化运行效率。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,上述实施例仅仅是为清楚地说明所作的举例,而并非对实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。而由此所引伸出的显而易见的变化或变动仍处于本发明创造的保护范围之中。

Claims (8)

1.一种神经网络级间激活值量化方法,其特征在于,包括:
获取神经网络上一级激活层的激活值;
根据所述激活值到各个聚类中心的距离确定所述激活值划分到的聚类中心;
采用预设权重对所述划分到的聚类中心进行加权得到当前激活层的加权输入;
在所述当前激活层对所述加权输入进行量化得到所述当前激活层的激活值。
2.如权利要求1所述的神经网络级间激活值量化方法,其特征在于,所述根据所述激活值到各个聚类中心的距离确定所述激活值划分到的聚类中心包括:
获取所述激活值到各个聚类中心的距离;
确定所述激活值到各个聚类中心的最小距离;
将所述激活值划分到所述激活值到各个聚类中心的最小距离对应的聚类中心。
3.如权利要求1或2所述的神经网络级间激活值量化方法,其特征在于,所述采用预设权重对所述划分到的聚类中心进行加权得到当前激活层的加权输入包括:
根据所述上一级激活层的激活值所在位置提取对应的预设权重;
采用所述提取的预设权重对所述划分到的聚类中心进行加权得到所述当前激活层与所述上一级激活层的激活值对应位置的加权输入。
4.如权利要求3所述的神经网络级间激活值量化方法,其特征在于,所述预设权重包括0、-1和1。
5.一种神经网络级间激活值量化装置,其特征在于,包括:
获取模块,用于获取神经网络上一级激活层的激活值;
聚类模块,用于根据所述激活值到各个聚类中心的距离确定所述激活值划分到的聚类中心;
加权模块,用于采用预设权重对所述划分到的聚类中心进行加权得到当前激活层的加权输入;
量化模块,用于在所述当前激活层对所述加权输入进行量化得到所述当前激活层的激活值。
6.如权利要求5所述的神经网络级间激活值量化装置,其特征在于,所述聚类模块包括:
距离获取单元,用于获取所述激活值到各个聚类中心的距离;
最小确定单元,用于确定所述激活值到各个聚类中心的最小距离;
聚类确定单元,用于将所述激活值划分到所述激活值到各个聚类中心的最小距离对应的聚类中心。
7.如权利要求5或6所述的神经网络级间激活值量化装置,其特征在于,所述加权模块包括:
提取单元,用于根据所述上一级激活层的激活值所在位置提取对应的预设权重;
计算单元,用于采用所述提取的预设权重对所述划分到的聚类中心进行加权得到所述当前激活层与所述上一级激活层的激活值对应位置的加权输入。
8.如权利要求7所述的神经网络级间激活值量化装置,其特征在于,所述预设权重包括0、-1和1。
CN201811257759.2A 2018-10-26 2018-10-26 神经网络级间激活值量化方法及装置 Pending CN109472349A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811257759.2A CN109472349A (zh) 2018-10-26 2018-10-26 神经网络级间激活值量化方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811257759.2A CN109472349A (zh) 2018-10-26 2018-10-26 神经网络级间激活值量化方法及装置

Publications (1)

Publication Number Publication Date
CN109472349A true CN109472349A (zh) 2019-03-15

Family

ID=65666052

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811257759.2A Pending CN109472349A (zh) 2018-10-26 2018-10-26 神经网络级间激活值量化方法及装置

Country Status (1)

Country Link
CN (1) CN109472349A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111105017A (zh) * 2019-12-24 2020-05-05 北京旷视科技有限公司 神经网络量化方法、装置及电子设备

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111105017A (zh) * 2019-12-24 2020-05-05 北京旷视科技有限公司 神经网络量化方法、装置及电子设备
CN111105017B (zh) * 2019-12-24 2023-05-16 北京旷视科技有限公司 神经网络量化方法、装置及电子设备

Similar Documents

Publication Publication Date Title
CN108924198B (zh) 一种基于边缘计算的数据调度方法、装置及系统
US11586903B2 (en) Method and system of controlling computing operations based on early-stop in deep neural network
CN110929865B (zh) 网络量化方法、业务处理方法及相关产品
CN104391879B (zh) 层次聚类的方法及装置
CN110008952A (zh) 一种目标识别方法及设备
CN109284761A (zh) 一种图像特征提取方法、装置、设备及可读存储介质
CN104317738B (zh) 一种基于MapReduce的增量计算方法
CN108052894A (zh) 一种目标对象的多属性识别方法、设备、介质及神经网络
CN114186632A (zh) 关键点检测模型的训练方法、装置、设备、存储介质
CN107506350A (zh) 一种识别信息的方法和设备
CN113065997B (zh) 一种图像处理方法、神经网络的训练方法以及相关设备
CN115249315A (zh) 面向异构计算设备的深度学习图像分类方法及装置
CN108304925A (zh) 一种池化计算装置及方法
CN111860276A (zh) 人体关键点检测方法、装置、网络设备及存储介质
CN110610140B (zh) 人脸识别模型的训练方法、装置、设备及可读存储介质
CN106529679B (zh) 一种机器学习方法及系统
CN116991560A (zh) 针对语言模型的并行调度方法、装置、设备及存储介质
CN103685014A (zh) 利用时间序列预测模型增强路由计算可靠性的系统及方法
CN108520299A (zh) 级间激活值量化方法及装置
CN109472349A (zh) 神经网络级间激活值量化方法及装置
CN108280513A (zh) 模型生成方法和装置
CN114781650A (zh) 一种数据处理方法、装置、设备以及存储介质
CN106487540A (zh) 一种规则处理方法和设备
CN112882819A (zh) 芯片工作频率的设置方法和装置
CN108509984A (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
RJ01 Rejection of invention patent application after publication

Application publication date: 20190315

RJ01 Rejection of invention patent application after publication