CN115861862A - 识别图像的方法和设备 - Google Patents

识别图像的方法和设备 Download PDF

Info

Publication number
CN115861862A
CN115861862A CN202210613435.8A CN202210613435A CN115861862A CN 115861862 A CN115861862 A CN 115861862A CN 202210613435 A CN202210613435 A CN 202210613435A CN 115861862 A CN115861862 A CN 115861862A
Authority
CN
China
Prior art keywords
kernel
image information
weight
determining
unified
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.)
Pending
Application number
CN202210613435.8A
Other languages
English (en)
Inventor
朴陞忍
郑相一
俞炳仁
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.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
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 Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of CN115861862A publication Critical patent/CN115861862A/zh
Pending legal-status Critical Current

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
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/211Selection of the most significant subset of features
    • G06F18/2113Selection of the most significant subset of features by ranking or filtering the set of features, e.g. using a measure of variance or of feature cross-correlation
    • 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/0495Quantised networks; Sparse networks; Compressed networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/15Correlation function computation including computation of convolution operations
    • G06F17/153Multidimensional correlation or convolution

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Mathematical Physics (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Biophysics (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Mathematical Analysis (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Neurology (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Complex Calculations (AREA)
  • Algebra (AREA)
  • Databases & Information Systems (AREA)
  • Image Analysis (AREA)
  • Medical Informatics (AREA)

Abstract

公开了识别图像的方法和设备。所述方法包括:获得待识别图像;通过基于作为第一图像信息的待识别图像进行采样,在由多个预定离散值表示的类别集中确定与相应的权重矩阵对应的核自适应权重;基于相应的权重矩阵和对应于相应的权重矩阵的核自适应权重来确定相应的统一核;基于第一图像信息和相应的统一核执行卷积运算,以获得第二图像信息;以及基于第二图像信息获得图像识别结果。

Description

识别图像的方法和设备
本申请要求于2021年9月24日在韩国知识产权局提交的第10-2021-0126395号韩国专利申请的权益,所述韩国专利申请的全部公开出于所有目的通过引用包含于此。
技术领域
下面的描述涉及一种识别图像的方法和设备。
背景技术
可在用户终端中执行与人工智能(AI)相关的各种操作以增强用户便利性。通常,由于AI算法需要大量的存储器和计算,因此,AI算法可经由独立的服务器或云服务来执行,并且可能难以在用户终端(诸如,智能电话)中执行AI算法。
发明内容
提供本发明内容以简化的形式介绍在下面的具体实施方式中进一步描述的构思的选择。本发明内容不意在确定要求权利的主题的关键特征或必要特征,也不意在用于帮助确定要求权利的主题的范围。
在一个总体方面,一种识别图像的方法包括:获得待识别图像;通过基于作为第一图像信息的待识别图像进行采样,在由多个预定离散值表示的类别集中确定与第一权重矩阵对应的核自适应权重;基于第一权重矩阵和对应于第一权重矩阵的核自适应权重来确定第一统一核;基于第一图像信息和第一统一核执行卷积运算,以获得第二图像信息;以及基于第二图像信息获得图像识别结果。
基于第二图像信息获得图像识别结果的步骤可包括:通过基于第二图像信息进行采样,在由多个预定离散值表示的类别集中确定与第二权重矩阵对应的核自适应权重;基于第二权重矩阵和对应于第二权重矩阵的核自适应权重来确定第二统一核;基于第二图像信息和第二统一核执行卷积运算,以获得第三图像信息;以及基于第三图像信息获得图像识别结果。
确定与第一权重矩阵对应的核自适应权重的步骤可包括:生成与第一图像信息对应的多个核相关性分数;以及基于与第一图像信息对应的多个核相关性分数来确定与第一权重矩阵对应的核自适应权重;确定与第二权重矩阵对应的核自适应权重的步骤可包括:生成与第二图像信息对应的多个核相关性分数;以及基于与第二图像信息对应的多个核相关性分数来确定与第二权重矩阵对应的核自适应权重。
基于所述多个核相关性分数确定核自适应权重的步骤可包括:通过对所述多个核相关性分数执行耿贝尔柔性最大采样来确定核自适应权重。
确定核自适应权重的步骤可包括:在由0和1表示的类别集中确定与权重矩阵对应的核自适应权重。
确定统一核的步骤可包括:通过对其核自适应权重被确定为1的权重矩阵进行求和来确定统一核。
确定核自适应权重的步骤可包括:在由0和1表示的类别集中,将与多个权重矩阵中的一个权重矩阵对应的核自适应权重确定为1。
确定统一核的步骤可包括:将所述一个权重矩阵确定为统一核。
确定核自适应权重的步骤可包括:在由2的幂表示的类别集中确定与权重矩阵对应的自适应权重。
确定统一核的步骤可包括:执行每个权重矩阵和对应于权重矩阵的核自适应权重之间的移位运算。
所述方法还可包括:基于偏置和核自适应权重来确定统一偏置,其中,执行卷积运算的步骤可包括:基于第一图像信息、第一统一核和统一偏置来执行卷积运算。
在另一总体方面,一种识别图像的设备包括:一个或多个处理器,被配置为:获得待识别图像;通过基于作为第一图像信息的待识别图像进行采样,在由多个预定离散值表示的类别集中确定与第一权重矩阵对应的核自适应权重;基于第一权重矩阵和对应于第一权重矩阵的核自适应权重来确定第一统一核;基于第一图像信息和第一统一核执行卷积运算,以获得第二图像信息;以及基于第二图像信息获得图像识别结果。
为了基于第二图像信息获得图像识别结果,所述一个或多个处理器可被配置为:通过基于第二图像信息进行采样,在由多个预定离散值表示的类别集中确定与第二权重矩阵对应的核自适应权重;基于第二权重矩阵和对应于第二权重矩阵的核自适应权重来确定第二统一核;基于第二图像信息和第二统一核执行卷积运算,以获得第三图像信息;以及基于第三图像信息获得图像识别结果。
为了确定与第一权重矩阵对应的核自适应权重,所述一个或多个处理器可被配置为:生成与第一图像信息对应的多个核相关性分数;以及基于与第一图像信息对应的多个核相关性分数来确定与第一权重矩阵对应的核自适应权重;为了确定与第二权重矩阵对应的核自适应权重,所述一个或多个处理器可被配置为:生成与第二图像信息对应的多个核相关性分数;以及基于与第二图像信息对应的多个核相关性分数来确定与第二权重矩阵对应的核自适应权重。
为了基于所述多个核相关性分数确定核自适应权重,所述一个或多个处理器可被配置为:通过对所述多个核相关性分数执行耿贝尔柔性最大采样来确定核自适应权重。
为了确定核自适应权重,所述一个或多个处理器可被配置为:在由0和1表示的类别集中确定与权重矩阵对应的核自适应权重。
为了确定统一核,所述一个或多个处理器可被配置为:通过对其核自适应权重被确定为1的权重矩阵进行求和来确定统一核。
为了确定核自适应权重,所述一个或多个处理器可被配置为:在由0和1表示的类别集中,将与多个权重矩阵中的一个权重矩阵对应的核自适应权重确定为1。
为了确定统一核,所述一个或多个处理器可被配置为:将所述一个权重矩阵确定为统一核。
为了确定核自适应权重,所述一个或多个处理器可被配置为:在由2的幂表示的类别集中确定与权重矩阵对应的核自适应权重。
为了确定统一核,所述一个或多个处理器可被配置为:执行每个权重矩阵和对应于权重矩阵的核自适应权重之间的移位运算。
所述一个或多个处理器可被配置为:基于偏置和核自适应权重来确定统一偏置;以及基于第一图像信息、第一统一核和统一偏置来执行卷积运算。
在另一总体方面,一种识别图像的方法包括:获得待识别图像;基于作为第一图像信息的待识别图像确定权重矩阵的离散值核自适应权重;基于权重矩阵和对应于权重矩阵的核自适应权重来确定统一核;通过执行第一图像信息与统一核之间的卷积来生成第二图像信息;以及基于第二图像信息获得图像识别结果。
确定统一核的步骤可包括:选择权重矩阵中的一个权重矩阵作为统一核。
选择权重矩阵中的所述一个权重矩阵的步骤可包括:选择权重矩阵中的与核自适应权重之中的预定核自适应权重对应的一个权重矩阵。
确定统一核的步骤可包括:基于相应的核自适应权重对多个权重矩阵执行移位运算;以及通过对已移位的权重矩阵进行求和来确定统一核。
在另一总体方面,一个或多个实施例包括一种存储指令的非暂时性计算机可读存储介质,所述指令在由一个或多个处理器执行时,将所述一个或多个处理器配置为执行在此描述的操作和方法中的任何一个、任何组合或全部。
根据下面的具体实施方式、附图和权利要求,其他特征和方面将是清楚的。
附图说明
图1示出使用人工神经网络的深度学习运算方法的示例。
图2示出执行动态卷积运算的方法的示例。
图3示出确定统一核的方法的示例。
图4示出执行动态卷积运算的方法的示例。
图5示出执行动态卷积运算的方法的示例。
图6示出执行动态卷积运算的方法的示例。
图7示出用于执行动态卷积运算的设备的示例。
在整个附图和具体实施方式中,除非另有描述或提供,否则相同的附图参考标号将被理解为表示相同的元件、特征和结构。附图可不按比例,并且为了清楚、说明和方便,附图中的元件的相对大小、比例和描绘可被夸大。
具体实施方式
提供以下具体实施方式以帮助读者获得对在此描述的方法、设备和/或系统的全面理解。然而,在理解本申请的公开之后,在此描述的方法、设备和/或系统的各种改变、修改和等同物将是清楚的。例如,在此描述的操作顺序仅是示例,并且不限于在此阐述的那些顺序,而是除了必须以特定顺序发生的操作之外,可如在理解申请的公开之后将是清楚地那样改变。此外,为了更清楚和简明,可省略对在理解本申请的公开之后本领域中已知的特征的描述。
尽管术语“第一”或“第二”用于解释各种构件、组件、区域、层或部分,但是这些构件、组件、区域、层或部分不受到这些术语限制。相反,这些术语应当仅用于将一个构件、组件、区域、层或部分与另一构件、组件、区域、层或部分区分开。例如,在不脱离示例的教导的情况下,在此描述的示例中所称的“第一”构件、“第一”组件、“第一”区域、“第一”层或“第一”部分也可被称为“第二”构件、“第二”组件、“第二”区域、“第二”层或“第二”部分。
应注意,如果描述一个组件“连接到”、“结合到”或“接合到”另一组件时,则尽管第一组件可直接连接到、结合到或接合到第二组件,但是第三组件可“连接”、“结合”和“接合”在第一组件与第二组件之间。相反,应注意,如果描述一个组件“直接连接到”、“直接结合到”或“直接接合到”到另一组件,则第三组件可不存在。描述组件之间的关系的表述(例如,“在……之间”、“直接在……之间”或“直接与……相邻”等)应当被解释为相似的。
除非上下文另外清楚地指示,否则单数形式也意在在包括复数形式。如在此使用的,术语“和/或”包括相关联的所列项中的任何一个和任何两个或更多个的任何组合。还应理解,当在本说明书中使用术语“包括”、“包含”和/或“由……组成”时,表明存在陈述的特征、整体、步骤、操作、元件、组件或它们的组合,但不排除存在或添加一个或多个其他特征、整体、步骤、操作、元件、组件和/或它们的组。在此关于示例或实施例的术语“可”的使用(例如,关于示例或实施例可包括或可实现什么)表示存在包括或实现这样的特征的至少一个示例或实施例,但是所有示例不限于此。
除非另外定义,否则在此使用的所有术语(包括技术术语或科学术语)具有与示例所属领域的普通技术人员在理解本公开之后通常理解的含义相同的含义。还应理解,除非在此明确地如此定义,否则术语(诸如,在通用词典中定义的术语)应当被解释为具有与它们在相关领域的上下文和本公开中的含义一致的含义,并且将不以理想化或过于正式的含义进行解释。
示例可被实现为各种类型的产品(诸如,以个人计算机(PC)、膝上型计算机、平板计算机、智能电话、电视(TV)、智能家用电器、智能交通工具、自助服务机和可穿戴装置为例)。在下文中,将参照附图详细描述示例。在附图中,相同的参考标号用于相同的元件。
图1示出使用人工神经网络的深度学习运算方法的示例。
包括深度学习的人工智能(AI)算法可将数据10输入到人工神经网络(ANN),并且可通过运算(例如,卷积)来学习输出数据30。在ANN中,节点可相互连接并且共同操作以处理输入数据。各种类型的神经网络可包括例如卷积神经网络(CNN)、循环神经网络(RNN)、深度信念网络(DBN)或受限玻尔兹曼机(RBM),但不限于此。在前馈神经网络中,节点可具有到其他节点的链路。可通过神经网络在单个方向(例如,前向方向)上扩展链路。尽管神经网络可被称为“人工”神经网络,但是这样的引用不意在在赋予关于“神经网络如何计算地映射或从而直觉地识别信息”与“生物大脑如何操作”的任何相关性。即,术语“人工神经网络”仅是表示硬件实现的神经网络的技术术语。
图1示出输入数据10被输入到ANN并且输出数据30通过包括一个或多个层的ANN(例如,CNN 20)输出的结构。ANN可以是例如包括至少两个层的深度神经网络(DNN)。在一个示例中,CNN 20可以是用于图像识别(例如,对象检测、对象识别、面部识别等)的神经网络。
CNN 20可用于从输入数据10(例如,待识别图像)提取“特征”(例如,边界、线条和颜色)。CNN 20可包括多个层。每个层可接收数据,处理输入到相应层的数据,并生成将要从相应层输出的数据。在一个示例中,层的输入数据可以是待识别图像,或者是基于待识别图像生成的图像信息。在一个示例中,“图像信息”可以是待识别图像或对图像进行处理(例如,通过相应层)的结果。从当前层输出的数据可以是通过执行输入到CNN 20的图像或作为图像信息的特征图与至少一个滤波器的权重值的卷积运算而生成的作为图像信息的输出特征图,并且输出特征图可被输入到后续层作为后续层的输入数据。CNN 20的初始层可进行操作以从输入提取相对低水平的特征(例如,边缘或梯度)。CNN 20的后续层可基于先前层输出的图像信息逐渐提取图像中的更复杂的特征(例如,眼睛或鼻子)。输出数据30可包括图像识别结果。
低功率和低计算量的轻量级网络可用于在移动装置(诸如,智能电话)中运行AI算法。例如,可在诸如安装在智能电话上的应用处理器(AP)或具有较低处理功率的微控制器(MCU)的环境下执行ANN。
例如,执行动态卷积可在减轻运算量增大的负担的同时增加网络的表达能力。与每一层具有一个卷积核的典型卷积不同,动态卷积可学习多组卷积核。然后,可在使用输入图像信息将多个卷积核聚合成一个核之后执行最终卷积运算而不是对每个核执行卷积运算。
因此,使用这样的动态卷积,与使用的核的数量的增加相比,运算量增大的负担可能不显著。此外,由于根据输入信息(例如,输入图像信息)动态地调整核权重,网络准确性可被提高。
然而,典型的动态卷积在计算资源的使用受到高度限制的环境(诸如,MCU)下可能具有限制。
更具体地,例如,针对输入x的典型卷积运算可由下面示出的等式1表示。
等式1:
y=Wx+b
在等式1中,W可表示卷积核的权重矩阵,并且b可表示偏置。此后,可通过将适当的激活函数(例如,线性整流函数Relu和S型函数Sigmoid)应用于y来获得每个层的输出数据。
另一方面,例如,动态卷积运算可由下面示出的等式2表示。
等式2:
Figure BDA0003672801950000071
在等式3中,如下所示,可分别通过K个权重矩阵Wk和K个偏置bk的线性组合来生成统一核
Figure BDA0003672801950000072
和统一偏置/>
Figure BDA0003672801950000073
等式3:
Figure BDA0003672801950000074
在等式3中,需要与每个权重矩阵Wk对应的核自适应权重πk。可通过对输入x执行的路由函数(routing function)来确定具有连续值的实数πk。如等式中所示,为了获得最终
Figure BDA0003672801950000075
需要将Wk和πk相乘K次的乘法运算以及将所有K次乘法结果相加的求和运算,因此,在典型的动态卷积运算中可能发生/>
Figure BDA0003672801950000076
的计算开销,其中,Dk表示卷积核的尺寸(例如,卷积核的高度和宽度均为Dk),Cin表示输入通道的数量,Cout表示输出通道的数量。此外,为了网络的权重轻量化,可通过量化处理将由浮点精度表示的实数权重转换为整数类型,使得权重使用较小的位宽并且可执行运算。因此,在动态卷积中使用实数形式的πk会增加典型动态卷积运算的量化处理的负担。
由于低功率和低计算的轻量级网络用于在移动装置(诸如,智能电话)中运行AI算法,所以动态卷积作为在减轻运算量增大的负担同时增加网络的表达能力的方式被提出。然而,如上所述的典型动态卷积运算方法会施加针对作为实数的核自适应权重的额外量化处理的负担。此外,由于执行核聚合需要全精度乘加(MAC)运算,所以典型的动态卷积运算方法会降低运算效率。
相比之下,一个或多个实施例的动态卷积运算方法可通过对由离散值表示的类别集中的核自适应权重πk进行采样来减少动态运算中关于核聚合的运算开销和量化误差。下面提供非限制性示例的更详细描述。
图2示出执行动态卷积运算的方法的示例。
参照图2,操作210至230可由用于执行动态卷积运算的设备执行,并且用于执行动态卷积运算的设备可通过硬件模块中的一个或多个和/或实现软件模块中的一个或多个的硬件模块中的一个或多个来实现。图2的操作可以以所示的顺序和方式执行。然而,在不脱离所示示例的精神和范围的情况下,可改变一些操作的顺序,或者可省略一些操作。图2中所示的操作可并行或同时执行。
在操作210中,用于执行动态卷积运算的设备可在由多个预定离散值表示的类别集中确定分别与多个权重矩阵对应的多个核自适应权重。可预先确定包括在类别集中的元素的数量和值。
例如,用于执行动态卷积运算的设备可在由{0,1}表示的两个类别中对与权重矩阵对应的核自适应权重执行采样。换言之,每个核自适应权重可通过采样被量化为0或1。可选择地,用于执行动态卷积运算的设备可在由{21,20,…,0,2-1,2-2,2-3}表示的六个类别中对与权重矩阵对应的核自适应权重执行采样。
在操作220中,用于执行动态卷积运算的设备可基于权重矩阵和对应于权重矩阵的核自适应权重来确定统一核。在典型的动态卷积运算中,需要权重矩阵和对应于权重矩阵的核自适应权重之间的全精度MAC运算来计算统一核。
然而,一个或多个实施例的用于执行动态卷积运算的设备可在没有全精度MAC运算的情况下确定统一核。
在操作230中,用于执行动态卷积运算的设备可基于统一核执行卷积运算。
在一个示例中,用于图像识别的神经网络模型可包括一个或多个卷积层。在神经网络模型包括一个卷积层的情况下,用于执行动态卷积运算的设备可获得待识别图像,通过基于作为图像信息的待识别图像进行采样,在由多个预定离散值表示的类别集中确定与权重矩阵对应的多个核自适应权重,基于权重矩阵和对应于权重矩阵的核自适应权重来确定统一核,然后基于待识别图像和统一核执行卷积运算,以生成第二图像信息,并基于第二图像信息获得图像识别结果。
在神经网络模型包括多个卷积层的情况下,用于执行动态卷积运算的设备可在多个卷积层中的至少一些卷积层执行根据一个或多个实施例的动态卷积运算。例如,在第一卷积层,用于执行动态卷积运算的设备可基于第一卷积层的输入图像信息执行采样,在由多个预定离散值表示的第一类别集中确定与第一权重矩阵对应的核自适应权重;基于第一权重矩阵和对应于第一权重矩阵的核自适应权重来确定第一统一核;然后基于第一卷积层的输入图像信息和第一统一核执行卷积运算,以获得第二图像信息。在第一卷积层之后的第二卷积层,用于执行动态卷积运算的设备可通过基于第二图像信息执行采样,在由多个预定离散值表示的第二类别集中确定与第二权重矩阵对应的核自适应权重;基于第二权重矩阵和对应于第二权重矩阵的核自适应权重来确定第二统一核;然后基于第二图像信息和第二统一核执行卷积运算,以生成第三图像信息。用于执行动态卷积运算的设备可在后续的卷积层重复上述过程,并基于最终输出的图像信息获得图像识别结果。
当用于执行动态卷积运算的设备执行多次动态卷积运算时,与每个卷积层对应的类别集可基于实际需求而被设置为相同或不同。例如,针对第一卷积层的第一类别集可以是由0和1表示的类别集,针对第二卷积层的第二类别集可以是由0和2的幂表示的的类别集。图3示出确定统一核的方法的示例。图1至图2的描述也适用于图3的示例,因此,已省略了重复的描述。
参照图3,用于执行动态卷积运算的设备可包括核自适应权重采样模块和核组合模块。
为了基于输入数据(例如,输入图像信息)执行采样,核自适应权重采样模块可通过对输入数据执行全局平均池化(GAP)来对输入数据进行压缩,然后将压缩的输入数据通过线性层(例如,全连接层(FC))来生成多个(例如,K个)核相关性分数。核相关性分数可通过对数(logit)表示。
执行采样可表示对离散随机变量进行建模。然而,因为斜率为0而生成不可微分的层,因此,使用典型的神经网络训练方法可能难以表示离散随机变量。因此,核自适应权重采样模块可使用耿贝尔柔性最大(Gumbel softmax)采样方法来从神经网络学习采样模块。
更具体地,核自适应权重采样模块可通过对多个(例如,K个)核相关性分数执行耿贝尔柔性最大采样来确定核自适应权重。更具体地,核自适应权重采样模块可通过将从耿贝尔分布提取的噪声添加到多个(例如,K)核相关性分数并使被添加噪声的核相关性分数通过柔性最大层来确定具有最大值的一个类别。在一个示例中,所确定的一个类别可与由多个预定离散值表示的类别集中的一个值对应。然而,采样方法不限于耿贝尔柔性最大采样,并且可应用各种类型的采样方法。
核组合模块可基于权重矩阵和对应于权重矩阵的核自适应权重来确定统一核。用于执行动态卷积运算的设备可在不执行全精度MAC运算的情况下确定统一核。
图4示出执行动态卷积运算的方法的示例。图1至图3的描述也适用于图4的示例,因此,已省略了重复的描述。
参照图4,在操作410中,用于执行动态卷积运算的设备可被配置为在由{0,1}表示的两个类别中对核自适应权重执行采样。
在操作420中,用于执行动态卷积运算的设备可通过选择性的核求和来确定统一核。例如,当与权重矩阵Wk对应的核自适应权重πk被采样为0时,对应的权重矩阵Wk可不需要乘以核自适应权重πk(例如,因为输出可以是0,可确定这样的乘法是不需要的)。因此,当与权重矩阵Wk对应的核自适应权重πk被采样为0时,用于执行动态卷积运算的设备可在用于生成统一核
Figure BDA0003672801950000102
的求和运算中省略对相应的权重矩阵Wk执行运算。
相反,当与权重矩阵Wk对应的核自适应权重πk被采样为1时,权重矩阵Wk可不需要乘以核自适应权重πk,并且可维持权重矩阵Wk。因此,当与权重矩阵Wk对应的核自适应权重πk被采样为1时,用于执行动态卷积运算的设备可通过在选择核自适应权重为1的权重矩阵Wk之后执行求和运算来生成统一核
Figure BDA0003672801950000101
/>
在操作430中,确定了统一核的用于执行动态卷积运算的设备可基于统一核来执行卷积运算。
图5示出执行动态卷积运算的方法的示例。图1至图3的描述也适用于图5的示例,因此,已省略了重复的描述。
参照图5,在操作510中,用于执行动态卷积运算的设备可被配置为在由{0,1}表示的两个类别中对核自适应权重执行采样。然而,用于执行动态卷积运算的设备可训练核自适应权重采样模块以将与多个权重矩阵中的一个权重矩阵对应的核自适应权重选择为1。
在操作520中,用于执行动态卷积运算的设备可通过核选择来确定统一核。
由于仅与权重矩阵中的一个权重矩阵对应的核自适应权重被采样为1,因此,用于执行动态卷积运算的设备可选择核自适应权重πk为1的权重矩阵Wk而不执行用于计算统一核的求和运算,并且可将该权重矩阵确定为最终的统一核。
在操作530中,确定了统一核的用于执行动态卷积运算的设备可基于统一核来执行卷积运算。
图6示出执行动态卷积运算的方法的示例。图1至图3的描述也适用于图6的示例,因此,已省略了重复的描述。
参照图6,在操作610中,一个或多个实施例的用于执行动态卷积运算的设备可增加类别的数量以增加运算的准确性。此外,可将每个类别的表示值设置为满足预定条件的数。
例如,用于执行动态卷积运算的设备可在由0和2的幂表示的两个类别中执行采样。例如,用于执行动态卷积运算的设备可在由{21,20,0,2-1,2-2,2-3}表示的六个类别中对与多个权重矩阵对应的多个核自适应权重执行采样。
在操作620中,用于执行动态卷积运算的设备可通过执行具有更好运算效率的移位运算代替执行核自适应权重πk和权重矩阵Wk的乘法运算来减轻运算开销。换言之,由于核自适应权重πk是由2的幂表示的数,所以核自适应权重πk和权重矩阵Wk的乘法运算可通过移位运算来实现。
在操作630中,用于执行动态卷积运算的设备可通过对已移位的权重矩阵求和来生成最终的统一核。
在操作640中,确定了统一核的用于执行动态卷积运算的设备可基于统一核来执行卷积运算。
图7示出用于执行动态卷积运算的设备的示例。
参照图7,用于执行动态卷积运算的设备700可包括处理器710(例如,一个或多个处理器)、存储器730(例如,一个或多个存储器)、通信接口750和传感器770。处理器710、存储器730、通信接口750和传感器770可经由通信总线705彼此通信。
处理器710可以是具有用于执行期望的操作的物理结构化电路的硬件实现的处理装置。例如,期望的操作可包括包含在程序中的代码或指令。硬件实现的处理装置可包括例如微处理器、中央处理器(CPU)、图形处理器(GPU)、处理器核、多核处理器、多处理器、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、神经处理器(NPU)、微控制器(MCU)等。
处理器710可执行程序并控制用于执行动态卷积运算的设备700。将要由处理器710执行的程序代码可存储在存储器730中。
处理器710可在由多个预定离散值表示的类别集中确定分别与多个权重矩阵对应的多个自适应权重,可基于权重矩阵和对应于权重矩阵的自适应权重来确定统一核,并且可基于统一核执行卷积运算。处理器710可执行以上关于图1至图6描述的操作中的任何一个操作或者多个或全部操作。
存储器730可包括ROM和SRAM。ROM可存储用于动态卷积运算的神经网络模型和代码。
SRAM可用作用于由处理器710执行的操作的工作存储器,并且可存储各种应用程序。存储器730可存储在上述处理器710的处理过程中生成的各种信息。此外,存储器730可存储各种数据和程序。存储器730可包括大容量存储介质(诸如,硬盘)以存储各种数据。
传感器770可包括图像传感器。例如,图像传感器可检测图像帧中的运动,并且可基于是否检测到运动来对图像帧之中的目标帧中的区域的至少一部分执行调整。图像传感器可通过检测已调整的目标帧是否存在目标对象来产生触发信号。处理器710可由传感器770生成的触发信号激活,并且可执行各种应用程序。例如,传感器770可生成图像数据,并且生成的图像数据可作为输入数据被存储在存储器730中,或者被输入到处理器710中。
用于执行动态卷积运算的设备700可包括各种领域中的装置(诸如,以高级驾驶员辅助系统(ADAS)、平视显示器(HUD)、3D数字信息显示器(DID)、导航装置、神经形态装置、3D移动装置、智能电话、智能家电(例如,智能电视、智能冰箱、智能洗衣机)、智能交通工具、物联网(loT)装置、医疗装置、测量装置等为例)。这里,术语3D移动装置可被解释为表示所有这样的显示装置:例如,用于显示增强现实(AR)、虚拟现实(VR)和/或混合现实(MR)的显示装置、头戴式显示器(HMD)、面戴式显示器(FMD)、AR眼镜等。
此外,尽管未在附图中示出,但是用于执行动态卷积运算的设备700还可包括显示器(未示出)。显示器可以是例如触摸显示器和/或柔性显示器,但不限于此。
在此关于图1至图7描述的设备、处理器、存储器、通信接口、传感器、通信总线、用于执行动态卷积运算的设备700、处理器710、存储器730、通信接口750、传感器770、通信总线705和其他设备、装置、单元、模块和组件由硬件组件实现或表示硬件组件。可用于执行本申请中描述的操作的硬件组件的示例在适当的情况下包括:控制器、传感器、生成器、驱动器、存储器、比较器、算术逻辑单元、加法器、减法器、乘法器、除法器、积分器以及被配置为执行本申请中描述的操作的任何其他电子组件。在其他示例中,通过计算硬件(例如,通过一个或多个处理器或计算机)来实现执行本申请中描述的操作的硬件组件中的一个或多个硬件组件。处理器或计算机可通过一个或多个处理元件(诸如,逻辑门阵列、控制器和算术逻辑单元、数字信号处理器、微计算机、可编程逻辑控制器、现场可编程门阵列、可编程逻辑阵列、微处理器或被配置为以限定的方式响应并执行指令以实现期望结果的任何其他装置或装置的组合)来实现。在一个示例中,处理器或计算机包括或者连接到存储由处理器或计算机执行的指令或软件的一个或多个存储器。由处理器或计算机实现的硬件组件可执行用于执行本申请中描述的操作的指令或软件(诸如,操作系统(OS)和在OS上运行的一个或多个软件应用)。硬件组件还可响应于指令或软件的执行来访问、操纵、处理、创建和存储数据。为了简明,单数术语“处理器”或“计算机”可用于在本申请中描述的示例的描述中,但是在其他示例中,多个处理器或计算机可被使用,或者处理器或计算机可包括多个处理元件,或多种类型的处理元件,或两者。例如,单个硬件组件、或两个或更多个硬件组件可由单个处理器、或两个或更多个处理器、或处理器和控制器来实现。一个或多个硬件组件可通过一个或多个处理器、或处理器和控制器来实现,并且一个或多个其他硬件组件可通过一个或多个其他处理器、或另外的处理器和另外的控制器来实现。一个或多个处理器、或处理器和控制器可实现单个硬件组件、或两个或更多个硬件组件。硬件组件可具有不同处理配置中的任何一个或多个,不同的处理配置包括:单个处理器、独立处理器、并行处理器、单指令单数据(SISD)多处理、单指令多数据(SIMD)多处理、多指令单数据(MISD)多处理和多指令多数据(MIMD)多处理。
图1至图7中示出的执行本申请中描述的操作的方法由计算硬件(例如,由一个或多个处理器或计算机)来执行,计算硬件被实现为如上所述执行指令或软件以执行在本申请中描述的由所述方法执行的操作。例如,单个操作、或者两个或更多个操作可由单个处理器、或者两个或更多个处理器、或者处理器和控制器来执行。一个或多个操作可由一个或多个处理器、或者处理器和控制器来执行,并且一个或多个其他操作可由一个或多个其他处理器、或者另外的处理器和另外的控制器来执行。一个或多个处理器、或者处理器和控制器可执行单个操作、或者两个或更多个操作。
用于控制计算硬件(例如,一个或多个处理器或计算机)实现硬件组件并执行如上所述的方法的指令或软件可被编写为计算机程序、代码段、指令或它们的任何结合,以单独地或共同地指示或配置一个或多个处理器或计算机作为机器或专用计算机进行操作,以执行由如上所述的硬件组件和方法执行的操作。在一个示例中,指令或软件包括由一个或多个处理器或计算机直接执行的机器代码(诸如,由编译器产生的机器代码)。在另一示例中,指令或软件包括由一个或多个处理器或计算机使用解释器执行的高级代码。可基于附图中示出的框图和流程图以及说明书中的相应描述使用任何编程语言来编写指令或软件,附图中示出的框图和流程图以及说明书中的相应描述公开了用于执行由如上所述的硬件组件和方法执行的操作的算法。
用于控制计算硬件(例如,一个或多个处理器或计算机)实现硬件组件并执行如上所述的方法的指令或软件以及任何相关联的数据、数据文件和数据结构可被记录、存储或者固定在一个或多个非暂时性计算机可读存储介质中,或者被记录、存储或固定在一个或多个非暂时性计算机可读存储介质上。非暂时性计算机可读存储介质的示例包括:只读存储器(ROM)、随机存取可编程只读存储器(PROM)、电可擦除可编程只读存储器(EEPROM)、随机存取存储器(RAM)、动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM)、闪存、非易失性存储器、CD-ROM、CD-R、CD+R、CD-RW、CD+RW、DVD-ROM、DVD-R、DVD+R、DVD-RW、DVD+RW、DVD-RAM、BD-ROM、BD-R、BD-R LTH、BD-RE、蓝光或光盘存储装置、硬盘驱动器(HDD)、固态驱动器(SSD)、闪存、卡型存储器(诸如,多媒体卡或微型卡(例如,安全数字(SD)或者极速数字(XD)))、磁带、软盘、磁光数据存储装置、光学数据存储装置、硬盘、固态盘和被配置为以非暂时性方式存储指令或者软件以及任何相关联的数据、数据文件和数据结构并将所述指令或软件以及任何相关联的数据、数据文件和数据结构提供给一个或多个处理器或计算机使得一个或多个处理器或计算器能够执行指令的任何其他装置。在一个示例中,指令或软件以及任何相关联的数据、数据文件和数据结构分布在联网的计算机系统中,使得指令和软件以及任何相关联的数据、数据文件和数据结构以分布式方式被一个或多个处理器或计算机存储、访问和执行。
虽然本公开包括特定示例,但是在理解本申请的公开之后将清楚的是,在不脱离权利要求及其等同物的精神和范围的情况下,可在这些示例中进行形式和细节上的各种改变。在此描述的示例应仅被认为是描述性的,而不是出于限制的目的。每个示例中的特征或方面的描述应被认为可适用于其他示例中的相似特征或方面。如果描述的技术以不同的顺序被执行,和/或如果描述的系统、架构、装置或电路中的组件以不同的方式被组合、和/或由其他组件或其等同物替代或补充,则可实现合适的结果。

Claims (27)

1.一种识别图像的方法,所述方法包括:
获得待识别图像;
通过基于作为第一图像信息的待识别图像进行采样,在由多个预定离散值表示的类别集中确定与相应的权重矩阵对应的核自适应权重;
基于相应的权重矩阵和对应于相应的权重矩阵的核自适应权重来确定相应的统一核;
基于第一图像信息和相应的统一核执行卷积运算,以获得第二图像信息;以及
基于第二图像信息获得图像识别结果。
2.根据权利要求1所述的方法,其中,基于第二图像信息获得图像识别结果的步骤包括:
通过基于第二图像信息进行采样,在由多个预定离散值表示的类别集中确定与相应的权重矩阵对应的核自适应权重;
基于相应的权重矩阵和对应于相应的权重矩阵的核自适应权重来确定相应的统一核;
基于第二图像信息和相应的统一核执行卷积运算,以获得第三图像信息;以及
基于第三图像信息获得图像识别结果。
3.根据权利要求2所述的方法,其中,
确定与相应的权重矩阵对应的核自适应权重的步骤包括:生成与第一图像信息对应的多个核相关性分数;以及基于与第一图像信息对应的多个核相关性分数来确定与相应的权重矩阵对应的核自适应权重;
确定与相应的权重矩阵对应的核自适应权重的步骤包括:生成与第二图像信息对应的多个核相关性分数;以及基于与第二图像信息对应的多个核相关性分数来确定与相应的权重矩阵对应的核自适应权重。
4.根据权利要求3所述的方法,其中,基于所述多个核相关性分数确定核自适应权重的步骤包括:通过对所述多个核相关性分数执行耿贝尔柔性最大采样来确定核自适应权重。
5.根据权利要求1或2所述的方法,其中,确定核自适应权重的步骤包括:在由0和1表示的类别集中确定与权重矩阵对应的核自适应权重。
6.根据权利要求5所述的方法,其中,确定统一核的步骤包括:通过对其核自适应权重被确定为1的权重矩阵进行求和来确定统一核。
7.根据权利要求1或2所述的方法,其中,确定核自适应权重的步骤包括:在由0和1表示的类别集中,将与多个权重矩阵中的一个权重矩阵对应的核自适应权重确定为1。
8.根据权利要求7所述的方法,其中,确定统一核的步骤包括:将所述一个权重矩阵确定为统一核。
9.根据权利要求1或2所述的方法,其中,确定核自适应权重的步骤包括:在由2的幂表示的类别集中确定与权重矩阵对应的自适应权重。
10.根据权利要求9所述的方法,其中,确定统一核的步骤包括:执行每个权重矩阵和对应于权重矩阵的核自适应权重之间的移位运算。
11.根据权利要求1所述的方法,还包括:
基于偏置和核自适应权重来确定统一偏置,
其中,执行卷积运算的步骤包括:基于第一图像信息、相应的统一核和统一偏置来执行卷积运算。
12.一种识别图像的设备,所述设备包括:
一个或多个处理器,被配置为:
获得待识别图像;
通过基于作为第一图像信息的待识别图像进行采样,在由多个预定离散值表示的类别集中确定与相应的权重矩阵对应的核自适应权重;
基于相应的权重矩阵和对应于相应的权重矩阵的核自适应权重来确定相应的统一核;
基于第一图像信息和相应的统一核执行卷积运算,以获得第二图像信息;以及
基于第二图像信息获得图像识别结果。
13.根据权利要求12所述的设备,其中,为了基于第二图像信息获得图像识别结果,所述一个或多个处理器被配置为:
通过基于第二图像信息进行采样,在由多个预定离散值表示的类别集中确定与相应的权重矩阵对应的核自适应权重;
基于相应的权重矩阵和对应于相应的权重矩阵的核自适应权重来确定相应的统一核;
基于第二图像信息和相应的统一核执行卷积运算,以获得第三图像信息;以及
基于第三图像信息获得图像识别结果。
14.根据权利要求13所述的设备,其中,
为了确定与相应的权重矩阵对应的核自适应权重,所述一个或多个处理器被配置为:生成与第一图像信息对应的多个核相关性分数;以及基于与第一图像信息对应的多个核相关性分数来确定与相应的权重矩阵对应的核自适应权重;
为了确定与相应的权重矩阵对应的核自适应权重,所述一个或多个处理器被配置为:生成与第二图像信息对应的多个核相关性分数;以及基于与第二图像信息对应的多个核相关性分数来确定与相应的权重矩阵对应的核自适应权重。
15.根据权利要求14所述的设备,其中,为了基于所述多个核相关性分数确定核自适应权重,所述一个或多个处理器被配置为:通过对所述多个核相关性分数执行耿贝尔柔性最大采样来确定核自适应权重。
16.根据权利要求12或13所述的设备,其中,为了确定核自适应权重,所述一个或多个处理器被配置为:在由0和1表示的类别集中确定与权重矩阵对应的核自适应权重。
17.根据权利要求16所述的设备,其中,为了确定统一核,所述一个或多个处理器被配置为:通过对其核自适应权重被确定为1的权重矩阵进行求和来确定统一核。
18.根据权利要求12或13所述的设备,其中,为了确定核自适应权重,所述一个或多个处理器被配置为:在由0和1表示的类别集中,将与多个权重矩阵中的一个权重矩阵对应的核自适应权重确定为1。
19.根据权利要求18所述的设备,其中,为了确定统一核,所述一个或多个处理器被配置为:将所述一个权重矩阵确定为统一核。
20.根据权利要求12或13所述的设备,其中,为了确定核自适应权重,所述一个或多个处理器被配置为:在由2的幂表示的类别集中确定与权重矩阵对应的核自适应权重。
21.根据权利要求20所述的设备,其中,为了确定统一核,所述一个或多个处理器被配置为:执行每个权重矩阵和对应于权重矩阵的核自适应权重之间的移位运算。
22.根据权利要求12所述的设备,其中,所述一个或多个处理器被配置为:
基于偏置和核自适应权重来确定统一偏置;以及
基于第一图像信息、相应的统一核和统一偏置来执行卷积运算。
23.一种识别图像的方法,所述方法包括:
获得待识别图像;
基于作为第一图像信息的待识别图像确定权重矩阵的离散值核自适应权重;
基于权重矩阵和对应于权重矩阵的核自适应权重来确定统一核;
通过执行第一图像信息与统一核之间的卷积来生成第二图像信息;以及
基于第二图像信息获得图像识别结果。
24.根据权利要求23所述的方法,其中,确定统一核的步骤包括:选择权重矩阵中的一个权重矩阵作为统一核。
25.根据权利要求24所述的方法,其中,选择权重矩阵中的所述一个权重矩阵的步骤包括:选择权重矩阵中的与核自适应权重之中的预定核自适应权重对应的一个权重矩阵。
26.根据权利要求23所述的方法,其中,确定统一核的步骤包括:
基于相应的核自适应权重对多个权重矩阵执行移位运算;以及
通过对已移位的权重矩阵进行求和来确定统一核。
27.一种存储指令的非暂时性计算机可读存储介质,所述指令在由一个或多个处理器执行时,将所述一个或多个处理器配置为执行根据权利要求1至11以及权利要求23至26中的任意一项所述的方法。
CN202210613435.8A 2021-09-24 2022-05-31 识别图像的方法和设备 Pending CN115861862A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020210126395A KR20230043476A (ko) 2021-09-24 2021-09-24 다이나믹 컨볼루션 연산 수행 방법 및 장치
KR10-2021-0126395 2021-09-24

Publications (1)

Publication Number Publication Date
CN115861862A true CN115861862A (zh) 2023-03-28

Family

ID=82494039

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210613435.8A Pending CN115861862A (zh) 2021-09-24 2022-05-31 识别图像的方法和设备

Country Status (4)

Country Link
US (1) US20230102335A1 (zh)
EP (1) EP4156029A1 (zh)
KR (1) KR20230043476A (zh)
CN (1) CN115861862A (zh)

Also Published As

Publication number Publication date
EP4156029A1 (en) 2023-03-29
US20230102335A1 (en) 2023-03-30
KR20230043476A (ko) 2023-03-31

Similar Documents

Publication Publication Date Title
US20210004663A1 (en) Neural network device and method of quantizing parameters of neural network
TWI804684B (zh) 用於在深度神經網路中利用啟動稀疏性的方法與裝置
US20220391665A1 (en) Method for splitting neural network model by using multi-core processor, and related product
CN109871936B (zh) 用于处理神经网络中的卷积运算的方法和装置
US11880768B2 (en) Method and apparatus with bit-serial data processing of a neural network
EP3631701A1 (en) Tensor-based computing system for quaternion operations
CN111465943B (zh) 一种集成电路和用于神经网络处理的方法
EP3528181B1 (en) Processing method of neural network and apparatus using the processing method
EP3979145A1 (en) Method and apparatus for compressing artificial neural network
US11144291B1 (en) Loop-oriented neural network compilation
CN111382859A (zh) 用于处理神经网络中的卷积运算的方法和装置
US11954755B2 (en) Image processing device and operation method thereof
US20220374693A1 (en) Method and apparatus with data processing
CN112668381A (zh) 用于识别图像的方法和设备
CN113947703A (zh) 通过神经网络识别图像的方法和设备
CN114026571A (zh) 用于并行执行的神经网络操作重新排序
CN114792387A (zh) 图像恢复方法和设备
US11461662B1 (en) Compilation time reduction for memory and compute bound neural networks
CN113868187A (zh) 处理神经网络的方法和电子装置
CN113408693A (zh) 识别图像的方法和设备
US20220188070A1 (en) Method and apparatus with data processing
CN111860824A (zh) 一种数据处理方法及相关产品
CN115861862A (zh) 识别图像的方法和设备
CN114595811A (zh) 用于执行深度学习操作的方法和设备
CN113821471A (zh) 神经网络的处理方法和电子装置

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