CN116324811A - 卷积神经网络的多带宽分离特征提取卷积层 - Google Patents

卷积神经网络的多带宽分离特征提取卷积层 Download PDF

Info

Publication number
CN116324811A
CN116324811A CN202180068833.XA CN202180068833A CN116324811A CN 116324811 A CN116324811 A CN 116324811A CN 202180068833 A CN202180068833 A CN 202180068833A CN 116324811 A CN116324811 A CN 116324811A
Authority
CN
China
Prior art keywords
channels
output
channel
convolution
input
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
CN202180068833.XA
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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies 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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Publication of CN116324811A publication Critical patent/CN116324811A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/44Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
    • G06V10/443Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components by matching or filtering
    • G06V10/449Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters
    • G06V10/451Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters with interaction between the filter responses, e.g. cortical complex cells
    • G06V10/454Integrating the filters into a hierarchical structure, e.g. convolutional neural networks [CNN]
    • 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
    • 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/14Fourier, Walsh or analogous domain transformations, e.g. Laplace, Hilbert, Karhunen-Loeve, transforms
    • 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/156Correlation function computation including computation of convolution operations using a domain transform, e.g. Fourier transform, polynomial transform, number theoretic transform
    • 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/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models
    • G06N5/046Forward inferencing; Production systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/42Global feature extraction by analysis of the whole pattern, e.g. using frequency domain transformations or autocorrelation

Landscapes

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

Abstract

描述了用于神经网络中多带宽分离特征提取卷积的方法、处理单元和介质。卷积块将激活图的输入通道分为多个分支,每个分支通过使用输入的下采样以不同的带宽进行卷积。输出通过使用像素混洗对低带宽分支的输出进行上采样来级联。所述级联操作可以是保留分离的多带宽特征信息以供所述神经网络的后续层使用的混洗级联操作。描述了基于权重的频段位置将基于频率和基于幅度的注意力应用于卷积核的权重的实施例。

Description

卷积神经网络的多带宽分离特征提取卷积层
相关申请的交叉引用
本申请要求于2020年10月8日提交的发明名称为“卷积神经网络的多带宽分离特征提取卷积层(Multi-bandwidth separated feature extraction convolution layerfor convolutional neural networks)”的美国非临时专利申请第17/066,220号的权益,该美国非临时专利申请通过全文引用的方式并入本文中。
技术领域
本发明涉及人工神经网络,包括卷积神经网络。具体地,本发明涉及一种用于卷积神经网络的多带宽分离特征提取层。
背景技术
卷积神经网络(convolutional neural network,CNN)是通常用于处理具有已知网格状拓扑的数据(如图像数据或点云数据)的神经网络类型。CNN使用卷积核(也称为过滤器)执行卷积运算。由一个或多个卷积核对单个输入执行的卷积运算的集合可以称为卷积层。一个或多个卷积层以及在应用卷积核之前或之后的一个或多个附加数据操作可以统称为卷积块。
卷积层接收数据输入,所述数据输入通常是称为特征图或激活图的已知维度的数据阵列的形式,并通过应用卷积核对输入执行卷积运算,生成数据输出,所述数据输出通常是具有已知维度的数据阵列,也称为特征图或激活图。如上所述,卷积块的一个或多个附加数据操作也可以应用于卷积层的数据输入和/或卷积层的数据输出。
卷积核包括权重集合(也称为参数),训练CNN涉及学习CNN的卷积核权重集合的优化值。如果在CNN的训练期间没有正确学习权重的值(例如,高值权重被训练错位),则经过训练的CNN将以较低的精度执行。
每个卷积核对输入特征或激活图执行的卷积运算基于学习的卷积核的权重从输入特征或激活图中提取特征。对于许多类型的输入特征或激活图,感兴趣的特征可能发生在许多不同的尺度或带宽上。例如,在计算机视觉的上下文中,分类任务可能要求CNN识别细粒度特征(例如胡须)和粗粒度特征(例如身体轮廓),以便准确地对输入图像数据(例如“猫”)中的对象进行分类。对于深度CNN,可能有许多卷积层,每个卷积层有许多卷积核,每个卷积核中有许多权重,这意味着可能有非常多的权重需要学习。此外,在运行时使用经过训练的CNN对新的输入特征或激活图执行推理(即预测)需要执行大量卷积运算,这些卷积运算应用具有大量权重的卷积核。使用大型CNN(即具有许多权重的CNN)执行推理(即预测)所需的内存和计算能力对于许多硬件平台来说可能是难以实现的。因此,存在一个问题,即如何减少需要学习的权重数量,以及需要在运行时应用的学习的权重数量,同时保持CNN准确提取存在于多个不同频段或带宽的特征的能力。
已经开发了一些技术,用于在比传统卷积块使用更少卷积权重数量的卷积块内以多个带宽执行卷积运算。但是,这些技术导致卷积块数据输出具有多个不同的维度,其中一些维度不同于传统卷积块的数据输出的维度。这导致另一个问题,即如何组合数据输出,以使它们由CNN的卷积块的后续层处理。
此外,根据CNN训练的任务,某些带宽或频段比其它带宽或频段更重要(例如,识别尖锐对象,如猫的胡须,可能会使高频频谱处理更占优势)。更重要的是,与对CNN执行的任务不那么重要的其它频段相比,与这些重要频段对应的卷积权重被更好地学习。先前的多带宽方法没有提供任何机制来更多地关注正确学习更重要频段的卷积权重。因此,存在一个问题,即如何将CNN训练集中在学习CNN的卷积层的促进在重要频段下提取特征的卷积权重上。
发明内容
在各种示例中,本发明描述了用于在CNN的卷积块中执行多带宽分离特征提取卷积层的操作的方法、处理单元和处理器可读介质。多带宽分离特征提取卷积层接收包括多个通道的输入激活图,将输入激活图的多个输入通道分为多个不同输入通道集合,以供多带宽分离特征提取卷积层的不同分支处理。多带宽分离特征提取卷积层的每个分支接收输入通道集合,并通过对输入通道集合中的每个输入通道进行下采样,以不同带宽执行卷积。多带宽分离特征提取卷积层的每个分支的输出通过使用像素混洗对低带宽分支的输出进行上采样来级联。级联操作可以是保留分离的多带宽特征信息以供CNN的卷积块的后续层使用的混洗级联操作。描述了使用高带宽分支的卷积运算对上采样的低带宽输出进行进一步细化的多带宽分离特征提取卷积层的实施例。描述了基于卷积核权重的频段位置将基于频率和基于幅度的注意力应用于卷积核的权重的多带宽分离特征提取卷积层的实施例。描述了执行3D多带宽卷积的多带宽分离特征提取卷积层的实施例。
如本文所使用,术语“带宽”是指输入数据中对卷积层的卷积核的特征提取操作最重要的频率范围。例如,在对图像数据执行的对象分类任务的上下文中,高频特征提取可以提取图像数据中的细粒度细节,例如猫毛的纹理或其胡须的位置,而低频特征提取可以提取图像数据的粗粒度特征,例如猫的体型或整个图像上的光梯度。因此,高带宽特征提取操作可以同时提取高频和低频特征,而低带宽特征提取操作只能提取低频特征。在本发明的上下文中,“全带宽”卷积运算是指在输入激活图的全尺寸通道(即,具有与输入激活图相同高度和宽度的通道)上进行的相对高带宽卷积运算,缩小带宽卷积(例如,半带宽或四分之一带宽)是指在输入激活图的缩小尺寸通道(即,由于下采样,具有比输入激活图小的高度和宽度的通道)上执行的相对低带宽卷积运算。
如本文所使用,术语“卷积”是指执行卷积运算。因此,例如,卷积核与输入激活图卷积是指使用卷积核遍历输入激活图,以使用卷积核对输入激活图进行卷积运算,从而生成输出激活图。
根据本发明的包括多带宽分离的特征提取卷积层的CNN的性能可以得到提升,包括提高CNN的精度、减少内存使用和/或降低执行CNN操作的计算成本。多带宽分离特征提取卷积层可以替换CNN的现有卷积块中的传统卷积层,因为多带宽分离特征提取卷积层接收输入激活图,并生成具有与传统卷积层相同维度的输出激活图。
在一些方面,本发明描述了一种用于执行卷积神经网络的多带宽分离特征提取卷积层的操作的方法。接收包括多个输入通道的输入激活图。所述多个输入通道被分组为包括第一输入通道子集和第二输入通道子集的多个输入通道子集。将所述第一输入通道子集中的每个相应输入通道与第一卷积核集合中的每个卷积核卷积,以生成全带宽输出通道集合。按缩放因子对所述第二输入通道子集中的每个相应输入通道进行下采样,以生成第一下采样通道集合。将每个相应下采样通道与第二卷积核集合中的每个卷积核卷积,以生成下采样输出通道集合。每个下采样输出通道的元素数量比全带宽输出通道中的一个的元素数量少,所述全带宽输出通道的元素数量是所述每个下采样输出通道的元素数量的所述缩放因子倍。对于所述下采样输出通道集合中的每个相应下采样输出通道,将所述相应下采样输出通道的所述像素混洗到与全带宽输出通道具有相同尺寸的上采样输出通道中,从而生成第一上采样输出通道集合。通过级联所述全带宽输出通道集合和所述第一上采样输出通道集合来生成输出激活图。
在一些方面,本发明描述了一种用于执行卷积神经网络的多带宽分离特征提取卷积层的操作的系统。所述系统包括处理器和存储器。存储器存储指令,所述指令当由所述处理器执行时,执行几个步骤。接收包括多个输入通道的输入激活图。所述多个输入通道被分组为包括第一输入通道子集和第二输入通道子集的多个输入通道子集。将所述第一输入通道子集中的每个相应输入通道与第一卷积核集合中的每个卷积核卷积,以生成全带宽输出通道集合。按缩放因子对所述第二输入通道子集中的每个相应输入通道进行下采样,以生成第一下采样通道集合。将每个相应下采样通道与第二卷积核集合中的每个卷积核卷积,以生成下采样输出通道集合。每个下采样输出通道的元素数量比全带宽输出通道中的一个的元素数量少,所述全带宽输出通道的元素数量是所述每个下采样输出通道的元素数量的所述缩放因子倍。对于所述下采样输出通道集合中的每个相应下采样输出通道,将所述相应下采样输出通道的所述像素混洗到与全带宽输出通道具有相同尺寸的上采样输出通道中,从而生成第一上采样输出通道集合。通过级联所述全带宽输出通道集合和所述第一上采样输出通道集合来生成输出激活图。
根据另一方面,所述方法还包括将所述多个输入通道分组为一个或多个附加输入通道子集;对于每个附加输入通道子集:按不同的附加缩放因子对所述附加输入通道子集中的每个输入通道进行下采样,以生成附加下采样通道集合;将所述下采样通道与不同的附加卷积核集合卷积,以生成附加下采样输出通道集合(每个下采样输出通道的元素数量比所述全带宽输出通道中的一个的元素数量少,所述全带宽输出通道的元素数量是所述每个下采样输出通道的元素数量的不同的附加缩放因子倍);对于每个相应下采样输出通道,将所述相应下采样输出通道的所述像素混洗到与全带宽输出通道具有相同尺寸的单个上采样输出通道中,从而生成附加上采样输出通道集合。生成所述输出激活图还包括将每个附加上采样输出通道集合与所述全带宽输出通道集合和所述第一上采样输出通道集合级联。
根据另一方面,将下采样通道集合的像素混洗到单个上采样输出通道中包括生成输出通道,所述输出通道包括多个像素簇,每个像素簇包括从所述下采样通道集合中的每个下采样通道中选择的一个像素。
根据另一方面,所述方法还包括使用所述输出激活图生成推理;基于所述推理计算损失函数;基于计算出的损失函数更新每个卷积核集合。
根据另一方面,所述方法还包括,对于每个卷积核集合:在将每个输入通道子集与其相应卷积核集合卷积之前:学习基于频率的注意力乘数集合;将所述基于频率的注意力乘数集合应用于所述卷积核集合的权重;将基于幅度的注意力函数应用于所述卷积核集合的所述权重。
根据另一方面,所述方法还可以包括在计算所述损失函数之前,将基于频率的注意力函数应用于所述输出激活图。
根据另一方面,学习每个基于频率的注意力乘数集合包括:标准化所述卷积核集合中的所述权重;将傅里叶变换函数应用于所述卷积核集合,以生成频域卷积核集合;进行平均池化,以获得每个频域卷积核的平均权重;通过一个或多个全连接层馈送所述频域卷积核的所述平均权重,以学习每个频域卷积核的所述注意力乘数;将所述注意力乘数扩展到每个相应卷积核中的所有权重,以获得所述基于频率的注意力乘数集合。将所述基于频率的注意力乘数集合应用于每个卷积核集合的所述权重包括:将所述基于频率的注意力乘数集合乘以所述频域卷积核集合,以生成注意力注入的频域卷积核集合;将傅里叶逆变换函数应用于所述注意力注入的频域卷积核集合。
根据另一个方面,存在两个全连接层,用于学习每个卷积核的所述注意力乘数;所述基于幅度的注意力函数对幅度较大的权重应用更多的注意力,对幅度较小的权重应用更少的注意力;所述基于幅度的注意力函数是
Figure BDA0004165540520000041
其中,wm是卷积核的权重,wA是在应用基于幅度的注意力之后的权重,MA=(1+∈A)*M,M是卷积层中所有wm的最大值,∈A是具有选定小值的超参数。
根据另一方面,级联所述全带宽输出通道集合和所述第一上采样输出通道集合以生成所述输出激活图包括:在混洗级联块处接收所述全带宽输出通道集合和所述第一上采样输出通道集合;根据混洗模式级联所述全带宽输出通道集合中的所述输出通道和所述第一上采样输出通道集合中的所述输出通道,使得所述第一上采样输出通道集合中的至少一个输出通道按顺序在所述全带宽输出通道集合中的第一输出通道之后级联,并按顺序在所述全带宽输出通道集合中的第二输出通道之前级联。
根据另一方面,所述混洗模式是“跳过S个”混洗模式,S是正整数。
在一些方面中,本发明描述了一种计算机可读介质,所述计算机可读介质有形地存储有指令。所述指令当由处理单元执行时,使所述处理单元执行本文描述的任一方法。
附图说明
现在将通过示例参考示出本申请示例性实施例的附图,在附图中:
图1A是可用于实现本文描述的示例的示例性处理系统的框图;
图1B是CNN的示例性架构的示意图;
图1C是卷积块的传统卷积层的示意图,示出了卷积块应用的输入数据阵列、输出数据阵列和卷积核集合的维度;
图2A是根据本发明的第一示例性多带宽分离特征提取卷积层的示意图,示出了每个功能子块的输入和输出的维度以及每个卷积子块中使用的卷积核的维度;
图2B是根据本发明的第二示例性多带宽分离特征提取卷积层的示意图,示出了递归输入分裂、递归下采样和递归上采样的使用;
图2C是用于操作图2B的第二示例性多带宽卷积层的示例性方法的流程图;
图3A示出了可以由挤压和激励神经网络的挤压和激励块执行的示例性操作;
图3B示出了根据本发明的可由多带宽分离特征提取卷积层执行的示例性操作;
图4是根据本发明的用于训练多带宽分离特征提取卷积层的示例性方法的流程图;
图5是用于学习基于频率的注意力乘数的示例性方法的流程图,该方法可以是图4的方法的一部分;
图6是用于将基于幅度的注意力应用于权重的示例性函数的曲线图,该示例性函数可用于图4的方法;
图7A是根据本发明的用于对来自多带宽卷积块的多个分支的输出通道进行递归混洗级联以形成混洗输出激活图的方法的流程图;
图7B是根据本发明的用于对来自多带宽卷积块的多个分支的输出通道进行非递归混洗级联以形成混洗输出激活图的方法的流程图;
图8是根据本发明的使用采用混洗级联的3D多带宽分离特征提取卷积层的多带宽分离3D卷积方法的流程图;
在不同的附图中可以使用相似的附图标记来表示相似的组件。
具体实施方式
在本文描述的示例中,可以提高根据本发明的包括多带宽分离特征提取卷积层的卷积神经网络(convolutional neural network,CNN)的性能,包括提高CNN的精度、减少内存使用和/或减少执行CNN的卷积运算所需的计算资源。
根据本文公开的示例,训练包括一个或多个多带宽分离特征提取卷积层的CNN。为了简单起见,本发明将单独参考多带宽分离特征提取卷积层,但应理解,多带宽分离特征提取卷积层可以是包括传统卷积块和全连接块的CNN的卷积块的一部分,并且训练可以是CNN训练的一部分。此外,本发明可以使用术语CNN来包括深度CNN。
本文描述的示例可适用于训练CNN以执行各种任务,包括对象分类、对象检测、语义分割、手势识别、动作识别和可以使用CNN的其它应用。
图1A示出了示例性简化处理单元100的框图,该简化处理单元100可以是系统的一部分,用于根据本文公开的示例执行操作以训练包括一个或多个多带宽分离特征提取卷积层的CNN以执行特定任务(例如,对象检测、对象分类、对象检测、语义分割、手势识别、动作识别)和/或用于对包括一个或多个多带宽分离特征提取卷积块的经过训练的CNN执行操作,执行CNN已经被经过训练的特定任务。可以使用适合于实现本发明中描述的实施例的其它处理单元,这些单元可以包括与下面讨论的那些组件不同的组件。虽然图1A示出了每个组件的单个实例,但是在处理单元100中可能存在每个组件的多个实例。
处理单元100可以包括一个或多个处理设备102,例如处理器、微处理器、张量处理单元、图形处理单元、神经处理单元、硬件加速器、专用集成电路(application-specificintegrated circuit,ASIC)、现场可编程门阵列(field-programmable gate array,FPGA)、专用逻辑电路、专用人工智能处理器单元,或其组合。处理单元100还可以包括一个或多个可选输入/输出(input/output,I/O)接口104,这些可选I/O接口104可以支持与一个或多个可选输入设备114和/或可选输出设备116连接。
在所示的示例中,一个或多个输入设备114(例如,键盘、鼠标、麦克风、触摸屏和/或小键盘)和一个或多个输出设备116(例如,显示器、扬声器和/或打印机)示出为可选且在处理单元100外部。在其它示例中,一个或多个输入设备114和/或一个或多个输出设备116中的一个或多个可以包括作为处理单元100的组件。在其它示例中,可能不存在任何一个或多个输入设备114和一个或多个输出设备116,在这种情况下,可能不需要一个或多个I/O接口104。
处理单元100可以包括一个或多个可选网络接口106,用于与网络(例如内网、互连网、P2P网络、WAN和/或LAN)或其它节点进行有线或无线通信。网络接口106可以包括用于进行内网通信和/或网外通信的有线链路(例如以太网线)和/或无线链路(例如一个或多个天线)。
处理单元100还可以包括一个或多个存储单元108,所述一个或多个存储单元108可以包括大容量存储单元,例如固态驱动器、硬盘驱动器、磁盘驱动器和/或光盘驱动器。处理单元100可以包括一个或多个存储器110,所述一个或多个存储器110可以包括易失性或非易失性存储器(例如,闪存、随机存取存储器(random access memory,RAM)和/或只读存储器(read-only memory,ROM))。一个或多个非瞬时性存储器110可以存储由一个或多个处理设备102执行的指令,例如,以执行本发明中描述的示例。一个或多个存储器110可以包括其它软件指令,例如用于实现操作系统和其它应用/功能的软件指令。在一些示例中,存储器110可以包括用于由处理设备102执行的软件指令,以训练卷积神经网络和/或实现经过训练的卷积神经网络,如本文所公开。
在一些其它示例中,一个或多个数据集和/或模块可以由外部存储器(例如,与处理单元100进行有线通信或无线通信的外部驱动器)提供,也可以由瞬时性或非瞬时性计算机可读介质提供。非瞬时性计算机可读介质的示例包括RAM、ROM、可擦除可编程ROM(erasable programmable ROM,EPROM)、电可擦除可编程ROM(electrically erasableprogrammable ROM,EEPROM)、闪存、CD-ROM或其它便携式存储器。
可以存在总线112,在处理单元100的组件之间提供通信,所述组件包括一个或多个处理设备102、一个或多个可选I/O接口104、一个或多个可选网络接口106、一个或多个存储单元108和/或一个或多个存储器110。总线112可以是任何合适的总线架构,例如包括存储器总线、外围总线或视频总线。
图1B示出了CNN 120的示例性架构,其包括一个或多个多带宽分离特征提取卷积层。在本示例中,CNN 120被设计用于执行特定任务(例如,在本示例中,对象分类)。CNN 120已经被简化,并不意图是限制性的,并且仅用于说明的目的。到CNN 120的输入数据可以是例如图像数据(如在本示例中)、视频数据、音频数据或文本数据。CNN 120包括预处理块122,该预处理块122可以对输入数据执行各种预处理操作(例如,归一化),以生成卷积块124的输入激活图。卷积块124接收输入激活图(例如,预处理的输入数据),并使用卷积核执行卷积运算,以生成输出激活图。正如下面将进一步讨论,卷积核(也可以称为过滤器核或简称为过滤器)各自包括权重集合。执行CNN的训练是为了学习CNN中每个卷积核的权重。输出激活图被提供给分类头126,分类头126然后可以输出标签,该标签指示由最后卷积块124生成的输出激活图所表示的对象的类别。
上面的讨论提供了一个示例,该示例说明了如何在推理期间使用经过训练的CNN生成预测。通常,输入数据(即,激活图)可以具有一个、两个或三个(或更多个)维度,并且输出激活图可以具有任何合适的格式,这取决于应用。本文的示例性实施例应在用于执行计算机视觉任务(例如对象检测)的CNN的上下文上描述。CNN块124接收输入激活图,并生成多通道2D像素阵列(即,由像素高度、像素宽度和通道深度定义的3D阵列)形式的输出激活图。但是,应当理解,在一些实施例中,其它多通道数据阵列可以用作输入或输出,例如用于涉及例如音频或文本输入的任务的多通道1D阵列。
为了使CNN 120以所需的精度执行特定任务,用于训练CNN 120的方法是重要的。根据本发明的示例,包括一个或多个多带宽特征提取卷积层的经过训练的CNN在对象分类等许多计算机视觉任务上比一些现有的经过训练的CNN的基线性能有改进,这些现有的经过训练的CNN仅包括具有传统卷积层的卷积块。这种改进可以包括提高经过训练的CNN的精度、减少内存使用、在执行经过训练的CNN的操作时降低计算成本、增大感受野和增大网络宽度。感受野是指输入激活图的部分的尺寸,该部分被卷积层的核映射到输出激活图的一部分;实际上,它是指相对于输入激活图尺寸的核尺寸,在本文描述的示例中,当将固定宽度和高度维度的核应用于下采样(即缩小尺寸)输入激活图通道时,感受野可以增大。网络宽度是指CNN中每个卷积层的核的数量;本文描述的示例可以使用更多核在较小的激活图上运行,以在不增加所需计算资源的情况下实现更大的有效网络宽度。
卷积块124可以包括若干层,包括一个或多个多带宽特征提取卷积层、传统卷积层和其它层,如激活层、批归一化层等。分类头126可以包括一个或多个层,例如一个或多个全连接层、SoftMax层等。CNN 120可以包括多于一个卷积块,以及附加的块或层。应当理解,图1B中所示的CNN 120的结构旨在作为CNN的简化表示。
图1C示出了卷积块的传统卷积层142,示出了由传统卷积层142应用的输入数据阵列144、输出数据阵列148和卷积核集合146的维度。输入数据阵列144在这里示出为具有数量等于值Cin的输入通道的多通道输入激活图。输入数据阵列144的每个通道由2D阵列组成,例如由2D像素阵列组成的图像,具有高度Hin和宽度Win。因此,存储在输入数据阵列144中的值的数量等于(Hin×Win×Cin)。应用于输入数据阵列144的卷积核146各自具有一组核维度,即高度h、宽度w和通道深度Cin。传统的卷积层142使用数量等于值Cout的卷积核146。
传统的卷积层142在一系列卷积运算中将卷积核146应用到输入数据阵列144。每个卷积核146被应用到输入数据阵列144,以生成输出数据阵列148的通道,这里示出为具有数量等于值Cout的输出通道的多通道输出激活图。输出数据阵列148的每个通道由2D阵列组成,例如由2D像素阵列组成的图像,具有高度Hout和宽度Wout。Hin和Hout之间以及Win和Wout之间的关系由核维度h和w以及传统卷积层142的卷积运算使用的步长、填充和其它卷积配置确定。在一些实施例中,Hin=Hout,Win=Wout。例如,示例性实施例可以使用具有维度h=3和w=3的核,填充为1像素和步长1,以生成输出数据阵列,其中,Hin=Hout,Win=Wout。使用传统的卷积层142(其中,Hin=Hout,Win=Wout)可以呈现某些优点,例如在使用经优化以处理具有固定维度的输入通道的硬件或软件组件的实施例中。
多带宽分离特征提取卷积
在各种示例中,本发明描述了用于CNN的卷积块的多带宽分离特征提取卷积层(在此也称为“多带宽卷积层”),用于在多个带宽下从输入激活图中提取特征。多带宽卷积块接收包括多个通道的输入激活图,并将输入激活图的通道分组为全带宽通道和缩小带宽通道,以缩小每个输入激活图通道子集的尺寸,以及用于在每个输入激活图通道子集上执行卷积的卷积核,从而使存储卷积核的权重集合的内存需求减少,并降低执行卷积运算的计算成本。
此外,由输入激活图通道的分组操作产生的每个输入通道集合在不同的尺度下进行卷积,从而进一步降低了计算成本,同时由于在不同带宽下提取特征而提高了CNN的精度。如上所述,在多个不同带宽下使用卷积运算还可以增大多带宽卷积层的感受野和网络宽度,从而增加多带宽卷积层生成的特征的数量。
多带宽卷积层包括上采样操作,以缩放由不同卷积运算生成的输出通道,以匹配由传统卷积层生成的输出通道的维度,例如图1C中的卷积层142。由卷积和上采样操作生成的输出通道被级联在一起,以生成具有与图1C中卷积层142的输出激活图148相同维度的输出激活图。由于本发明的多带宽卷积层接收与传统卷积层142接收的输入激活图144具有相同维度的输入激活图,并生成与传统卷积层142生成的输出激活图148具有相同维度的输出激活图,多带宽卷积层可用于替换CNN的卷积块内的传统卷积层142,而无需对卷积块进行任何进一步的修改或调整。
应当理解,根据本文描述的示例性实施例,尽管本文中提及CNN,任何神经网络都同样适用于多带宽卷积层。
图2A示出了第一示例性多带宽卷积层200,示出了多带宽卷积层200内的每个功能块的输入和输出的维度以及每个卷积使用的卷积核的数量和维度。如上所述,输入激活图144和输出激活图228在其维度上与图1C的传统卷积层142接收和生成的维度相同。
多带宽卷积层200通过将输入激活图144的输入通道分组为两个或更多个子集来操作。其中一个子集在全带宽(如上文定义)下进行卷积运算,每个后续子集在比前一个子集更低的带宽下进行卷积运算。子集的数量用值m表示。m=1的多带宽卷积层200不将输入通道分成组或子集,并将单个全带宽卷积运算应用于所有输入通道——在功能上等效于图1C的传统卷积层142。m=2的多带宽卷积层200将输入通道分组为两个子集,其中一个子集在全带宽下进行卷积运算,另一个子集在缩小一次的带宽下进行卷积运算。m=3的多带宽卷积层200还将输入通道分组为三个子集,第三子集在缩小两次的带宽下进行卷积运算。每个子集由图2A的流程图的不同分支处理,使得子集m的数量也等于分支的数量。
分组到每个子集中的输入通道的数量由介于0与1之间的值α(阿尔法)确定。第一子集(在第一分支中在全带宽下进行卷积)被分配有与α成比例的输入通道数量,而第二子集(在第二分支中在缩小一次的带宽下进行卷积)被分配有与(1–α)成比例的输入通道数量。因此,如果α=0.875并且输入激活图144具有64个输入通道(Cin=64),则第一分支处理(64×0.875=56)56个输入通道,第二分支处理(64×0.125=8)8个输入通道,每个输入通道具有高度Hin和宽度Win。如果m=3,则第二分支处理(8×0.875=7)7个输入通道,第三分支处理(8×0.125=1)1个输入通道。
由第二分支和后续分支对第二子集和第三子集执行的带宽缩小是通过分别对分配给第二子集和后续子集的输入通道进行下采样以生成较低带宽的输入通道来实现的。按缩放因子N对每个输入通道进行下采样:因此,第二分支对具有输入激活图144的(1/N)倍输入通道带宽的第二通道子集执行卷积运算,而第三分支对具有输入激活图144的(1/N2)倍(由于被下采样N倍两次)输入通道带宽的第三通道子集执行卷积运算。在图2A所示的第一示例性多带宽卷积层200中,由第二分支执行的带宽缩小的实现方式是对第二子集中的每个通道的2D像素阵列在高度和宽度维度上使用等于2的步长进行下采样,从而使第二子集中的每个下采样输入通道具有高度(Hin/2)和宽度(Win/2),因此,尺寸是原来的1/4(即,在所示实施例中,N=4)。因此,由第三分支执行的带宽缩小的实现方式是通过对第三子集中具有高度(Hin/2)和宽度(Win/2)的每个通道另外下采样4倍。第三分支对具有高度(Hin/4)和宽度(Win/4)的下采样输入通道执行卷积运算,因此,尺寸是原来的1/16(即,N2=16)。
一些实施例可以不根据由上述值m、α和N所规定的规则模式将输入通道分组为子集或对通道子集进行下采样。相反,这些实施例可以包括处理任意数量的输入通道子集的任意数量的分支,每个子集包括输入激活图144的输入通道的任意比例,和/或每个分支按任意缩放因子对其输入通道进行下采样。但是,如上所述利用值m、α和N可能具有优点,因为这可以使得一些实施例能够以递归方式执行输入通道分组、下采样和/或上采样操作,从而可能更有效地重用卷积块的对应功能块,如下面参考图2B进一步描述。
回到图2A,所示的第一示例性多带宽卷积层200配置有值m=3和N=4。这意味着多带宽卷积层200包括三个分支,每个分支接收输入通道子集,每个分支对输入通道集合中的相应输入通达执行卷积运算集合中的相应卷积运算,在第一次应用其卷积运算之后,每个分支的像素分辨率是前一分支的像素分辨率的1/4(即宽度和高度维度上的带宽减半)。α的值没有被指定,但这种多带宽卷积层200的任何特定实例都需要定义α的值,因为该值将规定每个分支使用的卷积核的维度。
初始输入通道分组操作由第一输入通道分组块202在输入激活图144上执行。输入激活图144的Cin通道被分组为由第一(Cin×α)个输入通道组成的第一输入通道子集230和由剩余(Cin×(1–α))个输入通道组成的第二输入通道子集234。第一子集230和第二子集234中的每个输入通道具有高度Hin和宽度Win
一些实施例可以使用与上述不同的通道分配过程。例如,代替将第一(Cin×α)个输入通道分配给第一子集230,一些实施例可以以一些其它方式(例如以比例间隔)分配从完整的Cin个输入通道的集合中选择的最后(Cin×α)个输入通道或(Cin×α)个输入通道。
全带宽卷积子块204使用第一卷积滤波器集合222在第一输入通道子集230上执行一组卷积运算。第一卷积滤波器集合222由数量等于αCout的卷积核组成,每个卷积核具有维度h×w×(Cin×α)。(卷积核集合也可以称为4D权重张量,其中,4个维度是高度、权重、深度和卷积核的数量:在本示例中,第一卷积滤波器集合222是维度为h×w×αCin×αCout的4d权重张量。这些维度表示卷积核中权重的数量。)由于卷积核的深度小于传统卷积层142使用的深度,卷积核中的权重数量减少。即使在添加了由下面描述的第二分支和后续分支使用的卷积核的附加权重之后,这也相对于仅包括传统卷积层142的CNN降低了存储包括一个或多个多带宽卷积层的CNN的参数的内存要求。此外,即使在考虑到执行下面描述的第二分支和后续分支的卷积运算所需的额外计算能力之后,由于卷积核和输入通道的深度缩小,在第一输入通道230子集上执行卷积运算所需的计算能力也会降低。
由全带宽卷积子块204执行的卷积运算生成第一输出通道集合232(在此可称为“全带宽输出通道”)。第一输出通道集合232由(Cout×α)个输出通道(即,第一分支中的每个核一个)组成,每个输出通道具有高度Hout和宽度Wout
第二分支处理第二输入通道子集234。第二输入通道子集234由第一下采样块206进行下采样,该第一下采样块206沿着每个输入通道的高度和宽度维度应用步长等于2的平均池化运算。在一些实施例中,平均池化运算可以由池化层执行。平均池化运算生成(Cin×(1–α))下采样通道集合236,每个通道具有高度(Hin/2)和宽度(Win/2),因此,尺寸是原来的1/4(即,在所示实施例中,N=4)。在一些实施例中,可以使用不同的下采样操作,例如最大池化或高斯平均池化。
然后,第二输入通道分组块208用于进一步分组下采样通道集合236,将由前((Cin×(1–α))×α)个下采样通道组成的第一下采样通道子集238(对应于如上所述的第二输入通道子集)分配给第二分支以进行处理,将由剩余(Cin×(1–α)2)个下采样通道组成的第二下采样通道子集244(对应于如上所述的第三输入通道子集)分配给第三分支以进行处理。
在第二分支中,中间带宽卷积子块210使用第二卷积滤波器集合224在第一下采样通道子集238上执行一组卷积运算。第二卷积滤波器集合224由数量等于(Cout×4α(1–α))的卷积核组成,每个卷积核具有维度h×w×(Cin×α(1–α))。在N不等于4的实施例中,卷积核的数量为(Cout×Nα(1–α))。
由于卷积核的深度小于传统卷积层142使用的深度,因此每个卷积核中的权重数量减少。此外,由于卷积核的深度缩小、输入通道的深度缩小和每个下采样通道的尺寸缩小,在第一下采样通道子集238上执行单个卷积核的卷积运算所需的计算能力大大降低。在一些实施例中,这可能使得执行整个多带卷积层200的卷积运算和其它操作所需的总计算能力降低。此外,由于对由中间带宽卷积子块210处理的通道阵列元素(例如像素)执行下采样,由中间带宽卷积子块210执行的卷积运算可以提取在比由全带宽卷积子块204提取的特征更低的频率下表现的特征。
由中间带宽卷积子块210执行的卷积运算生成下采样输出通道集合240。下采样输出通道集合240由(Cout×4α(1–α))个输出通道组成,每个输出通道具有高度Hout和宽度Wout
第一像素混洗块212用于对下采样输出通道集合240进行上采样,以匹配第一输出通道集合232的高度和宽度。第一像素混洗块212使用如Wenzhe Shi、Jose Caballero、Ferenc Huszár、Johannes Totz、Andrew P.Aitken、Rob Bishop、Daniel Rueckert和ZehanWang在“使用高效亚像素卷积神经网络的实时单图像和视频超分辨率(Real-Time SingleImage and Video Super-Resolution Using an Efficient Sub-Pixel ConvolutionalNeural Network)”(2016,arXiv:1609.05158,https://arxiv.org/abs/1609.05158)中描述的像素混洗技术。这种像素混洗技术从下采样输出通道集合240中的每N个通道生成单个上采样通道。每个上采样通道由像素簇矩阵组成,每个像素簇由从N个下采样输出通道中的每个输出通道中选择的一个像素组成。例如,在N=4的情况下,如所示的示例中,第一上采样通道可以通过首先在上采样通道的左上角生成第一像素簇来生成。第一簇是由四个像素组成的正方形,每边两个像素,按预定顺序(例如光栅扫描顺序)布局。第一像素簇中的第一像素是来自第一下采样输出通道的第一像素(例如,通道左上角的像素);像素簇中的第二像素是来自第二下采样输出通道的第一像素;依此类推。相对于第一像素簇,在第一上采样通道内生成和布局第二像素簇(例如,以光栅扫描顺序),第二像素簇由来自前4个下采样输出通道中的每一个的第二像素组成。来自前4个下采样输出通道中每一个的剩余像素用于生成构成第一上采样通道其余部分的附加像素簇。然后,使用相同的技术生成第二上采样通道,以组合和混洗来自下采样输出通道5至8(即N+1至2N)的像素,依此类推。
因此,第一像素混洗块212的像素混洗操作生成由(Cout×α(1–α))个通道组成的第一上采样输出通道集合242,每个通道具有高度Hout和宽度Wout
第三分支处理第二下采样通道子集244。第二下采样块214在第二下采样通道子集244上应用与第一下采样块206应用于第二输入通道子集234相同的下采样操作。第二下采样通道子集244在高度和宽度维度上进行步长为2的平均池化,以生成两次下采样通道集合246。在一些实施例中,平均池化运算可以由池化层执行。两次下采样通道集合246由(Cin×(1–α))个通道组成,每个通道具有高度(Hin/4)和宽度(Win/4)。
低带宽卷积子块216将第三卷积核集合226应用于两次下采样通道集合246。第三卷积核集合226由数量等于(Cout×16(1–α)2)的卷积核组成,每个卷积核具有维度h×w×(Cin×(1–α)2)。在N不等于4的实施例中,卷积核的数量为(Cout×N2(1–α)2)。
由低带宽卷积子块216应用于两次下采样通道集合246的卷积运算生成由(Cout×16(1–α)2)个通道组成的两次下采样输出通道集合248,每个通道具有高度(Hout/4)和宽度(Wout/4)。
第二像素混洗块218对两次下采样输出通道集合248应用与第一像素混洗块212相同的像素混洗技术,但缩放因子为N2(即在本实施例中为16)而不是N(即在本实施例中为4),以生成由(Cout×(1–α)2)个通道组成的第二上采样输出通道集合250,每个通道具有高度Hout和宽度Wout。因此,用于生成第二上采样输出通道集合250的通道的每个像素簇包含16个像素:从两次下采样输出通道集合248的16个通道中的每一个通道中选择一个像素。
在一些实施例中(未示出),第二像素混洗块218可以仅以缩放因子N对其输入应用像素混洗,并将其输出路由通过第一像素混洗块212。这将导致以缩放因子N进行两次上采样,总缩放因子为N2。当第三分支的输入通道被第一下采样块206和第二下采样块214串联处理时,该过程将反映第三分支的输入通道的多次下采样。
第一输出通道集合232、第一上采样输出通道集合242和第二上采样输出通道集合250通过通道级联块220级联在一起以形成输出激活图148。在一些实施例中,通道级联块220使用由输入通道分组块202和208应用的相同通道分配过程来级联三个输出通道集合232、242、250:例如,如果第一输入分裂块将前(Cin×α)个输入通道分配给第一分支,则通道级联块220使用第一输出通道集合232(即第一分支的输出)作为输出激活图148的前(Cout×α)个输出通道生成输出激活图148。
在其它实施例中,通道级联块220可以应用与用于输入通道分配的过程不同的通道分配过程来级联。例如,一些实施例可以使用下面更详细地描述的混洗通道级联过程。
如上所述,多带宽卷积块的一些实施例可以递归地应用上面参考图2A描述的一个或多个函数。图2B示出了根据本发明的第二示例性多带宽卷积层260,示出了递归输入通道分组、递归下采样和递归上采样的使用。应当理解,对于所讨论的函数中的任何一个、两个或三个(即输入分裂、下采样和上采样)采用递归的其它实施例也是可能的。
第二示例性多带宽卷积层260实现与第一示例性多带宽卷积层200相同的最终结果,但是由第一示例性多带宽卷积层200的各种功能块执行的功能被其递归版本取代。第一输入通道分组块202和第二输入通道分组块208被递归输入通道分组块262取代。第一下采样块206和第二下采样块214被递归下采样块264取代。第一像素混洗块212和第二像素混洗块218被递归像素混洗块266取代。第二示例性多带宽卷积层260的其它功能块在功能上与第一示例性多带宽卷积层200的功能块相同,不再详细描述。
所示的第二示例性多带宽卷积层260使用与第一示例性多带宽卷积层200的值匹配的值进行配置:m=3和N=4。
在一些实施例中,可以使用计数器、索引或用于循环或递归控制的类似机制来跟踪多带宽卷积层260的递归操作。在图2B中,示出了索引值i,该索引值i被递增以跟踪通过各种递归循环的输入通道的进度。当递归输入通道分组块262接收输入激活图144时,i的值被设置为i=1。递归输入通道分组块262可以检查i的值并相应地路由其输出。例如,如果i=m(即,m=1),则递归输入通道分组块262的所有输入通道将被分配给全带宽卷积子块204。这将等效于传统的卷积层142,没有输入分裂、下采样或上采样。在具有m>1的实施例中(即,实现此处描述的多带宽卷积的块、子块和功能的任何实施例),递归输入通道分组块262将第一通道子集(数量与α成比例)分配给对应于i的当前值的卷积子块。将第二通道子集(数量与(1–α)成比例)分配给递归下采样块264。
因此,输入激活图144的输入通道被分组为两个输入通道子集230、234,如在第一示例性多带宽卷积层200中一样。i的值等于1,表示递归输入通道分组块262将第一输入通道230子集提供给全带宽卷积子块204。递归输入通道分组块262将第二输入通道子集234提供给递归下采样块264。
递归下采样块264应用与图2A中的第一下采样块206或第二下采样块214相同的下采样操作:它将步长为2的平均池化运算应用于第二输入通道子集234,从而生成下采样输入通道集合236。
在递归下采样块264之后,i的值增加1。此时再次检查i的值。如果i<m,则将下采样输入通道集合236提供给递归输入通道分组块262,以将输入通道进一步分裂成数量与α成比例的第一子集和数量与(1–α)成比例的第二通道子集。因此,在多带宽卷积层260操作的这个阶段,i的值增加到i=2,并且将该增加的值与m的值(m=3)进行比较。由于i<m,下采样输入通道236的集合被提供给递归输入通道分组块262。
递归输入通道分组块262将下采样输入通道集合236分组为第一下采样通道子集238(数量与α成正比)和第二下采样通道子集244(数量与(1–α)成正比)。递归输入通道分组块262检查i的当前值(i=2),并相应地将第一下采样通道子集238分配给中间带宽卷积子块210。第二下采样通道子集244被分配给递归下采样块264,用于另一次下采样。
与第一示例性多带宽卷积层200一样,中间带宽卷积子块210生成下采样输出通道集合240。递归像素混洗块266使用与第一像素混洗块212相同的技术,以缩放因子N对下采样输出通道集合240应用上采样,从而生成第一上采样输出通道集合242。
再次检查i的值:如果i>2,则递归像素混洗块266的输出再次作为输入提供给递归像素混洗块266,用于另一次上采样,并且i的值减1。如果i<=2,则递归像素混洗块266的输出被提供给通道级联块220。在这个示例性迭代中,i=2,因此,递归像素混洗块266(即,第一上采样输出通道集合242)的输出被提供给通道级联块220。
现在描述第三分支(即图2B中最右分支)的操作。递归下采样块264再次对第二下采样通道子集244进行下采样,以生成两次下采样通道集合246。i的值递增到i=3,并再次与m进行比较(i=3,m=3)。由于i不小于m,因此将两次下采样通道集合246提供给低带宽卷积子块216。
与第一示例性多带宽卷积层200一样,低带宽卷积子块216生成两次下采样输出通道集合248。递归像素混洗块266以缩放因子N对两次下采样输出通道集合248应用上采样。这生成一次上采样输出通道集合(未示出),其维度与下采样输出通道集合240相同。
再次检查i的值:在此示例性迭代中,i当前等于3。由于i>2,递归像素混洗块266的输出再次作为输入提供给递归像素混洗块266,用于另一次上采样,并且i的值减1(i=2)。递归像素混洗块266以缩放因子N对其自己的先前输出应用第二次上采样,以生成第二上采样输出通道集合250。
再次检查i的值:在此示例性迭代中,i当前等于2。由于i<=2,递归像素混洗块266(即,第二上采样输出通道集合250)的输出被提供给通道级联块220。
通道级联块220级联第一输出通道集合232、第一上采样输出通道集合242和第二上采样输出通道集合250,以形成输出激活图148,如上文参考图2A所述。
图2C示出了用于操作图2B的第二示例性多带宽卷积层的方法270。在272处,输入激活图144由递归输入通道分组块262接收,该分组块执行第一分裂,以分裂为分支i和i+1(最初,分支i=1和i=2)。在274处,分支i+1的输入通道(最初i=2,这意味着输入通道是第二输入通道子集234)由递归下采样块264下采样。i的值递增,并在随后的分裂中重复272处的递归分裂操作和274处的递归下采样操作,直到i=m。
在276处,分支i的卷积运算然后应用于该分支的输入通道(最初,i=m,指示最低带宽分支,因此在m=3的实施例中,低带宽卷积子块216)。如果i>1,方法270进入步骤278,否则进入步骤282。
在278处,分支i的输出通道被递归像素混洗块266上采样总共(i–1)次。在280处,来自分支i的上采样通道被提供给通道级联块220。i的值递减,并且方法270返回到步骤276以处理次高带宽分支(i=m–1,然后i=m–2,等等)。
在282处,i的值已被确认等于1,这意味着全带宽卷积子块204已经完成了其卷积运算。分支i=1的卷积运算(即,第一输出通道集合232)的输出被提供给通道级联块220。
在284处,通道级联块220将其所有输入级联在一起。
包括本文描述的一个或多个示例性多带宽卷积层的CNN在被部署用于推理(即预测)以在推理模式下执行任务之前,在训练模式(也称为训练)中进行训练。本文描述的示例性实施例在训练包括一个或多个多带宽卷积层的CNN期间使用监督学习。在训练期间,标记的训练数据按照上述过程通过CNN的层(包括一个或多个多带宽卷积层)前向传播。基于使用应用于CNN的输出和训练数据的标签的损失函数计算的CNN的损失来调整各种卷积核222、224、226的权重。然后,计算的损失通过CNN的层(包括一个或多个多带宽卷积层)反向传播,以更新CNN的权重,包括多带宽卷积层的卷积核的权重。因此,在训练期间,基于CNN的输出(这是卷积层的输出激活图的函数)计算损失,并且基于计算的损失调整各种卷积核222、224、226的权重。输入通道分组、下采样(由平均池化和步长组成)、像素混洗和通道级联的操作都是可微的,因此图2B中的整个操作是端到端可微的。因此,CNN输出处的计算损失可以通过CNN的层(包括使用微分链规则的一个或多个多带宽卷积层)反向传播,如CNN训练中常用的那样。
应当理解,具有m>3的多带宽卷积层的实施例将具有多个中间带宽卷积子块,每个子块具有逐渐缩小的带宽。这些可以被称为第一中间带宽卷积子块(在第二分支中)、第二中间带宽卷积子块(在第三分支中)等等。低带宽卷积子块可以称为最终卷积子块。类似地,多带宽卷积子块的分支可以被称为第一分支(i=1)、第一中间分支或第二分支(i=2)、第二中间分支或第三分支(i=3),依此类推,直到最终分支(i=m)。
尽管本文描述的多带宽卷积层包括多个分支,多个分支的输入通道由输入通道分组块分配给这些多个分支,但将理解,其它实施例可以使用不同的特定机制来接收输入通道集合,并在将相应带宽缩放为相同带宽之后重新组合卷积输出之前以不同的相应带宽对相应输入通道子集执行两个或更多个卷积运算。
频段注意力函数
在各种示例中,本发明还描述了基于特定特征,包括卷积核的权重的幅度和权重在卷积核中的位置,识别多带宽卷积层200或260内的卷积核的重要权重。基于一些权重比其它权重更重要,本发明还描述了在训练期间关注更重要权重或为更重要权重提供注意力的示例性方法。在包括多带宽卷积层200或260中的一个或多个的CNN已经被训练用于特定任务,并且已经学习CNN的适当权重(包括多带宽卷积层200或260中的一个或多个的权重)之后,CNN的学习权重可以是固定的,并且可以部署包括多带宽卷积层200或260中的一个或多个的经过训练的CNN来执行训练CNN所针对的特定任务。
如下面将进一步讨论,本文公开的示例可以与现有方法一起使用,这些方法将注意力应用于卷积运算生成的输出通道(例如,在挤压和激励块或网络中使用)。
训练卷积神经网络的现有方法没有试图在训练卷积神经网络期间识别卷积核的重要权重,也没有试图将卷积神经网络的训练集中在减少卷积神经网络的卷积块的卷积核的更重要权重的错位(或错误学习)。
一些现有的方法(例如,见Siyuan等人,2019年;Tim Salimans等人,2016年;和Takeru Miyato等人,2018年)包括旨在使神经网络权重优化更容易、更稳定的权重再参数化技术。例如,权重标准化以减少损失和梯度的Lipschitz常数的方式对权重进行再参数化,从而获得更平滑的损失函数地图和更稳定的优化。通过更稳定的优化过程,权重值不太可能严重错位,卷积块被训练以实现一些良好的最小值。但是,这些方法并不试图识别重要权重,也不侧重于减少重要权重的错位。
在一些示例中,所公开的用于识别重要权重的方法和系统可用于提供改进的权重再参数化,以改进由多带宽卷积层执行的特征提取。
另一种现有的方法涉及注意力机制,该注意力机制学习以对CNN中的激活图的特定部分提供注意力(例如,见Jie Hu等人,2018年;Irwa Bello等人,2019年;Jongchan Park等人,2018年;Sanghuyn Woo等人,2018年)。这种基于激活的注意力学习方法通常对向网络的特定权重提供关注没有太多控制——例如,在“挤压和激励”网络中,激励的激活图通道使得向有助于生成该激活图通道的网络的所有权重提供注意力。此外,这种激活注意力提供方法通常需要额外的功能内存、额外的计算成本和/或在运行期间对网络架构的更改。
在各种示例中,本发明描述了用于对多带宽卷积层的卷积核集合的权重提供注意力(也称为“权重激励”)的机制,所述注意力直接针对卷积核集合的权重,所述权重在训练包含一个或多个多带宽层的卷积块的卷积神经网络期间更可能是重要的。在运行时可能需要很少或不需要额外的计算成本。此外,通过修改卷积神经网络的卷积运算或卷积块,可以相对容易地将本文描述的注意力机制添加到卷积神经网络的传统卷积块的卷积层中。所描述的注意力机制可以包括在所描述的多带宽卷积层中,以提高包括一个或多个所描述的多带宽卷积块的卷积神经网络的性能。
在本发明中,术语“权重激励”可用于指在训练包括一个或多个多带宽卷积块的卷积神经网络期间,对权重学习给予更多注意力或强调权重学习的过程。“权重激励机制”可以是任何被设计为对权重给予更多注意力(或激励)的机制。在一些情况下,术语“注意力”和“注意力机制”可以代替“激励”和“激励机制”。
图3A是可用于在挤压和激励神经网络(即本领域中已知为“挤压和激励”神经网络)训练期间执行操作的示例性方法300的流程图。方法300是对挤压和激励神经网络执行的操作的简化,其中,在传统卷积层执行卷积运算之后将注意力应用于权重。包含一个或多个卷积层和用于将注意力应用于权重的全连接层的块可以称为挤压和激励块。通常,输入激活图由挤压和激励块中的传统卷积层接收。在302处,使用卷积核集合对输入激活图执行卷积运算。已经学习了卷积核集合的权重,而没有将注意力集中在卷积核集合中特定的更重要的权重上。对输入激活图的第一数量的输入通道执行卷积运算,以生成第二数量的输出通道。在304处,将注意力应用于由卷积运算生成的输出。在挤压和激励块中,通过使用基于通道的注意力函数对挤压和激励块的全连接层的输出通道应用不同的权重来应用注意力,从而基于每个输出通道相对于每个其它输出通道的相对重要性缩放每个输出通道。需要说明的是,注意力并不直接应用于卷积层中卷积核集合的权重。
图3B是示出根据本发明的用于使用内置注意力执行卷积神经网络的多带宽卷积块操作的示例性方法350的流程图。与上述方法300相比,本发明使得能够通过将注意力直接应用于多带宽卷积块中的卷积核集合的权重来执行卷积网络的多带宽卷积块的操作。
与方法300类似,多带宽卷积层可以是CNN的任何卷积块中的层,输入到多带宽卷积层中的输入激活图144例如可以是卷积块的前一层(例如预处理层、卷积层、池化层等)的输出。例如,卷积块的前一层可以是多带宽卷积层200或260,也可以是传统的卷积层142。
在352处,使用具有内置注意力的卷积核执行卷积运算。由于将注意力应用于卷积核的权重(而不是应用于卷积层的输出),这种方法可以被称为“内置”注意力。在本发明中,描述了不同的机制(下文将更详细地描述),以使得能够将更多注意力应用于被认为更重要的多带宽卷积层的卷积核的权重。卷积核中更重要的权重是预期对多带宽卷积层性能贡献更大的权重,因此是在CNN训练期间应该比包括多带宽卷积层的CNN更优化的权重。相反,多带宽卷积层的卷积核中较不重要的权重是预期对包括多带宽卷积层的CNN性能贡献较小的权重,因此不必很好地学习。
在354处,可选地,还可以将注意力应用于由卷积运算生成的输出通道。在354处应用的注意力可以使用基于通道的注意力机制来应用,类似于在上面304处应用的注意力。因此,本发明中描述的内置注意力可以与现有的基于注意力的学习方法一起使用并使用该方法补充,该方法将注意力应用于由多带宽卷积块的卷积运算产生的输出。
然后,得到的输出激活图可以被CNN的分类头用于生成推断,使用应用于生成推断的损失函数计算损失,并使用计算的损失执行反向传播,以使用优化卷积核集合的权重的各种合适的技术(如梯度下降或梯度上升)更新CNN的层的权重,包括多带宽卷积层的卷积核集合的权重。需要说明的是,由于注意力已经直接应用于多带宽卷积层的卷积核集合的更重要权重,因此使用损失函数和反向传播计算的损失将更集中于更新和优化多带宽卷积层的卷积核集合的那些更重要的权重。
在包括一个或多个多带宽卷积层的CNN已经被训练并学习权重以实现CNN的期望精度之后,经过训练的CNN可以用于执行在推理期间训练所针对的特定任务。
基于卷积核的幅度,卷积核的权重可以被认为是更重要的权重(与卷积核集合中的其它权重相比)。通常,多带宽卷积块中的基线卷积运算可以表示为:
Figure BDA0004165540520000151
其中,yi是多带宽卷积层的第i个输出通道,x是输入(例如,1D、2D或3D(或更高维度)输入激活图),
Figure BDA0004165540520000152
是卷积算子,Wi是第i个卷积核。Wi的维度为In×h×w,其中,In是输入通道的数量,h和w分别是卷积核的高度和宽度。假设x非零,已经发现,与将Wi的最小幅度权重归零相比,将Wi的最大幅度权重归零将使yi(数学上表示为/>
Figure BDA0004165540520000153
)的变化更大。这表明,较高的幅度权重对卷积运算生成的输出贡献更大。因此,Wi的较高幅度权重可能比Wi的较低幅度权重对包括一个或多个多带宽卷积层的经过训练的CNN的性能(例如,精度)产生更大的影响。因此,Wi的较高幅度权重被认为比Wi的较低幅度权重更重要。
另一个可能导致Wi的权重被认为更重要的特征是应用该权重Wi的频段。在参考上面图2A和2B描述的多带宽卷积层200或260的上下文中,由于输入通道的下采样,多带宽卷积层200、260的每个分支在不同频段有效地执行卷积运算。因此,如果这些特征可能对包括多带宽卷积层200、260中的一个或多个的经过训练的卷积神经网络的性能具有更大的影响,则可以将注意力集中于在特定带宽或特定频段内提取特征的权重上。
由于Wi的权重的重要性取决于其幅度和频率特性,本发明描述了基于这两个特征中的每一个的权重激励机制。一种权重激励机制在这里被称为基于频率的权重激励(frequency-based weight excitation,FWE),另一种权重激励机制在这里被称为基于幅度的权重激励(magnitude-based weight excitation,MWE)。通常,为了激励Wi的重要权重wj,与提供给Wi的其它权重的幅度增益相比,将相对更大的幅度增益Gj应用于Wi的权重wj。由于权重wj的梯度也受到Gj的增益的影响,结果是向适当地优化权重wj提供更多的注意力。
图4是在包括一个或多个多带宽卷积层200、260的卷积神经网络的训练期间,将基于频率和基于幅度的注意力应用于Wi的权重的示例性方法400的流程图。由于将注意力应用于多带宽卷积层200、260的Wi的权重(与应用于多带宽卷积层200、260的输出通道相反),这种方法可以被称为“内置”注意力。
输入是多频段卷积层200、260的分支的4D权重张量(W(Out,In,h,w))。应理解,维度可以根据对多频段卷积层200、260的分支的输入的维度而不同:例如,图2B的多频段卷积层260的第一分支(i=1)的In和Out的值分别等于作为全带宽卷积块204的输入提供的第一输入通道子集230中的输入通道的数量(即In=αCin),以及作为全带宽卷积块204的输出生成的第一输出通道集合232中的输出通道的数量(即Out=αCout)。在一些示例中,权重W可以在每个第i个通道上标准化,类似于在馈入卷积块之前对输入进行标准化。标准化可计算为:
Wn,i=(Wi–μi)/σi
其中,Wn,i是第i个输出通道的归一化权重,μi和σi分别是第i个输出通道中权重的平均值和标准偏差。标准化的结果是标准化平均值为零,标准化偏差为1。这种标准化可以被执行以帮助简化卷积块的学习。
在402处,基于频率的注意力乘数f被学习,然后应用于权重。将参考图5讨论用于学习基于频率的注意力乘数f的子网的细节。本示例中的基于频率的注意力乘数f是在频域上应用于卷积层中的相应卷积核的不同乘数值的阵列。基于频率的注意力乘数f的尺寸是维度阵列Out×In。一般来说,乘数的幅度越高,应用于权重的注意力就越大。
在406处,基于幅度的注意力被应用于频率激励的权重Wm。基于幅度的权重激励机制为具有较高幅度的权重提供了更多的注意力。这涉及步骤408和410。
在408处,计算频率激励的权重的最大值M。
在410处,计算幅度激励的权重。注意力函数用于这种基于幅度的激励,下文将进一步讨论。
基于频率和基于幅度的激励的结果是注意力注入权重集合WA,其中,与不太重要的权重相比,更激励更重要的权重(根据频率和幅度特征确定)。注意力注入权重WA用于CNN训练期间的卷积运算,如上文关于图3B所讨论。
需要说明的是,基于频率和基于幅度的权重激励机制只能在训练期间应用。在CNN训练完成后,基于频率和基于幅度的权重激励机制可能不再使用。当经过训练的CNN被部署用于推理(即预测)时,不需要所公开的权重激励机制。这可能会导致很少或根本没有额外的计算成本、内存使用和CNN的整体架构中的结构变化。
现在参考图5A讨论如何学习基于频率的注意力乘数的细节。图5A的方法500可以在上面讨论的步骤402中使用。与上述方法300相比,这里描述的基于频率的权重激励机制使注意力直接应用于权重本身,而不是将注意力应用于卷积输出。
方法500的一般操作可以表示为
mi=FC2(FC1(Avg(Wn,i))) (1)
在502处,如上所述,对权重进行标准化,以获得标准化权重Wn,i
在503处,多维快速傅里叶变换(fast Fourier transform,FFT)操作被应用于权重。这将权重值从时空域变换为频域。FFT操作生成与输入张量相同维度的张量。
在504处,执行平均池化运算Avg。平均池化是一种将每个h×w核平均为一个平均值以产生In尺寸的张量的操作。平均池化运算可以作为降维的一种形式执行。这可能有助于减少计算次数,以帮助提高计算效率,并帮助简化CNN的学习。可以执行其它类型的降维操作。
在506和508处,平均权重被馈送到全连接层FC1和FC2中,并产生另一个In尺寸的张量。使用全连接层可以学习每个卷积核的相对重要性。因此,In尺寸的张量可以用作In卷积核的注意力乘数。
需要说明的是,对于卷积层的所有输出,FC1和FC2具有共享权重,并且对于1D卷积,Avg在w上平均,对于3D卷积,在t×h×w上平均。
虽然图5A中示出了两个全连接层,但在一些示例中,可以有一个全连接层,或三个(或更多个)全连接层。此外,在一些示例中,在一个或多个全连接层之后可以有激活层。该激活层可以应用sigmoid函数、修正线性单元、泄露修正线性单元函数或任何其它合适的激活函数。一个或多个全连接层之后的激活层可用于归一化或正则化将用于基于频率的权重激励机制的注意力乘数。通常,使用两个全连接层(具有或不具有以下激活函数)对于学习分类任务可能是常见的,并且可以能够学习通道之间更复杂(例如,非线性)关系。
在510处,每个输出通道的In尺寸张量通过值复制扩展到In×h×w尺寸的张量fi,以形成乘数阵列f。
需要说明的是,上述过程(由等式(1)表示)是针对每个输出通道Wn,i执行的,最终产生In个不同的注意力乘数fi
在512处,将基于频率的注意力乘数阵列f应用于权重。乘数阵列中的每个乘数fi独立地应用于每个通道Wn,i的归一化权重。在本示例中,乘数可以使用Hadamard乘法应用,使得
Figure BDA0004165540520000171
其中,
Figure BDA0004165540520000172
表示Hadamard乘法,Wf,i是应用基于频率的注意力乘数之后的第i个输出通道的权重。为简单起见,Wf,i也可以称为频率激励权重。
如下面将进一步讨论,基于频率的注意力乘数可以为每个卷积核应用独立的乘数。将独立乘数fi应用于相应卷积核的原理是,这些核中的每一个都应用于输入通道的不同频段,其权重的重要性各不相同,因此需要不同程度的注意力。
在514处,将步骤503的快速傅里叶变换的逆变换应用于权重。这将权重值从频域变换回其原始时空域。
在多带宽卷积层(例如200或260)的上下文中,方法500被单独应用于每个核集合,即,对于具有m=3的多频段卷积层200,方法500被应用三次:第一卷积滤波器集合222,第二卷积滤波器集合224,以及第三卷积滤波器集合226。
在一些实施例中,在方法500完成后,通过图5B所示的第二基于频率的注意力方法520进一步细化基于频率的注意力函数。方法520分别应用于每个核的每个通道(即,应用于每个核的每个h×w切片)。因此,在步骤514处,由快速傅里叶变换的逆变换生成的时空域中的经过注意力调整的权重被分割成各自尺寸为h×w的In个切片,并且每个切片是方法520的输入。
在522处,核权重的切片使用另一个快速傅里叶变换函数,以将其变换回频域,从而得到与输入具有相同维度的频域切片,即h×w,或简单写为h×w。
在524处,频域权重被馈送到全连接层FC3中,从而产生维度为(h×w)2的张量。
在526处,修正线性单元(rectified linear unit,ReLU)将修正线性激活函数应用于层FC3的输出张量。
在528处,ReLU的输出被提供给全连接层FC4,其输出的维度为h×w。
在530处,将sigmoid函数应用于层FC4的输出张量,以生成维度为h×w的另一个张量:该张量用作乘数阵列f2
如方法500的步骤506和508所述,示例性方法520使用两个全连接层。在方法520中,两个全连接层在它们之间具有ReLU函数和第二全连接层之后具有sigmoid函数。但是,在一些示例中,可以有一个全连接层,或三个(或更多个)全连接层。此外,一些实施例可以省略或改变全连接层之后的ReLU和/或sigmoid激活函数。在一些实施例中,这些函数可以是sigmoid函数、ReLU函数、泄露ReLU函数或任何其它合适的激活函数,这取决于由包括卷积块的神经网络执行的推理任务。
在532处,基于频率的注意力乘数阵列f2与方法520的输入权重(即,图5B顶部的经过注意力调整的权重)进行元素乘法或Hadamard乘法。需要说明的是,图5B的经过注意力调整的核权重的维度对于每个切片(即h×w)是相同的,因此对于所有的In和Out通道,方法520的输入维度和步骤530的输出维度是相同的,即Out×In×h×w,以在532处使用元素乘法。
在534处,如方法500的步骤514所示,通过应用快速傅里叶逆变换,权重被变换回时空域。此变换生成经过精细注意力调整的权重集合。
通过使用方法520对基于频率的注意力进行进一步细化,多带宽卷积层的一些实施例在提取不同带宽的特征时可以产生更准确的结果。
图6是可用于应用基于幅度的注意力的示例性基于幅度的注意力函数fA(wm)的曲线图。在一些上下文中,基于幅度的注意力函数fA(wm)也可以被称为激活函数。注意力函数接受单个权重值wm,并为具有相对较大幅度的权重提供相对较高的增益G。在本示例中,注意力函数为
Figure BDA0004165540520000181
其中,MA=(1+∈A)*M,M是多带宽卷积层中所有wm的最大值,∈A是一个值较小(0<∈A<0.2)的超参数。对于wm的较小值(即,较小的幅度权重),注意力函数fA近似于标识线(即,wA=wm)。由于标识线的梯度为1,因此应用fA后,wm的较小值
Figure BDA0004165540520000182
的向后传播梯度不受影响。对于wm的较大值(即较大的幅度权重),由于wm被MA归一化,梯度增益逐渐增加,同时保持有界(见等式(2))。
可以使用其它注意力函数(例如,
Figure BDA0004165540520000183
等)。一般来说,注意力函数fA(wm)应该为较大的wm值提供更高的幅度增益,应该是可微的,并避免梯度问题的消失和爆发。
在本发明中,权重激励可以使用基于频率的权重激励机制和基于幅度的权重激励机制来执行。这两种激励机构可以独立使用,也可以单独使用。例如,在图4的上下文中,步骤402和404可以被省略,以仅使用基于幅度的权重激励机制获得注意力注入权重。相反,步骤406至410可以被省略,以仅使用基于频率的权重激励机制获得注意力注入权重。在示例性研究中考虑了方法400的变化,该研究发现,与基于幅度的权重激励相比,基于频率的权重激励可能对精度提高有更大的影响。但是,由于基于频率的权重激励机制可以在每个通道的基础上计算,因此额外使用基于幅度的权重激励可能对于基于移位的卷积有用。
在各种示例中,描述了一种使用内置注意力训练CNN的方法,该内置注意力直接应用于CNN的一个或多个卷积层的核的权重。已经发现,这种方法可以提高CNN在推理期间执行特定任务时的性能(例如精度)。同时,在推理过程中,计算工作量很少或没有增加,因为在推理过程中不需要将注意力应用于权重的机制。
此外,由于CNN中的全连接层也可以表示为卷积运算,因此本文公开的内置注意力机制也可以应用于使用全连接层的各种其它应用中。
输出通道的混洗级联
在一些实施例中,多带宽卷积层200或260的通道级联块220可以是使用混洗级联方法的混洗级联块,以便更有效地学习基于从多带宽卷积层的所有低带宽到高带宽分支获得的特征生成推断。通过使用混洗级联,为下一个卷积块处理生成的输出激活图148可以混合由多带宽卷积层提取的低频到高频特征。混合低频和高频特征的原理是大多数视觉理解通常基于广泛的频率特征(例如,识别猫需要理解高频特征,如胡须,和低频特征,如皮肤纹理)。
混洗级联可以分解为两个基本操作——级联和混洗。
级联将来自不同分支的输出通道级联。例如,对于m=2,高带宽分支产生6个输出通道,低带宽分支产生2个输出通道,级联输出通道将产生8个通道。但是,通过基本级联,高带宽和低带宽通道保持聚集和分离。
混洗打破了高带宽分支和低带宽分支的聚集分离。对于上述示例,假设高带宽分支具有输出通道A1、A2、A3、A4、A5、A6,而低带宽分支具有输出通道B1、B2,简单的级联会实现以下顺序的级联输出通道A1,A2,A3,A4,A5,A6,B1,B2。混洗以“跳过两个”模式进行,使得上述通道被混洗为A1,A3,A5,B1,A2,A4,A6,B2。
这也适用于m>2,即两个以上的分支。在示例性实现方式中,最高带宽分支贡献4个输出通道(A1、A2、A3、A4),次高带宽分支贡献2个输出通道(B1、B2),最低带宽分支贡献2个输出通道(C1、C2),级联输出通道从(A1,A2,A3,A4,B1,B2,C1,C2)混洗为(A1,A3,B1,C1,A2,A4,B2,C2)。
图7A示出了用于对来自多带宽卷积块的多个分支的输出通道进行递归混洗级联以形成混洗输出激活图的方法700。方法700从多频段卷积块(i=m)的最低带宽分支的输出通道开始。在702处,接收来自下一个最低带宽分支(i=m–1)的输出通道。两个最低带宽分支是在上述并在图2B中示出的第二示例性多带宽卷积层260中对应于i=m和i=m–1的分支。在所述的多带宽卷积层260的操作示例中,其中m=3,这意味着第二上采样输出通道集合250(由标记为“i=3”的最右分支生成)和第一上采样输出通道集合242(由标记为“i=2”的中间分支生成)。
在704处,使用混洗模式将两个输出通道集合中的通道级联在一起,而不是简单地将第二通道集合附加在第一通道集合之后。在一些实施例中,该混洗模式是“跳过两个”模式,其中,N个通道按通道1,2,3,……,N顺序接收的每个N通道集合按1,4,7,……,2,5,8,……,3,6,9,……的顺序连接在一起。在其它实施例中,混洗模式可以是“跳过一个”模式(奇数通道后跟偶数通道)、“跳过S个”模式,其中,S是任何正整数,或将多个分支的聚集输出通道混合在一起的一些其它混洗模式。
因此,在上面参考图2B描述的示例中,假设Cout=128且α=0.875,第一输出通道集合232将由112个通道(编号为1至112)组成,第一上采样输出通道集合242将由14个通道(编号为113至126)组成,第二上采样输出通道集合250将由2个通道(编号127和128)组成。在步骤702和704的第一次迭代中,将在步骤702处接收编号为113至126和127至128的输出通道,并且在步骤704处,它们将使用“跳过两个”混洗模式进行混洗,并级联成编号如下的通道顺序(113,116,119,122,125,128,114,117,120,123,126,115,118,121,124,127)。
在步骤704处,其它实施例可以使用不同的混洗模式。
在步骤704之后,检查m的值。如果m<2,则最后一个分支(即,图2B中标记为i=1的最左分支)已经被处理,并且到目前为止级联步骤的结果被提供为混洗输出激活图(代替输出激活图148)。如果m>=2,则m的值减一,并且方法520返回到步骤702,以将下一个较高带宽分支的输出通道与在步骤702和704的上一次迭代中已经级联的输出通道级联。在目前描述的示例性迭代中,这将表示接收最右分支(i=1)的输出通道,即第一112个输出通道集合232,并在步骤704处将它们与前一混洗级联通道集合混洗和级联。这将得到编号为1,4,7,……,112,119,128,120,115,124,2,5,……等等的输出通道。
图7B示出了用于对来自多带宽卷积块的多个分支的输出通道的非递归混洗级联以形成混洗输出激活图的方法750。在752处,通道级联块从多带宽卷积块的每个分支接收输出通道。在754处,根据上述示例,将多个输出通道集合级联在一起,例如,第一分支的输出通道A1、A2、A3、A4、A5、A6、第二分支的输出通道B1、B2和第三分支的输出通道C1、C2使用“跳过两个”混洗模式从(A1,A2,A3,A4,B1,B2,C1,C2)混洗为(A1,A3,B1,C1,A2,A4,B2,C2)。如在上面的方法700中,不同的混洗模式可以在不同的实施例中使用。
通过使用混洗级联,在一些实施例中可以组合从低带宽到高带宽路径生成的特征。这可以使得神经网络后期层中的后续卷积运算从具有不同带宽的特征中学习。低带宽路径将倾向于富含高感受野,而高带宽路径将倾向于富含高分辨率特征。在学习中将两者结合在一起,可以使它们相互补充,从而有可能提高神经网络的性能。
在一些实施例中,如上所述由多带宽卷积层200、260执行的2D多带宽分离的2D卷积可以扩展为3D,方式是使用混洗级联技术结合以下文献中提出的时间移位的3D卷积运算:Lin J,Gan C和Han S.在“用于高效视频理解的时移模块(Temporal shift module forefficient video understanding)”(arXiv:1811.08383,2018Nov 20,https:// arxiv.org/pdf/1811.08383.pdf)(下文为“Lin”),该文献以全文引用的方式并入本文中。
图8示出了在卷积运算之前和之后使用采用混洗级联的3D多带宽分离特征提取卷积块的多带宽分离3D卷积的示例性方法800。
在802处,由多个3D数据通道(例如沿着第3时间维度布置的2D视频帧集)组成的输入激活图进行用于3D卷积近似的3维移位,如上文Lin所述。在一些实施例中,这需要使用时间移位模块(temporal shift module,TSM)沿时间维度移位一些输入通道,从而促进输入数据的相邻时间切片(例如视频帧)之间的信息交换。但是,一些实施例可以执行3维移位,其中,每个通道的各种维度不是高度、宽度和时间。
在804处,如上面方法750的步骤754所述,级联混洗操作被应用于移位的输入通道。
在806处,应用多带宽卷积运算的3D版本,类似于上面参考图2A和图2B描述的示例。上文Lin中描述的3D卷积运算可以用来代替由示例性多带宽卷积层200、260的卷积子块204、210、216应用的2D卷积运算。否则,该步骤806对应于多带宽卷积层200或260的整个操作系列。
在808处,如上面方法750的步骤754所述,第二级联混洗操作被应用到多带宽卷积块的输出通道。
第二混洗级联操作的输出是具有内置多带宽分离的时间(或其它3维)移位的3D卷积输出。当扩展到3D卷积时,低带宽空间特征、低带宽时间特征、高带宽空间特征和高带宽时间特征都可以提取和组合。Feichtenhofer C、Fan H、Malik J和He K.在“视频识别的慢速网络(Slowfast networks for video recognition)”(arXiv:1812.03982,2018Dec 10,https://arxiv.org/pdf/1812.03982.pdf)中描述的慢速网络也采取了类似的方法,该文献以全文引用的方式并入本文。但是,慢速网络使用单独的网络来提取空间信息和时间信息,而目前描述的示例性3D卷积块可以使用单个卷积块执行这两个功能。
本文描述的多带宽卷积层使用重复下采样为逐渐降低带宽的分支提供输入通道,逐渐增加感受野,并可以增强卷积块的特征提取能力,从而增强整个网络的推理能力。由于较低带宽分支具有相对较低的计算成本,因此在一些实施例中,可以配置与管理较低带宽分支的输入分裂、下采样和上采样相关的网络架构中的任何增加的复杂性,使得它相对于传统卷积块不会显著影响整个多带宽卷积块的计算效率。
尽管本发明通过按照一定的顺序执行的步骤描述方法和过程,但是可以适当地省略或改变方法和过程中的一个或多个步骤。在适当情况下,一个或多个步骤可以按所描述的顺序以外的顺序执行。
尽管本发明在方法方面至少部分地进行了描述,但本领域普通技术人员将理解,本发明也针对用于执行所述方法的至少一些方面和特征的各种组件,无论是通过硬件组件、软件还是其任意组合。相应地,本发明的技术方案可以通过软件产品的形式体现。合适的软件产品可以存储在预先记录的存储设备或其它类似的非易失性或非瞬时性计算机可读介质中,包括DVD、CD-ROM、USB闪存盘、可移动硬盘或其它存储介质等。软件产品包括有形地存储在其上的指令,所述指令使得处理设备(例如,个人计算机、服务器或网络设备)能够执行本文中公开的方法的示例。
在不脱离权利要求书的主题的前提下,本发明可以通过其它特定形式实现。所描述的示例性实施例在各方面都仅仅是示意性的,而不是限制性的。可以组合从一个或多个上述实施例中选择的特征,以创建非显式描述的可选实施例,在本发明的范围内可以理解适合于此类组合的特征。
还公开了公开范围内的所有值和子范围。此外,尽管本文所公开和显示的系统、设备和流程可包括特定数量的元素/组件,但可以修改所述系统、设备和组件,以包括此类元素/组件中的更多或更少的元素/组件。例如,尽管所公开的任何元件/组件可以引用为单个数量,但是可以修改本文所公开的实施例以包括多个此类元件/组件。本文所描述的主题旨在覆盖和涵盖所有适当的技术变更。
在本发明中识别的所有发表论文的内容通过引用的方式并入本文。
本发明的其它方面和示例在所附附录中给出,其全部内容在此并入到本发明中。

Claims (22)

1.一种用于执行卷积神经网络的多带宽分离特征提取卷积层的操作的方法,其特征在于,所述方法包括:
接收包括多个输入通道的输入激活图;
将所述多个输入通道分组为包括第一输入通道子集和第二输入通道子集的多个输入通道子集;
将所述第一输入通道子集中的每个相应输入通道与第一卷积核集合中的每个卷积核卷积,以生成全带宽输出通道集合;
按缩放因子对所述第二输入通道子集中的每个相应输入通道进行下采样,以生成第一下采样通道集合;
将每个相应下采样通道与第二卷积核集合中的每个卷积核卷积,以生成下采样输出通道集合,每个下采样输出通道的元素数量比所述全带宽输出通道中的一个的元素数量少,所述全带宽输出通道的元素数量是所述每个下采样输出通道的元素数量的所述缩放因子倍;
对于所述下采样输出通道集合中的每个相应下采样输出通道,将所述相应下采样输出通道的像素混洗到与全带宽输出通道具有相同尺寸的上采样输出通道中,从而生成第一上采样输出通道集合;
通过级联所述全带宽输出通道集合和所述第一上采样输出通道集合来生成输出激活图。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
还将所述多个输入通道分组为一个或多个附加输入通道子集;
对于每个附加输入通道子集:
按不同的附加缩放因子对所述附加输入通道子集中的每个输入通道进行下采样,以生成附加下采样通道集合;
将所述下采样通道与不同的附加卷积核集合卷积,以生成附加下采样输出通道集合,每个下采样输出通道的元素数量比所述全带宽输出通道中的一个的元素数量少,所述全带宽输出通道的元素数量是所述每个下采样输出通道的元素数量的不同的附加缩放因子倍;
对于每个相应下采样输出通道,将所述相应下采样输出通道的所述像素混洗到与全带宽输出通道具有相同尺寸的单个上采样输出通道中,从而生成附加上采样输出通道集合,
其中,生成所述输出激活图还包括将每个附加上采样输出通道集合与所述全带宽输出通道集合和所述第一上采样输出通道集合级联。
3.根据权利要求1或2所述的方法,其特征在于,
将下采样通道集合的像素混洗到单个上采样输出通道中包括生成输出通道,所述输出通道包括多个像素簇,每个像素簇包括从所述下采样通道集合中的每个下采样通道中选择的一个像素。
4.根据权利要求1至3中任一项所述的方法,其特征在于,还包括:
使用所述输出激活图生成推理;
基于所述推理计算损失函数;
基于计算出的损失函数更新每个卷积核集合。
5.根据权利要求1至4中任一项所述的方法,其特征在于,还包括,对于每个卷积核集合:
在将每个输入通道子集与其相应卷积核集合卷积之前:
学习基于频率的注意力乘数集合;
将所述基于频率的注意力乘数集合应用于所述卷积核集合的权重;
将基于幅度的注意力函数应用于所述卷积核集合的所述权重。
6.根据权利要求4或5所述的方法,其特征在于,还包括:
在计算所述损失函数之前,将基于频率的注意力函数应用于所述输出激活图。
7.根据权利要求5或6所述的方法,其特征在于,学习每个所述基于频率的注意力乘数集合包括:
标准化所述卷积核集合中的所述权重;
将傅里叶变换函数应用于所述卷积核集合,以生成频域卷积核集合;
进行平均池化,以获得每个频域卷积核的平均权重;
通过所述卷积神经网络的一个或多个全连接层馈送所述频域卷积核的所述平均权重,以学习每个频域卷积核的所述注意力乘数;
将所述注意力乘数扩展到每个相应卷积核中的所有权重,以获得所述基于频率的注意力乘数集合,
其中,将所述基于频率的注意力乘数集合应用于每个卷积核集合的所述权重包括:
将所述基于频率的注意力乘数集合乘以所述频域卷积核集合,以生成注意力注入的频域卷积核集合;
将傅里叶逆变换函数应用于所述注意力注入的频域卷积核集合。
8.根据权利要求5至7中任一项所述的方法,其特征在于:
存在两个全连接层,用于学习每个卷积核的所述注意力乘数;
所述基于幅度的注意力函数对幅度较大的权重应用更多的注意力,对幅度较小的权重应用更少的注意力;
所述基于幅度的注意力函数是
Figure FDA0004165540510000021
其中,wm是卷积核的权重,wA是在应用基于幅度的注意力之后的权重,MA=(1+∈A)*M,M是卷积层中所有wm的最大值,∈A是具有选定小值的超参数。
9.根据权利要求1至8中任一项所述的方法,其特征在于,级联所述全带宽输出通道集合和所述第一上采样输出通道集合以生成所述输出激活图包括:
在混洗级联块处接收所述全带宽输出通道集合和所述第一上采样输出通道集合;
根据混洗模式级联所述全带宽输出通道集合中的所述输出通道和所述第一上采样输出通道集合中的所述输出通道,使得所述第一上采样输出通道集合中的至少一个输出通道按顺序在所述全带宽输出通道集合中的第一输出通道之后级联,并按顺序在所述全带宽输出通道集合中的第二输出通道之前级联。
10.根据权利要求9所述的方法,其特征在于,所述混洗模式是“跳过S个”混洗模式,S是正整数。
11.一种用于执行卷积神经网络的多带宽分离特征提取卷积层的操作的系统,其特征在于,包括处理器和存储器,所述存储器存储指令,所述指令当由所述处理器设备执行时,使所述系统:
接收包括多个输入通道的输入激活图;
将所述多个输入通道分组为包括第一输入通道子集和第二输入通道子集的多个输入通道子集;
将所述第一输入通道子集中的每个相应输入通道与第一卷积核集合中的每个卷积核卷积,以生成全带宽输出通道集合;
按缩放因子对所述第二输入通道子集中的每个相应输入通道进行下采样,以生成第一下采样通道集合;
将每个相应下采样通道与第二卷积核集合中的每个卷积核卷积,以生成下采样输出通道集合,每个下采样输出通道的元素数量比所述全带宽输出通道中的一个的元素数量少,所述全带宽输出通道的元素数量是所述每个下采样输出通道的元素数量的所述缩放因子倍;
对于所述下采样输出通道集合中的每个相应下采样输出通道,将所述相应下采样输出通道的像素混洗到与全带宽输出通道具有相同尺寸的上采样输出通道中,从而生成第一上采样输出通道集合;
通过级联所述全带宽输出通道集合和所述第一上采样输出通道集合来生成输出激活图。
12.根据权利要求11所述的系统,其特征在于,所述指令在由所述处理器设备执行时,还使所述系统:
还将所述多个输入通道分组为一个或多个附加输入通道子集;
对于每个附加输入通道子集:
按不同的附加缩放因子对所述附加输入通道子集中的每个输入通道进行下采样,以生成附加下采样通道集合;
将所述下采样通道与不同的附加卷积核集合卷积,以生成附加下采样输出通道集合,每个下采样输出通道的元素数量比所述全带宽输出通道中的一个的元素数量少,所述全带宽输出通道的元素数量是所述每个下采样输出通道的元素数量的不同的附加缩放因子倍;
对于每个相应下采样输出通道,将所述相应下采样输出通道的所述像素混洗到与全带宽输出通道具有相同尺寸的单个上采样输出通道中,从而生成附加上采样输出通道集合,
其中,生成所述输出激活图还包括将每个附加上采样输出通道集合与所述全带宽输出通道集合和所述第一上采样输出通道集合级联。
13.根据权利要求11或12所述的系统,其特征在于:
将下采样通道集合的像素混洗到单个上采样输出通道中包括生成输出通道,所述输出通道包括多个像素簇,每个像素簇包括从所述下采样通道集合中的每个下采样通道中选择的一个像素。
14.根据权利要求11至13中任一项所述的系统,其特征在于,所述指令当由所述处理器设备执行时,还使所述系统:
使用所述输出激活图生成推理;
基于所述推理计算损失函数;
基于计算出的损失函数更新每个卷积核集合。
15.根据权利要求11至14中任一项所述的系统,其特征在于,所述指令当由所述处理器设备执行时,还使所述系统,对于每个卷积核集合:
在将每个输入通道子集与其相应卷积核集合卷积之前:
学习基于频率的注意力乘数集合;
将所述基于频率的注意力乘数集合应用于所述卷积核集合的权重;
将基于幅度的注意力函数应用于所述卷积核集合的所述权重。
16.根据权利要求14或15所述的系统,其特征在于,所述指令在由所述处理器设备执行时,还使所述系统:
在计算所述损失函数之前,将基于频率的注意力函数应用于所述输出激活图。
17.根据权利要求15或16所述的系统,其特征在于,学习每个基于频率的注意力乘数集合包括:
标准化所述卷积核集合中的所述权重;
将傅里叶变换函数应用于所述卷积核集合,以生成频域卷积核集合;
进行平均池化,以获得每个频域卷积核的平均权重;
通过所述卷积神经网络的一个或多个全连接层馈送所述频域卷积核的所述平均权重,以学习每个频域卷积核的所述注意力乘数;
将所述注意力乘数扩展到每个相应卷积核中的所有权重,以获得所述基于频率的注意力乘数集合,
其中,将所述基于频率的注意力乘数集合应用于每个卷积核集合的所述权重包括:
将所述基于频率的注意力乘数集合乘以所述频域卷积核集合,以生成注意力注入的频域卷积核集合;
将傅里叶逆变换函数应用于所述注意力注入的频域卷积核集合。
18.根据权利要求15至17中任一项所述的系统,其特征在于:
存在两个全连接层,用于学习每个卷积核的所述注意力乘数;
所述基于幅度的注意力函数对幅度较大的权重应用更多的注意力,对幅度较小的权重应用更少的注意力;
所述基于幅度的注意力函数是
Figure FDA0004165540510000041
其中,wm是卷积核的权重,wA是在应用基于幅度的注意力之后的权重,MA=(1+∈A)*M,M是卷积层中所有wm的最大值,∈A是具有选定小值的超参数。
19.根据权利要求11至18中任一项所述的系统,其特征在于,级联所述全带宽输出通道集合和所述第一上采样输出通道集合以生成所述输出激活图包括:
在混洗级联块处接收所述全带宽输出通道集合和所述第一上采样输出通道集合;
根据混洗模式级联所述全带宽输出通道集合中的所述输出通道和所述第一上采样输出通道集合中的所述输出通道,使得所述第一上采样输出通道集合中的至少一个输出通道按顺序在所述全带宽输出通道集合中的第一输出通道之后级联,并按顺序在所述全带宽输出通道集合中的第二输出通道之前级联。
20.根据权利要求19所述的方法,其特征在于,所述混洗模式是“跳过S个”混洗模式,S是正整数。
21.一种有形存储有指令的非瞬时性计算机可读介质,其特征在于,所述指令由处理单元执行时,使所述处理单元执行根据权利要求1至10中任一项所述的方法。
22.一种包括指令的计算机程序,其特征在于,所述指令当由处理单元执行时,使所述处理单元执行根据权利要求1至10中任一项所述的方法。
CN202180068833.XA 2020-10-08 2021-09-08 卷积神经网络的多带宽分离特征提取卷积层 Pending CN116324811A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US17/066,220 2020-10-08
US17/066,220 US20220114424A1 (en) 2020-10-08 2020-10-08 Multi-bandwidth separated feature extraction convolution layer for convolutional neural networks
PCT/CN2021/117299 WO2022073408A1 (en) 2020-10-08 2021-09-08 Multi-bandwidth separated feature extraction convolution layer for convolutional neural networks

Publications (1)

Publication Number Publication Date
CN116324811A true CN116324811A (zh) 2023-06-23

Family

ID=81077793

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202180068833.XA Pending CN116324811A (zh) 2020-10-08 2021-09-08 卷积神经网络的多带宽分离特征提取卷积层

Country Status (3)

Country Link
US (1) US20220114424A1 (zh)
CN (1) CN116324811A (zh)
WO (1) WO2022073408A1 (zh)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3923183B1 (en) * 2020-06-11 2024-07-24 Tata Consultancy Services Limited Method and system for video analysis
US12087096B2 (en) * 2021-03-31 2024-09-10 Samsung Electronics Co., Ltd. Method and apparatus with biometric spoofing consideration
US20220383858A1 (en) * 2021-05-28 2022-12-01 Asapp, Inc. Contextual feature vectors for processing speech
US12087307B2 (en) * 2021-11-30 2024-09-10 Samsung Electronics Co., Ltd. Method and apparatus for performing speaker diarization on mixed-bandwidth speech signals
CN114863132B (zh) * 2022-05-31 2024-09-24 中国科学技术大学 图像空域信息的建模与捕捉方法、系统、设备及存储介质
CN115291864B (zh) * 2022-06-30 2024-03-29 浙江大学 一种基于图神经网络的零碎图层检测方法及装置
WO2024007160A1 (en) * 2022-07-05 2024-01-11 Guangdong Oppo Mobile Telecommunications Corp., Ltd. Convolutional neural network (cnn) filter for super-resolution with reference picture resampling (rpr) functionality
CN115758054B (zh) * 2023-02-10 2023-04-14 上海登临科技有限公司 一种卷积计算方法、数据处理方法、芯片及电子设备
CN116309601B (zh) * 2023-05-24 2023-08-22 泉州装备制造研究所 基于Lite-EDNet的皮革缺陷实时检测方法
CN116311951B (zh) * 2023-05-25 2023-08-22 湖南工商大学 一种交通出行量数据处理方法、装置、设备及存储介质
CN117711423B (zh) * 2024-02-05 2024-05-10 西北工业大学 联合听觉场景分析与深度学习的混合水声信号分离方法及系统
CN117788963B (zh) * 2024-02-27 2024-07-05 中科卫创(西安)信息技术有限公司 一种基于深度学习的遥感影像数据管理方法及系统

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017152990A1 (en) * 2016-03-11 2017-09-14 Telecom Italia S.P.A. Convolutional neural networks, particularly for image analysis
EP3607488A4 (en) * 2017-04-07 2020-11-25 INTEL Corporation METHODS AND SYSTEMS WITH IMPROVED NEURAL FOLDING NETWORKS FOR IMAGE PROCESSING
US11429867B2 (en) * 2018-10-11 2022-08-30 International Business Machines Corporation Down-sampling for convolutional neural networks
CN109903301B (zh) * 2019-01-28 2021-04-13 杭州电子科技大学 一种基于多级特征信道优化编码的图像轮廓检测方法
US11341210B2 (en) * 2019-02-15 2022-05-24 Apple Inc. Two-dimensional multi-layer convolution for deep learning
WO2021247034A1 (en) * 2020-06-05 2021-12-09 Aetherai Ip Holding Llc Object detection method and convolution neural network for the same

Also Published As

Publication number Publication date
WO2022073408A1 (en) 2022-04-14
US20220114424A1 (en) 2022-04-14

Similar Documents

Publication Publication Date Title
CN116324811A (zh) 卷积神经网络的多带宽分离特征提取卷积层
CN107622302B (zh) 用于卷积神经网络的超像素方法
CN114556370A (zh) 用于使用内置注意力训练卷积神经网络的方法和系统
Gao et al. Pixel deconvolutional networks
CN111832570A (zh) 一种图像语义分割模型训练方法及系统
CN118043858A (zh) 基于卷积神经网络的图像处理方法和系统
JP6902318B2 (ja) ニューラルネットワークの全結合層を畳み込み層に置き換えるプログラム
Thakur et al. PReLU and edge‐aware filter‐based image denoiser using convolutional neural network
WO2020003434A1 (ja) 機械学習方法、機械学習装置、及び機械学習プログラム
Esmaeilzehi et al. SRNSSI: A deep light-weight network for single image super resolution using spatial and spectral information
Lensink et al. Fully hyperbolic convolutional neural networks
Du et al. Blind image denoising via dynamic dual learning
Wolter et al. Adaptive wavelet pooling for convolutional neural networks
CN113095473A (zh) 神经网络架构搜索系统和方法及计算机可读记录介质
CN114037770B (zh) 一种基于离散傅里叶变换的注意力机制的图像生成方法
JP6528349B1 (ja) 情報処理装置及び情報処理方法
CN114549300A (zh) 图像字典的生成方法、图像重建方法及相关装置
Lin et al. Generative adversarial image super‐resolution network for multiple degradations
van den Oord et al. Locally-connected transformations for deep gmms
CN113506581A (zh) 一种语音增强方法和装置
Grady Computing exact discrete minimal surfaces: Extending and solving the shortest path problem in 3D with application to segmentation
Amaranageswarao et al. Deep dilated and densely connected parallel convolutional groups for compression artifacts reduction
US11379558B2 (en) System enhancement methodology via matrix multiplication efficiency speedup using sparse basis approach
El Houfi et al. Efficient use of recent progresses for Real-time Semantic segmentation
Mahendran Squeeze aggregated excitation network

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