CN108351984B - 硬件高效的深度卷积神经网络 - Google Patents

硬件高效的深度卷积神经网络 Download PDF

Info

Publication number
CN108351984B
CN108351984B CN201680065018.7A CN201680065018A CN108351984B CN 108351984 B CN108351984 B CN 108351984B CN 201680065018 A CN201680065018 A CN 201680065018A CN 108351984 B CN108351984 B CN 108351984B
Authority
CN
China
Prior art keywords
memory
input image
sparse
frequency domain
convolutional
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201680065018.7A
Other languages
English (en)
Other versions
CN108351984A (zh
Inventor
M·肖艾布
刘劼
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Technology Licensing LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Technology Licensing LLC filed Critical Microsoft Technology Licensing LLC
Publication of CN108351984A publication Critical patent/CN108351984A/zh
Application granted granted Critical
Publication of CN108351984B publication Critical patent/CN108351984B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/063Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
    • AHUMAN NECESSITIES
    • A01AGRICULTURE; FORESTRY; ANIMAL HUSBANDRY; HUNTING; TRAPPING; FISHING
    • A01MCATCHING, TRAPPING OR SCARING OF ANIMALS; APPARATUS FOR THE DESTRUCTION OF NOXIOUS ANIMALS OR NOXIOUS PLANTS
    • A01M1/00Stationary means for catching or killing insects
    • A01M1/02Stationary means for catching or killing insects with devices or substances, e.g. food, pheronones attracting the insects
    • A01M1/026Stationary means for catching or killing insects with devices or substances, e.g. food, pheronones attracting the insects combined with devices for monitoring insect presence, e.g. termites
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • G06N20/10Machine learning using kernel methods, e.g. support vector machines [SVM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/0464Convolutional networks [CNN, ConvNet]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/048Activation functions

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • General Engineering & Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computational Linguistics (AREA)
  • Pest Control & Pesticides (AREA)
  • Neurology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Insects & Arthropods (AREA)
  • Wood Science & Technology (AREA)
  • Zoology (AREA)
  • Environmental Sciences (AREA)
  • Medical Informatics (AREA)
  • Image Analysis (AREA)

Abstract

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

Description

硬件高效的深度卷积神经网络
背景技术
神经网络实现了在某种程度上基于动物中枢神经系统的计算方法。神经网络可以用于可以应用机器学习的基于人工智能方法中,这些方法可以用于例如语音识别、图像识别/物体检测和其他领域。神经网络由互连的“神经元”组成,这些神经元基于输入值和阈值进行决策。卷积神经网络是一类神经网络,其通常涉及三个计算阶段:卷积层、全连层和分类器。
虽然卷积神经网络与更加局限的基于建模的机器学习方法相比表现良好,但是以硬件实现卷积神经网络导致高能源和计算复杂度成本。例如,卷积层通常涉及高计算复杂度,并且全连层通常涉及高存储器存储成本。这些因素尤其阻碍了卷积神经网络在功率受限设备(诸如可穿戴设备和移动设备)中的实现。
发明内容
本文中描述的示例涉及深度卷积神经网络的硬件高效实现。存储器可以被配置为存储卷积加权内核的稀疏频域表示。时域到频域转换器可以被配置为通过处理器生成输入图像的频域表示。输入图像可以是由相机捕获的视频帧或图像。特征提取器可以被配置为访问存储器,并且通过处理器基于卷积加权内核的稀疏频域表示和输入图像的频域表示来提取特征。分类器可以被配置为通过处理器基于提取的特征来确定输入图像是否包含感兴趣对象。
在一些示例中,不同存储器类型的多个存储器用于存储不同的信息,从而使得在较快(例如,较快的存取时间)且能耗较高的存储器中存储信息稠密的数据并且在较慢(但是能耗较低)的存储器中存储稀疏数据。例如,可以使用较慢的存储器类型(或较低能耗的存储器类型)来存储卷积加权内核的频域表示的稀疏矩阵,并且可以使用一个或多个较快的存储器类型来存储卷积加权内核的频域表示的稠密矩阵、全连层系数和/或图像/视频帧系数。
提供本“发明内容”是为了以简化的形式介绍将在以下“具体实施方式”中进一步描述的一些概念。本“发明内容”并非旨在确定所要求保护的主题的关键特征或基本特征,也并非旨在用于限制所要求保护的主题的范围。
根据参考附图进行的以下详细描述,所要求保护的主题的前述和其他目的、特征和优点将变得更加明显。
附图说明
图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维度的2D像素窗口可以在输入向量上递增。对于每个增量,输入窗口的像素值与3D权重内核相乘,并且生成与2D窗口相对应的输出值。3D输入也可以被提供给卷积神经网络。例如,输入图像可以被表示为被提供给卷积神经网络的三个2D向量(红色、绿色和蓝色各一个)。
深度神经网络具有多个层,这增加了深度神经网络的神经元、分类器和其他组件的参数和阈值的丰富性。每层可以具有不同类型的连接。各个层可以包括卷积加权、非线性变换、响应归一化和/或空间池化。
作为示例,考虑输入层的3D体积表示,其在卷积加权层中被变换成馈送后续卷积加权层以及最终馈送一个或多个全连层的另一3D体积。可以使用卷积层、全连层或具有其他连接的层的各种组合。各层也可以使用最大池化,其中选择小组中的最大值作为输出(例如,使用四个相邻输出值中的最大值作为输出值)。在3D卷积加权阶段,维度为N×N×D的3D像素输入体积与维度为k×k×D并且步幅为S(线性步进偏移)的H个内核进行卷积。每个3D内核以滑动窗口的方式平移,步幅跨越输入体积。在每次平移期间,属于3D内核的每个权重可以与3D输入体积的重叠区域中的每个成对输入元素相乘并且相加。
整个3D卷积过程可以被分解为多个2D卷积的序列。2D卷积是在现代图像处理中经常使用的数学运算。在2D卷积中,在图像上扫描特定有限大小和形状的窗口(也称为支持)。输出像素值被计算为窗口内的输入像素的加权和,其中权重是指派给窗口的每个像素本身的滤波器的值。具有权重的窗口被称为卷积加权内核(或简称为内核)。这导致以下有限和:
Figure BDA0001652397870000061
其中c[m,n]是位置m,n处的输出像素,a[j,k]是位置j,k处的输入像素,并且h[j,k]是这个位置处的加权内核。二维卷积过程中的边界条件可以使用零点、折叠像素或在图像边界重复像素来处理。
作为具体示例,假定具有三层(表示红色、绿色和蓝色值)的224×224像素图像以及表示11×11×32内核的两个维度的11×11个像素的移动窗口。窗口可以一次移动一个像素,或者以大于一个像素的步幅移动。在步幅为4时,输出为55(或56)个像素×55个像素,深度为96个像素(内核深度的32像素×3(红色、绿色和蓝色层各一个))。也可以实现其他层。与卷积层相反,“密集”层是全连层。步幅的大小、内核大小等是可以通过反复试验、经验观察等来选择的设计参数。
典型的机器学习应用分两个阶段进行操作。首先是训练阶段,其既是数据密集型又是计算密集型,并且传统上涉及分布式高性能数据中心架构。另一方面,被称为测试阶段的第二阶段通常使用少量输入(例如,传感器数据)并且产生小输出(例如,标签)。然而,测试阶段通常涉及在一组紧密机器上的大量计算。在机器学习上下文中使用的卷积神经网络也涉及训练和测试。
对于典型卷积神经网络的测试阶段,执行三种主要类型的计算:卷积层、全连层和分类器。分类器在计算上往往是友好且廉价的。卷积层由于涉及多次卷积而倾向于具有最高计算复杂度。另一方面,全连层通常只涉及乘法,但是需要大量的存储来处理内核权重。因此,虽然基于卷积神经网络的测试方法可以提供实时操作和高算法精度,但是传统的卷积神经网络在计算上是复杂的并且需要大量的存储器。这两个因素导致在电力和能源方面成本高昂。
示例实现
在所描述的示例中,在卷积层中执行的卷积加权在傅立叶(频率)域中进行。时域中的卷积可以转换为频域中的乘法,这降低了卷积加权的复杂度并且使得设备处理速度提高并且功耗降低。所描述的示例也可以减少卷积神经网络的存储器需求。
图1示出了在一个或多个计算设备102上实现的卷积神经网络系统100。计算设备102包括处理器104。存储器106被配置为存储卷积加权内核的稀疏频域表示108。在示例稀疏表示中,初始数据矩阵被表示为一个或多个稀疏矩阵和稠密矩阵,在稀疏矩阵中,大部分数据是零(也称为“信息稀疏”),在稠密矩阵中,大部分数据是非零值(也被称为“信息密集”)。稀疏矩阵与稠密矩阵等于初始数据矩阵相乘。确定稀疏表示也被称为稀疏矩阵分解。稀疏矩阵分解可以使用一系列技术来进行,包括约束字典学习、非负矩阵分解、低秩表达式、向量量化等。稀疏表示减小了总体存储空间,并且也可以用来表示例如全连层中的系数。
时域到频域转换器110被配置为通过处理器104生成输入图像112的频域表示。时域到频域转换器110可以例如确定输入图像112的快速傅立叶变换(FFT)或其他变换。
特征提取器114被配置为通过处理器104访问存储器106并且从输入图像112提取多个特征116。特征提取器114被配置为至少部分基于卷积加权内核的稀疏频域表示108和输入图像112的频域表示来提取特征116。虽然与卷积时域操作(卷积)相比,卷积频域操作(乘法)在计算上不太密集,但是频域操作增加了傅立叶计算和傅里叶逆变换,这增加了计算成本。
FFT是一种将图像变换到频域的有效方式。FFT对于与M×M内核卷积的N×N图像具有复杂度Order(MNlog(MN))。基于FFT的乘法因此可以加快时域卷积以获取足够大的内核大小,因为时域卷积的执行时间与N2M2成比例,其远高于Order(MNlog(MN))。绘制这些复杂性表明,对于非常小的内核大小而言,基于FFT的卷积可能效率低下。还有各种加速FFT的方法,使得即使对于小的内核大小而言,卷积计算速度也可以被提高。
然而,特征提取器114可以被配置为在频域中执行附加操作以对必须执行的傅立叶变换和傅立叶逆变换的数目进行限制。在这样的示例中,不是在每个卷积层中都执行例如FFT和逆FFT,而是可以在频域中执行每层的操作,以将FFT限制为输入图像112的初始FFT和在卷积(或全连)层之后的逆FFT。特征提取器114可以包括多个卷积层和多个全连层。示例卷积和全连层在图3和4中详细示出。
在一些示例中,特征提取器114可以被配置为在第一卷积层中将输入图像112的频域表示与一个或多个稀疏矩阵相乘并且将非线性函数应用于相乘的结果。特征提取器114还可以被配置为执行空间池化、最大归一化和/或其他功能。在一些示例中,非线性函数是频域非线性函数。下面讨论频域非线性函数的确定。
特征提取器114的第二卷积层可以被配置为将第一卷积层的频域输出与一个或多个稀疏矩阵相乘,并且将非线性函数应用于相乘的结果。在这样的示例中,一个卷积层的输出是后续卷积层的输入。最终卷积层的输出也可以被输入到第一全连层,并且第一全连层的输出因此可以是后续全连层的输入,等等。
如上所述,特征提取器114通过被配置为在频域中执行乘法而不是在时域中执行卷积来节省计算资源。通过延迟与稀疏频域表示108的稠密矩阵的乘法直到在多个卷积层中处理和/或在全连层中处理之后,特征提取器114可以节省附加的计算和存储资源。每个卷积层通常具有相应的稠密矩阵和一个或多个稀疏矩阵(它们共同表示该层的卷积加权内核),并且在一些示例中,所有卷积层的稠密矩阵在最后的卷积层或最后的全连层之后被相乘。
分类器118被配置为通过处理器104基于所提取的特征116来确定输入图像112是否包含感兴趣对象,这由对象识别结果120表示。例如,分类器118可以是确定指示感兴趣对象是否存在的“1”或“0”的二元分类器、或多类分类器。系统100可以包括相同或不同类型的附加存储器(未示出),和/或存储器106可以由相同或不同类型的多个单独的存储器单元组成。这样的配置的示例关于图2来讨论。尽管系统100示出了输入图像112,但是诸如音频数据或其他传感器数据等备选输入数据可以被提供以作为附加或代替输入图像112的输入。在这样的示例中,分类器118被配置为确定音频或其他输入是否包含感兴趣方面(例如,感兴趣的单词或声音)。
图2示出了在一个或多个计算设备202上实现的卷积神经网络系统200。系统200包括与图1的系统100中所示的组件类似的若干组件,包括处理器204、时域到频域转换器206、特征提取器208和分类器210。相机212被配置为捕获输入图像或视频帧,其被提供给时域到频域转换器206。相机212可以是RGB、红外或其他相机。系统200可以包括各种其他传感器(未示出)。相机212、其他传感器和计算设备202可以是虚拟现实系统或增强现实系统的一部分。
第一存储器214被配置为存储卷积加权内核的稀疏频域表示的一个或多个稀疏矩阵216。第二存储器218被配置为存储全连层的系数220和/或稀疏频域表示的稠密矩阵222。第二存储器218具有第二存储器类型,并且第一存储器214为第一存储器类型,其比第二存储器类型存取时间更慢和/或能耗更低。例如,第二存储器218可以是SRAM(静态随机存取存储器),并且第一存储器214可以是DRAM(动态随机存取存储器)。较便宜的DRAM可以用于第一存储器214,因为DRAM的速度(存取时间)约束对于稀疏矩阵216中的少量数据较不重要。相反,全连系数220和稠密矩阵222是信息密集型的,并且从更昂贵但是更快的SRAM中受益更多。
作为另一示例,第一存储器214可以是比SRAM能耗更低(和速度更低)的存储器类型,诸如自旋转移力矩(STT)RAM、嵌入式DRAM(eDRAM)和非易失性存储器,诸如相变存储器(PCM)或嵌入式PCM(ePCM)。与上面讨论的DRAM的情况一样,由于稀疏矩阵216中的少量数据,诸如STT RAM等存储器类型的较慢存取时间并不重要。此外,诸如STT RAM等存储器也使用比DRAM更少的能源,这进一步延长了移动设备、可穿戴设备和其他功率受限设备的有限电源的使用寿命。
在一些示例中,系统200包括第三存储器,其被配置为存储输入图像系数或中间信息密度的其他数据。第三存储器具有第三存储器类型,并且具有在第一存储器类型的存取时间或能耗水平与第二存储器类型的存取时间或能耗水平之间的存取时间(或能耗水平)。第三存储器可以是例如结构化存储器,诸如内容可寻址存储器(CAM)。在一些示例中,单个类型的存储器可以用于第一存储器214、第二存储器218和任何附加存储器(例如,如上所述的第三存储器)。
图3示出了深度卷积神经网络300。输入图像302(被示出为三个平行矩形)的红色、绿色和蓝色部分被提供作为深度卷积神经网络300的输入。执行多相滤波304,并且结果被提供给第一卷积层306。在一些示例中,多相滤波304被省略。对第一卷积层306的输入执行FFT操作308,并且在卷积加权部分310中将所得到的频域表示与卷积加权内核314的频域表示的稀疏矩阵312相乘。
卷积加权内核314被预确定并且(例如,通过使用FFT)被变换到频域。为了将卷积加权内核与第一卷积层306中的经变换的输入图像相乘,使用附加的零值来对卷积加权内核的频域表示进行扩展,直到内核和经变换的图像具有相同的2D维度。卷积加权内核314的稀疏频域表示被存储在存储器316中。稀疏表示包括稀疏矩阵312和稠密矩阵318。在一些示例中,针对内核314的每个层确定稀疏矩阵。也就是说,对于11×11×32的3D内核,存在32个稀疏的11×11矩阵。在卷积加权部分310中,将稀疏矩阵与经变换的输入图像相乘,并且在后续卷积层320或全连层322之后与稠密矩阵318相乘。
在部分324中应用非线性函数。在一些示例中,非线性函数是频域函数(下面更详细地讨论)。在部分326中执行响应归一化,并且在部分328中执行空间池化。各种卷积层可以省略响应归一化和/或空间池化。输出330被提供给后续卷积层320。
后续卷积层320的输出332被提供给全连层322。全连层322输出被提供给一个或多个分类器336的所提取的特征向量334(或所提取的特征的其他布置),分类器336可以是例如线性分类器。例如,分类器336可以确定输入图像302是否包含感兴趣对象。存储器316还可以存储在后续卷积层320中使用的内核340的稀疏频域表示338。在一些示例中,内核340和内核314相同。在其他示例中,在不同的卷积层中使用不同的内核。
存储器316还可以存储全连层系数344的稀疏表示342。在一些示例中,系数344没有被存储为稀疏表示342。存储器316还可以存储分类器参数346,其在由分类器336在基于特征向量334中的所提取的特征来对输入图像302进行分类时被使用。
如上所述,在将稀疏矩阵312与输入图像的频域表示相乘之后保留在频域中消除了计算密集型逆FFT(IFFT)。以这种方式,可以在频域中执行很多操作,并且可以在后续卷积层320之后和/或在全连层322中的最后的全连层之后执行单个IFFT。
为了保持在频域中,第一卷积层306(和后续卷积层320)中的非线性函数被转换为频域函数。卷积层可以被看作是对输入函数f(x)应用某个非线性函数g(y),因此为了确定频域非线性函数,可以确定关于F(f(x))的傅立叶变换F(gf(x))。作为具体示例,考虑ReLU非线性函数,其中g(y)=ReLU(y)。ReLU(也被写作ReLu)用于在时域中剪切数据。它在信号中产生尖角,所以在频域中,这会在频谱中增加更高频率的谐波。
在数学上,ReLu(f(x))可以通过f(x)表示为与sign(f(x))的乘积:如果f(x)>0,则等于1,否则为0:
ReLu(f(x))=max{f(x),0}=H[f(x)]*f(x) (3)
其中H是Heaviside函数。
因为f(x)具有有限数目的样本,所以ReLu可以通过与delta函数的总和的乘积来表示:
H[f(x)]*f(x)=f(x)*∑iδ(x-xi),f(xi)>0 (4)
其中δ是delta函数。
delta函数的傅立叶变换由下式给出:
Figure BDA0001652397870000122
使用FFT的线性和卷积定理,ReLu(f(x))的傅里叶变换可以通过f(x)的傅里叶变换来表示:
Figure BDA0001652397870000121
这表明在频域中,ReLu()用作与已知形式的函数的卷积。但是,这个函数取决于输入,所以在x空间域中求解位置:f xi>0。这可以通过对输入进行逆变换并且求解不等式来实现。因此,一旦得到x,对于这个输入的ReLu的传递函数是已知的,并且不需要计算FFT。
这由以下示例来说明。假定具有红色、绿色和蓝色部分的输入图像,每个部分与卷积加权内核(K1、K2和K3)的频域表示相乘。没有频域非线性函数,在图像(I)的频域表示与内核的频域表示相乘之后,结果(F1、F2、F3)在频域中。然后使用IFFT将结果变换到时域(f1、f2、f3),并且应用ReLu函数以生成g1、g2和g3。使用FFT,确定频域输出G1、G2和G3。这些输出作为下一卷积层的输入。这在下面在方程组(7)中示出。
Figure BDA0001652397870000131
G1、G2和G3是该层的输出并且被输入到下一层,如下面在方程组(8)中所示。
Figure BDA0001652397870000132
与前一层一样,下一层将需要将频域输入(H1、H2和H3)与卷积加权内核的频域表示相乘。在方程组8中,K4、K5和K6是频域卷积加权内核,并且可以与K1、K2和K3相同或不同。由于ReLu函数的性质,如上面关于delta函数讨论的,可以确定和使用方程组(9),而不是采用方程组(7)中的方法,并且应用IFFT,并且然后在下一阶段之前应用FFT。
Figure BDA0001652397870000141
因此,可以避免在计算的每个阶段调用IFFT。虽然这里使用ReLU非线性函数作为示例,但是该方法也适用于其他非线性函数。
图4示出了示例硬件高效卷积神经网络系统400的硬件级框图。从相机402捕获的图像被缓存在视频帧存储器404中。这些帧可以按照先进先出(FIFO)顺序依次被处理。帧光栅控制器406从正在以光栅顺序处理的帧中读取像素。像素被发送到FFT流式传输器408中,FFT流式传输器408本地缓冲像素并且产生图像的傅立叶变换。FFT流式传输器408对像素组处理,该像素组的大小取决于在FFT块中使用的点的数目。例如,1024个点的FFT需要缓冲和处理1024个像素。图像的FFT从FFT流式传输器408一次流式传输一个像素。经傅立叶变换的像素由卷积神经网络系统400的层410、412和414进行处理。层410、412和414包括多个卷积层并且还可以包括至少一个全连层。
在(第一)卷积层410中,基于图像的傅里叶变换(或前一级的输出)和存储在存储器416中的在该层中使用的滤波器映射(内核权重)的稀疏表示的系数来确定阿达玛(Hadamard)乘积。各个层中的内核权重被变换到傅里叶域,并且使用稀疏分解来表示,稀疏分解可以采用由稠密矩阵加权的稀疏矩阵的线性组合。使用地址控制器418顺序地从存储器416中读出稀疏矩阵。
经傅立叶变换的像素在乘法器420处与相应位置处的稀疏系数相乘。如Φ1和Φ2所示,使用控制时钟422来对乘法器420的输出进行累加。后者的时钟取决于稀疏矩阵的数目。如果稀疏表示具有k个稀疏矩阵,则在Φ1的每k个滴答之后Φ2滴答一次。所记录的Hadamard乘积总和(即,Φ2的输出)被传递到非线性框424,非线性框424在傅里叶域中应用非线性变换并且产生用于层410的经变换的输出。对于深度为N的卷积神经网络,这个过程持续多达N个阶段(如层414所表示的)。
最终卷积层(例如,层414)的输出在乘法器428处与存储在存储器426中的经压缩的稠密矩阵系数相乘。此时使用的稠密矩阵是从各个卷积层的系数获取的多个稠密矩阵的压缩版本(乘积)。稠密矩阵元素被存储在存储器426中,并且由地址控制器430以非线性方式拉取。输出再次在乘法器432处与全连层的系数相乘。全连层的系数被存储在存储器434中,并且由地址控制器436顺序地寻址。存储器426和存储器434可以是同一存储器的一部分。可能难以将乘法器428和432的乘法进行组合,因为乘法器428的乘法是矩阵-矩阵乘法,而乘法器432的乘法是标量-向量乘法。乘法器432的输出是所提取的特征向量438。这些被缓存在本地缓冲区(未示出)中,并且形成由分类器440使用的特征向量。
尽管存储器416被示出为DRAM,存储器426被示出为SRAM,并且存储器434被示出为SRAM,但是各种类型的存储器可以用于存储器416、426和434。存储器类型以及存储在各种存储器类型中的数据关于图2更详细地讨论。视频帧存储器404可以是DRAM、SRAM、诸如CAM等结构化存储器或其他存储器。时钟422、乘法器420、428、432和图4所示的其他硬件可以是专用集成电路(ASIC)、现场可编程门阵列(FPGA)或其他处理单元的一部分。
在一些示例中,可以使用每个卷积层中的并行乘法累加(MAC)单元集合来加速计算。而且,并行乘法器单元可以用于全连和稠密矩阵乘法阶段。还可以使用并行分类器集合。这样的并行化方法有可能以控制复杂度增加为代价来进一步加速计算。
图5示出了图像识别方法500。在过程框502中,接收输入图像。在过程框504中,生成输入图像的频域表示。在过程框506中,在卷积神经网络中提取多个特征。特征至少部分基于输入图像的频域表示和卷积加权内核的稀疏频域表示来被提取。卷积加权内核的稀疏频域表示包括稠密矩阵和一个或多个稀疏矩阵。过程框506还可以包括在卷积神经网络的卷积部分中执行卷积处理,并且基于卷积处理的输出来在卷积神经网络的全连部分中执行全连处理,其中全连处理的输出包括所提取的特征。在过程框506中执行的特征提取的细节关于图1至4进行讨论。在过程框508中,基于所提取的多个特征来对输入图像进行分类。在过程框510中,基于分类来将输入图像标识为包含感兴趣对象。
图6示出了图像识别方法600。在过程框602中,接收输入图像。在过程框604中,(例如,通过使用FFT)生成输入图像的频域表示。在过程框606中,确定卷积加权内核的稀疏频域表示。稀疏频域表示包括一个或多个稀疏矩阵、和稠密矩阵。在过程框608中,在深度卷积神经网络的多个卷积层中,基于输入图像的频域表示、一个或多个稀疏矩阵和频域非线性函数来处理输入图像。在过程框610中,在深度卷积神经网络的多个全连层中,基于多个卷积层的输出来处理输入图像。在过程框612中,基于多个全连层的输出来确定提取的多个特征。在过程框614中,基于所提取的特征来对输入图像进行分类。在过程框616中,基于分类来将输入图像标识为包含感兴趣对象。
图7示出了识别图像的方法700,其中在确定多个提取的特征之前,将最后的卷积层的输出与所有卷积层的加权内核的稠密矩阵相乘。在过程框702中,接收输入图像。在过程框704中,生成输入图像的频域表示。在过程框706中,确定表示卷积加权内核的稀疏矩阵和稠密矩阵。在一些示例中,在每个卷积层中应用相同的卷积加权内核。在其他示例中,使用不同的卷积加权内核,并且因此使用不同的稀疏矩阵和稠密矩阵。
在过程框708中,在多个卷积层中执行处理。处理可以是例如如关于图1至6所描述的。在过程框710中,在最后的卷积层之后,将该层的输出与卷积阶段的内核的稠密矩阵相乘(或与稠密矩阵的压缩版本(乘积)相乘)。在过程框712中,在一个或多个全连层中执行处理。全连层的系数可以被存储为稀疏矩阵和稠密矩阵,并且在过程框714中,在最后的全连层之后,将该层的输出乘以全连阶段的稠密矩阵(或乘以稠密矩阵的压缩版本(乘积))。然后,在过程框716中,输出提取的特征,并且在过程框718中,基于所提取的特征来对输入图像进行分类。
在一些示例中,使用附加技术来减少存储器使用并且降低计算强度。在一些示例中,通过使用稀疏FFT来降低傅立叶变换的复杂度,该稀疏FFT对输入图像进行二次采样以高效地计算傅里叶变换。取决于输入图像的特性,稀疏FFT算法的复杂度可以被降低到线性甚至亚线性。这实现了计算能源的减少,即使是在小的内核大小的情况下。
在一些示例中,在傅里叶域中训练卷积神经网络,使得所有的内核权重能够在傅立叶域本身中被获取。这避免了对于在频域中应用非线性函数的必要。
示例计算系统
图8描绘了其中可以实现所描述的创新的合适的计算系统800的通用示例。计算系统800并不意图对使用范围或功能提出任何限制,因为创新可以在不同的通用或专用计算系统中实现。
如图8所示,计算系统800包括一个或多个处理单元810、815和存储器820、825。在图8中,这个基本配置830被包括在虚线内。处理单元810、815执行计算机可执行指令。处理单元可以是通用中央处理单元(CPU)、专用集成电路(ASIC)中的处理器或任何其他类型的处理器。在多处理系统中,多个处理单元执行计算机可执行指令以提高处理能力。例如,图8示出了中央处理单元810以及图形处理单元或协处理单元815。有形存储器820、825可以是由处理单元可访问的易失性存储器(例如,寄存器、高速缓存、RAM)、非易失性存储器(例如,ROM、EEPROM、闪存等)、或两者的某种组合。存储器820、825以适合于由处理单元执行的计算机可执行指令的形式存储实现本文中描述的一个或多个创新的软件880。例如,存储器820、825可以存储图1的时域到频域转换器110、特征提取器114和分类器118、和/或图2的时域到频域转换器206、特征提取器208和分类器210。
计算系统可以具有附加特征。例如,计算系统800包括存储装置840、一个或多个输入设备850、一个或多个输出设备860以及一个或多个通信连接870。诸如总线、控制器或网络等互连机构(未示出)对计算系统800的组件进行互连。通常,操作系统软件(未示出)为在计算系统800中执行的其他软件提供操作环境,并且协调计算系统800的组件的活动。
有形存储装置840可以是可移除的或不可移除的,并且包括磁盘、磁带或磁带盒、CD-ROM、DVD或者可以用于存储信息并且可以在计算系统800内被访问的任何其他介质。存储装置840存储用于实现本文中描述的一个或多个创新的软件880的指令。例如,存储装置840可以存储图1的时域到频域转换器110、特征提取器114和分类器118、和/或图2的时域到频域转换器206、特征提取器208和分类器210。
输入设备850可以是触摸输入设备(诸如键盘、鼠标、笔或轨迹球)、语音输入设备、扫描设备或向计算系统800中提供输入的另一设备。对于视频编码,输入设备850可以是相机、视频卡、电视调谐卡或接受模拟或数字形式的视频输入类似设备、或者将视频样本读取到计算系统800中的CD-ROM或CD-RW。输出设备860可以是显示器、打印机、扬声器、CD刻录机或提供来自计算系统800的输出的另一设备。
通信连接870实现通过通信介质到另一计算实体的通信。通信介质在调制数据信号中传送信息,诸如计算机可执行指令、音频或视频输入或输出、或者其他数据。调制数据信号是一个或多个特性以使得能够在信号中对信息进行编码的方式来设置或改变的信号。作为示例而非限制,通信介质可以使用电、光、RF或其他载体。
这些创新可以在计算机可执行指令(诸如被包括在程序模块中的那些)在计算系统中在目标真实或虚拟处理器上执行的一般上下文中描述。通常,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、库、对象、类、组件、数据结构等。在各种实施例中,程序模块的功能可以根据需要在程序模块之间进行组合或拆分。用于程序模块的计算机可执行指令可以在本地或分布式计算系统内执行。
术语“系统”和“设备”在本文中可互换地使用。除非上下文另外明确指示,否则这两个术语都不暗示对一种计算系统或计算设备的任何限制。通常,计算系统或计算设备可以是本地的或分布式的,并且可以包括专用硬件和/或通用硬件与实现本文中描述的功能的软件的任何组合。
为了呈现,详细描述使用诸如“确定”和“使用”等术语来描述计算系统中的计算机操作。这些术语是对计算机执行的操作的高级抽象,并且不应当与人类执行的行为相混淆。与这些术语相对应的实际计算机操作取决于实现而变化。
示例移动设备
图9是描绘包括各种可选的硬件和软件组件(总体上在902处示出)的示例移动设备900的系统图。移动设备中的任何组件902可以与任何其他组件通信,尽管为了说明,并非所有连接都被示出。移动设备可以是各种计算设备(例如,手机、智能手机、手持式计算机、个人数字助理(PDA)等)中的任何一种,并且可以支持与一个或多个移动通信网络904(诸如蜂窝,卫星或其他网络)的无线双向通信。
所示出的移动设备900可以包括控制器或处理器910(例如,信号处理器、微处理器、ASIC或其他控制和处理逻辑电路),其用于执行诸如信号编码、数据处理、输入/输出处理、功率控制和/或其他功能等任务。操作系统912可以控制组件902的分配和使用,并且支持一个或多个应用程序914。应用程序可以包括常见的移动计算应用(例如,电子邮件应用、日历、联系人管理器、网页浏览器、消息收发应用)或任何其他计算应用。应用程序914还可以包括使用卷积神经网络实现的图像识别技术。用于访问应用商店的功能913也可以用于获取和更新应用程序914。
所示出的移动设备900可以包括存储器920。存储器920可以包括不可移除存储器922和/或可移除存储器924。不可移除存储器922可以包括RAM、ROM、闪存、硬盘或其他公知的存储器存储技术。可移除存储器924可以包括在GSM通信系统中公知的闪存或订户身份模块(SIM)卡、或者其他公知的存储器存储技术,诸如“智能卡”。存储器920可以用于存储用于运行操作系统912和应用914的数据和/或代码。示例数据可以包括要经由一个或多个有线或无线网络发送到一个或多个网络服务器或其他设备和/或从一个或多个网络服务器或其他设备接收的网页、文本、图像、声音文件、视频数据或其他数据集。存储器920可以用于存储诸如国际移动订户身份(EVISI)等订户标识符和诸如国际移动设备标识符(EVIEI)等设备标识符。这些标识符可以传输到网络服务器以标识用户和设备。
移动设备900可以支持诸如触摸屏932、麦克风934、相机936、物理键盘938和/或轨迹球940等一个或多个输入设备930、以及诸如扬声器952和显示器954等一个或多个输出设备950。其他可能的输出设备(未示出)可以包括压电或其他触觉输出设备。一些设备可以提供多于一个输入/输出功能。例如,触摸屏932和显示器954可以组合在单个输入/输出设备中。
输入设备930可以包括自然用户界面(NUI)。NUI是使得用户能够以“自然”方式与设备交互而不受由诸如鼠标、键盘、遥控器等输入设备强加的人为约束的任何接口技术。NUI方法的示例包括依赖于语音识别、触摸和手写笔识别、屏幕上和屏幕附近的手势识别、空中手势、头部和眼睛跟踪、声音和语音、视觉、触摸、手势和机器智能的方法。NUI的其他示例包括使用加速度计/陀螺仪的运动手势检测、面部识别、3D显示器、头部、眼部和视线跟踪、沉浸式增强现实和虚拟现实系统(所有这些都提供更自然的界面)、以及用于使用电场感测电极(EEG和相关方法)来感测大脑活动的技术。因此,在一个具体示例中,操作系统912或应用914可以包括作为语音用户界面的一部分的语音识别软件,其允许用户经由语音命令来操作设备900。此外,设备900可以包括允许经由用户的空间手势来进行用户交互(诸如检测和解释手势以向游戏应用提供输入)的输入设备和软件。
无线调制解调器960可以耦合到天线(未示出),并且可以支持处理器910与外部设备之间的双向通信,这在本领域中是很好理解的。调制解调器960一般地示出并且可以包括用于与移动通信网络904通信的蜂窝调制解调器和/或其他基于无线电的调制解调器(例如,蓝牙964或Wi-Fi 962)。无线调制解调器960通常被配置用于与一个或多个蜂窝网络的通信,诸如用于单个蜂窝网络内、蜂窝网络之间或者移动设备与公共交换电话网络(PSTN)之间的数据和语音通信的GSM网络。
移动设备还可以包括至少一个输入/输出端口980、电源982、诸如全球定位系统(GPS)接收器等卫星导航系统接收器984、加速度计986和/或物理连接器990(其可以是USB端口、IEEE 1394(火线)端口和/或RS-232端口)。所示出的组件902不是必需的或全部的,因为可以删除任何组件,并且可以添加其他组件。
示例云支持环境
图10示出了其中可以实现所描述的实施例、技术和工艺的合适的云支持环境1000的概括示例。在示例环境1000中,由云1010提供各种类型的服务(例如,计算服务)。例如,云1010可以包括可以集中设置或分布式设置的计算设备的集合,这些计算设备向经由诸如因特网等网络连接的各种类型的用户和设备提供基于云的服务。实现环境1000可以以不同的方式被使用,以完成计算任务。例如,一些任务(例如,处理用户输入和呈现用户界面)可以在本地计算设备(例如,连接的设备1030、1040、1050)上执行,而其他任务(例如,存储要在后续处理中使用的数据)可以在云1010中执行。
在示例环境1000中,云1010为具有各种屏幕能力的连接的设备1030、1040、1050提供服务。连接的设备1030表示具有计算机屏幕1035(例如,中等尺寸屏幕)的设备。例如,连接的设备1030可以是个人计算机,诸如台式计算机、膝上型计算机、笔记本、上网本等。连接的设备1040表示具有移动设备屏幕1045(例如,小尺寸屏幕)的设备。例如,连接的设备1040可以是移动电话、智能手机、个人数字助理、平板电脑等。连接的设备1050表示具有大屏幕1055的设备。例如,连接的设备1050可以是连接到电视(例如,机顶盒或游戏控制台)等的电视屏幕(例如,智能电视)或另一设备。一个或多个连接的设备1030、1040、1050可以包括触摸屏能力。触摸屏可以以不同的方式接受输入。例如,当物体(例如,指尖或指示笔)扭曲或中断穿过表面的电流时,电容式触摸屏检测到触摸输入。作为另一示例,当来自光学传感器的光束被中断时,触摸屏可以使用光学传感器来检测触摸输入。与屏幕表面的物理接触不需要由某些触摸屏来检测输入。没有屏幕能力的设备也可以在示例环境1000中使用。例如,云1010可以为没有显示器的一个或多个计算机(例如,服务器计算机)提供服务。
服务可以由云1010通过服务提供商1020或通过其他在线服务提供商(未示出)来提供。例如,云服务可以根据特定的连接的设备(例如,连接的设备1030、1040、1050)的屏幕大小、显示能力和/或触摸屏能力来进行定制。
在示例环境1000中,云1010至少部分地使用服务提供商1020来向各种连接的设备1030、1040、1050提供本文中描述的技术和解决方案。例如,服务提供商1020可以提供用于各种基于云的服务的集中化解决方案。服务提供商1020可以管理用户和/或设备(例如,用于连接的设备1030、1040、1050和/或它们各自的用户)的服务预订。云1010可以存储用作如本文中描述的到图像识别系统的输入的图像和视频帧1060,并且可以存储密集和稀疏矩阵1062。
示例实现
尽管为了方便呈现而以特定的依次顺序描述所公开的一些方法的操作,但是应当理解,除非下面阐述的特定语言需要特定顺序,否则这种描述方式涵盖重新布置。例如,顺序地描述的操作在一些情况下可以被重新布置或同时执行。此外,为了简单,附图可能未示出所公开的方法可以与其他方法结合使用的各种方式。
所公开的方法中的任一个可以实现为计算机可执行指令或计算机程序产品,其被存储在一个或多个计算机可读存储介质上并且在计算设备(例如,任何可用计算设备,包括智能手机或其他包括计算硬件的移动设备)上执行。计算机可读存储介质是可以在计算环境内访问的任何可用的有形介质(例如,诸如DVD或CD等一个或多个光学介质盘、易失性存储器组件(诸如DRAM或SRAM)或非易失性存储器组件(诸如闪存或硬盘驱动))。作为示例并且参考图8,计算机可读存储介质包括存储器820和825、以及存储装置840。作为示例并且参考图9,计算机可读存储介质包括存储器和存储装置920、922和924。术语“计算机可读存储介质”不包括信号和载波。另外,术语“计算机可读存储介质”不包括通信连接(例如,870、960、962和964)。
用于实现所公开的技术的任何计算机可执行指令以及在实现所公开的实施例期间创建和使用的任何数据可以被存储在一个或多个计算机可读存储介质上。计算机可执行指令可以是专用软件应用或例如经由网络浏览器或其他软件应用(诸如远程计算应用)访问或下载的软件应用的一部分。例如,这样的软件可以使用一个或多个网络计算机在单个本地计算机(例如,任何适合的商业上可用的计算机)上或在网络环境(例如,经由互联网、广域网、局域网、客户端服务器网络(诸如云计算网络)或其他这样的网络)中执行。
为了清楚,仅描述了基于软件的实现的某些选定方面。本领域公知的其他细节被省略。例如,应当理解,所公开的技术不限于任何特定的计算机语言或程序。例如,所公开的技术可以通过用C++、Java、Perl、JavaScript、Adobe Flash或任何其他合适的编程语言编写的软件来实现。同样,所公开的技术不限于任何特定的计算机或硬件类型。合适的计算机和硬件的某些细节是公知的,并且不需要在本公开中详细阐述。
此外,任何基于软件的实施例(包括例如用于使得计算机执行任何所公开的方法的计算机可执行指令)可以通过合适的通信手段来上载、下载或远程访问。这样的合适的通信手段包括例如因特网、万维网、内联网、软件应用、电缆(包括光缆)、磁通信、电磁通信(包括RF、微波和红外通信)、电子通信、或其他这样的通信手段。
所公开的方法、装置和系统不应当被解释为以任何方式进行限制。相反,本公开涉及各种公开的实施例单独以及以彼此的各种组合和子组合的所有新颖和非显而易见的特征和方面。所公开的方法、装置和系统不限于任何特定方面或特征或其组合,所公开的实施例也不要求存在任何一个或多个特定优点或解决问题。
来自任何示例的技术可以与在任何一个或多个其他示例中描述的技术组合。鉴于可以应用所公开的技术的原理的很多可能的实施例,应当认识到,所示出的实施例是所公开的技术的示例,并且不应当被视为对所公开的技术的范围的限制。

Claims (14)

1.一种卷积神经网络系统,包括:
一个或多个处理器;
存储器,所述存储器被配置为存储卷积加权内核的稀疏频域表示,所述稀疏频域表示包括稠密矩阵和一个或多个稀疏矩阵;
时域到频域转换器,所述时域到频域转换器被配置为通过所述一个或多个处理器生成输入图像的频域表示;
特征提取器,所述特征提取器包括多个卷积层和多个全连层,所述特征提取器被配置为通过所述一个或多个处理器:
访问所述存储器,以及
至少部分基于所述卷积加权内核的所述稀疏频域表示和所述输入图像的所述频域表示来提取多个特征,其中所述多个卷积层中的第一卷积层被配置为:将所述输入图像的所述频域表示与所述一个或多个稀疏矩阵相乘,并且对所述相乘的结果应用非线性函数,并且其中在由所述特征提取器生成经提取的所述多个特征的特征向量之前,最后的卷积层的输出被乘以所述稠密矩阵;以及
分类器,所述分类器被配置为:由所述一个或多个处理器基于经提取的所述多个特征来确定所述输入图像是否包含感兴趣对象。
2.根据权利要求1所述的系统,其中所述存储器是第一存储器类型的第一存储器,并且所述系统还包括第二存储器,所述第二存储器被配置为存储所述多个全连层的系数,其中所述第二存储器是第二存储器类型,并且其中所述第一存储器类型具有比所述第二存储器类型的存取时间或能耗更慢的存取时间或更低的能耗。
3.根据权利要求2所述的系统,其中所述第一存储器类型是DRAM,并且其中所述第二存储器类型是SRAM。
4.根据权利要求2所述的系统,还包括第三存储器,所述第三存储器被配置为存储输入图像系数,其中所述第三存储器是第三存储器类型,并且具有在所述第一存储器类型的所述存取时间或能耗与所述第二存储器类型的所述存取时间或能耗之间的存取时间或能耗。
5.根据权利要求1所述的系统,其中所述非线性函数是频域函数。
6.根据权利要求1所述的系统,其中所述多个卷积层中的第二卷积层被配置为:将所述第一卷积层的频域输出与所述一个或多个稀疏矩阵相乘,并且对所述相乘的结果应用第二非线性函数。
7.根据权利要求1所述的系统,还包括相机,所述相机被配置为捕获视频,并且其中所述输入图像是由所述相机捕获的视频帧。
8.根据权利要求7所述的系统,其中所述系统是虚拟现实系统或增强现实系统的一部分。
9.一种用于图像处理的方法,包括:
接收输入图像;
生成所述输入图像的频域表示;
在包括多个卷积层和至少一个全连层的深度卷积神经网络中,至少部分基于所述输入图像的所述频域表示和卷积加权内核的稀疏频域表示来提取多个特征,其中所述卷积加权内核的所述稀疏频域表示包括稠密矩阵和一个或多个稀疏矩阵;其中提取包括:在所述多个卷积层中的第一卷积层中,将所述输入图像的所述频域表示与所述一个或多个稀疏矩阵相乘,并且对所述相乘的结果应用非线性函数;
基于经提取的所述多个特征来对所述输入图像进行分类;以及
基于所述分类来将所述输入图像标识为包含感兴趣对象。
10.根据权利要求9所述的方法,其中提取所述多个特征包括:
在所述卷积神经网络的卷积部分中执行卷积处理;以及
基于所述卷积处理的输出,在所述卷积神经网络的全连部分中执行全连处理,其中所述全连处理的输出包括所提取的所述特征。
11.根据权利要求9所述的方法,其中用于所述卷积加权内核的值通过训练来被确定,其中所述一个或多个稀疏矩阵被存储在第一存储器类型的第一存储器中,其中所述稠密矩阵被存储在第二存储器类型的第二存储器中,并且其中所述第一存储器类型具有比所述第二存储器类型更慢的存取时间。
12.根据权利要求11所述的方法,其中所述第一存储器类型具有比所述第二存储器类型更低的能耗。
13.一种或多种计算机可读存储介质,所述一种或多种计算机可读存储介质存储用于识别图像的计算机可执行指令,所述识别包括:
接收输入图像;
生成所述输入图像的频域表示;
确定卷积加权内核的稀疏频域表示,所述稀疏频域表示包括一个或多个稀疏矩阵和稠密矩阵;
在深度卷积神经网络的多个卷积层中,基于所述输入图像的所述频域表示、所述一个或多个稀疏矩阵和频域非线性函数来处理所述输入图像;
在所述深度卷积神经网络的多个全连层中,基于所述多个卷积层的输出来处理所述输入图像;
基于所述多个全连层的输出来确定多个提取的特征,其中在确定所述多个提取的特征的特征向量前,最后的卷积层的输出被乘以所述稠密矩阵;
基于所述多个提取的特征来对所述输入图像进行分类;以及
基于所述分类来将所述输入图像标识为包含感兴趣对象。
14.根据权利要求13所述的计算机可读存储介质,其中所述一个或多个稀疏矩阵被存储在第一存储器类型的第一存储器中,其中所述稠密矩阵被存储在第二存储器类型的第二存储器中,并且其中所述第一存储器类型具有比所述第二存储器类型更慢的存取时间。
CN201680065018.7A 2015-11-05 2016-10-28 硬件高效的深度卷积神经网络 Active CN108351984B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/934,016 US9904874B2 (en) 2015-11-05 2015-11-05 Hardware-efficient deep convolutional neural networks
US14/934,016 2015-11-05
PCT/US2016/059338 WO2017079052A1 (en) 2015-11-05 2016-10-28 Hardware-efficient deep convolutional neural networks

Publications (2)

Publication Number Publication Date
CN108351984A CN108351984A (zh) 2018-07-31
CN108351984B true CN108351984B (zh) 2022-03-29

Family

ID=57321418

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201680065018.7A Active CN108351984B (zh) 2015-11-05 2016-10-28 硬件高效的深度卷积神经网络

Country Status (4)

Country Link
US (1) US9904874B2 (zh)
EP (1) EP3371748A1 (zh)
CN (1) CN108351984B (zh)
WO (1) WO2017079052A1 (zh)

Families Citing this family (139)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10157309B2 (en) * 2016-01-14 2018-12-18 Nvidia Corporation Online detection and classification of dynamic gestures with recurrent convolutional neural networks
EP3742347B1 (en) 2016-03-03 2022-11-02 Google LLC Deep machine learning methods and apparatus for robotic grasping
KR102023149B1 (ko) 2016-03-03 2019-11-22 구글 엘엘씨 로봇 파지를 위한 심층 기계 학습 방법 및 장치
JP6778010B2 (ja) * 2016-04-13 2020-10-28 キヤノン株式会社 画像識別システム、画像識別方法
US11055063B2 (en) * 2016-05-02 2021-07-06 Marvell Asia Pte, Ltd. Systems and methods for deep learning processor
US11003987B2 (en) * 2016-05-10 2021-05-11 Google Llc Audio processing with neural networks
US10796220B2 (en) * 2016-05-24 2020-10-06 Marvell Asia Pte, Ltd. Systems and methods for vectorized FFT for multi-dimensional convolution operations
CN107590153B (zh) * 2016-07-08 2021-04-27 微软技术许可有限责任公司 使用卷积神经网络的对话相关性建模
US10706348B2 (en) 2016-07-13 2020-07-07 Google Llc Superpixel methods for convolutional neural networks
US9959498B1 (en) * 2016-10-27 2018-05-01 Google Llc Neural network instruction set architecture
CN107742150B (zh) 2016-10-31 2020-05-12 腾讯科技(深圳)有限公司 一种卷积神经网络的数据处理方法和装置
US11003985B2 (en) * 2016-11-07 2021-05-11 Electronics And Telecommunications Research Institute Convolutional neural network system and operation method thereof
US10037490B2 (en) * 2016-12-13 2018-07-31 Google Llc Performing average pooling in hardware
US10032110B2 (en) * 2016-12-13 2018-07-24 Google Llc Performing average pooling in hardware
KR20180073118A (ko) * 2016-12-22 2018-07-02 삼성전자주식회사 컨볼루션 신경망 처리 방법 및 장치
US10477097B2 (en) * 2017-01-03 2019-11-12 University Of Connecticut Single-frame autofocusing using multi-LED illumination
US10467795B2 (en) 2017-04-08 2019-11-05 Intel Corporation Sub-graph in frequency domain and dynamic selection of convolution implementation on a GPU
US11113603B1 (en) 2017-05-01 2021-09-07 Perceive Corporation Training network with discrete weight values
US11275992B2 (en) * 2017-05-17 2022-03-15 Google Llc Special purpose neural network training chip
KR102301232B1 (ko) * 2017-05-31 2021-09-10 삼성전자주식회사 다채널 특징맵 영상을 처리하는 방법 및 장치
EP3631696B1 (en) * 2017-06-02 2024-09-11 Nokia Technologies Oy Artificial neural network
CN109117455A (zh) * 2017-06-26 2019-01-01 上海寒武纪信息科技有限公司 计算装置及方法
WO2018232615A1 (zh) * 2017-06-21 2018-12-27 华为技术有限公司 一种信号处理方法及装置
US10503978B2 (en) * 2017-07-14 2019-12-10 Nec Corporation Spatio-temporal interaction network for learning object interactions
WO2019018811A1 (en) * 2017-07-21 2019-01-24 Syntiant SYSTEMS AND METHODS OF OPERATING RARITY
JP6778842B2 (ja) * 2017-07-21 2020-11-04 センスタイム グループ リミテッド 画像処理方法およびシステム、記憶媒体およびコンピューティングデバイス
CN111149166B (zh) 2017-07-30 2024-01-09 纽罗布拉德有限公司 基于存储器的分布式处理器架构
CN110914864A (zh) * 2017-07-31 2020-03-24 富士通株式会社 信息处理装置、信息处理程序和信息处理方法
US11188820B2 (en) 2017-09-08 2021-11-30 International Business Machines Corporation Deep neural network performance analysis on shared memory accelerator systems
EP3685320A4 (en) * 2017-09-20 2021-06-16 Look Dynamics, Inc. PHOTONIC NEURAL NETWORK SYSTEM
US20190087713A1 (en) * 2017-09-21 2019-03-21 Qualcomm Incorporated Compression of sparse deep convolutional network weights
CN108269371B (zh) * 2017-09-27 2020-04-03 缤果可为(北京)科技有限公司 商品自动结算方法、装置、自助收银台
CN110059811B (zh) 2017-11-06 2024-08-02 畅想科技有限公司 权重缓冲器
KR102561261B1 (ko) * 2017-11-14 2023-07-28 삼성전자주식회사 커널을 이용한 컨볼루션 연산 처리 방법 및 장치
US11061402B2 (en) * 2017-11-15 2021-07-13 Uatc, Llc Sparse convolutional neural networks
US11715287B2 (en) 2017-11-18 2023-08-01 Neuralmagic Inc. Systems and methods for exchange of data in distributed training of machine learning algorithms
CN109902697B (zh) * 2017-12-07 2022-10-28 展讯通信(天津)有限公司 多目标检测方法、装置及移动终端
CN107909148B (zh) 2017-12-12 2020-10-20 南京地平线机器人技术有限公司 用于执行卷积神经网络中的卷积运算的装置
CN107992897A (zh) * 2017-12-14 2018-05-04 重庆邮电大学 基于卷积拉普拉斯稀疏编码的商品图像分类方法
US10740659B2 (en) 2017-12-14 2020-08-11 International Business Machines Corporation Fusing sparse kernels to approximate a full kernel of a convolutional neural network
US11138505B2 (en) * 2017-12-21 2021-10-05 Fujitsu Limited Quantization of neural network parameters
US10778412B2 (en) 2017-12-28 2020-09-15 Intel Corporation Multi-domain convolutional neural network
KR102130532B1 (ko) * 2017-12-29 2020-07-07 포항공과대학교 산학협력단 커널 하드웨어 장치
CN108229670B (zh) * 2018-01-05 2021-10-08 中国科学技术大学苏州研究院 基于fpga的深度神经网络加速平台
US11429807B2 (en) 2018-01-12 2022-08-30 Microsoft Technology Licensing, Llc Automated collection of machine learning training data
US11481571B2 (en) 2018-01-12 2022-10-25 Microsoft Technology Licensing, Llc Automated localized machine learning training
CN108197613B (zh) * 2018-02-12 2022-02-08 天地伟业技术有限公司 一种基于深度卷积级联网络的人脸检测优化方法
CN111767996B (zh) * 2018-02-27 2024-03-05 上海寒武纪信息科技有限公司 集成电路芯片装置及相关产品
US10558895B2 (en) * 2018-03-30 2020-02-11 Tobii Ab Deep learning for three dimensional (3D) gaze prediction
CN108764467B (zh) * 2018-04-04 2021-08-17 北京大学深圳研究生院 用于卷积神经网络卷积运算和全连接运算电路
US11210586B1 (en) 2018-04-20 2021-12-28 Perceive Corporation Weight value decoder of neural network inference circuit
US11049013B1 (en) 2018-04-20 2021-06-29 Perceive Corporation Encoding of weight values stored on neural network inference circuit
US11468145B1 (en) 2018-04-20 2022-10-11 Perceive Corporation Storage of input values within core of neural network inference circuit
US11501138B1 (en) 2018-04-20 2022-11-15 Perceive Corporation Control circuits for neural network inference circuit
US11586910B1 (en) 2018-04-20 2023-02-21 Perceive Corporation Write cache for neural network inference circuit
US10977338B1 (en) 2018-04-20 2021-04-13 Perceive Corporation Reduced-area circuit for dot product computation
US11222257B1 (en) 2018-04-20 2022-01-11 Perceive Corporation Non-dot product computations on neural network inference circuit
US12093696B1 (en) 2018-04-20 2024-09-17 Perceive Corporation Bus for transporting output values of a neural network layer to cores specified by configuration data
US11568227B1 (en) 2018-04-20 2023-01-31 Perceive Corporation Neural network inference circuit read controller with multiple operational modes
US11783167B1 (en) 2018-04-20 2023-10-10 Perceive Corporation Data transfer for non-dot product computations on neural network inference circuit
US11443176B2 (en) 2018-05-17 2022-09-13 International Business Machines Corporation Acceleration of convolutional neural networks on analog arrays
CN108710915B (zh) * 2018-05-22 2020-09-18 合肥工业大学 基于多核学习的多特征融合胃镜图像处理方法
KR20190136431A (ko) * 2018-05-30 2019-12-10 삼성전자주식회사 뉴럴 네트워크 시스템, 이를 포함하는 어플리케이션 프로세서 및 뉴럴 네트워크 시스템의 동작방법
US11449363B2 (en) 2018-05-31 2022-09-20 Neuralmagic Inc. Systems and methods for improved neural network execution
US10832133B2 (en) 2018-05-31 2020-11-10 Neuralmagic Inc. System and method of executing neural networks
US12099912B2 (en) 2018-06-22 2024-09-24 Samsung Electronics Co., Ltd. Neural processor
US11205125B2 (en) 2018-06-29 2021-12-21 International Business Machines Corporation Scheduler and simulator for an area-efficient, reconfigurable, energy-efficient, speed-efficient neural network
CN109063824B (zh) * 2018-07-25 2023-04-07 深圳市中悦科技有限公司 深层三维卷积神经网络的创建方法、装置、存储介质及处理器
US10885674B1 (en) 2018-08-21 2021-01-05 Perceive Corporation Training network for compressive sensing based image processing
WO2020072274A1 (en) 2018-10-01 2020-04-09 Neuralmagic Inc. Systems and methods for neural network pruning with accuracy preservation
US11307730B2 (en) 2018-10-19 2022-04-19 Wen-Chieh Geoffrey Lee Pervasive 3D graphical user interface configured for machine learning
CN111091817B (zh) * 2018-10-24 2022-10-11 中国科学院声学研究所 一种基于窗口输入的双向回馈神经网络的语音识别方法
US11074317B2 (en) 2018-11-07 2021-07-27 Samsung Electronics Co., Ltd. System and method for cached convolution calculation
US12008475B2 (en) * 2018-11-14 2024-06-11 Nvidia Corporation Transposed sparse matrix multiply by dense matrix for neural network training
CN113302657B (zh) * 2018-11-16 2024-04-26 华为技术有限公司 一种神经网络压缩方法和装置
CN113168555A (zh) * 2018-11-29 2021-07-23 谷歌有限责任公司 减少卷积神经网络的资源消耗的系统及相关方法
US10602270B1 (en) 2018-11-30 2020-03-24 Microsoft Technology Licensing, Llc Similarity measure assisted adaptation control
US11036615B2 (en) 2018-12-06 2021-06-15 Microsoft Technology Licensing, Llc Automatically performing and evaluating pilot testing of software
SE542553C2 (en) * 2018-12-17 2020-06-02 Tobii Ab Gaze tracking via tracing of light paths
US10776000B2 (en) 2018-12-19 2020-09-15 Microsoft Technology Licensing, Llc. System and method of receiving and converting digital ink input
US11551069B2 (en) * 2018-12-31 2023-01-10 SK Hynix Inc. Processing system
CN109740670B (zh) * 2019-01-02 2022-01-11 京东方科技集团股份有限公司 视频分类的方法及装置
KR20200084808A (ko) * 2019-01-03 2020-07-13 삼성전자주식회사 확장 컨벌루션 연산을 수행하는 시스템 및 방법
CN109871532B (zh) * 2019-01-04 2022-07-08 平安科技(深圳)有限公司 文本主题提取方法、装置及存储介质
US11544559B2 (en) 2019-01-08 2023-01-03 Neuralmagic Inc. System and method for executing convolution in a neural network
CN113228057B (zh) * 2019-01-11 2024-05-31 三菱电机株式会社 推理装置和推理方法
DE102020100209A1 (de) * 2019-01-21 2020-07-23 Samsung Electronics Co., Ltd. Neuronale Netzwerkvorrichtung, neuronales Netzwerksystem und Verfahren zur Verarbeitung eines neuronalen Netzwerkmodells durch Verwenden eines neuronalen Netzwerksystems
CN111464261B (zh) 2019-01-22 2021-07-23 大唐移动通信设备有限公司 一种信号传输、检测方法及装置
US10325185B1 (en) * 2019-01-23 2019-06-18 StradVision, Inc. Method and device for online batch normalization, on-device learning, and continual learning applicable to mobile devices or IOT devices additionally referring to one or more previous batches to be used for military purpose, drone or robot, and testing method and testing device using the same
US10325352B1 (en) * 2019-01-23 2019-06-18 StradVision, Inc. Method and device for transforming CNN layers to optimize CNN parameter quantization to be used for mobile devices or compact networks with high precision via hardware optimization
US10915809B2 (en) 2019-02-04 2021-02-09 Bank Of America Corporation Neural network image recognition with watermark protection
US11410014B2 (en) * 2019-02-11 2022-08-09 Apple Inc. Customizable chip for AI applications
CN109948775B (zh) * 2019-02-21 2021-10-19 山东师范大学 一种可配置神经卷积网络芯片系统及其配置方法
US11270195B2 (en) 2019-03-05 2022-03-08 International Business Machines Corporation Neuromorphic computing in dynamic random access memory
CN109871828B (zh) * 2019-03-15 2022-12-02 京东方科技集团股份有限公司 视频识别方法和识别装置、存储介质
US11328004B2 (en) 2019-03-22 2022-05-10 Microsoft Technology Licensing, Llc Method and system for intelligently suggesting tags for documents
US11055765B2 (en) 2019-03-27 2021-07-06 Target Brands, Inc. Classification of query text to generate relevant query results
DE102019107935A1 (de) * 2019-03-27 2020-10-01 Volkswagen Aktiengesellschaft Verfahren zur Bestimmung eines Zustands einer wiederaufladbaren Batterie eines Fahrzeuges
US11211944B2 (en) 2019-04-17 2021-12-28 Samsung Electronics Co., Ltd. Mixed-precision compression with random access
US11671111B2 (en) 2019-04-17 2023-06-06 Samsung Electronics Co., Ltd. Hardware channel-parallel data compression/decompression
CN110309846A (zh) * 2019-04-26 2019-10-08 哈尔滨理工大学 一种基于深度空间域网络的图像识别方法
US11880760B2 (en) 2019-05-01 2024-01-23 Samsung Electronics Co., Ltd. Mixed-precision NPU tile with depth-wise convolution
CN117234356A (zh) * 2019-05-08 2023-12-15 义隆电子股份有限公司 用于触控装置的控制系统及方法
US20220409126A1 (en) * 2019-05-16 2022-12-29 Far Eastern Memorial Hospital Circuit system which executes a method for predicting sleep apnea from neural networks
TWI735879B (zh) * 2019-05-16 2021-08-11 醫療財團法人徐元智先生醫藥基金會亞東紀念醫院 利用神經網路從鼾聲來預測睡眠呼吸中止之方法
US12079569B2 (en) 2019-06-07 2024-09-03 Microsoft Technology Licensing, Llc Document editing models and localized content management
JP7251354B2 (ja) * 2019-06-26 2023-04-04 富士通株式会社 情報処理装置、情報処理プログラム、及び情報処理方法
US11216150B2 (en) 2019-06-28 2022-01-04 Wen-Chieh Geoffrey Lee Pervasive 3D graphical user interface with vector field functionality
WO2021026225A1 (en) 2019-08-08 2021-02-11 Neuralmagic Inc. System and method of accelerating execution of a neural network
US20210110927A1 (en) * 2019-10-07 2021-04-15 Owlet Baby Care, Inc. Respiratory Rate Prediction from a Photoplethysmogram
US11308430B2 (en) 2019-10-11 2022-04-19 Microsoft Technology Licensing, Llc Keeping track of important tasks
US11170260B2 (en) 2019-11-14 2021-11-09 Alibaba Group Holding Limited Techniques for determining importance of encoded image components for artificial intelligence tasks
US11366979B2 (en) 2019-11-14 2022-06-21 Alibaba Group Holding Limited Using selected components of frequency domain image data in artificial intelligence tasks
US11403783B2 (en) 2019-11-14 2022-08-02 Alibaba Group Holding Limited Techniques to dynamically gate encoded image components for artificial intelligence tasks
KR20210062485A (ko) 2019-11-21 2021-05-31 삼성전자주식회사 전자 장치 및 그 제어 방법
CN111161340B (zh) * 2019-12-02 2023-06-02 上海交通大学 基于深度特征提取的图像重定向方法及系统、终端
US12112141B2 (en) 2019-12-12 2024-10-08 Samsung Electronics Co., Ltd. Accelerating 2D convolutional layer mapping on a dot product architecture
US11687778B2 (en) 2020-01-06 2023-06-27 The Research Foundation For The State University Of New York Fakecatcher: detection of synthetic portrait videos using biological signals
CN111310598B (zh) * 2020-01-20 2023-06-20 浙江工业大学 一种基于3维和2维混合卷积的高光谱遥感图像分类方法
US20210326064A1 (en) * 2020-04-15 2021-10-21 Micron Technology, Inc. Media type selection based on object distance
US11593678B2 (en) 2020-05-26 2023-02-28 Bank Of America Corporation Green artificial intelligence implementation
US12061988B1 (en) 2020-08-13 2024-08-13 Perceive Corporation Decomposition of ternary weight tensors
WO2022038558A1 (en) * 2020-08-21 2022-02-24 Bassam Sinokrot Zeid Apparatus and method for the detection of wood boring pests
CN112102183B (zh) * 2020-09-02 2024-06-28 杭州海康威视数字技术股份有限公司 稀疏处理方法、装置及设备
US11526965B2 (en) * 2020-09-28 2022-12-13 Robert Bosch Gmbh Multiplicative filter network
CN112215196B (zh) * 2020-10-26 2024-04-02 杭州电子科技大学 一种心电身份识别方法
US11556757B1 (en) 2020-12-10 2023-01-17 Neuralmagic Ltd. System and method of executing deep tensor columns in neural networks
CN112882025B (zh) * 2021-01-15 2023-12-26 中国人民解放军空军工程大学 雷达成像方法、装置、设备及存储介质
CN113033894B (zh) * 2021-03-24 2023-05-02 南方电网数字电网研究院有限公司 日用电量预测方法、装置、计算机设备和存储介质
CN113283331B (zh) * 2021-05-20 2023-11-14 长沙融创智胜电子科技有限公司 用于无人值守传感器系统的多类别目标识别方法及系统
TWI767757B (zh) * 2021-06-18 2022-06-11 中華電信股份有限公司 決定類神經網路中二元分類問題之權重初值之方法以及其電腦可讀媒介
US11960982B1 (en) 2021-10-21 2024-04-16 Neuralmagic, Inc. System and method of determining and executing deep tensor columns in neural networks
DE102021212454A1 (de) 2021-11-04 2023-05-04 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung eingetragener Verein Verfahren zum trainieren und/oder ausführen eines faltungsbasierten neuronalen netzes mittels einer approximierten schnellen fourier-transformation
DE102021212453A1 (de) 2021-11-04 2023-05-04 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung eingetragener Verein Verfahren zur approximativen berechnung von schmetterlingseinheiten einer fourier-transformation eines signales
CN114374411B (zh) * 2022-03-23 2022-06-07 江苏米特物联网科技有限公司 一种低频电力线载波拓扑识别方法
CN114898438B (zh) * 2022-05-27 2024-09-17 大连理工大学 一种基于时频域视觉伪影特征自适应融合的跨模态深度伪造检测方法
CN116015274B (zh) * 2023-01-06 2023-12-22 温州艾玛朵电气有限公司 基于无线控制的智能开关
CN116361713B (zh) * 2023-04-19 2023-08-29 湖北交通职业技术学院 飞机发动机的性能检测方法及系统
CN117233723B (zh) * 2023-11-14 2024-01-30 中国电子科技集团公司第二十九研究所 一种基于cnn类激活图的雷达跟踪包络提取方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6067383A (en) * 1995-09-12 2000-05-23 Matsushita Electric Industrial Co., Ltd. Coding method, coding apparatus, wavelet transform apparatus, and wavelet reverse transform apparatus
CN104200224A (zh) * 2014-08-28 2014-12-10 西北工业大学 基于深度卷积神经网络的无价值图像去除方法
CN104361328A (zh) * 2014-11-21 2015-02-18 中国科学院重庆绿色智能技术研究院 一种基于自适应多列深度模型的人脸图像正规化方法
CN104850836A (zh) * 2015-05-15 2015-08-19 浙江大学 基于深度卷积神经网络的害虫图像自动识别方法
CN105022836A (zh) * 2015-08-14 2015-11-04 中国科学技术大学 基于sift嵌入的紧凑的深度cnn特征索引方法

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7747070B2 (en) 2005-08-31 2010-06-29 Microsoft Corporation Training convolutional neural networks on graphics processing units
US8442927B2 (en) 2009-07-30 2013-05-14 Nec Laboratories America, Inc. Dynamically configurable, multi-ported co-processor for convolutional neural networks
US8566531B2 (en) * 2009-08-21 2013-10-22 Google Inc. System and method of selectively caching information based on the interarrival time of requests for the same information
CN103890781B (zh) * 2011-08-25 2017-11-21 康奈尔大学 用于机器视觉的视网膜编码器
US10110854B2 (en) 2012-07-27 2018-10-23 Gatan, Inc. Ion beam sample preparation apparatus and methods
US9202144B2 (en) * 2013-10-30 2015-12-01 Nec Laboratories America, Inc. Regionlets with shift invariant neural patterns for object detection
CN104091341B (zh) 2014-07-18 2018-03-30 厦门美图之家科技有限公司 一种基于显著性检测的图像模糊检测方法
US9269025B1 (en) * 2015-01-29 2016-02-23 Yahoo! Inc. Object detection in images

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6067383A (en) * 1995-09-12 2000-05-23 Matsushita Electric Industrial Co., Ltd. Coding method, coding apparatus, wavelet transform apparatus, and wavelet reverse transform apparatus
CN104200224A (zh) * 2014-08-28 2014-12-10 西北工业大学 基于深度卷积神经网络的无价值图像去除方法
CN104361328A (zh) * 2014-11-21 2015-02-18 中国科学院重庆绿色智能技术研究院 一种基于自适应多列深度模型的人脸图像正规化方法
CN104850836A (zh) * 2015-05-15 2015-08-19 浙江大学 基于深度卷积神经网络的害虫图像自动识别方法
CN105022836A (zh) * 2015-08-14 2015-11-04 中国科学技术大学 基于sift嵌入的紧凑的深度cnn特征索引方法

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
Sparse Convolutional Neural Networks;Baoyuan Liu等;《2015 IEEE Conference on Computer Vision and Pattern Recognition (CVPR)》;20151015;第806-814页 *
Spectral Representations for Convolutional Neural Networks;Oren Rippel等;《arXiv》;20150611;第1-10页 *
一种基于深度学习的表情识别方法;王剑云等;《计算机与现代化》;20150131(第233期);第84-87页 *
稀疏自组合时空卷积神经网络动作识别方法及其并行化;龚丁禧;《中国优秀硕士论文全文数据库信息科技辑》;20140815;I138-1252 *

Also Published As

Publication number Publication date
CN108351984A (zh) 2018-07-31
US9904874B2 (en) 2018-02-27
US20170132496A1 (en) 2017-05-11
WO2017079052A1 (en) 2017-05-11
EP3371748A1 (en) 2018-09-12

Similar Documents

Publication Publication Date Title
CN108351984B (zh) 硬件高效的深度卷积神经网络
US10671889B2 (en) Committed information rate variational autoencoders
Lemley et al. Deep learning for consumer devices and services: pushing the limits for machine learning, artificial intelligence, and computer vision
WO2021203863A1 (zh) 基于人工智能的物体检测方法、装置、设备及存储介质
CN112613581A (zh) 一种图像识别方法、系统、计算机设备和存储介质
WO2017132010A1 (en) Machine learning through parallelized stochastic gradient descent
US20210182687A1 (en) Apparatus and method with neural network implementation of domain adaptation
WO2023005386A1 (zh) 模型训练方法和装置
EP3665614A1 (en) Extraction of spatial-temporal features from a video
US11144291B1 (en) Loop-oriented neural network compilation
CN108229658B (zh) 基于有限样本的物体检测器的实现方法及装置
Kim et al. Label-preserving data augmentation for mobile sensor data
CN109766476B (zh) 视频内容情感分析方法、装置、计算机设备及存储介质
WO2022161302A1 (zh) 动作识别方法、装置、设备、存储介质及计算机程序产品
WO2021012691A1 (zh) 用于检索图像的方法和装置
US20240005157A1 (en) Methods and systems for unstructured pruning of a neural network
Lahiani et al. Hand gesture recognition system based on local binary pattern approach for mobile devices
CN111767710B (zh) 印尼语的情感分类方法、装置、设备及介质
US20230410496A1 (en) Omni-scale convolution for convolutional neural networks
CN110796167B (zh) 基于提升方案深度神经网络的图像分类方法
CN114049502A (zh) 神经网络的训练、特征提取、数据处理方法和设备
Channayanamath et al. Dynamic hand gesture recognition using 3d-convolutional neural network
CN114692715A (zh) 一种样本标注方法及装置
Rizvi et al. Computation and memory optimized spectral domain convolutional neural network for throughput and energy-efficient inference
WO2023220891A1 (en) Resolution-switchable segmentation networks

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant