硬件高效的深度卷积神经网络制造技术

技术编号:18580639 阅读:33 留言:0更新日期:2018-08-01 14:49
在此公开了用于以硬件高效地实现卷积神经网络的系统、方法和计算机介质。存储器被配置为存储卷积加权内核的稀疏频域表示。时域到频域转换器被配置为生成输入图像的频域表示。特征提取器被配置为访问存储器,并且通过处理器基于卷积加权内核的稀疏频域表示和输入图像的频域表示来提取特征。特征提取器包括卷积层和全连层。分类器被配置为基于提取的特征来确定输入图像是否包含感兴趣对象。各种类型的存储器可以用于存储不同的信息,从而使得在较快的(例如,较快的存取时间)存储器中存储信息稠密数据,并且在较慢的存储器中存储稀疏数据。

Hardware efficient deep convolution neural network

Systems, methods, and computer media for efficiently implementing convolution neural networks in hardware are disclosed. Memory is configured to store sparse frequency domain representations of convolutive weighted kernels. The time domain to frequency domain converter is configured to generate the frequency domain representation of the input image. The feature extractor is configured to access memory and extracts features by the processor based on the sparse frequency representation of the convolution weighted kernel and the frequency domain representation of the input image. The feature extractor includes the convolution layer and the contigo layer. The classifier is configured to determine whether the input image contains interested objects based on the extracted features. Various types of memory can be used to store different information, thus storing information dense data in faster (for example, faster access time) memory and storing sparse data in slower memory.

【技术实现步骤摘要】
【国外来华专利技术】硬件高效的深度卷积神经网络
技术介绍
神经网络实现了在某种程度上基于动物中枢神经系统的计算方法。神经网络可以用于可以应用机器学习的基于人工智能方法中,这些方法可以用于例如语音识别、图像识别/物体检测和其他领域。神经网络由互连的“神经元”组成,这些神经元基于输入值和阈值进行决策。卷积神经网络是一类神经网络,其通常涉及三个计算阶段:卷积层、全连层和分类器。虽然卷积神经网络与更加局限的基于建模的机器学习方法相比表现良好,但是以硬件实现卷积神经网络导致高能源和计算复杂度成本。例如,卷积层通常涉及高计算复杂度,并且全连层通常涉及高存储器存储成本。这些因素尤其阻碍了卷积神经网络在功率受限设备(诸如可穿戴设备和移动设备)中的实现。
技术实现思路
本文中描述的示例涉及深度卷积神经网络的硬件高效实现。存储器可以被配置为存储卷积加权内核的稀疏频域表示。时域到频域转换器可以被配置为通过处理器生成输入图像的频域表示。输入图像可以是由相机捕获的视频帧或图像。特征提取器可以被配置为访问存储器,并且通过处理器基于卷积加权内核的稀疏频域表示和输入图像的频域表示来提取特征。分类器可以被配置为通过处理器基于提取的特征来确定输入图像是否包含感兴趣对象。在一些示例中,不同存储器类型的多个存储器用于存储不同的信息,从而使得在较快(例如,较快的存取时间)且能耗较高的存储器中存储信息稠密的数据并且在较慢(但是能耗较低)的存储器中存储稀疏数据。例如,可以使用较慢的存储器类型(或较低能耗的存储器类型)来存储卷积加权内核的频域表示的稀疏矩阵,并且可以使用一个或多个较快的存储器类型来存储卷积加权内核的频域表示的稠密矩阵、全连层系数和/或图像/视频帧系数。提供本“
技术实现思路
”是为了以简化的形式介绍将在以下“具体实施方式”中进一步描述的一些概念。本“
技术实现思路
”并非旨在确定所要求保护的主题的关键特征或基本特征,也并非旨在用于限制所要求保护的主题的范围。根据参考附图进行的以下详细描述,所要求保护的主题的前述和其他目的、特征和优点将变得更加明显。附图说明图1是示例硬件高效卷积神经网络系统的框图。图2是包括两种类型存储器的示例硬件高效卷积神经网络系统的框图。图3是示出硬件高效深度卷积神经网络的示例操作流程的图。图4是示出示例硬件高效卷积神经网络系统的示例硬件和示例操作流程的框图。图5是卷积神经网络中的示例图像识别方法的流程图。图6是其中在卷积层中应用的非线性函数是频域非线性函数的卷积神经网络中的示例图像识别方法的流程图。图7是其中卷积层的内核的稠密矩阵与最后的卷积层的输出相乘的卷积神经网络中的示例图像识别方法的流程图。图8是其中可以实现一些描述的实施例的示例计算系统的图。图9是可以与本文中描述的技术结合使用的示例移动设备。图10是可以与本文中描述的技术结合使用的示例云支持环境。具体实施方式通过使用本文中描述的系统、方法和计算机可读介质,深度卷积神经网络可以用硬件高效地实现。与通常具有高能源和计算成本的卷积神经网络的传统实现不同,所描述的示例允许卷积神经网络用于功率受限设备,诸如可穿戴设备和移动设备。作为具体示例,硬件高效卷积神经网络可以在电池寿命有限的增强显示或虚拟现实头戴式耳机或移动设备应用中实现。在卷积神经网络的卷积层中,由于卷积是数学上复杂的运算,因此卷积运算(例如,将图像与加权内核卷积)通常是计算密集型的。在所描述的示例中,卷积加权在傅立叶(频率)域中进行,这大大降低了卷积加权步骤的复杂度。在所描述的示例中,通过将卷积加权内核表示为稀疏频域表示(例如,一个或多个稀疏矩阵和稠密矩阵),存储器和计算要求也得到降低。信息稀疏的并且具有比稠密矩阵小的存储容量的稀疏矩阵可以存储在存储器中并且在每个卷积层中被访问。信息密集的并且存储容量较大的稠密矩阵可以在卷积层之后应用,这大大降低了卷积层的计算成本和复杂度。在一些所描述的示例中,在频域中执行附加操作,以允许进一步延迟稠密矩阵的应用并且从而降低计算和存储成本。以下参考图1至10详细描述其他示例。神经网络概述如上面简要讨论的,神经网络由互连的“神经元”组成,这些神经元基于输入值和阈值进行决策。在神经元中,非线性函数(也称为激活函数)被应用于输入,并且非线性函数的输出与阈值进行比较。示例非线性函数包括整流线性单元(ReLU)、双曲正切(tanh)、S形函数或其他非线性函数。例如,如果应用于输入的非线性函数的值大于阈值,则神经元可以提供输出“1”,或者如果应用于输入的非线性函数的值小于阈值,则神经元可以提供输出“0”。神经网络中的神经元可以具有不同级别的连接。在全连神经网络中,每个输入被提供给每个神经元(或者神经元各自与每个其他神经元互连)。在部分连接神经网络中,输入被提供给一个或多个神经元,但是通常不是每个输入被提供给每个神经元(或者神经元与一些其他神经元而不是所有其他神经元互连)。如下所述,其他类型的连接包括任意连接和邻居连接以及卷积连接。神经元之间的连接越大,阈值的“丰富性(richness)”越强,从而允许神经元捕获更多信息。对于接收多个输入的神经元,非线性函数通常应用于所有输入。作为示例,神经网络可以被表示为函数f(∑wi,xi,tj)其中每个输入xi具有相关联的权重wi,并且每个神经元具有阈值tj。在各个神经元中,计算wixi,应用非线性函数,并且将结果与阈值tj进行比较。使用双曲正切(tanh)作为非线性函数会得到以下示例比较:tanh(Bi+B0∑wixi)>tj(1)其中B0和Bi是用于维持双曲正切函数的极限的常数。神经网络可以用于机器学习,并且是基于人工智能的机器学习方法(与其中指定模型并且学到模型的各种参数和特征的基于建模的方法相对而言)的示例。作为示例,可以使用神经网络来执行图像识别或对象识别。输入图像可以被转换为图像像素值的输入向量。在全连神经网络中,输入向量中的每个像素值被提供给每个神经元。非线性函数应用于每个神经元处的像素值,并且每个神经元通过将非线性函数的结果与一个或多个阈值进行比较来输出值。来自神经元的输出值形成输出向量。根据输入向量来创建输出向量的过程被称为特征提取。与针对不同类型的输入数据需要不同的特征提取方法的基于模型的方法不同,基于神经网络的特征提取可以应用于具有已知或未知特征的各种数据,包括语音幅度数据、地震数据或其他传感器数据。输出向量可以被提供给分类器(例如,基于模型的机器学习分类器)。例如,分类器可以实现支持向量机、决策树、Fisher线性判别、线性判别分析(LDA)或其他分类方法。分类器分析输出向量并且将输入图像分类为一组类别中的一个类别。在二元分类器中,例如,图像可以被分类为包含感兴趣对象(例如,脸)(输出“1”)或不包含感兴趣对象(输出“0”)。神经网络通常被训练以确定神经元阈值和分类器模型参数。输入数据和可用分类器输出标签被提供给以下训练算法:该训练算法试图使所有分类器输出标签上的输出误差最小化。求解得到最小可实现的误差的参数值和阈值。卷积神经网络概述卷积神经网络是其中神经元以特定方式具有部分连接(“卷积连接”)的一类神经网络。在卷积神经网络中,可以使用二维(2D)向量作为输入。2D输入向量乘以三维(3D)权重内核(例如,逐元素乘法)。具有与3D权重内核相同2D维度的本文档来自技高网
...

【技术保护点】
1.一种卷积神经网络系统,包括:一个或多个处理器;存储器,所述存储器被配置为存储卷积加权内核的稀疏频域表示;时域到频域转换器,所述时域到频域转换器被配置为通过所述一个或多个处理器生成输入图像的频域表示;特征提取器,所述特征提取器被配置为通过所述一个或多个处理器:访问所述存储器,以及至少部分基于所述卷积加权内核的所述稀疏频域表示和所述输入图像的所述频域表示来提取多个特征;以及分类器,所述分类器被配置为:由所述一个或多个处理器基于经提取的所述多个特征来确定所述输入图像是否包含感兴趣对象。

【技术特征摘要】
【国外来华专利技术】2015.11.05 US 14/934,0161.一种卷积神经网络系统,包括:一个或多个处理器;存储器,所述存储器被配置为存储卷积加权内核的稀疏频域表示;时域到频域转换器,所述时域到频域转换器被配置为通过所述一个或多个处理器生成输入图像的频域表示;特征提取器,所述特征提取器被配置为通过所述一个或多个处理器:访问所述存储器,以及至少部分基于所述卷积加权内核的所述稀疏频域表示和所述输入图像的所述频域表示来提取多个特征;以及分类器,所述分类器被配置为:由所述一个或多个处理器基于经提取的所述多个特征来确定所述输入图像是否包含感兴趣对象。2.根据权利要求1所述的系统,其中所述特征提取器包括多个卷积层和多个全连层。3.根据权利要求2所述的系统,其中所述存储器是第一存储器类型的第一存储器,并且所述系统还包括第二存储器,所述第二存储器被配置为存储所述多个全连层的系数,其中所述第二存储器是第二存储器类型,并且其中所述第一存储器类型具有比所述第二存储器类型的存取时间或能耗更慢的存取时间或更低的能耗。4.根据权利要求3所述的系统,其中所述第一存储器类型是DRAM,并且其中所述第二存储器类型是SRAM。5.根据权利要求3所述的系统,还包括第三存储器,所述第三存储器被配置为存储输入图像系数,其中所述第三存储器是第三存储器类型,并且具有在所述第一存储器类型的所述存取时间或能耗与所述第二存储器类型的所述存取时间或能耗之间的存取时间或能耗。6.根据权利要求2所述的系统,其中所述卷积加权内核的稀疏频域表示包括稠密矩阵和一个或多个稀疏矩阵,并且其中所述多个卷积层中的第一卷积层被配置为:将所述输入图像的所述频域表示与所述一个或多个稀疏矩阵相乘,并且对所述相乘的结果应用非线性函数。7.根据权利要求6所述的系统,其中所述非线性函数是频域函数。8.根据权利要求6所述的系统,其中所述多个卷积层中的第二卷积层被配置为:将所述第一卷积层的频域输出与所述一个或多个稀疏矩阵相乘,并且对所述相乘的结果应用非线性函数。9.根据权利要求2所述的系统,其中所述卷积加...

【专利技术属性】
技术研发人员:M·肖艾布刘劼
申请(专利权)人:微软技术许可有限责任公司
类型:发明
国别省市:美国,US

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1