一种全加卷积方法和装置与流程

文档序号:22739405发布日期:2020-10-31 09:21阅读:105来源:国知局
一种全加卷积方法和装置与流程

本发明涉及人工智能技术领域,具体而言,涉及一种全加卷积方法和装置。



背景技术:

现有的人工智能芯片在计算神经网络的加法操作过程中,输入的神经元激活值需满足高精度要求,在计算过程使用了乘法器与加法器,造成计算资源和存储资源的消耗,增加人工智能芯片的功耗和面积。



技术实现要素:

为解决上述问题,本发明的目的在于提供一种全加卷积方法和装置,利用输入图像的脉冲数据二值化特点,采用累加代替乘加,减少计算量和计算时间,降低芯片功耗,缩小芯片面积。

本发明提供了一种全加卷积方法,所述方法包括:

根据输入图像的脉冲数据,确定进行累加操作的各目标权重地址;对所述各目标权重地址对应的权重执行累加操作,得到全加卷积值,将所述全加卷积值确定为所述输入图像的特征向量,其中,所述输入图像的脉冲数据为0和1的脉冲数据。

作为本发明进一步的改进,根据所述输入图像的脉冲数据,确定进行累加操作的各目标权重地址,包括:

根据所述输入图像的脉冲数据,生成各脉冲数据对应的权重地址;

遍历所述输入图像的脉冲数据,将数值为1的脉冲数据对应的权重地址确定为所述目标权重地址。

作为本发明进一步的改进,根据输入图像的脉冲数据,确定进行累加操作的各目标权重地址,包括:

根据所述输入图像的脉冲数据,生成数值为1的脉冲数据对应的各权重地址;

将所述数值为1的脉冲数据对应的各权重地址确定为所述目标权重地址。

作为本发明进一步的改进,根据输入图像的脉冲数据,确定进行累加操作的各目标权重地址,包括:

根据所述输入图像的脉冲数据,生成各脉冲数据对应的权重地址;

将各脉冲数据对应的权重地址确定为所述目标权重地址。

作为本发明进一步的改进,对所述各目标权重地址对应的权重执行累加操作,得到全加卷积值,包括:

遍历所述输入图像的脉冲数据;

在脉冲数据为0时,将0确定为待累加的权重;

在脉冲数据为1时,将参考权重地址对应的权重确定为待累加的权重,其中,所述参考权重地址为所述数值为1的脉冲数据对应的目标权重地址;

对各所述待累加的权重执行累加操作,得到全加卷积值。

作为本发明进一步的改进,对所述各目标权重地址对应的权重执行累加操作,得到全加卷积值,包括:

遍历所述输入图像的脉冲数据;

在脉冲数据为0时,不执行累加操作;

在脉冲数据为1时,将参考权重地址对应的权重确定为待累加的权重,其中,所述参考权重地址为所述数值为1的脉冲数据对应的目标权重地址;

对各所述待累加的权重执行累加操作,得到全加卷积值。

作为本发明进一步的改进,所述方法还包括:根据所述输入图像的特征向量和t-1时间步的膜电位信息,确定t时间步的膜电位信息。

作为本发明进一步的改进,根据所述输入图像的特征向量和t-1时间步的膜电位信息,确定t时间步的膜电位信息,包括:

对所述输入图像的特征向量以及所述t-1时间步的膜电位信息按元素相加,得到所述t时间步的膜电位信息。

本发明还提供了一种全加卷积装置,所述装置包括:

地址生成模块,用于根据输入图像的脉冲数据,确定进行累加操作的各目标权重地址;

输入数据缓冲模块,用于输入所述输入图像的脉冲数据;

全加卷积模块,用于对所述各目标权重地址对应的权重执行累加操作,得到全加卷积值,将所述全加卷积值确定为所述输入图像的特征向量;

其中,所述输入图像的脉冲数据为0和1的脉冲数据。

作为本发明进一步的改进,所述地址生成模块用于根据所述输入图像的脉冲数据,生成各脉冲数据对应的权重地址;遍历所述输入图像的脉冲数据,将数值为1的脉冲数据对应的权重地址确定为所述目标权重地址。

作为本发明进一步的改进,所述地址生成模块用于根据所述输入图像的脉冲数据,生成数值为1的脉冲数据对应的各权重地址;并将所述数值为1的脉冲数据对应的各权重地址确定为所述目标权重地址。

作为本发明进一步的改进,所述地址生成模块用于根据所述输入图像的脉冲数据,生成各脉冲数据对应的权重地址;并将各脉冲数据对应的权重地址确定为所述目标权重地址。

作为本发明进一步的改进,所述装置还包括:

判断模块,用于对所述输入图像的脉冲数据进行判断,确定数值为1的脉冲数据,

所述地址生成模块,用于生成所述数值为1的脉冲数据对应的各权重地址。

作为本发明进一步的改进,所述地址生成模块还用于对所述输入图像的脉冲数据进行判断,确定数值为1的脉冲数据。

作为本发明进一步的改进,所述全加卷积模块包括多路选择器和累加器;

遍历所述输入图像的脉冲数据;

在脉冲数据为0时,所述多路选择器将0确定为待累加的权重并输出;

在脉冲数据为1时,所述多路选择器将参考权重地址对应的权重确定为待累加的权重并输出,其中,所述参考权重地址为所述数值为1的脉冲数据对应的目标权重地址;

所述累加器对所述多路选择器输出的各所述待累加的权重执行累加操作,得到全加卷积值。

作为本发明进一步的改进,所述全加卷积模块为使能累加器;

遍历所述输入图像的脉冲数据;

在脉冲数据为0时,所述使能累加器使能为0,并不执行累加操作;

在脉冲数据为1时,所述使能累加器使能为1,并将参考权重地址对应的权重确定为待累加的权重,其中,所述参考权重地址为所述数值为1的脉冲数据对应的目标权重地址;

所述使能累加器对各所述待累加的权重执行累加操作,得到全加卷积值。

本发明还提供了一种电子设备,包括存储器和处理器,其特征在于,所述存储器用于存储一条或多条计算机指令,其中,所述一条或多条计算机指令被处理器执行以实现所述的全加卷积方法。

本发明还提供了一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行以实现所述的全加卷积方法。

本发明的有益效果为:利用输入图像的脉冲数据二值化特点,采用累加代替乘加,减少计算量和计算时间,降低芯片功耗,缩小芯片面积。

附图说明

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

图1为本公开一示例性实施例所述的一种全加卷积方法的流程示意图;

图2为现有技术中乘加卷积装置的示意图;

图3为本公开一示例性实施例所述的一种全加卷积装置的示意图;

图4为本公开又一示例性实施例所述的一种全加卷积装置的示意图;

图5为本公开一示例性实施例所述的跳零操作的流程示意图;

图6为本公开一示例性实施例所述的跳零操作的计算示例;

图7为本公开一示例性实施例所述的一种脉冲全加卷积层的示意图;

图8为本公开一示例性实施例所述的一种脉冲全加卷网络的示意图。

具体实施方式

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

需要说明,若本公开实施例中有涉及方向性指示(诸如上、下、左、右、前、后……),则该方向性指示仅用于解释在某一特定姿态(如附图所示)下各部件之间的相对位置关系、运动情况等,如果该特定姿态发生改变时,则该方向性指示也相应地随之改变。

另外,在本公开的描述中,所用术语仅用于说明目的,并非旨在限制本公开的范围。术语“包括”和/或“包含”用于指定元件、步骤、操作和/或组件的存在,但并不排除存在或添加一个或多个其他元件、步骤、操作和/或组件的情况。术语“第一”、“第二”等可能用于描述各种元件,不代表顺序,且不对这些元件起限定作用。此外,在本公开的描述中,除非另有说明,“多个”的含义是两个及两个以上。这些术语仅用于区分一个元素和另一个元素。结合以下附图,这些和/或其他方面变得显而易见,并且,本领域普通技术人员更容易理解关于本公开实施例的说明。附图仅出于说明的目的用来描绘本公开实施例。本领域技术人员将很容易地从以下说明中认识到,在不背离本公开原理的情况下,可以采用本公开所示结构和方法的替代实施例。

本公开实施例所述的一种全加卷积方法,如图1所示,根据输入图像的脉冲数据,确定进行累加操作的各目标权重地址;

对所述各目标权重地址对应的权重执行累加操作,得到全加卷积值,将所述全加卷积值确定为所述输入图像的特征向量;

其中,所述输入图像的脉冲数据为0和1的脉冲数据。

如图2所示,现有技术中,基于脉冲神经网络的人工智能芯片,在计算过程中,使用了乘法器与加法器,地址生成模块(agu)生成各权重地址,输入数据缓冲模块(in-buffer)产生各权重地址对应的输入数据,通过乘法器对输入x和权重w进行对应元素乘操作,输出后与上一地址的乘法器产生的结果相加,最终得到卷积值。然而脉冲神经网络的输入为二值输入(0表示无脉冲,1表示有脉冲),也就是说in-buffer输出的数据只有0和1两个值,因此,在卷积过程中,乘法操作是一种冗余的操作,会增加计算的资源,增加芯片的功耗以及芯片的面积。

本公开利用输入图像的脉冲数据二值化特点,采用只有全加功能的累加操作来代替现有技术中的乘加功能的加法操作。由于输入图像的脉冲数据为二值输入,利用这个特点,根据输入图像的脉冲数据,确定需要进行累加操作的各目标权重地址,将各目标权重地址对应的权重执行累加操作,在相同的卷积任务中,利用累加操作进行计算所需的时间,比传统乘加加法操作要大大减少,可以节省一半的时间,降低芯片功耗。例如,fp32精度的乘加需要消耗3.7+0.9=4.6(pj)能量,而fp32精度的加法只需要消耗0.9(pj)能量,可见采用累加代替乘加可以显著降低卷积过程的功耗。在去掉乘法器后,芯片能节省计算空间,芯片面积将大大缩小,有利于提高芯片的集成度。

本公开所述的方法可以用于脉冲神经网络,还可以用于脉冲神经网络与人工神经网络的融合网络等,本公开所述的方法对使用的网络不做具体限制。

在一种可选的实施方式中,根据所述输入图像的脉冲数据,确定进行累加操作的各目标权重地址,包括:

根据所述输入图像的脉冲数据,生成各脉冲数据对应的权重地址;

遍历所述输入图像的脉冲数据,将数值为1的脉冲数据对应的权重地址确定为所述目标权重地址。

在一种可选的实施方式中,根据输入图像的脉冲数据,确定进行累加操作的各目标权重地址,包括:

根据所述输入图像的脉冲数据,生成数值为1的脉冲数据对应的各权重地址;

将所述数值为1的脉冲数据对应的各权重地址确定为所述目标权重地址。

在一种可选的实施方式中,根据输入图像的脉冲数据,确定进行累加操作的各目标权重地址,包括:

根据所述输入图像的脉冲数据,生成各脉冲数据对应的权重地址;

将各脉冲数据对应的权重地址确定为所述目标权重地址。

本公开所述的方法,例如可以先生成所有脉冲数据对应的权重地址,再将其中数值为1的脉冲数据对应的权重地址确定为进行累加操作的各目标权重地址。例如还可以直接生成所有数值为1的脉冲数据对应的权重地址,并将这些权重地址确定为进行累加操作的各目标权重地址。例如还可以生成所有脉冲数据对应的权重地址,并将这些权重地址确定为进行累加操作的各目标权重地址。

在一种可选的实施方式中,对所述各目标权重地址对应的权重执行累加操作,得到全加卷积值,包括:

遍历所述输入图像的脉冲数据;

在脉冲数据为0时,将0确定为待累加的权重;

在脉冲数据为1时,将参考权重地址对应的权重确定为待累加的权重,其中,所述参考权重地址为所述数值为1的脉冲数据对应的目标权重地址;

对各所述待累加的权重执行累加操作,得到全加卷积值。

举例说明,记x为输入图像的脉冲数据,w为卷积的权重,遍历所述输入图像的脉冲数据,对于x中的每个脉冲数据xi有:

如果脉冲数据xi=0,则将0确定为待累加的权重,输出0,s=s+0,并执行i=i+1,进入下一个脉冲数据;

如果脉冲数据xi=1,则将wi确定为待累加的权重,并将wi放入累加器中,s=s+wi,并执行i=i+1,进入下一个脉冲数据;

输出的全加卷积值s作为输入图像的特征向量,经过脉冲神经网络的动力学方程后,产生新的二值输入,可以作为脉冲神经网络中下一层的输入。

在一种可选的实施方式中,对所述各目标权重地址对应的权重执行累加操作,得到全加卷积值,包括:

遍历所述输入图像的脉冲数据;

在脉冲数据为0时,不执行累加操作;

在脉冲数据为1时,将参考权重地址对应的权重确定为待累加的权重,其中,所述参考权重地址为所述数值为1的脉冲数据对应的目标权重地址;

对各所述待累加的权重执行累加操作,得到全加卷积值。

举例说明,记x为输入图像的脉冲数据,w为卷积的权重,遍历所述输入图像的脉冲数据,对于x中的每个脉冲数据xi有:

如果脉冲数据xi=0,则对应的权重wi不执行累加操作,直接执行i=i+1,进入下一个脉冲数据;

如果脉冲数据xi=1,则将对应的权重wi确定为待累加的权重,并将wi放入使能累加器中,s=s+wi,并执行i=i+1,进入下一个脉冲数据;

输出的全加卷积值s作为输入图像的特征向量,经过脉冲神经网络的动力学方程后,产生新的二值输入,可以作为脉冲神经网络中下一层的输入。

本实施例可以理解为在计算过程中使用了跳零操作,即当输入图像的脉冲数据为“0”值时,跳过该“0”值对应的权重地址,直接计算下一个脉冲数据。权重w是稠密矩阵,输入x是稀疏矩阵,由于x的稀疏性,w只有极少数的行是需要被积分的,因此通过权重地址索引索引w的有效数据即可,权重地址索引可通过输入图像的脉冲数据x中的数值1作为标志计算出来,因此实现了跳“0”直接计算。在卷积过程中使用跳零操作,可以进一步提高计算效率,并降低功耗。

在一种可选的实施方式中,根据所述输入图像的特征向量add_conv(x,w)和t-1时间步的膜电位信息ut-1,确定t时间步的膜电位信息ut

在一种可选的实施方式中,根据所述输入图像的特征向量add_conv(x,w)和t-1时间步的膜电位信息,确定t时间步的膜电位信息,包括:

对所述输入图像的特征向量add_conv(x,w)以及所述t-1时间步的膜电位信息ut-1按元素相加,得到所述t时间步的膜电位信息ut,其中,ut=add_conv(x,w)+ut-1

本公开实施例所述的一种全加卷积装置,所述装置包括:

地址生成模块,用于根据输入图像的脉冲数据,确定进行累加操作的各目标权重地址;

输入数据缓冲模块,用于输入所述输入图像的脉冲数据;

全加卷积模块,用于对所述各目标权重地址对应的权重执行累加操作,得到全加卷积值,将所述全加卷积值确定为所述输入图像的特征向量;

其中,所述输入图像的脉冲数据为0和1的脉冲数据。

如前述所述,现有技术在卷积过程中,进行了冗余的乘法操作,会增加计算的资源,增加芯片的功耗与面积。而本公开的全加卷积装置利用输入图像的脉冲数据二值化特点,采用只有全加功能的累加操作来代替现有技术中的乘加功能的加法操作。由于输入图像的脉冲数据为二值输入,利用这个特点,根据输入图像的脉冲数据,确定需要进行累加操作的各目标权重地址,将各目标权重地址对应的权重执行累加操作,在相同的卷积任务中,利用累加操作进行计算所需的时间,比传统乘加加法操作要大大减少,可以节省一半的时间,降低芯片功耗。例如,fp32精度的乘加需要消耗3.7+0.9=4.6(pj)能量,而fp32精度的加法只需要消耗0.9(pj)能量,可见采用累加代替乘加可以显著降低卷积过程的功耗。在去掉乘法器后,芯片能节省计算空间,芯片面积将大大缩小,有利于提高芯片的集成度。

本公开所述的装置可以用于脉冲神经网络,还可以用于脉冲神经网络与人工神经网络的融合网络等,本公开所述的装置对使用的网络不做具体限制。

在一种可选的实施方式中,所述地址生成模块用于根据所述输入图像的脉冲数据,生成各脉冲数据对应的权重地址;遍历所述输入图像的脉冲数据,将数值为1的脉冲数据对应的权重地址确定为所述目标权重地址。

在一种可选的实施方式中,所述地址生成模块用于根据所述输入图像的脉冲数据,生成数值为1的脉冲数据对应的各权重地址;并将所述数值为1的脉冲数据对应的各权重地址确定为所述目标权重地址。

在一种可选的实施方式中,所述地址生成模块用于根据所述输入图像的脉冲数据,生成各脉冲数据对应的权重地址;并将各脉冲数据对应的权重地址确定为所述目标权重地址。

本公开所述的地址生成模块,例如可以先生成所有脉冲数据对应的权重地址,再将其中数值为1的脉冲数据对应的权重地址确定为进行累加操作的各目标权重地址。例如还可以直接生成所有数值为1的脉冲数据对应的权重地址,并将这些权重地址确定为进行累加操作的各目标权重地址。例如还可以生成所有脉冲数据对应的权重地址,并将这些权重地址确定为进行累加操作的各目标权重地址。

在一种可选的实施方式中,所述装置还包括:

判断模块,用于对所述输入图像的脉冲数据进行判断,确定数值为1的脉冲数据,

所述地址生成模块,用于生成所述数值为1的脉冲数据对应的各权重地址。

在一种可选的实施方式中,所述地址生成模块还用于对所述输入图像的脉冲数据进行判断,确定数值为1的脉冲数据。

本公开所述判断模块可以单独设置,也可以通过地址生成模块实现所述判断模块的功能。

在一种可选的实施方式中,所述全加卷积模块包括多路选择器和累加器;

遍历所述输入图像的脉冲数据;

在脉冲数据为0时,所述多路选择器将0确定为待累加的权重并输出;

在脉冲数据为1时,所述多路选择器将参考权重地址对应的权重确定为待累加的权重并输出,其中,所述参考权重地址为所述数值为1的脉冲数据对应的目标权重地址;

所述累加器对所述多路选择器输出的各所述待累加的权重执行累加操作,得到全加卷积值。

如图3所示,地址生成模块例如为agu模块,负责根据输入图像的脉冲数据,确定进行累加操作的各目标权重地址,输入数据缓冲模块例如为in-buffer模块,负责输入所述输入图像的脉冲数据,w为卷积的权重。

举例说明,记x为脉冲神经网络的输入图像的脉冲数据,w为卷积的权重,遍历所述输入图像的脉冲数据,对于x中的每个脉冲数据xi有:

如果脉冲数据xi=0,则多路选择器将0确定为待累加的权重,多路选择器输出0,s=s+0,并执行i=i+1,进入下一个脉冲数据;

如果脉冲数据xi=1,则多路选择器将wi确定为待累加的权重,并将wi放入累加器中,累加器执行累加操作s=s+wi,多路选择器执行i=i+1,进入下一个脉冲数据;

输出的全加卷积值s作为输入图像的特征向量,经过脉冲神经网络的动力学方程后,产生新的二值输入,可以作为脉冲神经网络中下一层的输入。

本实施例所述的装置将传统的乘法器替换为多路选择器,当地址生成模块(agu)生成的目标权重地址在输入数据缓冲模块(in-buffer)中所对应的脉冲数据为0时,多路选择器(sel)输出为0,当地址生成模块(agu)生成的目标权重地址在输入数据缓冲模块(in-buffer)中所对应的脉冲数据为1时,多路选择器输出为w中的权重,在多路选择器执行后,多路选择器输出的权重与累加器所计算出的上一目标权重地址的计算结果相加,最终完成累加操作。在相同的卷积任务中,利用累加操作进行计算所需的时间,比传统乘加加法操作要大大减少,可以节省一半的时间,降低芯片功耗,并缩小芯片面积。

在一种可选的实施方式中,所述全加卷积模块为使能累加器;

遍历所述输入图像的脉冲数据;

在脉冲数据为0时,所述使能累加器使能为0,并不执行累加操作;

在脉冲数据为1时,所述使能累加器使能为1,并将参考权重地址对应的权重确定为待累加的权重,其中,所述参考权重地址为所述数值为1的脉冲数据对应的目标权重地址;

所述使能累加器对各所述待累加的权重执行累加操作,得到全加卷积值。

如图4所示,地址生成模块例如为agu模块,负责根据输入图像的脉冲数据,确定进行累加操作的各目标权重地址,输入数据缓冲模块例如为in-buffer模块,负责输入所述输入图像的脉冲数据,w为卷积的权重。

举例说明,记x为输入图像的脉冲数据,w为卷积的权重,遍历所述输入图像的脉冲数据,对于x中的每个脉冲xi有:

如果脉冲数据xi=0,则使能累加器确定对应的权重wi不执行累加操作,使能累加器使能为0,直接执行i=i+1,确定下一个脉冲数据对应的权重;

如果脉冲数据xi=1,则使能累加器使能为1,确定对应的权重wi为待累加的权重,并将wi放入使能累加器中,使能累加器执行累加操作s=s+wi,并执行i=i+1,确定下一个脉冲数据对应的权重;

输出的全加卷积值s作为所述输入图像的特征向量,经过脉冲神经网络的动力学方程后,产生新的二值输入,可以作为脉冲神经网络中下一层的输入。

本实施例所述全加卷积装置将乘法器和加法器替换为使能累加器,如图5所示,使能累加器在计算过程中使用了跳零操作,即当输入图像的脉冲数据为“0”值时,跳过该“0”值对应的权重地址,计算下一个脉冲数据。权重w是稠密矩阵,输入x是稀疏矩阵,由于x的稀疏性,w只有极少数的行是需要被积分的,因此通过权重地址索引索引其有效数据即可,权重地址索引可通过输入图像的脉冲数据x中的数值1作为标志计算出来,因此实现了跳“0”直接计算。所述全加卷积装置在卷积过程中通过跳零操作,可以进一步提高计算效率,降低芯片功耗,并缩小芯片面积。

举例说明,如图6所示,当agu模块产生的各目标权重地址在in-buffer模块中输入图像的脉冲数据x对应的各脉冲数据分别为0、1、1、0、…、1,各目标权重地址对应的权重分别为w00、w001、w010、w011、…、w311,脉冲数据为0时,使能累加器使能为0,该地址对应的权重w不执行累加操作,脉冲数据为1时,使能累加器使能为1,权重地址对应的权重执行累加操作,得到全加卷积值为:w001+w010+、、、+w311。

本公开实施例所述的全加卷积装置根据输入图像的脉冲数据,得到全加卷积值add_conv(x,w),即输入图像的特征向量,其中,x代表输入稀疏矩阵,w代表权重;

膜电位模块将t-1时间步的膜电位值ut-1与输入图像的特征向量add_conv(x,w)按元素相加,得到t时间步的膜电位值ut,ut=add_conv(x,w)+ut-1

发放模块根据t时间步的膜电位值确定t时间步的输出值,作为时序卷积向量,并对膜电位模块进行时间步和使能更新。

其中,全加卷积装置例如可以采用如前述实施例所述的地址生成模块、输入数据缓冲模块以及全加卷积模块。全加卷积模块例如可以采用前述实施例所述的多路选择器和累加器,也可以采用前述实施例所述的使能累加器,这里不再详述。

举例说明,如图7所示,图中的全加跳零卷积模块可以理解为全加卷积模块使用了跳零操作的实施方式,即所述脉冲全加卷积层采用了使能累加器,由于在卷积过程中采用了跳零操作,输入图像的脉冲数据经过全加跳零卷积模块,得到全加卷积值,全加卷积值与膜电位模块中上一时间步(t-1时间步)的膜电位信息按照元素进行加操作,得到当前时间步(t时间步)的膜电位信息,发放模块进行当前时间步的膜电位信息处理,得到输出向量作为时序卷积向量,并更新时间步更新使能信号,对膜电位模块进行更新。所述脉冲全加卷积层是进行的带时序信息的卷积处理,时序卷积向量包含了时间维度,在具体应用时所述脉冲全加卷积层可以联系特征图之间的时序信息,同时调零操作也减少了计算量,节省了计算时间,降低了芯片功耗,并缩小了芯片面积。

本公开实施例所述的一种脉冲全加卷积网络,所述脉冲全加卷积网络包括至少一个所述脉冲全加卷积层,通过至少一个脉冲全加卷积层对输入图像的脉冲数据进行至少一次时序卷积处理,得到时序卷积向量。所述脉冲全加卷积层如前述实施例所述,这里不再详述。

在一种可选的实施方式中,通过至少一个脉冲全加卷积层对输入图像的脉冲数据进行至少一次时序卷积处理,得到时序卷积向量,包括:

通过第一脉冲全加卷积层对输入图像的脉冲数据进行第一次时序卷积处理,得到第一向量;

进行一次时序卷积处理时,将第一向量确定为时序卷积向量;

进行n次时序卷积处理时,对第一向量进行池化处理,得到第一中间向量,通过第二脉冲全加卷积层对第一中间向量进行第二次时序卷积处理,得到第二向量,对第二向量进行池化处理,得到第二中间向量,依次类推,将第n向量确定为时序卷积向量,n为大于1的整数。

所述对输入图像的脉冲数据进行时序卷积处理过程如前述实施例所述,这里不再详述。

举例说明,如图8所示,所述脉冲全加卷积网络包括两个脉冲全加卷积层,通过第一脉冲全加卷积层对输入图像的脉冲数据进行第一次时序卷积处理,得到第一向量,对第一向量进行池化处理,得到第一中间向量,通过第二脉冲全加卷积层对第一中间向量进行第二次时序卷积处理,得到第二向量,将第二向量确定为时序卷积向量,作为下一层的输入。

本公开实施例所述的一种人工智能芯片,所述芯片包括所述脉冲全加卷积装置。所述脉冲全加卷积装置如前述实施例所述,这里不再详述。所述芯片在计算过程中,去除了现有卷积中冗余的乘法操作,大大减少了计算量,降低了芯片的功耗。例如,fp32精度的乘加需要消耗3.7+0.9=4.6(pj)能量,而fp32精度的加法只需要消耗0.9(pj)能量,可见采用加法代替乘加可以显著降低卷积过程的功耗。在去掉乘法器后,芯片能节省计算空间,芯片面积将大大缩小,有利于提高芯片的集成度。

本公开还涉及一种电子设备,包括服务器、终端等。该电子设备包括:至少一个处理器;与至少一个处理器通信连接的存储器;以及与存储介质通信连接的通信组件,通信组件在处理器的控制下接收和发送数据;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行以实现上述实施例中的全加卷积方法。

在一种可选的实施方式中,存储器作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块。处理器通过运行存储在存储器中的非易失性软件程序、指令以及模块,从而执行设备的各种功能应用以及数据处理,即实现全加卷积方法。

存储器可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储选项列表等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实施例中,存储器可选包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至外接设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

一个或者多个模块存储在存储器中,当被一个或者多个处理器执行时,执行上述任意方法实施例中的全加卷积方法。

上述产品可执行本申请实施例所提供的全加卷积方法,具备执行方法相应的功能模块和有益效果,未在本实施例中详尽描述的技术细节,可参见本申请实施例所提供的全加卷积方法。

本公开还涉及一种计算机可读存储介质,用于存储计算机可读程序,计算机可读程序用于供计算机执行上述部分或全部的全加卷积方法实施例。

即,本领域技术人员可以理解,实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各实施例方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。

在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本公开的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。

此外,本领域普通技术人员能够理解,尽管在此的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本公开的范围之内并且形成不同的实施例。例如,在权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。

本领域技术人员应理解,尽管已经参考示例性实施例描述了本公开,但是在不脱离本公开的范围的情况下,可进行各种改变并可用等同物替换其元件。另外,在不脱离本公开的实质范围的情况下,可进行许多修改以使特定情况或材料适应本公开的教导。因此,本公开不限于所公开的特定实施例,而是本公开将包括落入所附权利要求范围内的所有实施例。

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