【技术实现步骤摘要】
人工神经网络处理装置专利
本申请涉及人工神经网络,例如卷积神经网络(CNN)。更具体地,本申请涉及一种用于实现人工神经网络的处理装置。
技术介绍
人工智能近年得到迅速发展,极大地影响了人们的生活。基于人工神经网络,尤其是卷积神经网络(CNN,ConvolutionalNeuralNetwork)的方法在很多应用中、例如在计算机视觉领域中得到广泛使用。图1示出了典型的深度卷积神经网络(CNN)的实施例。如图1所示,典型的CNN由一系列有序运行的层组成。CNN模型的参数被称为“权重”。CNN的第一层读取输入图像,并输出一系列的特征图。下一层读取由上一层产生的特征图,并输出新的特征图。最后,一个分类器输出输入图像可能属于的每一类别的概率。CNN中两种基本层类型包括卷积层(CONV层)和全连层(FC层),在CONV层之后通常有池化层(Pooling层)。例如,对于一个CNN层,表示第j个输入特征图,表示第i个输出特征图,bi表示第i个输出图的偏置项。对于CONV层,nin和nout分别代表输入和输出特征图的数量。对于FC层,nin和nout分别代表输入和输出特征向量的长度。此时,CONV层以一系列特征图作为输入,并以卷积内核卷积获得输出特征图。通常与CONV层相连的非线性层,即,非线性激励函数被施加到输出特征图中的每个元素。CONV层可以用表达式(1)表示:其中,gi,j是应用到第j个输入特征图和第i个输出特征图的卷积内核。FC层是应用于输入特征向量上的一个线性变换,其可以用表达式(2)表示:fout=Wfin+b(2)其中,W是一个nout×nin变换矩阵,b是 ...
【技术保护点】
一种用于运行神经网络的神经网络处理器,包括:内存控制器组,其包括一个或多个内存控制器,每个内存控制器用于访问对应的外部储存芯片,所述外部储存芯片储存神经网络数据和指令;片上总线,用于内存控制器组与处理器内核阵列之间的通信;和处理器内核阵列,所述处理器内核阵列包括一个或多个处理器内核,每个处理器内核进一步包括:寄存器,用于配置神经网络处理器的工作参数和获取神经网络处理器的工作状态;第一指令单元,用于获取并解析外部储存芯片中的指令;第二指令单元,用于获取并解析外部储存芯片中的指令;指令分发单元,用于选择启动第一指令单元和第二指令单元中的一个,并将启动的指令单元的解析结果传递至数据传输控制器;数据传输控制器,用于基于解析结果将外部储存芯片中的神经网络数据写入缓存模块,以及将计算模块的计算结果从缓存模块写回外部储存芯片;缓存模块,用于储存神经网络数据和计算模块的计算结果,所述计算结果包括中间计算结果和最终计算结果;和计算模块,其包括一个或多个计算单元,用于进行运行神经网络所需的计算。
【技术特征摘要】
1.一种用于运行神经网络的神经网络处理器,包括:内存控制器组,其包括一个或多个内存控制器,每个内存控制器用于访问对应的外部储存芯片,所述外部储存芯片储存神经网络数据和指令;片上总线,用于内存控制器组与处理器内核阵列之间的通信;和处理器内核阵列,所述处理器内核阵列包括一个或多个处理器内核,每个处理器内核进一步包括:寄存器,用于配置神经网络处理器的工作参数和获取神经网络处理器的工作状态;第一指令单元,用于获取并解析外部储存芯片中的指令;第二指令单元,用于获取并解析外部储存芯片中的指令;指令分发单元,用于选择启动第一指令单元和第二指令单元中的一个,并将启动的指令单元的解析结果传递至数据传输控制器;数据传输控制器,用于基于解析结果将外部储存芯片中的神经网络数据写入缓存模块,以及将计算模块的计算结果从缓存模块写回外部储存芯片;缓存模块,用于储存神经网络数据和计算模块的计算结果,所述计算结果包括中间计算结果和最终计算结果;和计算模块,其包括一个或多个计算单元,用于进行运行神经网络所需的计算。2.根据权利要求1的神经网络处理器,其中,所述第一指令单元还包括:第一指令获取单元,用于获取外部储存芯片组中的指令;第一指令解析单元,用于对获取的指令进行解析以获得解析结果。3.根据权利要求1的神经网络处理器,其中,所述第二指令单元还包括:第二指令获取单元,用于获取外部储存芯片组中的指令;第二指令解析单元,用于对获取的指令进行解析以获得解析结果。4.根据权利要求1的神经网络处理器,其中,指令分发单元对第一指令单元或第二指令单元的解析结果进一步解码,并将解码结果发送至数据传输控制器。5.根据权利要求1的神经网络处理器,其中,计算模块还包括:卷积计算...
【专利技术属性】
技术研发人员:方绍峡,隋凌志,于谦,王俊斌,单羿,
申请(专利权)人:北京深鉴科技有限公司,
类型:发明
国别省市:北京,11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。