CN108154224A - 用于数据处理的方法、装置和非暂时性计算机可读介质 - Google Patents

用于数据处理的方法、装置和非暂时性计算机可读介质 Download PDF

Info

Publication number
CN108154224A
CN108154224A CN201810045817.9A CN201810045817A CN108154224A CN 108154224 A CN108154224 A CN 108154224A CN 201810045817 A CN201810045817 A CN 201810045817A CN 108154224 A CN108154224 A CN 108154224A
Authority
CN
China
Prior art keywords
value
input
selector
activation primitives
neural network
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
CN201810045817.9A
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.)
Vimicro Corp
Original Assignee
Vimicro Corp
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 Vimicro Corp filed Critical Vimicro Corp
Priority to CN201810045817.9A priority Critical patent/CN108154224A/zh
Publication of CN108154224A publication Critical patent/CN108154224A/zh
Pending legal-status Critical Current

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/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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Complex Calculations (AREA)

Abstract

本发明实施例提供了用于数据处理的方法和装置。该方法包括:从上层神经网络接收输入数据;利用ELU激活函数对输入数据进行处理,以获得输出结果,其中,在输入数据小于0的情况下,ELU激活函数被拟合为三段式分段线性函数;将输出结果传输给下层神经网络。在本发明实施例中,在利用ELU激活函数对来自上层神经网络的输入数据进行处理时,如果输入数据小于0,使用对ELU激活函数拟合得到的三段式分段线性函数进行近似处理,不仅能够减轻运算量,而且能够避免对大量存储器资源的需求,从而能够高效且低成本地实现ELU激活函数。

Description

用于数据处理的方法、装置和非暂时性计算机可读介质
技术领域
本发明涉及数据处理技术领域,具体地,涉及用于数据处理的方法、装置和非暂时性计算机可读介质。
背景技术
近年来,深度学习成为人工智能领域的研究热点之一。针对深度学习算法的神经网络一般具有多层结构,每层神经网络可以是全连接函数。每层神经网络在计算完毕之后,会紧接着进行基于被称为激活函数的运算。
目前提出了多种激活函数。例如,最早期的激活函数采用的是sigmoid或者tanh函数,因为它们的数学特性与早期在人脑神经节的生物研究中发现的生物电特性最相近。随着深度神经网络学科的不断发展,不断提出了其它新的激活函数,以实现比sigmoid和tanh更高的计算性能。然而,由于激活函数的复杂性,目前在神经网络中的实现效率并不理想。
发明内容
本发明实施例提供了用于数据处理的方法、装置和非暂时性计算机可读介质,能够高效且低成本地实现ELU激活函数。
第一方面,提供了一种用于数据处理的方法,包括:从上层神经网络接收输入数据;利用ELU激活函数对所述输入数据进行处理,以获得输出结果,其中,在所述输入数据小于0的情况下,所述ELU激活函数被拟合为三段式分段线性函数;将所述输出结果传输给下层神经网络。
在一种可能的实现方式中,所述三段式分段线性函数是基于与所述ELU激活函数之间的均方误差最小原则来确定的。
在一种可能的实现方式中,所述ELU激活函数被表示为:
其中,z表示所述输入数据,α为1;
在z<0的情况下的ELU1=exp(z)-1被拟合为如下表示的所述三段式分段线性函数:
其中,k=(B-(-1))/(B-A)。
在一种可能的实现方式中,A的取值在范围-10至0内,B的取值在范围-1至0内。
在一种可能的实现方式中,A的取值和B的取值使得所述三段式分段线性函数的第一输出值与所述ELU激活函数的第二输出值之间的均方误差最小,其中,所述第一输出值=(z-A)*k+(-1),所述第二输出值=exp(z)-1,其中,A≤z<B。
在一种可能的实现方式中,A的取值为-2.65±C,B的取值为-0.5±D,其中,0≤C≤0.1,0≤D≤0.1。
在一种可能的实现方式中,所述三段式分段线性函数是使用比较器、乘法器、减法器和选择器来实现的。
第二方面,提供了一种用于数据处理的装置,包括:输入端,用于从上层神经网络接收输入数据;处理模块,用于利用ELU激活函数对所述输入数据进行处理,以获得输出结果,其中,在所述输入数据小于0的情况下,所述ELU激活函数被拟合为三段式分段线性函数;输出端,用于将所述输出结果传输给下层神经网络。
在一种可能的实现方式中,所述处理模块使用的所述三段式分段线性函数是基于与所述ELU激活函数之间的均方误差最小原则来确定的。
在一种可能的实现方式中,所述ELU激活函数被表示为:
其中,z表示所述输入数据,α为1;
在z<0的情况下的ELU1=exp(z)-1被拟合为如下表示的所述三段式分段线性函数:
其中,k=(B-(-1))/(B-A)。
在一种可能的实现方式中,A的取值在范围-10至0内,B的取值在范围-1至0内。
在一种可能的实现方式中,A的取值和B的取值使得所述三段式分段线性函数的第一输出值与所述ELU激活函数的第二输出值之间的均方误差最小,其中,所述第一输出值=(z-A)*k+(-1),所述第二输出值=exp(z)-1,其中,A≤z<B。
在一种可能的实现方式中,A为-2.65±C,B为-0.5±D,其中,0≤C≤0.1,0≤D≤0.1。
在一种可能的实现方式中,所述处理模块包括第一比较器、第二比较器、选择器、乘法器和减法器;
所述输入端包括所述第一比较器的输入端、所述第二比较器的输入端、所述乘法器的输入端以及所述选择器的第一输入端;所述输出端包括所述选择器的输出端;
所述第一比较器的输出端和所述第二比较器的输出端分别连接到所述选择器的第一控制端和第二控制端;所述乘法器的输出端连接到所述减法器的输入端;所述减法器的输出端连接到所述选择器的第二输入端;
其中,所述第一比较器用于从所述上层神经网络接收z,执行z是否小于A的比较操作,以及向所述选择器输出第一比较结果;所述第二比较器用于从所述上层神经网络接收z,执行z是否小于B的比较操作,以及向所述选择器输出第二比较结果;所述乘法器用于从所述上层神经网络接收z,并且所述乘法器和所述减法器一起用于计算第二输入值,所述第二输入值为(z-A)*k+(-1);所述选择器的所述第一输入端用于从所述上层神经网络接收z;所述选择器的所述第二输入端用于从所述减法器接收所述第二输入值;所述选择器的第三输入端用于接收第三输入值,所述第三输入值为-1;所述选择器用于基于所述第一比较结果和所述第二比较结果,从所述选择器的输出端输出z、所述第二输入值和所述第三输入值之一。
第三方面,提供了一种非暂时性计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现结合第一方面的任一种可能的实现方式所述的方法。
在本发明实施例中,在利用ELU激活函数对来自上层神经网络的输入数据进行处理时,如果输入数据小于0,使用对ELU激活函数拟合得到的三段式分段线性函数进行近似处理。可见,与通过泰勒多项式展开的计算方式相比,本发明实施例无需进行多项式展开,这能够极大地减轻运算量。而与硬件查表方式相比,本发明实施例也无需存储相应的函数表,从而能够避免对大量存储器资源的需求。因此,本发明实施例能够高效且低成本地实现ELU激活函数。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图,其中:
图1示出了在α=1的情况下的ELU激活函数的曲线图。
图2是根据本发明实施例的用于数据处理的方法的示意流程图。
图3示出了在z<0时,ELU激活函数的曲线以及相应的三段式分段线性函数的曲线。
图4示出通过Matlab得到的表示A和B的取值与均方误差之间的关系的曲面图。
图5示出了根据本发明实施例的用于数据处理的装置的示意框图。
图6示出了根据本发明实施例的用于数据处理的装置的示意框图。
图7是根据本发明另一实施例的用于数据处理的装置的示意框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其它实施例,都属于本发明保护的范围。
目前,用于深度学习的深度神经网络成为研究热点之一。深度神经网络可以具有多层,例如,每一层神经网络可以是全连接层(Fully Connect Layer),可以是卷积神经网络(Convolutional Neural Network,CNN)、循环神经网络(Recurrent Neural Network,RNN)等。每层神经网络处理之后的输出需要经过激活函数进一步处理,目的在于使得神经网络的输出中的负数值得到弱化甚至消失,而正数值予以保留。
目前常用的激活函数主要有Sigmoid激活函数、tanh激活函数、ReLU激活函数、Leaky ReLU激活函数、指数线性单元(Exponential Linear Units,ELU)激活函数等。其中,ELU激活函数的性能目前被认为是最优的。
ELU激活函数可以被表示为等式(1):
其中,z可以是来自上层神经网络的输入数据。从等式(1)可以看出,ELU激活为分段函数。在z<0的情况下,ELUα=α(exp(z))-1为指数函数。在实际使用时,α的取值一般为1。相应地,在z<0的情况下,ELU1=exp(z)-1。图1示出了在α=1的情况下的ELU激活函数的曲线图。
从上述可以看出,ELU激活函数的计算复杂度主要在于z<0时的指数运算。目前常用的一种计算方式是将exp(z)展开为泰勒多项式,然后通过分项求和获得计算结果。这种方式需要多次迭代,运算量很大。
另一种方式是在硬件中通过查表的方式来实现。在这种方式中,将z的输入范围量化成若干区域,每个区域的exp值都预先计算好,并且存储在存储器表中。在使用时,将z的取值进行量化得到量化后的值。然后将该量化后的值作为存储器表的地址输入,从存储器表中查找相应的值作为输出结果。这种方式虽然在实现上相对简单,但是需要消耗存储器资源,并且存储器资源的大小和量化级数的指数正相关。那么,当硬件需要对多个ELU激活函数进行大规模并行计算时,则需要使用大量的存储器资源,成本非常高。
鉴于此,本发明实施例提供了一种用于数据处理的技术方案。在该技术方案中,从上层神经网络接收输入数据,并且利用ELU激活函数对输入数据进行处理,以获得输出结果,然后将输出结果传输给下层神经网络。其中,在输入数据小于0的情况下,ELU激活函数被拟合为三段式分段线性函数。
在本发明实施例中,在利用ELU激活函数对来自上层神经网络的输入数据进行处理时,如果输入数据小于0,使用对ELU激活函数拟合得到的三段式分段线性函数进行近似处理,不仅能够减轻运算量,而且能够避免对大量存储器资源的需求,从而能够高效且低成本地实现ELU激活函数。
在本发明实施例中,上层神经网络、下层神经网络可以是CNN或者RNN等本领域中已知的任何适用的神经网络。
下面将结合具体实施例来描述本发明实施例的技术方案。
图2是根据本发明实施例的用于数据处理的方法的示意流程图。
如图2所示,在步骤201中,从上层神经网络接收输入数据。
例如,输入数据可以是经过上层神经网络处理得到的数据。在本发明实施例的ELU激活函数中,输入数据可以被表示为z。
在步骤202中,利用ELU激活函数对输入数据进行处理。
在输入数据小于0的情况下,ELU激活函数拟合为三段式分段线性函数。具体而言,参照等式(1),ELU激活函数中与z<0相对应的分段函数可以被拟合为三段式分段线性函数。这样,在输入数据小于0的情况下,可以利用该三段式分段线性函数进行近似处理。三段式分段线性函数可以是具有三个线段的分段线性函数。
在步骤203中,将输出结果传输给下层神经网络。
例如,可以将经过ELU激活函数处理得到的输出结果传输给下层神经网络,以进行进一步处理。
可见,在本发明实施例中,在利用ELU激活函数对来自上层神经网络的输入数据进行处理时,如果输入数据小于0,使用对ELU激活函数拟合得到的三段式分段线性函数进行近似处理。与通过泰勒多项式展开的计算方式相比,本发明实施例无需进行多项式展开,而是通过相对简单的三段式分段线性函数来进行处理,这能够极大地减轻运算量。而与硬件查表方式相比,本发明实施例也无需存储相应的函数表,从而能够避免对大量存储器资源的需求。可见,本发明实施例能够高效且低成本地实现ELU激活函数。
在一个实施例中,上述三段式分段线性函数可以是基于与ELU激活函数之间的均方误差(Mean Square Error,MSE)最小原则来确定的。例如,可以通过对多个不同的分段线性函数的估计输出值与ELU激活函数的理想输出值之间的均方误差进行比较,来选择均方误差最小的三段式分段函数。这样,能够确保所拟合的三段式分段线性函数的准确度。
可以理解的是,在本发明实施例中,并不限于均方误差这种度量方式,还可以采取用于度量估计量和理想量之间的差异程度的其它实现方式。
在一个实施例中,如上所述,ELU激活函数可以被表示为等式(1)。在等式(1)中,α=1。针对于z<0的情况下的函数,即ELU1=exp(z)-1,可以被拟合为如等式(2)所表示的三段式分段线性函数。
其中,k=(B-(-1))/(B-A)。
可见,在z<0的情况下,通过所拟合的三段式分段线性函数来代替ELU激活函数中的指数运算,在实现上简单且高效。
在本发明实施例中,所拟合的三段式分段线性函数可以包括三条直线段对应的函数。参照图1,考虑到ELU激活函数在z为负无穷小时,输出是渐近纵轴值为-1的这条水平线,所以第一条直线段对应的函数可以被表示为ELU1=-1。而对于第三条直线段而言,参照图1,在z>0时,ELU激活函数的输出是斜率为1的直线,那么为了平滑地连接ELU激活函数在z>0时的输出部分,第三条直线段对应的函数可以被表示为ELU1=z。
在一个实施例中,A的取值可以在范围-10至0内。B的取值可以在范围-1至0内。例如,可以基于所期望的与ELU激活函数的误差范围,来确定A和B的取值。在该实施例中,通过A和B的这样的取值范围,能够确保所拟合的三段式分段线性函数的误差在期望的范围内,从而确保利用三段式分段线性函数的处理准确度。
在一个实施例中,可以在范围-10至0内确定A的取值,以及在范围-1至0内确定B的取值。所确定的A的具体取值和B的具体取值可以使得在A≤z<B的情况下,三段式分段线性函数的第一输出值与ELU激活函数的第二输出值之间的均方误差最小。其中,第一输出值=(z-A)*k+(-1),第二输出值=exp(z)-1。在该实施例中,不仅能够使用三段式分段线性函数进行简单高效的近似处理,而且能够保证这种近似处理的相对准确度。
在一个实施例中,A的取值可以为-2.65±C,B的取值为-0.5±D,其中,0≤C≤0.1,0≤D≤0.1。优选地,A的取值可以为-2.65,B的取值可以为-0.5,以使得三段式分段线性函数与ELU激活函数之间的均方误差最小。
图3示出了在z<0时,ELU激活函数的曲线以及相应的三段式分段线性函数的曲线。
如图3所示,横轴表示z,纵轴表示ELU输出值。弧形曲线表示ELU激活函数中的ELU1=exp(z)-1部分,具有三条直线段的曲线表示所拟合的分段线性函数。
从图3中可见,当z为负无穷时,ELU=-1。因此,第一条直线段(从左到右)是从z=负无穷开始,ELU值恒等于-1。第三条直线段由于需要平滑地连接z≥0的部分(该部分可以参见图1,在图3中未示出),所以其斜率应该是1,且通过点(0,0)。第二条直线段与第一条直线段和第三条直线段相连接,因此其起始点可以为(A,-1),结束点可以为(B,B)。
可见,关键在于确定第二条直线段的起始点和结束点,也就是A和B的值。在一个实施例中,根据期望的拟合误差或者根据经验值,可以将A的取值范围设置为[-10,0],B的取值范围设置为[-1,0]。可以利用Matlab软件,通过穷举遍历法,基于均方误差最小原则来确定A和B的取值。
图4示出通过Matlab得到的表示A和B的取值与均方误差之间的关系的曲面图。在图4中,曲面值表示在对应的A和B取值处,所拟合的分段线性函数的输出值与ELU激活函数的理想输出值之间的均方误差。通过排序比较,可以确定A=-2.65,B=-0.5。在这种情况下,上述k(即第二条线段的斜率)可以约为0.233。
如果z在-10~0的范围内,那么均方误差可以近似为0.0072;如果z在-50~0的范围内,均方误差可以近似为0.0014,而均方根误差(Root Mean Square Error,RMSE)为0.0379。可见,相对于在z<0时的ELU取值范围-1至0来说,此均方误差已经很小,不会对下层神经网络的结果的准确度产生实质性影响。
可以理解的是,A和B的具体取值并不限于-2.65和-0.5。例如,A的取值可以是-2.65±0.1,B的取值可以是-0.5±0.1。
在一个实施例中,上述三段式分段线性函数可以使用比较器、乘法器、减法器和选择器来实现。这样,能够利用较为简单的硬件结构来快速实现ELU激活函数的处理过程,能够减少运算量以及节省成本。下面还将结合图5中的装置部分的描述来描述硬件实现结构,此处将不再详细描述。
例如,上述三段式分段线性函数的伪代码可以表示如下:
可见,本发明实施例的技术方案提供了一种高效且低成本的ELU激活函数的实现方案。
图5示出了根据本发明实施例的用于数据处理的装置的示意框图。为了便于说明,在图5中还示出了上层神经网络和下层神经网络。装置500可以与上层神经网络和下层神经网络进行通信。
如图5所示,装置500可以包括处理模块510、输入端520和输出端530。
输入端520可以从上层神经网络接收输入数据。处理模块510可以利用ELU激活函数对输入数据进行处理,以获得输出结果,其中,在输入数据小于0的情况下,ELU激活函数被拟合为三段式分段线性函数。输出端530可以将输出结果传输给下层神经网络。
在本发明实施例中,在利用ELU激活函数对来自上层神经网络的输入数据进行处理时,如果输入数据小于0,使用对ELU激活函数拟合得到的三段式分段线性函数进行近似处理,不仅能够减轻运算量,而且能够避免对大量存储器资源的需求,从而能够高效且低成本地实现ELU激活函数。
在一个实施例中,处理模块520使用的三段式分段线性函数可以是基于与ELU激活函数之间的均方误差最小原则来确定的。
在一个实施例中,ELU激活函数可以被表示为等式(1)。在z<0的情况下的ELU1=exp(z)-1可以被拟合为如等式(2)表示的所述三段式分段线性函数。
在一个实施例中,A的取值在范围-10至0内,B的取值在范围-1至0内。
在一个实施例中,A的取值和B的取值可以使得三段式分段线性函数的第一输出值与ELU激活函数的第二输出值之间的均方误差最小,其中,第一输出值=(z-A)*k+(-1),第二输出值=exp(z)-1,其中,A≤z<B。
在一个实施例中,A可以为-2.65±C,B可以为-0.5±D,其中,0≤C≤0.1,0≤D≤0.1。优选地,C和D均可以取值为0。
在一个实施例中,如图6所示,处理模块510可以包括第一比较器511、第二比较器512、选择器513、乘法器514和减法器515。
如图6所示,输入端520可以包括第一比较器511的输入端、第二比较器512的输入端、乘法器514的输入端以及选择器513的第一输入端。输出端530可以包括选择器513的输出端。
第一比较器511的输出端和第二比较器512的输出端可以分别连接到选择器513的第一控制端和第二控制端。乘法器514的输出端可以连接到减法器515的输入端。减法器515的输出端可以连接到选择器513的第二输入端。
从如图6中可以看出,第一比较器511可以从上层神经网络接收输入数据(在本文表示为z),执行z是否小于A的比较操作,以及向选择器513输出第一比较结果。例如,在A=-2.65的情况下,第一比较器可以执行z是否小于-2.65的比较操作。
第二比较器512可以从上层神经网络接收输入数据z,执行z是否小于B的比较操作,以及向选择器513输出第二比较结果。例如,在B=-0.5的情况下,第二比较器可以执行z是否小于-0.5的比较操作。
乘法器514可以从上层神经网络接收输入数据z。乘法器514和减法器515可以一起用于计算第二输入值。如前所述,第二输入值可以是(z-A)*k+(-1)。例如,在A=-2.65以及B=-0.5的情况下,k可以为0.233。在这种情况下,结合上述等式(2)和伪代码,乘法器514的乘数可以是0.233,减法器515可以执行减去0.383的操作。在这种情况下,由于乘法器514的乘数是固定的,能够更经济地实现。
选择器513的第一输入端可以从上层神经网络接收z,第二输入端可以从减法器515接收第二输入值,第三输入端可以接收第三输入值。参照等式(2),第三输入值可以为-1。
选择器513可以基于第一比较结果和第二比较结果,从选择器的输出端(也就是,装置500的输出端530)输出z、第二输入值和第三输入值之一。
为了便于理解,下面结合例子给出选择器513的真值表。在该例子中,假设A=-2.65,B=-0.5,第一比较器511进行是否<-2.65的比较,第二比较器512进行是否<-0.5的比较。应理解的是,该例子仅是为了帮助本领域技术人员更好地理解本发明实施例,而非限制本发明实施例的范围。表1是选择器513的真值表。
表1选择器513的真值表
<-2.65为真 <-2.65为假
<-0.5为真 -1 第二输入值
<-0.5为假 -1 z
可见,在本发明实施例中,通过将ELU激活函数拟合为三段式分段线性函数,由此能够通过简单的硬件结构来高效地实现该函数,从而能够减少ELU激活函数的运算量,同时能够避免对大量存储资源的需求。
应当理解的是,为了描述的方便和简洁,装置500的各个模块的具体功能和操作可以参照前述方法实施例的对应过程,此处将不再赘述。
图7是根据本发明另一实施例的用于数据处理的装置的示意框图。
参照图7,装置700可以包括处理组件710,其进一步包括一个或多个处理器。所述处理器可以包括但不限于,通用处理器、专用处理器、专用集成电路、数字信号处理器、现场可编程逻辑器件等。装置700可以包括由存储器720所代表的存储器资源,用于存储可由处理组件的执行的指令,例如应用程序。存储器720中存储的应用程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理组件710可以被配置为执行指令,以执行上述用于数据处理的方法。
装置700还可以包括被配置为执行装置700的电源管理的电源组件、被配置为将装置700连接到网络的有线或无线网络接口、以及输入输出(I/O)接口。装置700可以基于存储在存储器720的操作***进行操作,例如Android(安卓)、iOS、Windows ServerTM、Mac OSXTM、UnixTM、LinuxTM、FreeBSDTM或类似的操作***。
本发明实施例还提供了一种非暂时性计算机可读存储介质,当存储介质中的指令由上述装置的处理器执行时,使得上述装置能够执行前述用于数据处理的方法。例如,该存储介质可以存储有用于从上层神经网络接收输入数据的指令、用于利用ELU激活函数对输入数据进行处理以获得输出结果的指令、用于将输出结果传输给下层神经网络的指令等。存储介质还可以存储有其它相关的指令,为了描述的简单,可以参照前面方法实施例的具体描述,此处不再赘述。例如,上述存储介质可以包括光学存储介质、磁性存储介质或者本领域中已知的任何其它类型的存储介质等,本发明实施例对此不作限制。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的方法的步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的方法和装置,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元和/或模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序校验码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

Claims (15)

1.一种用于数据处理的方法,其特征在于,包括:
从上层神经网络接收输入数据;
利用ELU激活函数对所述输入数据进行处理,以获得输出结果,其中,在所述输入数据小于0的情况下,所述ELU激活函数被拟合为三段式分段线性函数;
将所述输出结果传输给下层神经网络。
2.根据权利要求1所述的方法,其特征在于,所述三段式分段线性函数是基于与所述ELU激活函数之间的均方误差最小原则来确定的。
3.根据权利要求2所述的方法,其特征在于,
所述ELU激活函数被表示为:
其中,z表示所述输入数据,α为1;
在z<0的情况下的ELU1=exp(z)-1被拟合为如下表示的所述三段式分段线性函数:
其中,k=(B-(-1))/(B-A)。
4.根据权利要求3所述的方法,其特征在于,A的取值在范围-10至0内,B的取值在范围-1至0内。
5.根据权利要求4所述的方法,其特征在于,A的取值和B的取值使得所述三段式分段线性函数的第一输出值与所述ELU激活函数的第二输出值之间的均方误差最小,其中,所述第一输出值=(z-A)*k+(-1),所述第二输出值=exp(z)-1,其中,A≤z<B。
6.根据权利要求5所述的方法,其特征在于,A的取值为-2.65±C,B的取值为-0.5±D,其中,0≤C≤0.1,0≤D≤0.1。
7.根据权利要求3至6中任一项所述的方法,其特征在于,所述三段式分段线性函数是使用比较器、乘法器、减法器和选择器来实现的。
8.一种用于数据处理的装置,其特征在于,包括:
输入端,用于从上层神经网络接收输入数据;
处理模块,用于利用ELU激活函数对所述输入数据进行处理,以获得输出结果,其中,在所述输入数据小于0的情况下,所述ELU激活函数被拟合为三段式分段线性函数;
输出端,用于将所述输出结果传输给下层神经网络。
9.根据权利要求8所述的装置,其特征在于,所述处理模块使用的所述三段式分段线性函数是基于与所述ELU激活函数之间的均方误差最小原则来确定的。
10.根据权利要求9所述的装置,其特征在于,
所述ELU激活函数被表示为:
其中,z表示所述输入数据,α为1;
在z<0的情况下的ELU1=exp(z)-1被拟合为如下表示的所述三段式分段线性函数:
其中,k=(B-(-1))/(B-A)。
11.根据权利要求10所述的装置,其特征在于,A的取值在范围-10至0内,B的取值在范围-1至0内。
12.根据权利要求11所述的装置,其特征在于,A的取值和B的取值使得所述三段式分段线性函数的第一输出值与所述ELU激活函数的第二输出值之间的均方误差最小,其中,所述第一输出值=(z-A)*k+(-1),所述第二输出值=exp(z)-1,其中,A≤z<B。
13.根据权利要求12所述的装置,其特征在于,A为-2.65±C,B为-0.5±D,其中,0≤C≤0.1,0≤D≤0.1。
14.根据权利要求10至13中任一项所述的装置,其特征在于,所述处理模块包括第一比较器、第二比较器、选择器、乘法器和减法器;
所述输入端包括所述第一比较器的输入端、所述第二比较器的输入端、所述乘法器的输入端以及所述选择器的第一输入端;
所述输出端包括所述选择器的输出端;
所述第一比较器的输出端和所述第二比较器的输出端分别连接到所述选择器的第一控制端和第二控制端;
所述乘法器的输出端连接到所述减法器的输入端;
所述减法器的输出端连接到所述选择器的第二输入端;
其中,
所述第一比较器用于从所述上层神经网络接收z,执行z是否小于A的比较操作,以及向所述选择器输出第一比较结果;
所述第二比较器用于从所述上层神经网络接收z,执行z是否小于B的比较操作,以及向所述选择器输出第二比较结果;
所述乘法器用于从所述上层神经网络接收z,并且所述乘法器和所述减法器一起用于计算第二输入值,所述第二输入值为(z-A)*k+(-1);
所述选择器的所述第一输入端用于从所述上层神经网络接收z;
所述选择器的所述第二输入端用于从所述减法器接收所述第二输入值;
所述选择器的第三输入端用于接收第三输入值,所述第三输入值为-1;
所述选择器用于基于所述第一比较结果和所述第二比较结果,从所述选择器的输出端输出z、所述第二输入值和所述第三输入值之一。
15.一种非暂时性计算机可读介质,其特征在于,其上存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法。
CN201810045817.9A 2018-01-17 2018-01-17 用于数据处理的方法、装置和非暂时性计算机可读介质 Pending CN108154224A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810045817.9A CN108154224A (zh) 2018-01-17 2018-01-17 用于数据处理的方法、装置和非暂时性计算机可读介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810045817.9A CN108154224A (zh) 2018-01-17 2018-01-17 用于数据处理的方法、装置和非暂时性计算机可读介质

Publications (1)

Publication Number Publication Date
CN108154224A true CN108154224A (zh) 2018-06-12

Family

ID=62461735

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810045817.9A Pending CN108154224A (zh) 2018-01-17 2018-01-17 用于数据处理的方法、装置和非暂时性计算机可读介质

Country Status (1)

Country Link
CN (1) CN108154224A (zh)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109871941A (zh) * 2019-02-18 2019-06-11 北京中科寒武纪科技有限公司 数据处理方法、装置及相关产品
CN109919318A (zh) * 2018-12-14 2019-06-21 阿里巴巴集团控股有限公司 数据处理方法、装置和设备
CN110866595A (zh) * 2018-08-28 2020-03-06 北京嘉楠捷思信息技术有限公司 一种集成电路中激活函数运算方法、装置及电路
CN111191766A (zh) * 2020-01-02 2020-05-22 深圳芯英科技有限公司 一种数据处理方法、装置、处理器及计算机可读存储介质
CN111191779A (zh) * 2020-01-02 2020-05-22 深圳芯英科技有限公司 一种数据处理方法、装置、处理器及计算机可读存储介质
CN111507465A (zh) * 2020-06-16 2020-08-07 电子科技大学 一种可配置的卷积神经网络处理器电路
CN111695300A (zh) * 2020-06-12 2020-09-22 国网山东省电力公司电力科学研究院 一种汽轮机阀门流量拟合方法及***
CN111986659A (zh) * 2020-07-16 2020-11-24 百度在线网络技术(北京)有限公司 建立音频生成模型的方法以及装置
WO2021073188A1 (zh) * 2019-10-15 2021-04-22 北京希姆计算科技有限公司 数据运算电路、数据处理装置、芯片、卡板及电子设备
CN113837365A (zh) * 2021-09-22 2021-12-24 中科亿海微电子科技(苏州)有限公司 实现sigmoid函数逼近的模型、FPGA电路及工作方法

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2236608A (en) * 1989-10-06 1991-04-10 British Telecomm Digital neural networks
CN101458732A (zh) * 2008-12-25 2009-06-17 浙江师范大学 面向饰品创新设计的知识应用方法
CN104484703A (zh) * 2014-12-30 2015-04-01 合肥工业大学 一种基于列梅兹逼近算法的sigmoid函数拟合硬件电路
CN105590325A (zh) * 2016-02-22 2016-05-18 辽宁工程技术大学 基于模糊化高斯隶属函数的高分辨率遥感影像分割方法
CN105893159A (zh) * 2016-06-21 2016-08-24 北京百度网讯科技有限公司 数据处理方法和装置
CN106126481A (zh) * 2016-06-29 2016-11-16 华为技术有限公司 一种计算引擎和电子设备
CN106775599A (zh) * 2017-01-09 2017-05-31 南京工业大学 递归神经网络的多计算单元粗粒度可重构***及方法
CN106895824A (zh) * 2017-01-24 2017-06-27 国网四川省电力公司检修公司 基于计算机视觉的无人机定位方法
WO2017142670A1 (en) * 2016-02-18 2017-08-24 Intel Corporation Technologies for shifted neural networks

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2236608A (en) * 1989-10-06 1991-04-10 British Telecomm Digital neural networks
CN101458732A (zh) * 2008-12-25 2009-06-17 浙江师范大学 面向饰品创新设计的知识应用方法
CN104484703A (zh) * 2014-12-30 2015-04-01 合肥工业大学 一种基于列梅兹逼近算法的sigmoid函数拟合硬件电路
WO2017142670A1 (en) * 2016-02-18 2017-08-24 Intel Corporation Technologies for shifted neural networks
CN105590325A (zh) * 2016-02-22 2016-05-18 辽宁工程技术大学 基于模糊化高斯隶属函数的高分辨率遥感影像分割方法
CN105893159A (zh) * 2016-06-21 2016-08-24 北京百度网讯科技有限公司 数据处理方法和装置
CN106126481A (zh) * 2016-06-29 2016-11-16 华为技术有限公司 一种计算引擎和电子设备
CN106775599A (zh) * 2017-01-09 2017-05-31 南京工业大学 递归神经网络的多计算单元粗粒度可重构***及方法
CN106895824A (zh) * 2017-01-24 2017-06-27 国网四川省电力公司检修公司 基于计算机视觉的无人机定位方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
XIAOBING NIE 等: "Multistability and Instability of Neural Networks With Discontinuous Nonmonotonic Piecewise Linear Activation Functions", 《IEEE TRANSACTIONS ON NEURAL NETWORKS AND LEARNING SYSTEMS》 *
程春玲 等: "基于 BING 与卷积神经网络的人脸检测算法", 《南京邮电大学学报(自然科学版)》 *
翁健: "基于全卷积神经网络的全向场景分割研究与算法实现", 《中国优秀硕士学位论文全文数据库信息科技辑》 *

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110866595A (zh) * 2018-08-28 2020-03-06 北京嘉楠捷思信息技术有限公司 一种集成电路中激活函数运算方法、装置及电路
CN110866595B (zh) * 2018-08-28 2024-04-26 嘉楠明芯(北京)科技有限公司 一种集成电路中激活函数运算方法、装置及电路
CN109919318A (zh) * 2018-12-14 2019-06-21 阿里巴巴集团控股有限公司 数据处理方法、装置和设备
CN109919318B (zh) * 2018-12-14 2023-08-08 创新先进技术有限公司 数据处理方法、装置和设备
CN109871941B (zh) * 2019-02-18 2020-02-21 中科寒武纪科技股份有限公司 数据处理方法、装置及相关产品
CN109871941A (zh) * 2019-02-18 2019-06-11 北京中科寒武纪科技有限公司 数据处理方法、装置及相关产品
WO2021073188A1 (zh) * 2019-10-15 2021-04-22 北京希姆计算科技有限公司 数据运算电路、数据处理装置、芯片、卡板及电子设备
CN111191766B (zh) * 2020-01-02 2023-05-16 中昊芯英(杭州)科技有限公司 一种数据处理方法、装置、处理器及计算机可读存储介质
CN111191779B (zh) * 2020-01-02 2023-05-30 中昊芯英(杭州)科技有限公司 一种数据处理方法、装置、处理器及计算机可读存储介质
CN111191779A (zh) * 2020-01-02 2020-05-22 深圳芯英科技有限公司 一种数据处理方法、装置、处理器及计算机可读存储介质
CN111191766A (zh) * 2020-01-02 2020-05-22 深圳芯英科技有限公司 一种数据处理方法、装置、处理器及计算机可读存储介质
CN111695300A (zh) * 2020-06-12 2020-09-22 国网山东省电力公司电力科学研究院 一种汽轮机阀门流量拟合方法及***
CN111507465B (zh) * 2020-06-16 2020-10-23 电子科技大学 一种可配置的卷积神经网络处理器电路
CN111507465A (zh) * 2020-06-16 2020-08-07 电子科技大学 一种可配置的卷积神经网络处理器电路
CN111986659A (zh) * 2020-07-16 2020-11-24 百度在线网络技术(北京)有限公司 建立音频生成模型的方法以及装置
CN113837365A (zh) * 2021-09-22 2021-12-24 中科亿海微电子科技(苏州)有限公司 实现sigmoid函数逼近的模型、FPGA电路及工作方法

Similar Documents

Publication Publication Date Title
CN108154224A (zh) 用于数据处理的方法、装置和非暂时性计算机可读介质
CN107797962B (zh) 基于神经网络的计算阵列
US10467528B2 (en) Accelerated TR-L-BFGS algorithm for neural network
CN106570559A (zh) 一种基于神经网络的数据处理方法和装置
CN107451659A (zh) 用于位宽分区的神经网络加速器及其实现方法
US20190187775A1 (en) Dynamic power management for artificial intelligence hardware accelerators
CN104145281A (zh) 神经网络计算装置和***及其方法
CN110543936B (zh) 一种cnn全连接层运算的多并行加速方法
WO2019006976A1 (zh) 神经网络权重离散化方法、***、设备和可读存储介质
KR102610842B1 (ko) 뉴럴 네트워크에서의 프로세싱 엘리먼트 및 그 동작 방법
CN112529069B (zh) 一种半监督节点分类方法、***、计算机设备和存储介质
CN109325590B (zh) 用于实现计算精度可变的神经网络处理器的装置
CN107766031A (zh) 分段式除法器、分段式除法运算方法、以及电子设备
CN111583095B (zh) 图像数据存储方法、图像数据处理方法、***及相关装置
CN111126569B (zh) 一种支持剪枝稀疏化压缩的卷积神经网络装置和计算方法
CN110580519A (zh) 一种卷积运算结构及其方法
CN113741858A (zh) 存内乘加计算方法、装置、芯片和计算设备
CN109117475A (zh) 一种文本改写的方法以及相关设备
CN107220025A (zh) 处理乘加运算的装置和处理乘加运算的方法
CN109635955A (zh) 一种特征组合方法、装置及设备
CN112051981B (zh) 一种数据流水线计算路径结构及单线程数据流水线***
CN109905880A (zh) 一种网络划分方法、***及电子设备和存储介质
CN115167815A (zh) 乘加器电路、芯片及电子设备
CN211015470U (zh) 一种基于忆阻器阵列的半加器及乘法器
CN113504892B (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
RJ01 Rejection of invention patent application after publication

Application publication date: 20180612

RJ01 Rejection of invention patent application after publication