CN109670574B - 用于同时执行激活和卷积运算的方法和装置及其学习方法和学习装置 - Google Patents

用于同时执行激活和卷积运算的方法和装置及其学习方法和学习装置 Download PDF

Info

Publication number
CN109670574B
CN109670574B CN201811196668.2A CN201811196668A CN109670574B CN 109670574 B CN109670574 B CN 109670574B CN 201811196668 A CN201811196668 A CN 201811196668A CN 109670574 B CN109670574 B CN 109670574B
Authority
CN
China
Prior art keywords
value
cnn
convolution
layer
specific
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
CN201811196668.2A
Other languages
English (en)
Other versions
CN109670574A (zh
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.)
Stradvision Inc
Original Assignee
Stradvision Inc
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 Stradvision Inc filed Critical Stradvision Inc
Publication of CN109670574A publication Critical patent/CN109670574A/zh
Application granted granted Critical
Publication of CN109670574B publication Critical patent/CN109670574B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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
    • 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/04Architecture, e.g. interconnection topology
    • G06N3/0464Convolutional networks [CNN, ConvNet]
    • 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/11Complex mathematical operations for solving equations, e.g. nonlinear equations, general mathematical optimization problems
    • G06F17/12Simultaneous equations, e.g. systems of linear equations
    • 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/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • 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
    • 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
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

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)
  • Life Sciences & Earth Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Computational Linguistics (AREA)
  • Computing Systems (AREA)
  • Molecular Biology (AREA)
  • General Health & Medical Sciences (AREA)
  • Biophysics (AREA)
  • Biomedical Technology (AREA)
  • Health & Medical Sciences (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Analysis (AREA)
  • Computational Mathematics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Operations Research (AREA)
  • Algebra (AREA)
  • Databases & Information Systems (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Biology (AREA)
  • Complex Calculations (AREA)
  • Image Analysis (AREA)

Abstract

本发明提供了一种用于配置具有学习参数的CNN的方法,所述方法同时执行激活模块的激活运算和卷积层中的一个或多个卷积层的卷积运算。所述方法包括以下步骤:(a)允许比较器将与作为测试图像的输入图像的每个像素值相对应的输入值与预定参考值进行比较,然后输出比较结果;(b)允许选择器输出与所述卷积层的多个参数中的所述比较结果相对应的特定参数;以及(c)允许乘法器输出通过将特定参数乘以输入值而计算出的乘积值,并允许所述乘积值被确定为通过对所述激活模块的输出应用所述卷积层而取得的结果值。

Description

用于同时执行激活和卷积运算的方法和装置及其学习方法和 学习装置
技术领域
本发明涉及一种同时执行激活运算和卷积运算的方法和装置;更具体地,涉及如下方法,该方法用于配置具有学习参数的CNN(Convolution Neural Networks,卷积神经网络),所述方法同时执行激活模块的激活运算和卷积层的卷积运算,该方法包括以下步骤:(a)计算装置允许所述CNN的运算单元中的比较器将与作为测试图像的输入图像的每个像素值相对应的输入值与预定参考值进行比较,然后输出通过参照关于所述输入值落入的区段的信息确定的比较结果,所述预定参考值用于划分包括要与所述输入值进行比较的各个范围的区段;(b)所述计算装置允许所述CNN的所述运算单元中的第一选择器执行输出与卷积过滤器的多个综合权重参数中的比较结果相对应的特定综合权重参数的处理,并允许所述CNN的所述运算单元中的第二选择器执行输出与卷积过滤器的多个调整偏差参数中的比较结果相对应的特定调整偏差参数的处理;(c)所述计算装置允许所述CNN的所述运算单元中的乘法器输出通过将所述特定综合权重参数乘以所述输入值而计算出的乘积值;并且所述计算装置允许所述CNN的所述运算单元中的加法器输出通过将所述特定调整偏差参数累加到所述乘积值而计算出的合计值,并允许所述合计值被确定为通过对所述激活模块的输出应用所述卷积过滤器的卷积运算而取得的结果值。
背景技术
深度卷积神经网络或深度CNN,是深度学习领域显著发展的核心。尽管CNN已被用于解决20世纪90年代的字符识别问题,但直到最近CNN才在机器学习中得到广泛应用。由于最近的研究,CNN已经成为机器学习领域非常有用和强大的工具。例如,在2012年,CNN在年度软件竞赛ImageNet大规模视觉识别挑战赛中的表现明显优于其竞争对手,并赢得了比赛。之后,CNN已经成为机器学习领域中非常有用的工具。
图1示出了具有能够执行CReLU运算和卷积运算的CNN的以往规学习装置的结构。
通过参考图1,常规的学习装置具有交替布置的许多卷积层(例如卷积层110和130)以及许多级联修正线性单元(CReLU,Concatenated Rectified Linear Units)(例如CReLU 120和其它CReLU(未示出))。
这里,CReLU 120可以包括两个修正线性单元(ReLU)122,并且ReLU 122的运算通过以下公式来执行:
[公式1]
ReLU(x)=max(0,x)
CReLU是一种激活机制,其按照下面的公式另外进行ReLU的负激活以及正激活。
[公式2]
CReLU(x)=(ReLU(x),ReLU(-x))=(max(0,x),max(0,-x))
与ReLU相比,CReLU可以使结果值的数量加倍,而不会增加卷积层的计算负载。因此,CReLU可以在保持检测速度的同时提高检测精度。
在图1中,CReLU 120包括一个比例层121、两个ReLU层122和级联层123。
详细地,比例层121将从先前卷积层110输出的值乘以比例-1,得到缩放后的值。
此外,ReLU层122中的一个接收从先前卷积层110输出的值,然后将ReLU运算应用到接收到的值,并且ReLU层122中的另一个从比例层121接收缩放后的值,然后将ReLU运算应用到缩放后的值。
通过参考图1,如果(即如下的特征映射:其在x=0,y=0,并且信道ch=0处的像素值为1;在x=1,y=0,并且ch=1处的像素值为2;x=0,y=1,并且ch=1处像素值为3;x=1,y=1,并且ch=0处像素值为4;除了上述4个像素之外其它像素值为0)作为从先前卷积层110输出的值被输入到CReLU 120,则第一ReLU层接收/>而第二ReLU层接收/>然后第一ReLU层和第二ReLU层的每一个执行正激活运算,以便由此生成和/>随后发送到级联层123。然后,级联层123将/>级联并因此生成/>然后将/>发送到卷积层130。卷积层130对/>执行卷积运算。
如图1所示,如果分别执行CReLU层的运算和卷积层的运算,则执行每个独立运算,因此,计算负载变得太大。
因此,本发明的发明人提供了一种新方法,用于减少使用CReLU的CNN的计算负载。
发明内容
本发明的一个目的是解决上述所有问题。
本发明的一个目的是提供一种通过在不增加CNN的计算负载的情况下提高CNN的配置的复杂度来提高检测精度的方法。
根据本发明的一个方面,提供了一种用于配置具有学习参数的CNN的方法,所述方法同时执行激活模块的激活运算和卷积层的卷积运算,包括以下步骤:(a)计算装置允许所述卷积神经网络的运算单元中的比较器将与输入图像的每个像素值对应的输入值和预定参考值进行比较,然后输出比较结果;(b)所述计算装置允许所述卷积神经网络的所述运算单元中的选择器输出与所述卷积层的多个参数中的所述比较结果相对应的特定参数;以及(c)所述计算装置允许所述卷积神经网络的所述运算单元中的乘法器输出通过将所述特定参数乘以所述输入值而计算出的乘积值,并允许将所述乘积值被确定为通过将所述卷积层的所述卷积运算应用到所述激活模块的输出而取得的结果值。
根据本发明的另一方面,提供一种用于配置具有学习参数的CNN的方法,所述方法同时执行激活模块的激活运算和卷积层的卷积运算,包括以下步骤:(a)计算装置允许所述卷积神经网络的运算单元中的比较器将与输入图像的每个像素值相对应的输入值和预定参考值的至少一部分进行比较,然后输出通过参考关于所述输入值落入的区段的信息确定的比较结果,所述预定参考值是用于划分包括要与所述输入值进行比较的各个范围的区段的值;(b)所述计算装置允许所述卷积神经网络的所述运算单元中的第一选择器执行输出与所述卷积层的多个综合权重参数中的所述比较结果相对应的特定综合权重参数的处理,并允许所述卷积神经网络的所述运算单元中的第二选择器执行输出与所述卷积层的多个调整偏差参数中的所述比较结果相对应的特定调整偏差参数的处理;(c)所述计算装置允许所述卷积神经网络的所述运算单元中的乘法器输出通过将所述特定综合权重参数乘以所述输入值而计算出的乘积值;以及(d)所述计算装置允许所述卷积神经网络的所述运算单元中的加法器输出通过将所述特定调整偏差参数与所述乘积值相加而计算出的合计值,并允许所述合计值被确定为通过对所述激活模块的输出应用所述卷积层的所述卷积运算而取得的结果值。
根据本发明的另一方面,提供了一种用于配置具有学习参数的CNN的计算装置,所述计算装置同时执行激活模块的激活运算和卷积层的卷积运算,包括:通信部,用于接收输入图像;以及处理器,用于(i)允许所述卷积神经网络的运算单元中的比较器将与输入图像的像素值中的每一个相对应的输入值与预定参考值进行比较,然后输出比较结果,(ii)允许所述卷积神经网络的所述运算单元中的选择器输出与所述卷积层的多个参数中的所述比较结果相对应的特定参数,以及(iii)允许所述卷积神经网络的所述运算单元中的乘法器输出通过将所述特定参数乘以所述输入值而计算出的乘积值,并允许所述乘积值确定为通过对所述激活模块的输出应用所述卷积层的所述卷积运算而取得的结果值。
根据本发明的又一个方面,提供一种用于配置具有学习参数的CNN的计算装置,所述计算装置同时执行激活模块的激活运算和卷积层的卷积运算,包括:通信部,用于接收输入图像;以及处理器,用于(i)允许所述卷积神经网络的运算单元中的比较器将与所述输入图像的每个像素值相对应的输入值和预定参考值的至少一部分进行比较,然后输出通过参考关于所述输入值落入的区段的信息确定的比较结果,所述预定参考值是用于划分包括要与所述输入值进行比较的各个范围的区段的值,(ii)允许所述卷积神经网络的所述运算单元中的第一选择器执行输出与所述卷积层的多个综合权重参数中的所述比较结果相对应的特定综合权重参数的处理,并允许所述卷积神经网络的所述运算单元中的第二选择器执行输出与所述卷积层的多个调整偏差参数中的所述比较结果相对应的特定调整偏差参数的处理,(iii)允许所述卷积神经网络的所述运算单元中的乘法器输出通过将所述特定综合权重参数乘以所述输入值而计算出的乘积值,以及(iv)允许所述卷积神经网络的所述运算单元中的加法器输出通过将所述特定调整偏差参数与所述乘积值相加而计算出的合计值,并允许所述合计值被确定为通过对所述激活模块的输出应用所述卷积层的所述卷积运算而取得的结果值。
附图说明
以下用来解释本发明的示例实施例的附图仅是本发明的示例实施例的一部分,并且可以基于附图获得其它附图而无需本领域技术人员的创造性劳动:
图1表示能够执行CReLU运算和卷积运算的具有CNN的以往的学习装置的结构。
图2表示根据本发明的一个示例实施例的将CReLU运算与卷积运算相结合的CNN的结构。
图3A和图3B表示图2的示例。
图4A和图4B表示CReLU_Conv运算的示例,图4C表示NCReLU_Conv运算的示例,其中N为3。
图5表示根据本发明另一示例实施例的使用CNN的NCReLU_Conv的CNN的结构。
图6A和图6B表示图5的示例。
图7表示根据本发明又一示例实施例的用于实施图6的NCReLU_Conv运算的学习装置。
图8表示图7的示例。
具体实施方式
参考图示以本发明能够实施的特定实施例的附图,对后述的本发明进行详细说明。对这些实施例进行足够详细的描述,使得本领域技术人员能够实施本发明。应该理解,虽然本发明的多种实施例彼此不同,但不必相互排斥。例如,在不脱离本发明的精神和范围的情况下,可以在其它实施例中实现本文结合一个实施例描述的特定特征、结构或特性。另外,应该理解,在不脱离本发明的精神和范围的情况下,可以修改每个公开的实施例中的单个要素的位置或布置。因此,以下详细描述不应被视为具有限制的含义,并且本发明的范围仅由所附权利要求连同权利要求所赋予的等同物的全部范围限定,并适当地解释。在附图中,在几个视图中类似的附图标记表示相同或相似的功能。
为了使本领域技术人员容易地实现本发明,将通过参考附图更具体地解释本发明的期望示例实施例。
图2表示根据本发明的一个示例实施例的用于将CReLU运算与卷积运算相结合的CNN的结构。
参照图2,CNN的运算单元200包括比较器201、选择器202和乘法器203。根据本发明,CNN的运算单元200可以由具有通信部(未示出)和处理器(未示出)的计算装置(未示出)来操作。
如果从先前卷积层(未示出)接收到特征映射,则处理器可以允许比较器201、选择器202和乘法器203中的至少一者执行它们的功能。
再次参照图1,图1中的CReLU 120的运算通过使用一个输入产生两个输出,并且其可以由如下所示的公式3表示。
[公式3]
如上面的公式3所示,CReLU根据输入值的范围而具有非零的第一输出或非零的第二输出。
如果卷积层130具有作为其要素参数值,则可以通过如下所示的公式4简要地表达对CReLU 120的运算结果应用的卷积层130的运算。
[公式4]
如果如公式4所示考虑CReLU运算和卷积运算的结合,则可以根据CReLU的输入值的范围来确定卷积层的参数值,CReLU的输入值由如下的公式5示出:
[公式5]
其中,w1=-b并且w2=a
其中,CReLU_Conv是指对CReLU的输出应用卷积层的运算结果;x是输入;w1和w2是卷积层的参数;a和b是用于取得w1和w2的卷积层的要素参数。
图2表示CNN的运算单元200以实现公式5。
如果根据现有技术应用CReLU运算然后应用卷积运算,则存在许多不必要的运算,例如,将CReLU的输出乘以0的运算。然而,根据本发明的新方法将CReLU运算和卷积运算结合,由此,根据CReLU的输入值x的范围,选择卷积层的参数w1和w2中的一个。
更具体地,通过参考图2,如果根据本发明的CNN的运算单元200接收输入图像,例如测试图像,则运算单元200允许其中的比较器201将与输入图像的像素值中的每一个相对应的输入值x与预定参考值进行比较,然后输出比较结果。输入图像是如下的概念:不仅包括输入到CNN的图像本身,而且包括从先前卷积层接收的特征映射中的至少一个。预定参考值可以是0,但不限于此。
另外,选择器202通过参考比较结果,输出在参数w1和w2中选择的特定参数,然后将它发送到乘法器203。
乘法器203将输入值x乘以特定参数,从而取得乘积值,然后输出该乘积值。
例如,如公式5所示,如果输入值x小于0,则运算单元200可以将输入值乘以第一参数w1,第一参数w1是卷积层的第二要素参数b的负值;如果输入值x大于或等于0,则运算单元200可以将输入值乘以第二参数w2,该第二参数w2是卷积层的第一要素参数a。
图3A和图3B表示图2的示例。
通过参考图3A,如果输入值x是3,则比较器201输出2作为比较结果,其表示输入值大于预定参考值0,并且选择器202在参数w1(等于0.2)和w2(等于0.8)中选择与比较结果(等于2)对应的w2(等于0.8),然后将其输出到乘法器203。然后,乘法器203输出通过将输入值x乘以w2(等于0.8)而获得的0.24作为乘法结果。
参照图3B,如果输入值x是-1,则比较器201输出1作为比较结果,其表示输入值小于预定参考值0,并且选择器202在参数w1(等于0.2)和w2(等于0.8)中选择与比较结果(等于1)对应的w1(等于0.2),然后将其输出到乘法器203。然后,乘法器203输出通过将输入值x乘以w1(等于0.2)获得的0.2作为乘法结果。
图4A和图4B表示CReLU_Conv运算的示例,图4C表示NCReLU_Conv运算的示例,其中N为3。
图4A和图4B示出了表示输入x和输出y之间的关系,即y=CReLU_Conv(x)的图,其中CReLU_Conv表示如通过图2、图3A和3B所说明的将CReLU运算和卷积运算结合的综合运算。图4A和图4B的图的形状根据w1和w2的值的符号而不同。
另一方面,图4C是通过将线性段的数量增加到3并且去除图必须穿过(0,0)的条件而得到的图。
如图4C所示,线性段的数量可以从2增加到n,并且还可以增加用于划分区段的参考值。这里,各区段包括关于要与输入值进行比较的各范围的信息。运算单元中的比较器可以输出通过参考关于输入值落入的区段的信息而确定的比较结果。
如图4C所示,线性段的数量可以从如4A和4B所示的2增加到n(大于等于3),例如3,并且如图4C所示,参考值的数量可以从图4A和4B所示的1增加到n-1,例如2。这允许NCReLU_Conv运算可以以分段线性连续函数的形式实施。
这样的NCReLU_Conv可以定义如下:
[公式6]
其中,v1<…<vn-1并且bi+1=(wi-wi+1)vi+bi,i>1
其中,NCReLU_Conv表示通过对N路CReLU(或NCReLU)、即包括N个ReLU的CReLU的输出应用卷积层的运算而获得的结果;x是输入值;wi是卷积层的综合权重参数;bi是卷积层的调整偏差参数中的每一个;vi是参考值中的每一个。
另一方面,需要公式6中的bi+1的条件使NCReLU_Conv成为连续函数,并且除了b1之外的偏差参数由给定值b1、wi和vi确定。
图5表示根据本发明另一示例实施例的使用NCReLU_Conv的CNN的结构。
根据本发明另一示例实施例的执行NCReLU_Conv运算的图5的运算单元500是图2的运算单元200的增强版本。运算单元200使用两个区段,而运算单元500使用n段区段来应用分段线性连续函数。
通过参考图5,能够同时执行NCReLU运算和卷积运算的运算单元500可以包括比较器501、第一选择器502、第二选择器503、乘法器504以及加法器505。
根据本发明,CNN中的运算单元500可以由具有通信部(未示出)和处理器(未示出)的计算装置(未示出)来操作。
如果从先前卷积层(未示出)接收到特征映射,则处理器可以允许比较器501、第一选择器502、第二选择器503以及乘法器504和加法器505中的至少一者执行它们的功能。
更具体地,通过参考图5,如果运算单元500接收输入图像,例如测试图像,则运算单元500允许其中的比较器501将与输入图像的像素值中的每一个对应的输入值x与预定参考值进行比较,然后输出比较结果。也就是说,通过参考关于输入值落入的区段的信息确定比较结果。
例如,在图4C所示的例子中,如果x小于v1,则比较结果输出为1,如果x在v1和v2之间,则比较结果输出为2,并且x大于v2,则比较结果输出为3。这里,输入图像是如下的概念:不仅包括输入到CNN的图像本身,而且包括从先前卷积层接收的特征映射中的至少一个。
第一选择器502通过参考比较结果输出在卷积层的多个综合权重参数w1,...,wn中选择的特定综合权重参数,并且第二选择器503通过参考比较结果输出在卷积层的多个调整偏差参数b1,...,bn中选择的特定调整偏差参数。另一方面,处理器可以还同时执行第一选择器502和第二选择器503的处理。
乘法器504将输入值x乘以特定的综合权重参数,由此取得乘积值,然后输出该乘积值,然后加法器505将由第二选择器503选择的特定调整偏差参数与乘积值相加,由此输出合计值。也就是说,合计值可以被视为通过对NCReLU的输出应用卷积层的运算而获得的结果值。
另一方面,在如下所示的公式7中计算公式6的综合权重参数wi中的每一个、调整偏差参数bi中的每一个和参考值vi
[公式7]
vi=-q -1 (i)
b1=d-p1q1
bi+1=(wi-wi+1)vi+bi,i>1
其中qi(q1至qn-1)是各偏差层的要素偏差参数中的每一个;pi(p1至pn)是卷积层的要素权重参数中的每一个;d是卷积层的要素偏差参数;秩(qi)表示qi在{q1,.....qn-1}中的大小的信息;并且秩-1(i)表示{q1,...qn-1}中的第i个最大数的索引。
图5中所示的N路CReLU_Conv(或NCReLU_Conv)运算单元可以表示由所有的n个可用段组成的分段线性连续函数。此外,所有足够的软函数都可以近似于分段线性连续函数,因而N路CReLU_Conv运算单元可以用于学习这样的软函数。
相反,如图1所示没有偏差的CReLU仅由两个段组成,并且仅表示满足条件“当x=0时,f(x)=0”的分段线性连续函数。因此,CReLU_Conv运算单元也只由两个段组成,如图2所示。
如果NCReLU_Conv的n是2,则图5中的NCReLU_Conv运算单元500的运算可以表示如下,其变得与图2中的CReLU_Conv运算单元的运算相同:
[公式8]
CReLU_Conv(x,-b,a)=NCReLU_Conv(x,-b,0,0,a,0)
图6A和图6B示出了图5的示例。
通过参考图6A,如果输入值x是-1.5,则比较器501输出1作为比较结果,这表示输入值小于-1的第一参考值v1,由此将比较结果发送到第一选择器502和第二选择器503。
第一选择器502在三个综合权重参数w1、w2和w3中选择-1作为与比较结果对应的特定综合参数w1,并将特定综合参数发送到乘法器504,第二选择器503在三个调整偏差参数b1、b2和b3中选择-1作为与比较结果对应的特定调整偏差参数b1,并将该特定调整偏差参数发送到加法器505。然后,乘法器504输出1.5作为通过将输入值x乘以所选择的特定综合参数w1而获得的乘积值,然后将乘积值发送到加法器505,加法器505输出0.5作为通过将特定调整偏差参数b1与乘积值相加得到的合计值。
通过参考图6B,如果输入值x是0.5,则比较器501输出2作为与比较结果,这表示输入值在-1的第一参考值v1和1的第二参考值v2之间,由此将比较结果发送到第一选择器502和第二选择器503。
第一选择器502在三个综合权重参数w1、w2和w3中选择0.5作为与比较结果对应的特定综合参数w2,并将特定综合参数发送到乘法器504,第二选择器503在三个调整偏差参数b1、b2和b3中选择0.5作为与比较结果对应的特定调整偏差参数b2,并将该特定调整偏差参数发送到加法器505。然后,乘法器504输出0.25作为通过将输入值x乘以所选择的特定综合参数w2获得的乘积值,然后将该乘积值发送到加法器505,加法器505输出0.75作为通过将特定调整偏差参数b2与乘积值相加获得的合计值。
另一方面,为了获得综合权重参数wi中的每一个、调整偏差参数bi中的每一个以及参考值vi中的每一个,必须使用公式7。此外,为了使用公式7,作为各偏差层的每个要素偏差参数的qi(q1至qn-1)、作为卷积层的每个要素权重参数的pi(p1至pn)、以及作为卷积层的要素偏差参数的d必须通过学习装置获得。
图7表示根据本发明的又一示例实施例的用于实施图6的NCReLU_Conv运算的学习装置。
与如图1所示的每个激活模块使用一个CReLU的学习装置100不同,根据本发明的学习装置700在一个激活模块中使用NCReLU。
NCReLU具有n-1个偏差层,当n增加时,偏差层和要素激活层即ReLU层的对的数量增加。稍后将对其进行说明,但是,如果要素激活层和级联层的顺序变化,则仅偏差层的数量增加,并且仅需要一个要素激活层。
通过参考图7,学习装置700具有交替设置的多个卷积层(例如,卷积层710和730)、以及多个NCReLU(例如,NCReLU 720和其它NCReLU(未示出))。
激活模块720包括n-1个偏差层721,偏差层中的每一个具有要素偏差参数q1至qn-1中的每一个。更理想地,除了第一偏差层的要素偏差参数q1之外,第二至第(n-1)偏差层的要素偏差参数q2,...,qn-1的顺序可以设定为q2>...>qn-1
此外,激活模块720包括一个比例层722和n个要素激活层723,例如ReLU层。n-1个偏差层721中的连接到特定偏差层、即第一偏差层的比例层722执行将特定偏差层的输出值乘以预定比例值的处理,然后执行将其传输到特定要素激活层、即特定ReLU层的处理。
然后,学习装置执行以下处理:(i)允许连接到比例层722的特定要素激活层对比例层722的输出值应用非线性激活函数;以及(ii)允许连接到单个要素偏差层721的其它单个要素激活层应用单个非线性函数以输出单个要素偏差层721的值。非线性激活函数是ReLU运算,并且比例层的比例值可以是-1,但是不限于此。
然后,学习装置执行允许级联层724将特定要素激活层的输出值和其它要素激活层的输出值级联的处理,由此取得级联输出。
作为另一示例,要素激活层723和级联层724的顺序可以改变。如果要素激活层723设置在级联层724之后,则要素激活层723的数量可以是一个。
再参考图7,如果激活模块720的输出、即级联层724的输出被发送到下一个卷积层730,则学习装置执行允许下一个卷积层730通过使用每个要素权重参数pi和下一个卷积层730的每个要素偏差参数d对级联后的输出应用卷积运算的处理。
在经过交替设置的所述多个卷积层、例如卷积层710和730、以及所述多个NCReLU、例如NCReLU 720和其它NCReLU(未示出)之后,取得的输出输入可以被输入到应用块740,然后,取得从应用块输出的结果值,例如标注图像。
然后,学习装置允许损失层750取得通过将从应用块输出的结果值和与其对应的GT的值进行比较计算出的损失,由此在反向传播处理中调整单个要素偏差层的每个要素偏差参数qi、要素权重参数pi和要素偏差参数d中的至少一部分。
如果如图7所示学习通过具有NCReLU的学习装置700完成,则取得(i)n-1个偏差层的要素偏差参数q1,...,qn-1、(ii)卷积层730的卷积层的要素权重参数p1,...,pn以及(iii)要素偏差参数d的各自的最佳值。另外,如上所述,通过公式6和7在NCReLU_Conv运算单元中使用最优值。
如果学习每个参数的处理通过图7的学习装置已经完成,则移除损失层750,然后通过测试装置(未示出)执行测试而无需损失层705。换句话说,在使测试图像经过交替设置的所述多个卷积层、例如卷积层710和730和所述多个NCReLU、例如NCReLU 720和其它NCReLU(未示出))之后,测试装置可以允许(通过经过所述多个卷积层和所述多个NCReLU取得)输出被输入到应用块740,然后可以取得从应用块704输出的结果值。例如,应用块740可以是对象检测块或语义分割块,但是不限于此。
图8表示图7的示例。
图8示出了取代公式6,通过与图7中的学习装置700相同的CNN模型,使用卷积层的要素权重参数p1,...,pn、其要素偏差参数d以及偏差层的要素偏差参数q1,...,qn-1来计算输入值的示例。
如图6B所示,如果通过先前卷积层710将0.5的输入值x发送到激活模块720,则激活模块720的第一偏差层将应用值为-1的第一偏差参数q1取得的-0.5发送到激活模块720的比例层722和第二偏差层,并且将通过应用值为1的第二偏差参数q2取得的1.5发送到第三ReLU层。
另一方面,学习装置允许比例层722从第一偏差层接收值-0.5,然后将-0.5乘以-1,由此取得乘积值0.5,然后乘积值0.5被发送到第一ReLU层。其结果,第一至第三ReLU层分别接收0.5、-0.5和1.5,然后通过应用ReLU运算分别输出0.5、0和1.5。级联层724将第一至第三ReLU层的输出级联,并将级联值发送到下一卷积层730。
通过对第一至第三ReLU层的输出应用要素权重参数1、-0.5和1.5以及要素偏差参数-2,卷积层输出0.75作为输出y,y是0.5*1+0*(-0.5)+1.5*1.5+(-2)。这样,可以通过图7中的学习装置或类似于学习装置的形式的CNN模型发现,作为来自卷积层730的输出值的0.75等于通过图6B中的运算单元输出的值。
本发明的技术领域的技术人员可以理解的是,可以通过以下学习装置的通信部和测试装置进行上述图像、例如输入图像、训练图像和测试图像等的图像数据的发送和接收,并且可以通过学习装置的处理器(或存储器)和测试装置保持和维护用于执行各种运算的特征映射和各种数据。
根据本发明,可以通过需要较少运算量的新运算单元同时执行CReLU运算和卷积运算。
另外,本发明具有实施N路CReLU运算并减少卷积运算量的效果,从而提高了检测精度而不会大幅增加运算量。
本发明的技术方案的目标或有助于现有技术的部件可以通过各种计算机装置以可执行程序命令的形式实现,并且可以记录到计算机可读记录介质中。计算机可读介质可以单独地或组合地包括程序命令、数据文件和数据结构。记录到所述介质的程序命令可以是为本发明专门设计的组件,或者可以用于计算机软件领域的技术人员。计算机可读记录介质包括诸如硬盘、软盘和磁带之类的磁介质,诸如CD-ROM(只读光盘)和DVD(高密度数字视频光盘)之类的光学介质,诸如光磁盘之类的磁光介质以及诸如ROM、RAM和闪存之类的专门设计用来存储和执行程序的硬件设备。程序命令不仅包括由编译器产生的机器语言代码,还包括可通过使用解释器等来由计算机执行的高级代码。上述硬件设备可以不仅用作执行本发明的动作的软件模块,并且在相反的情况下它们可以做同样的事情。硬件设备可以与诸如ROM和RAM的存储器结合以存储程序命令,并且包括诸如CPU或GPU的处理器,构造为执行存储在存储器中的命令,并且还包括用于与外部设备发送和接收信号的通信部。
如上所述,已经通过诸如详细部件、有限的实施例和附图的特定事项解释了本发明。虽然已经参考优选实施例示出和描述了本发明,但是本领域技术人员应理解,在不脱离如以下权利要求所限定的本发明的精神和范围的情况下,可以进行各种改变和修改。
因此,本发明的思想不应局限于所解释的实施例,并且以下专利权利要求以及包括与专利权利要求相同或等同变型的所有内容都属于本发明的思想范畴。

Claims (8)

1.一种用于配置具有学习参数的CNN的方法,所述方法通过操作所述CNN中的运算单元的计算装置来同时执行激活模块的激活运算和卷积层的卷积运算,所述方法包括以下步骤:
(a)所述计算装置允许所述CNN的所述运算单元中的比较器将与输入图像的每个像素值相对应的输入值与预定参考值的至少一部分进行比较,然后输出通过参考关于所述输入值落入的区段的信息来确定的比较结果,所述预定参考值是用于划分所述激活运算的包括要与所述输入值进行比较的各个范围的区段的值;
(b)所述计算装置允许CNN的所述运算单元中的第一选择器执行输出所述卷积层的多个综合权重参数中与所述比较结果相对应的特定综合权重参数的处理,并允许所述CNN的所述运算单元中的第二选择器执行输出所述卷积层的多个调整偏差参数中与所述比较结果相对应的特定调整偏差参数的处理,其中,所述特定综合权重参数是根据所述输入值落入的所述激活运算的特定区段而选择的;
(c)所述计算装置允许所述CNN的所述运算单元中的乘法器输出通过将所述特定综合权重参数乘以所述输入值而计算出的所述卷积层的乘积值,从而输出与落入所述激活运算的特定区段的所述输入值相对应的乘积值;以及
(d)所述计算装置允许所述CNN的所述运算单元中的加法器输出通过将所述特定调整偏差参数与所述乘积值相加而计算出的合计值,并允许所述合计值被确定为通过对所述激活模块的输出应用所述卷积层的所述卷积运算应用而取得的结果值。
2.根据权利要求1所述的方法,其中,所述激活运算是N路CReLU运算,其中,N是大于或等于2的整数。
3.根据权利要求2的方法,其中,包括步骤(a)至(d)的方法用以下公式表达:
其中,v1<…<vn-1并且bi+1=(wi-wi+1)vi+bi,i>1
其中,NCReLU_Conv表示通过对所述激活模块的输出应用所述卷积层的所述卷积运算而取得的运算结果;x是所述输入值;wi是所述卷积层的所述综合权重参数中的每一个;bi是所述卷积层的所述调整偏差参数中的每一个;并且vi是所述预定参考值中的每一个。
4.根据权利要求3所述的方法,其中,所述综合权重参数wi中的每一个、所述调整偏差参数bi中的每一个以及所述预定参考值vi中的每一个由以下公式来计算:
vi=-q -1 (i)
b1=d-p1q1
bi+1=(wi-wi+1)vi+bi,i>1
其中,qi,q1至qn-1,是各偏差层的要素偏差参数中的每一个;pi,p1至pn,是所述卷积层的要素权重参数中的每一个;d是所述卷积层的要素偏差参数;秩(qi)表示关于qi在{q1,.....qn-1}中的大小的信息;秩-1(i)表示{q1,...qn-1}中的第i个最大数的索引。
5.一种用于配置具有学习参数的CNN的计算装置,所述计算装置操作所述CNN中的运算单元来同时执行激活模块的激活运算和卷积层的卷积运算,包括:
通信部,用于接收输入图像;以及
处理器,用于(i)允许所述CNN的所述运算单元中的比较器将与所述输入图像的每个像素值相对应的输入值与预定参考值的至少一部分进行比较,然后输出通过参考关于所述输入值落入的区段的信息来确定的比较结果,所述预定参考值是用于划分所述激活运算的包括要与所述输入值进行比较的各个范围的区段的值,(ii)允许所述CNN的所述运算单元中的第一选择器执行输出所述卷积层的多个综合权重参数中与所述比较结果相对应的特定综合权重参数的处理,并允许所述CNN的所述运算单元中的第二选择器执行输出所述卷积层的多个调整偏差参数中与所述比较结果相对应的特定调整偏差参数的处理,其中,所述特定综合权重参数是根据所述输入值落入的所述激活运算的特定区段而选择的,(iii)允许所述CNN的所述运算单元中的乘法器输出通过将所述特定综合权重参数乘以所述输入值而计算出的所述卷积层的乘积值,从而输出与落入所述激活运算的特定区段的所述输入值相对应的乘积值,以及(iv)允许所述CNN的所述运算单元中的加法器输出通过将所述特定调整偏差参数与所述乘积值相加而计算出的合计值,并允许所述合计值被确定为通过对所述激活模块的输出应用所述卷积层的所述卷积运算而取得的结果值。
6.根据权利要求5所述的计算装置,其中,所述激活运算是N路CReLU运算,其中,N是大于或等于2的整数。
7.根据权利要求6所述的计算装置,其中,处理(i)至(iv)由以下公式表达:
其中,v1<…<vn-1并且bi+1=(wi-wi+1)vi+bi,i>1
其中,NCReLU_Conv表示通过对所述激活模块的输出应用所述卷积层的所述卷积运算而取得的运算结果;x是所述输入值;wi是所述卷积层的所述综合权重参数中的每一个;bi是所述卷积层的所述调整偏差参数中的每一个;vi是所述预定参考值中的每一个。
8.根据权利要求7所述的计算装置,其中,所述综合权重参数wi中的每一个、所述调整偏差参数bi中的每一个以及所述预定参考值vi中的每一个由以下公式来计算:
vi=-q -1 (i)
b1=d-p1q1
bi+1=(wi-wi+1)vi+bi,i>1
其中,qi,q1至qn-1,是各偏差层的要素偏差参数中的每一个;pi,p1至pn,是所述卷积层的要素权重参数中的每一个;d是所述卷积层的要素偏差参数;秩(qi)表示关于qi在{q1,.....qn-1}中的大小的信息;秩-1(i)表示{q1,...qn-1}中的第i个最大数的索引。
CN201811196668.2A 2017-10-13 2018-10-15 用于同时执行激活和卷积运算的方法和装置及其学习方法和学习装置 Active CN109670574B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US15/783,280 2017-10-13
US15/783,280 US10083375B1 (en) 2017-10-13 2017-10-13 Method and device for performing activation and convolution operation at the same time and learning method and learning device for the same

Publications (2)

Publication Number Publication Date
CN109670574A CN109670574A (zh) 2019-04-23
CN109670574B true CN109670574B (zh) 2023-08-11

Family

ID=63517806

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811196668.2A Active CN109670574B (zh) 2017-10-13 2018-10-15 用于同时执行激活和卷积运算的方法和装置及其学习方法和学习装置

Country Status (5)

Country Link
US (1) US10083375B1 (zh)
EP (1) EP3483793A1 (zh)
JP (1) JP6676721B2 (zh)
KR (1) KR102139083B1 (zh)
CN (1) CN109670574B (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7240657B2 (ja) * 2018-05-15 2023-03-16 Tokyo Artisan Intelligence株式会社 ニューラルネットワーク回路装置、ニューラルネットワーク、ニューラルネットワーク処理方法およびニューラルネットワークの実行プログラム
US10474930B1 (en) * 2018-10-05 2019-11-12 StradVision, Inc. Learning method and testing method for monitoring blind spot of vehicle, and learning device and testing device using the same
US10372573B1 (en) * 2019-01-28 2019-08-06 StradVision, Inc. Method and device for generating test patterns and selecting optimized test patterns among the test patterns in order to verify integrity of convolution operations to enhance fault tolerance and fluctuation robustness in extreme situations
KR102420104B1 (ko) * 2019-05-16 2022-07-12 삼성전자주식회사 영상 처리 장치 및 그 동작방법
CN110533090B (zh) * 2019-08-21 2022-07-08 国网江苏省电力有限公司电力科学研究院 开关刀闸状态检测方法及装置
KR20210062485A (ko) 2019-11-21 2021-05-31 삼성전자주식회사 전자 장치 및 그 제어 방법
US20210200539A1 (en) * 2019-12-28 2021-07-01 Intel Corporation Generic linear unit hardware accelerator
CN113591025B (zh) * 2021-08-03 2024-06-14 深圳思谋信息科技有限公司 特征图的处理方法、装置、卷积神经网络加速器和介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104992167A (zh) * 2015-07-28 2015-10-21 中国科学院自动化研究所 一种基于卷积神经网络的人脸检测方法及装置
CN107239824A (zh) * 2016-12-05 2017-10-10 北京深鉴智能科技有限公司 用于实现稀疏卷积神经网络加速器的装置和方法

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10572824B2 (en) * 2003-05-23 2020-02-25 Ip Reservoir, Llc System and method for low latency multi-functional pipeline with correlation logic and selectively activated/deactivated pipelined data processing engines
US9836839B2 (en) * 2015-05-28 2017-12-05 Tokitae Llc Image analysis systems and related methods
CN110688891B (zh) * 2015-08-15 2024-05-31 硕动力公司 采用3d批归一化的三维(3d)卷积
US10002313B2 (en) * 2015-12-15 2018-06-19 Sighthound, Inc. Deeply learned convolutional neural networks (CNNS) for object localization and classification
US10033686B2 (en) * 2016-05-23 2018-07-24 Oath Inc. Computerized system and method for automatically creating and communicating media streams of digital content
CA3038967A1 (en) * 2016-10-04 2018-04-12 Magic Leap, Inc. Efficient data layouts for convolutional neural networks
KR102631381B1 (ko) * 2016-11-07 2024-01-31 삼성전자주식회사 컨볼루션 신경망 처리 방법 및 장치

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104992167A (zh) * 2015-07-28 2015-10-21 中国科学院自动化研究所 一种基于卷积神经网络的人脸检测方法及装置
CN107239824A (zh) * 2016-12-05 2017-10-10 北京深鉴智能科技有限公司 用于实现稀疏卷积神经网络加速器的装置和方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Energy-Based Spherical Sparse Coding;Bailey Kong;《https://arxiv.org/abs/1710.01820》;20171030;第1-12页 *

Also Published As

Publication number Publication date
JP2019075114A (ja) 2019-05-16
US10083375B1 (en) 2018-09-25
CN109670574A (zh) 2019-04-23
EP3483793A1 (en) 2019-05-15
KR20190041921A (ko) 2019-04-23
KR102139083B1 (ko) 2020-08-11
JP6676721B2 (ja) 2020-04-08

Similar Documents

Publication Publication Date Title
CN109670575B (zh) 用于同时执行激活和卷积运算的方法和装置及其学习方法和学习装置
CN109670574B (zh) 用于同时执行激活和卷积运算的方法和装置及其学习方法和学习装置
KR102192850B1 (ko) Fun을 사용하여 특징 맵을 생성하기 위한 방법 및 장치
KR102229342B1 (ko) Fun을 사용하여 cnn의 성능을 향상시키기 위한 학습 방법 및 학습 장치, 그리고 이를 이용한, 테스트 방법 및 테스트 장치
US11137981B2 (en) Operation processing device, information processing device, and information processing method
CN110378468B (zh) 一种基于结构化剪枝和低比特量化的神经网络加速器
TWI775898B (zh) 用於學習低精度神經網路的方法及裝置
WO2017185412A1 (zh) 一种支持较少位数定点数的神经网络运算的装置和方法
CN108604369B (zh) 一种去除图像噪声的方法、装置、设备及卷积神经网络
CN107526709A (zh) 使用低精度格式的张量处理
US10311337B1 (en) Method and device for providing integrated feature map using ensemble of multiple outputs from convolutional neural network
CN111105375B (zh) 图像生成方法及其模型训练方法、装置及电子设备
CN112508125A (zh) 一种图像检测模型的高效全整数量化方法
WO2020118608A1 (zh) 一种反卷积神经网络的硬件加速方法、装置和电子设备
EP4087239A1 (en) Image compression method and apparatus
JP7271244B2 (ja) Cnn処理装置、cnn処理方法、およびプログラム
CN116363261A (zh) 图像编辑模型的训练方法、图像编辑方法和装置
US11900577B2 (en) Processing apparatus for performing processing using a convolutional neural network
CN111951171A (zh) Hdr图像生成方法、装置、可读存储介质及终端设备
CN111882028B (zh) 用于卷积神经网络的卷积运算装置
CN110852348B (zh) 特征图处理方法、图像处理方法及装置
CN114663774B (zh) 一种轻量级的显著性物体检测系统及方法
CN112446461A (zh) 一种神经网络模型训练方法及装置
US20240202501A1 (en) System and method for mathematical modeling of hardware quantization process
JP7506276B2 (ja) 半導体ハードウェアにおいてニューラルネットワークを処理するための実装および方法

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