卷积神经网络实现方法与流程

文档序号:14872317发布日期:2018-07-07 01:17阅读:261来源:国知局

本发明涉及半导体芯片领域以及人工智能领域,尤其涉及一种采用细胞阵列计算系统的卷积神经网络实现方法。



背景技术:

人脑是一个由大量神经元复杂连接的网络。每个神经元通过大量的树突连接大量的其他神经元,接收信息,每一个连接点叫突触(synapse)。在外部刺激积累到一定程度后,产生一个刺激信号,通过轴突传送出去。轴突有大量的末梢,通过突触,连接到大量其他神经元的树突。就是这样一个由简单功能的神经元组成的网络,实现了人类所有的智能活动。人的记忆和智能,普遍被认为存储在每一个突触的不同的耦合强度里。

神经元的反应频率不超过100hz,现代计算机的cpu比人脑快1000万倍,但处理很多复杂问题的能力不如人脑。这促使了计算机行业开始模仿人脑。最早的对人脑的模仿,是在软件层面的。

神经网络(neuralnetworks)是计算机学习中常用的算法。神经网络算法中的神经元就是一个函数,它有很多个输入,每一个输入都对应着一个权重。一般的算法是每一个输入乘以权重在相加。它输出0或1(由一个阈值决定),或者一个介于0和1之间的值。一个典型的神经网络,是把大量细胞阵列(neuron)的输出输入连接在一起的网络,通常组织成多级架构。它内部有很多个参数(权重、阈值),学习训练的过程就是调整这些参数。这是一个需要海量计算的函数优化。这类算法,已经取得了丰富的成果,得到广泛应用。

神经网络算法中的网络都是分成很多层的。最早的网络,上一层的每一个神经元和下一层的每一个神经元连接,成为全连通的网络。全连通网络的一个问题,在于图像处理这类应用中,图像的像素很多,每一层需要的权重数量正比于像素平方,由此该方案占用内存太大,计算量更是无法应付。

在卷积神经网络中,前面的很多层不再是全连通的。每一层的神经元作为一个图像被排成阵列。下一层的每一个神经元只和这一层的一个小区域连通。小区域常常是一个边长为k的方形区域,k称为卷积网络的内核尺寸(kernelsize),如图1所示。

卷积神经网络(convolutionalneuralnetwork,cnn)因为对这个小区域的各个点加权重的求和类似卷积而得名。这一组权重在各个同一层细胞中的各个点都是一样的(既平移不变性),从而跟全连通网络相比大幅度减少权重数量,使得高分辨率的图像处理成为可能。一个卷积神经网络包括多个这样连通的层,以及其他种类的层。

随着深度学习应用的普及,人们开始开发专用的神经网络芯片。用专用电路实现神经元计算的加法和乘法,比用cpu或者gpu高效得多。

磁阻式随机访问存储器(magneticrandomaccessmemory,mram)是一种新的内存和存储技术,可以像sram/dram一样快速随机读写,并且比dram快;还可以像闪存一样在断电后永久保留数据,并且不像nand它可以不限次地擦写。

mram的经济性想当地好,单位容量占用的硅片面积比sram(通常作为cpu的缓存)有很大的优势,有望接近dram的水平。它的性能也相当好,读写时延接近最好的sram,功耗则在各种内存和存储技术最好。而且mram不像dram以及闪存那样与标准cmos半导体工艺不兼容。mram可以和逻辑电路集成到一个芯片中。有了mram技术,就可以把内存、存储、计算三个功能集成到一个芯片上来。新的计算架构就有可能。

人脑的特点是大规模平行计算,不仅有大量的神经元可以同时工作,而且每个神经元和成千上万个神经元连接。对于现代集成电路技术,在一个芯片上集成大量的神经元很容易,但提供人脑那样的内部通讯带宽非常困难。比如,如果一层神经元的输入数据存在一块ram里,就需要至少k个时钟周期才能把数据读出来,因为不同行的内存不能同时进行读写。由此,读出数据的速度,既内存带宽是计算的瓶颈。



技术实现要素:

有鉴于现有技术的上述缺陷,在本发明中提出一种与基于细胞阵列的神经网络架构的架构,由众多兼具存储功能的神经元计算器以及密集网络连接组成。本发明的这种新架构将在大型计算、大数据处理、人工智能等领域中将得到广泛的应用。

为实现上述目的,本发明提供了一种其中细胞阵列计算系统包括主控制器、总线、由多个计算单元组成细胞阵列;其中细胞阵列的每个计算单元包括用于执行神经元的计算操作的一个或多个神经元计算器、或微处理器以及内存单元;其中,所述卷积神经网络实现方法包括:将卷积神经网络按该各层卷积神经网络的内部位置关系部署在细胞阵列的一个矩形区域里;通过细胞阵列总线广播方法逐个地把各层的每个权重发送给矩形区域中各个细胞,存入该计算单元的内存中;针对第一层卷积神经网络,接受输入进行神经元计算,将每个神经元的输出暂时保持在计算单元内;利用细胞阵列中的细胞阵列网状通信网络把这一层神经元的输出转送到预定临近区域中的需要该输出的计算单元内;使用下一层的权重和上一层神经元的输出,进行下一层卷积神经网络的计算,直到最后一层完成。

对于卷积神经网络,每一个神经元的权重不多,就是上一层网络附近一个小区域的神经元。一个卷积神经网络通常有十几个卷积层,细胞通常有足够的内存存储所有的权重。而卷积网络的权重有平移不变性,特别适合使用广播机制发送。

优选地,细胞阵列网状通信网络使得细胞阵列的每个计算单元能够与相邻计算单元通信,其中每个计算单元通过细胞阵列网状通信网络把数据发送到相邻计算单元的内存单元中的特定地址,或者发送到相邻计算单元的神经元计算器。

优选地,在细胞阵列网状通信网络中,每两个相邻计算单元之间的通信通道由一对fifo单元组成,所述一对fifo单元包括第一fifo单元和第二fifo单元;其中向两个相邻计算单元中的一个计算单元写入信息的第一fifo单元与从两个相邻计算单元中的另一个计算单元输出信息的第二fifo单元的操作方向相反。

优选地,在细胞阵列网状通信网络中,每个计算单元内设有一个可以直接读写内存的网络控制器,而且计算单元内的网络控制器与计算单元内的所有fifo单元连接。

优选地,在第一fifo单元向两个相邻计算单元中的一个计算单元写入信息,则网络控制器判断写入的信息的终点是否是本计算单元;而且在判断写入的信息的终点是本计算单元时,执行下述操作:在终点是相对地址时,网络控制器将信息直接存入内存单元的相应地址并用通知神经元计算器;在终点是神经元计算器时,直接通知该神经元计算器进行处理。

优选地,所述细胞阵列总线广播方法包括:主控制器通过总线把指令和/或信息群发到一个矩形区域的计算单元中的神经元计算器中以及/或者把数据群发到一个矩形区域的计算单元中的内存单元的同一个相对地址中。

优选地,细胞阵列的每个计算单元还包括:总线控制器以及内部总线;每个计算单元的总线控制器与所述总线连接;每个计算单元的内存单元是相应内部总线的从设备;每个计算单元的总线控制器和神经元计算器是相应内部总线的主设备,其中总线控制器具有更高的优先级。

优选地,主控制器读写内存单元,其中主控制器在细胞阵列的总线上先广播目标地址再发送或准备读数据,总线控制器接收目标地址,如果该目标地址在计算单元中,则连接该计算单元的内存单元以执行读写操作。

优选地,主控制器与神经元计算器通信,其中在主控制器的地址空间中预留第一预留段用于与神经元计算器的通信;第一预留段用于存储目标计算单元的识别码;总线控制器在接收目标计算单元的识别码时识别出当前通信所针对的神经元计算器,连接所针对的神经元计算器以执行后续操作。

以下将结合附图对本发明的构思、具体结构及产生的技术效果作进一步说明,以充分地了解本发明的目的、特征和效果。

附图说明

结合附图,并通过参考下面的详细描述,将会更容易地对本发明有更完整的理解并且更容易地理解其伴随的优点和特征,其中:

图1是卷积神经网络的架构。

图2是根据本发明优选实施例的细胞阵列计算系统架构的示意图。

图3是根据本发明优选实施例的细胞阵列计算系统的细胞阵列的计算单元的通信网络示意图。

图4是根据本发明优选实施例的细胞阵列计算系统的细胞阵列的计算单元的示例的示意图。

图5是根据本发明优选实施例的阵列中的网络通信的路径选择的示例的示意图。

图6是根据本发明优选实施例的起点在矩形区域的角上的示意图。

图7是根据本发明优选实施例的起点在矩形区域的边上的示意图。

图8是根据本发明优选实施例的起点在矩形区域外的示意图。

图9是根据本发明优选实施例的起点在矩形区域外的示意图。

图10是根据本发明优选实施例的通信方式的具体示例的示意图。

图11是根据本发明优选实施例的群发方式的具体示例的示意图。

图12是根据本发明优选实施例的神经元计算器操作方法的示意图。

需要说明的是,附图用于说明本发明,而非限制本发明。注意,表示结构的附图可能并非按比例绘制。并且,附图中,相同或者类似的元件标有相同或者类似的标号。

具体实施方式

<细胞阵列计算系统>

图2是根据本发明优选实施例的细胞阵列计算系统架构的示意图。

如图2所示,根据本发明优选实施例的细胞阵列计算系统包括:主控制器10(例如,所述主控制器10是主控cpu)、总线20、由多个计算单元30组成细胞阵列。

例如,所述主控制器10是片内主控制器或片外主控制器。

其中,细胞阵列的每个计算单元30包括:用于执行神经元的计算操作(例如,计算操作包括加法和乘法等,具体例如每个输入和其权重的相乘以后所有输入的相加)的一个或多个神经元计算器31、以及内存单元32。

其中,内存单元32可以采用sram或mram,其中mram具有非易失性且有更高的密度。因此,优选地,内存单元32是mram。

其中,内存单元32存储参数,例如权重参数。

其中,所述主控制器10通过所述总线20与每个计算单元30通信。具体地,例如,所述主控制器10通过所述总线20读写每个计算单元30的内存单元32中的数据,而且所述主控制器10通过所述总线20与每个计算单元30的神经元计算器31通信。

其中,每一个计算单元30中储存有其在细胞阵列中的位置(x,y)作为识别码,而且计算单元30中的软件和硬件可以读取这个识别码,以便在具体的操作中使用。

本发明的该实施例利用mram和逻辑电路集成在一起的特点,使密度可以达到sram的8-20倍的特点;其中,本发明的该实施例提出由一小块mram和神经元计算器组成一个细胞,由大量细胞组成一个阵列,再把这个阵列通过总线连接起来形成一个架构。这个架构极大地扩充了内存带宽,提高了芯片的总体性能。

<细胞阵列网状通信网络>

图3是根据本发明优选实施例的细胞阵列计算系统的细胞阵列的计算单元的通信网络示意图。如图3所示,细胞阵列包括通讯网络,使得细胞阵列的每个计算单元30可以与相邻计算单元30通信。

例如,每个计算单元30可以通过所述总线20读写相邻计算单元30的内存单元32中的数据,而且每个计算单元30可以通过所述总线20与相邻计算单元30的神经元计算器31通信。

每个神经元计算器31的输出通过总线20或通讯网络传送到下一级神经元计算器的输入。

在本发明的该实施例中,细胞阵列架构通过数据群发和内部网络,解决了内存和通信的瓶颈问题。而且,本发明的该实施例解决内存和通信的瓶颈,从而能够更大限度地利用了平行计算,由此发挥出更高的计算能力。

<细胞阵列总线广播方法>

主控制器10可以通过总线把指令或信息群发到一个矩形区域的计算单元中的神经元计算器中以及/或者把数据群发到一个矩形区域的计算单元中的内存单元的同一个相对地址中。

这样具备广播功能的总线可以通过以下方法实施:

图4是根据本发明优选实施例的细胞阵列计算系统的细胞阵列的计算单元的示例的示意图。

如图4所示,细胞阵列的每个计算单元30包括:用于执行神经元的计算操作的一个或多个神经元计算器31、内存单元32、总线控制器33以及内部总线34。

每个计算单元30的总线控制器33与所述总线20连接。

每个计算单元30的内存单元32是相应内部总线34的从设备;每个计算单元30的总线控制器33和神经元计算器31是相应内部总线34的主设备,其中总线控制器具有更高的优先级。

而且,细胞阵列总线广播方法具体可包括下述步骤:

主控制器10读写内存单元,其中主控制器10在细胞阵列的总线上广播目标地址并发送或准备读数据,总线控制器接收目标地址,如果该目标地址在计算单元中,则连接该计算单元的内存单元以执行读写操作。如果神经元计算器读写该计算单元的内存单元,则在连接该计算单元的内存单元以执行读写操作完成以后再由神经元计算器读写该计算单元的内存单元。

主控制器10与神经元计算器通信,其中在主控制器10的地址空间中预留第一预留段用于与神经元计算器的通信。第一预留段用于存储目标计算单元的识别码。总线控制器在接收目标计算单元的识别码时识别出当前通信所针对的神经元计算器,连接所针对的神经元计算器以执行指令接收、数据接收、状态读取等后续操作。

主控制器10执行群发处理,其中在主控制器10的地址空间中预留第二预留段用于群发给神经元计算器的指令和/或信息,群发数据时第二预留段中存储的地址中包括目标矩形区域中的起点计算单元和终点计算单元(起点计算单元和终点计算单元处于目标矩形区域的对角线上)的识别码,以发送指令和/或信息。

主控制器10执行群发处理,其中在在主控制器10的地址空间中预留第三预留段用于群发数据,群发数据时第三预留段中存储的地址中包括目标矩形区域中起点计算单元和终点计算单元(起点计算单元和终点计算单元处于对角线上)的识别码,而且群发数据中含有即将发送数据的次数。在所述次数的数据传输中,每一次数据传输中包含的地址中包括计算单元在目标矩形区域中的相对地址,以指示该计算单元接收数据并存入相对地址。

例如,以上协议由总线控制器实施,它负责解码总线上的地址,并执行相应的与细胞内的神经元计算器以及内存单元的数据交换。

细胞阵列总线的广播功能对于全连通神经网络能提供很大的帮助,极大地提高了大量数据的传输速度。具体操作方法如下:

把全连通神经网络中的一层分配在一个矩形区域内(对于图像处理应用,这样做更加自然),每一个细胞执行一个或多个神经元的功能。每个神经元的每一个输入的权重存在这个细胞的内存单元中。

当一个神经元计算器完成计算后,由主控制器10从其输出口读取结果,把数据广播到下一层网络所在的区域内,发送给每一个计算单元的神经元计算器。

或者当一个计算单元内的一个或多个神经元计算器完成计算后,将结果存入内存单元中预设的相对地址并且由主控制器10读出,而且广播到下一层神经元所在的区域内,存入每一个细胞中预设的相对地址。

细胞阵列总线的广播功能对于全连通神经网络能提供很大的帮助,极大地提高了大量数据的传输速度。

<细胞阵列内部网络通信方法>

图5是根据本发明优选实施例的阵列中的网络通信的路径选择的示例的示意图。

●计算单元(细胞)间的每一条信息都含有起点计算单元和终点计算单元的识别码。

●一条信息通过相邻计算单元间的连接从起点计算单元经过多次中转到达终点计算单元。

●每个计算单元内设一个网络控制器,以便在不干扰其他功能的情况下快速地中转信息。

●在标明终点计算单元的识别码的同时,信息同时标明在终点计算单元中的地址或者神经元计算器。

■在同时标明在终点计算单元中的地址的模式下,信息将被计算单元内的网络控制器直接写入该计算单元的内存单元中的相应地址。

■同时标明在终点计算单元中的神经元计算器的模式下,信息将交由细胞内的神经元计算器处理。

●每一个发送和中转信息的计算单元,其网络控制器都必须选择一个相邻的计算单元作为下一站。

■当起点计算单元和终点计算单元在一条线上时,合理的选择只有一个。

■其他情况下,有两个同样合理的选择,网络控制器可以选择一个交通相对不忙的相邻计算单元。

从一个计算单元群发信息到一个矩形区域,已经有一个简单的办法:由主控制器10读取信息再进行群发。在这里提供另外一种方式:把计算单元间的点对点通信功能被扩展到区域群发。这种方式可以支持更高的平行度,高得多的总带宽。非常适合于卷积神经网络。对于计算单元间的群发,原始发送者负责标明目标区域,仍然由系列中转完成。

●如果发送计算单元和中转计算单元在目标区域内:

■在矩形区域的角上(如图6所示)

◆如果区域的宽度是1,此时只有一个相邻计算单元可以选择为下一站中转。该计算单元的网络控制器接收该信息的数据(如果该计算单元不是消息发送者),并把信息转发到这个相邻计算单元,随后更新目标区域(长度减1)。

●如果中剩下最后一个计算单元,停止中转。

◆如果区域的长宽都大于1,此时有两个相邻计算单元可以选择为下一站中转。该计算单元的网络控制器接收该信息的数据(如果该计算单元不是消息发送者),并分别向这两个相邻计算单元转发该信息,随后更新目标区域,其中一个区域是宽度为1的矩形区域。

■在矩形区域的边上(如图7所示)

◆如果区域的宽度是1,此时有两个相邻计算单元可以选择为下一站中转。该计算单元的网络控制器接收该信息的数据(如果该细胞不是消息发送者),并分别向这两个相邻计算单元转发该信息,随后更新目标区域。

◆如果区域的宽度大于1,此时有三个相邻计算单元可以选择为下一站中转。该计算单元的网络控制器接收该信息的数据(如果该细胞不是消息发送者),并分别向这三个相邻计算单元转发该信息,随后更新目标区域,其中两个区域是宽度为1的矩形区域。

■在矩形区域的内部,此时有四个相邻计算单元可以选择为下一站中转,并且如果该计算单元只可能是消息发送者)。并分别向这四个相邻计算单元转发该信息,随后更新目标区域,其中两个区域是宽度为1的矩形区域。

●如果发送计算单元和中转计算单元在目标区域外(如图8和图9所示)。考虑到神经网络需要讲一片数据大范围地转移到另一片,这种情况下,通信网络很容易发生拥堵。这里使用一个协议,经研究可以在卷积网络中避免拥堵。

■发送信息时标明传输方向。

■每一次中转时都按传输方向传递信息,当在前进方向上的坐标进入目标区域的坐标范围后,逐次横向做宽度是1的群发。

具体实施方法(如图10所示):

1.每两个相邻计算单元之间的通信通道有一对fifo(先入先出)组成。从一个计算单元写入和另一个计算单元输出的fifo和相反方向的fifo。站在其中一个计算单元的角度上,可以称它为输入和输出fifo。

2.网络控制器和计算单元内的所有(最多4对)fifo连接。网络控制器还和该计算单元内的mpu连接,给它发中断(如fifo空,fifo满,新到信息等等,信息送出等等)。

3.网络控制器发送、接收和中转信息。

4.如果某一个输入fifo有信息进入,网络控制器将首先检查它:

●如果终点是本计算单元,那么:

■如果终点某特点相对地址,由于网络控制器具有dma能力,将把信息直接存入内存单元的相应地址并用通知神经元计算器

■如果终点是神经元计算器,直接通知它进行处理。

细胞阵列网络群发功能对于神经网络特别是卷积神经网络能提供很大的帮助,极大地提高了大量数据的传输带宽。具体操作方法如下:

1.把神经网络中的一层分配在一个矩形区域内(对于图像处理应用,这样做更加自然),每一个计算单元执行一个或多个神经元的功能。每个神经元的每一个输入的权重存在这个计算单元的内存单元/mram中。

2.相邻的层部署在相邻的区域内。

当这一层所有的神经元完成计算后,把传输方向指向相邻的层所在的区域,支持所有的计算单元同步群发,如图11所示。

使用本发明实现神经网络计算的优势是显而易见的:

1.大量计算单元的平行计算极大地加速的运算速度,特别使得学习训练的速度极大提高。

2.细胞阵列内部网络通信巨大的带宽以及群发机制同样非常有助于提高速度。

3.mram的非易失性,使得训练成功的芯片可以直接复制作为解决特定问题的产品销售。

<神经元计算器操作方法>

神经元计算器的工作比较简单:把与之有连接的每一个上层神经元的输出,乘以相应的权重,累加起来即可。通常最后的结果还需要做一个简单的映射,比如映射到0至1之间的一个数。然而,每一个神经元有着少则几十个,多则成千上万个输入神经元,在一个网络环境中,很难保证这些输入按既定的顺序到来。需要一个快速高效的方法,对每一个输入,去查找比对,还要判定是否所有的输入都已经到达。

本发明提出一个方法解决这个问题,如图12所示:

1.使网络中的每一条神经元计算器的输入信息包括上游神经元的识别码以及输出数据。

2.使每一个神经元计算器中包含一段内容寻址存储器(sram、cam),以存储所有的上游神经元的识别码。这种内存单元可以一次完成输入与所有识别码的比对,发生符合的识别码时产生一个输出。

3.针对每一条输入,将输入的神经元计算器的识别码与上述存储器中的内容进行比对;根据比对结果中符合的识别码找到与所述输入相应的权重,将每个权重与输入相乘以得到乘积,并且对所有乘积进行累加以得到累加信号。例如,一种找地址的实现方法是:将权重地址存储在于其识别码相应的地址。

4.每次在存储在上述存储器中的识别码与某一个输入比对发生符合时,输出一个符合信号,而且根据所有的符合信号产生完成信号。有两种实现方法:

a.所有的识别码发生符合时,输出高电位表示符合。所有的符合信号接到一个nand门,nand门输出低电位时表示完成。

b.使用计数器,初始化计数器使得计数器的计数等于输入神经元总数,每发生一次符合使计数器减一,计数器归零时输出完成信号。

5.当发生完成信号时,神经元计算器将累加信号进行映射输出。

由此,能够在保证输入按既定的顺序到来的同时,提高操作速度。

<细胞阵列三维通信传输方法>

三维细胞阵列神经网络芯片可以提供更高的性能。根据本发明优选实施例的细胞阵列三维通信传输方法可包括:

将多层细胞阵列神经网络芯片(即,细胞阵列计算系统)垂直通过过硅通孔(tsv)叠合成三维芯片;

将每一层细胞阵列的总线通过过硅通孔连通起来。

使上下相邻的两个细胞阵列神经网络芯片中的计算单元通过过硅通孔进行网络连通。这样,计算单元之间的通信网络扩展成了三维通信网络。

将多层神经网络中的相邻的神经网络层部署在三维芯片中的上下相邻的细胞阵列神经网络芯片层中;当需要通过通信网络向下一层神经网络传输数据时,先通过过硅通孔进行一次垂直方向的数据传输,再利用每一层细胞阵列神经网络芯片的通信网络进行水平数据传输。

本发明优选实施例的这种模式对于卷积式神经网络尤其高效,使得几个网络传输周期就可以完成原来需要上千个周期才能完成的转运工作。

<卷积神经网络实现方法>

细胞阵列架构具有非常大的灵活性,这里提供另外一种卷积神经网络实现方法:

1.将一层卷积神经网络按该层卷积神经网络的内部位置关系部署在细胞阵列的一个矩形区域里。

2.通过细胞阵列总线广播方法逐个地把权重发送给矩形区域中各个神经元所在的计算单元,存入该计算单元的内存中。(卷积神经网络的权重具有平移不变性,每个神经元从不同临近细胞输入所对应的权重是不同的,但所有神经元使用同一组权重。非常适合使用广播机制发送)。

3.针对该层卷积神经网络,接受输入进行神经元计算(神经元计算包括:将每个输入和其对应的权重相乘,然后对所有乘积进行求和),将每个神经元的输出暂时保持在神经元计算内。

4.通过细胞阵列总线广播方法把下一层卷积神经网络(前面提到的该层卷积神经网络的下一层卷积神经网络)的权重发送到所述矩形区域的计算单元内。

5.利用细胞阵列中的细胞阵列网状通信网络把上一层神经元(前面提到的该层卷积神经网络的上一层神经元)的输出转送到预定临近区域中的需要该输出的计算单元内。(卷积神经网络中,每个神经元的只输出到临近的一个小区域的神经元,非常适合使用细胞阵列网状通信网络扩散。只需要少数几个时钟周期就可以完成所有的数据交换)

6.使用新的权重(下一层卷积神经网络的权重)和上一层神经元的输出,进行下一层卷积神经网络的计算。

7.如果下面几层网络还是卷积网络,仍然可以照此依次进行。

在此,将卷积神经网络按该各层卷积神经网络的内部位置关系部署在细胞阵列的一个矩形区域里;通过细胞阵列总线广播方法逐个地把各层的每个权重发送给矩形区域中各个细胞,存入该计算单元的内存中;针对第一层卷积神经网络,接受输入进行神经元计算,将每个神经元的输出暂时保持在计算单元内;利用细胞阵列中的细胞阵列网状通信网络把这一层神经元的输出转送到预定临近区域中的需要该输出的计算单元内;使用下一层的权重和上一层神经元的输出,进行下一层卷积神经网络的计算,如此直到最后一层完成。在此,本发明做了一个改进,一次性地把各层的权重都广播到各个细胞。以后每一层的计算就不用重复加载权重,处理速度快得多。

这种方法的优点是:

1.如果输入的图像很大,而卷积网络通常有十几层,将占用大量硬件和内存资源。这种方法使用同一块硬件进行不同层的计算,极大地节省了硬件资源。

2.利用细胞阵列网状通信网络,不同层之间的数据交换非常高效。

上述说明示出并描述了本发明的优选实施例,如前所述,应当理解本发明并非局限于本文所披露的形式,不应看作是对其他实施例的排除,而可用于各种其他组合、修改和环境,并能够在本文所述发明构想范围内,通过上述教导或相关领域的技术或知识进行改动。而本领域人员所进行的改动和变化不脱离本发明的精神和范围,则都应在本发明所附权利要求的保护范围内。

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