激活值量化训练方法及装置与流程

文档序号:15387746发布日期:2018-09-08 00:46阅读:299来源:国知局

本发明涉及神经网络技术领域,具体涉及一种激活值量化训练方法及装置。



背景技术:

随着人工智能的发展,尤其是卷积神经网络的发展,其在智能监控领域得到了广泛的运用,成为不可缺少的一个工具,比如人脸识别、车辆检测、物体识别等。但是随着现代卷积神经网络的层数加深,网络的复杂度也变得越来越大,比如说对于一个卷积神经网络,其卷积层数量可以超过10层,此外所有卷积层的计算量几乎占据了整个网络计算量的80%。这就导致类似的卷积神经网络不能够运行在监控摄像头等嵌入式设备上。

因此,如何降低神经网络的计算复杂度,是神经网络算法所需要解决的问题。现有技术中,通常会对神经网络的层间激活和每一层的权重进行一些量化操作,从而使得神经网络中所有的矩阵乘法变成指数移位操作。譬如现有技术中常采用线性量化(linearquant)或者非线性量化(logquant)来量化层间激活值,从而限制激活值的取值范围,但是,在量化过程中都不可避免的需要涉及到乘除法计算,从而给网络量化带来了额外的计算量。在针对不同的样本时,常常需要对不同的样本进行训练,从而导致了神经网络训练复杂度较高,训练耗时较长。

因此,如何降低神经网络激活值量化训练复杂度提高训练效率成为亟待解决的技术问题。



技术实现要素:

本发明要解决的技术问题在于如何降低神经网络激活值量化训练复杂度提高训练效率。

为此,根据第一方面,本发明实施例公开了一种激活值量化训练方法,包括:

获取用于训练神经网络的第一样本;获取各个聚类中心的初始化值;采用距离函数基于各个聚类中心的初始化值对第一样本进行距离迭代,以确定各个聚类中心的第一量化值。

可选地,采用距离函数基于各个聚类中心的初始化值对第一样本进行距离迭代,以确定各个聚类中心的第一量化值包括:迭代第一样本与各个聚类中心的距离;根据第一样本与各个聚类中心的距离迭代确定各个聚类中心的第一量化值。

可选地,迭代第一样本与各个聚类中心的距离采用如下公式得到:其中,k为聚类中心的数目,xi为第一样本中第i个激活值;μj为第j个聚类中心的数值;ci为第一样本中第i个激活值与聚类中心的距离;根据第一样本与各个聚类中心的距离迭代确定各个聚类中心的第一量化值采用如下公式得到:其中,n为第一样本的样本容量,i为指示函数,当花括号中间的判断条件为真时即为1否则为0。

可选地,在采用距离函数基于各个聚类中心的初始化值对第一样本进行距离迭代,以确定各个聚类中心的第一量化值之后,还包括:获取用于训练神经网络的第二样本,第二样本的数据与第一样本的数据至少部分不同;采用距离函数基于各个聚类中心的第一量化值对第二样本进行距离更新,以确定各个聚类中心的第二量化值。

可选地,采用距离函数基于各个聚类中心的第一量化值对第二样本进行距离更新,以确定各个聚类中心的第二量化值包括:更新第二样本与各个聚类中心的距离;根据第二样本与各个聚类中心的距离更新确定各个聚类中心的第二量化值。

根据第二方面,本发明实施例公开了一种激活值量化训练装置,包括:

第一获取模块,用于获取用于训练神经网络的第一样本;初始化模块,用于获取各个聚类中心的初始化值;迭代模块,用于采用距离函数基于各个聚类中心的初始化值对第一样本进行距离迭代,以确定各个聚类中心的第一量化值。

可选地,迭代模块包括:距离迭代单元,用于迭代第一样本与各个聚类中心的距离;量化迭代单元,用于根据第一样本与各个聚类中心的距离迭代确定各个聚类中心的第一量化值。

可选地,距离迭代单元具体用于采用如下公式得到:其中,k为聚类中心的数目,xi为第一样本中第i个激活值;μj为第j个聚类中心的数值;ci为第一样本中第i个激活值与聚类中心的距离;量化迭代单元具体用于采用如下公式得到:其中,n为第一样本的样本容量,i为指示函数,当花括号中间的判断条件为真时即为1否则为0。。

可选地,还包括:第二获取模块,用于获取用于训练神经网络的第二样本,第二样本的数据与第一样本的数据至少部分不同;更新模块,用于采用距离函数基于各个聚类中心的第一量化值对第二样本进行距离更新,以确定各个聚类中心的第二量化值。

可选地,更新模块包括:距离更新单元,用于更新第二样本与各个聚类中心的距离;量化更新单元,用于根据第二样本与各个聚类中心的距离更新确定各个聚类中心的第二量化值。

本发明技术方案,具有如下优点:

本发明实施例提供的激活值量化训练方法及装置,由于在获取用于训练神经网络的第一样本后,采用距离函数基于各个聚类中心的初始化值对第一样本进行距离迭代,以确定各个聚类中心的第一量化值,采用距离函数进行距离迭代,相对于现有技术的卷积层复杂的迭代量化过程,能够有效地降低神经网络激活值量化训练复杂度,从而提高了训练效率。

作为可选的技术方案,在确定各个聚类中心的第一量化值后,获取用于训练神经网络的第二样本,第二样本的数据与第一样本的数据至少部分不同,由于样本与各个聚类中心的距离具有一定的相关性,因此,可以直接采用距离函数基于各个聚类中心的第一量化值对第二样本进行距离更新,确定针对第二样本的各个聚类中心的第二量化值,而无需再行迭代,相对于现有技术中针对不同的样本需要进行二次迭代得到不同样本对应的量化值,本发明采用更新的方式得到第二量化值,能够更有效地减少神经网络激活值量化训练复杂度,从而提高了训练效率。

附图说明

为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例中一种激活值量化训练方法流程图;

图2为本发明实施例中一种激活值量化训练装置原理框图。

具体实施方式

下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

在本发明的描述中,需要说明的是,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。

在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,还可以是两个元件内部的连通,可以是无线连接,也可以是有线连接。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。

此外,下面所描述的本发明不同实施方式中所涉及的技术特征只要彼此之间未构成冲突就可以相互结合。

为了降低神经网络激活值量化训练复杂度提高训练效率,本实施例公开了一种激活值量化训练方法,本实施例公开的神经网络层间激活值量化方法适用于需要量化激活值的神经网络结构,例如bp、rnn、卷积神经网络等。请参考图1,为该激活值量化训练方法流程图,该激活值量化训练方法包括:

步骤s101,获取用于训练神经网络的第一样本。本实施例中,所称用于训练神经网络的第一样本是指用于训练神经网络的激活层的激活值。

步骤s102,获取各个聚类中心的初始化值。在具体实施例中,在对神经网络进行激活层训练时,可以预先设置聚类中心的个数,例如k个。在确定聚类中心的数目后,可以随机选取k个聚类中心:μ1…μk作为各个聚类中心的初始化值。

步骤s103,采用距离函数基于各个聚类中心的初始化值对第一样本进行距离迭代,以确定各个聚类中心的第一量化值。本实施例中,采用距离函数基于各个聚类中心的初始化值进行距离迭代,直到迭代收敛即可确定各个聚类中心的第一量化值。在具体实施例中,可以使用k-means对每一层的激活值分别进行聚类。

在可选的实施例中,在执行步骤s103的操作中,具体可以包括:迭代第一样本与各个聚类中心的距离;根据第一样本与各个聚类中心的距离迭代确定各个聚类中心的第一量化值。

具体地,在迭代第一样本与各个聚类中心的距离时,可以采用如下公式得到:

其中,k为所述聚类中心的数目,xi为所述第一样本中第i个激活值;μj为第j个聚类中心的数值;ci为所述第一样本中第i个激活值与聚类中心的距离;

在根据第一样本与各个聚类中心的距离迭代确定各个聚类中心的第一量化值时,可以采用如下公式得到:

其中,n为所述第一样本的样本容量,i为指示函数,当花括号中间的判断条件为真时即为1否则为0。

本实施例中,通过对公式(1)和公式(2)进行迭代,直至收敛,即可得到每个聚类中心的第一量化值。

为了对不同样本进行训练,在可选的实施例中,在执行步骤s103之后,还可以包括:获取用于训练神经网络的第二样本,第二样本的数据与第一样本的数据至少部分不同;采用距离函数基于各个聚类中心的第一量化值对第二样本进行距离更新,以确定各个聚类中心的第二量化值。在具体实施例中,在采用距离函数基于各个聚类中心的第一量化值对第二样本进行距离更新,以确定各个聚类中心的第二量化值具体可以包括:更新第二样本与各个聚类中心的距离;根据第二样本与各个聚类中心的距离更新确定各个聚类中心的第二量化值。由于第二样本的数据与第一样本的数据至少部分不同,然而,样本到聚类中心的距离具有一定的关联性,因此,在本实施例中,可以将第二样本的数据输入与第一样本相同的距离函数(例如公式(1))即可得到第二样本的数据与各个聚类中心的距离,亦即完成了第二样本到各个聚类中心的距离更新;而后,通过公式(2)即可得到针对第二样本的各个聚类中心的第二量化值,即根据第二样本与各个聚类中心的距离更新确定各个聚类中心的第二量化值。需要说明的是,本实施例中,在对第二样本进行训练时,可以不用迭代,即只需更新一次即可。

本实施例还公开了一种激活值量化训练装置,请参考图2,为该激活值量化训练装置结构示意图,该激活值量化训练装置包括:第一获取模块201、初始化模块202和迭代模块203,其中:

第一获取模块201用于获取用于训练神经网络的第一样本;初始化模块202用于获取各个聚类中心的初始化值;迭代模块203用于采用距离函数基于各个聚类中心的初始化值对第一样本进行距离迭代,以确定各个聚类中心的第一量化值。

在可选的实施例中,迭代模块包括:距离迭代单元,用于迭代第一样本与各个聚类中心的距离;量化迭代单元,用于根据第一样本与各个聚类中心的距离迭代确定各个聚类中心的第一量化值。

在可选的实施例中,距离迭代单元具体用于采用如下公式得到:其中,k为聚类中心的数目,xi为第一样本中第i个激活值;μj为第j个聚类中心的数值;ci为第一样本中第i个激活值与聚类中心的距离;量化迭代单元具体用于采用如下公式得到:其中,n为第一样本的样本容量,i为指示函数,当花括号中间的判断条件为真时即为1否则为0。

在可选的实施例中,还包括:第二获取模块,用于获取用于训练神经网络的第二样本,第二样本的数据与第一样本的数据至少部分不同;更新模块,用于采用距离函数基于各个聚类中心的第一量化值对第二样本进行距离更新,以确定各个聚类中心的第二量化值。

在可选的实施例中,更新模块包括:距离更新单元,用于更新第二样本与各个聚类中心的距离;量化更新单元,用于根据第二样本与各个聚类中心的距离更新确定各个聚类中心的第二量化值。

本实施例提供的激活值量化训练方法及装置,由于在获取用于训练神经网络的第一样本后,采用距离函数基于各个聚类中心的初始化值对第一样本进行距离迭代,以确定各个聚类中心的第一量化值,采用距离函数进行距离迭代,相对于现有技术的卷积层复杂的迭代过程,能够有效地降低神经网络激活值量化训练复杂度,从而提高了训练效率。

在可选的实施例中,在确定各个聚类中心的第一量化值后,获取用于训练神经网络的第二样本,第二样本的数据与第一样本的数据至少部分不同,由于样本与各个聚类中心的距离具有一定的相关性,因此,可以直接采用距离函数基于各个聚类中心的第一量化值对第二样本进行距离更新,确定针对第二样本的各个聚类中心的第二量化值,而无需再行迭代,相对于现有技术中针对不同的样本需要进行二次迭代得到不同样本对应的量化值,本发明采用更新的方式得到第二量化值,能够更有效地减少神经网络激活值量化训练复杂度,从而提高了训练效率。

本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

显然,上述实施例仅仅是为清楚地说明所作的举例,而并非对实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。而由此所引伸出的显而易见的变化或变动仍处于本发明创造的保护范围之中。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1