CN112116076A - 激活函数的优化方法和优化装置 - Google Patents
激活函数的优化方法和优化装置 Download PDFInfo
- Publication number
- CN112116076A CN112116076A CN202010997320.4A CN202010997320A CN112116076A CN 112116076 A CN112116076 A CN 112116076A CN 202010997320 A CN202010997320 A CN 202010997320A CN 112116076 A CN112116076 A CN 112116076A
- Authority
- CN
- China
- Prior art keywords
- activation
- value
- activation input
- input value
- 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
Links
- 230000004913 activation Effects 0.000 title claims abstract description 456
- 238000000034 method Methods 0.000 title claims abstract description 78
- 238000005457 optimization Methods 0.000 title claims abstract description 28
- 238000003062 neural network model Methods 0.000 claims abstract description 44
- 238000013528 artificial neural network Methods 0.000 claims abstract description 41
- 238000012545 processing Methods 0.000 claims abstract description 34
- 230000006870 function Effects 0.000 claims description 75
- 238000012549 training Methods 0.000 claims description 50
- 230000008569 process Effects 0.000 claims description 29
- 230000015654 memory Effects 0.000 claims description 23
- 238000004590 computer program Methods 0.000 claims description 19
- 238000013507 mapping Methods 0.000 claims description 6
- 238000004364 calculation method Methods 0.000 abstract description 26
- 238000013527 convolutional neural network Methods 0.000 description 15
- 238000010586 diagram Methods 0.000 description 6
- 238000013135 deep learning Methods 0.000 description 5
- 230000003213 activating effect Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000011176 pooling Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/048—Activation functions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning 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)
- Image Analysis (AREA)
Abstract
本发明提供一种激活函数的优化方法和优化装置,所述优化方法包括以下步骤:获取当前神经网络数据;根据神经网络模型对当前神经网络数据进行处理,以获取当前激活输入值;将当前激活输入值左移N位,以得到目标激活输入值,其中,N为正整数;以及将目标激活输入值和预设的激活输入值与激活值之间的对照关系表进行比对,以查表获得与目标激活输入值对应的激活值。本发明实施例的优化方法,能够通过查表的方式获取激活值,有效提升了激活函数在处理器上的计算速度。
Description
技术领域
本发明涉及深度学习技术领域,具体涉及一种激活函数的优化方法、一种激活函数的优化装置、一种计算机设备、一种非临时性计算机可读存储介质和一种计算机程序产品。
背景技术
目前,pytorch深度学习框架中,没有提供swish激活函数算子,需要手动定义。
其中,wish激活函数的定义为x*sigmoid(x),在pytorch框架中,使用高层函数接口实现swish,需要保存激活函数前的数值x,并计算sigmoid(x),然后再计算x*sigmoid(x)的数值,sigmoid函数计算量较大,而且使用此方法的swish计算过程,保存中间变量较多,需要大量访问内存。
发明内容
本发明为解决上述技术问题,提供了一种激活函数的优化方法,能够通过查表的方式获取激活值,有效提升了激活函数在处理器上的计算速度。
本发明采用的技术方案如下:
一种激活函数的优化方法,包括以下步骤:获取当前神经网络数据;根据神经网络模型对所述当前神经网络数据进行处理,以获取当前激活输入值;将所述当前激活输入值左移N位,以得到目标激活输入值,其中,N为正整数;以及将所述目标激活输入值和预设的激活输入值与激活值之间的对照关系表进行比对,以查表获得与所述目标激活输入值对应的激活值。
根据本发明的一个实施例,所述预设的激活输入值与激活值之间的对照关系表通过以下方式生成:获取多个训练数据;根据所述神经网络模型对所述多个训练数据进行处理,以确定激活输入值的取值范围;以所述N位的取值间隔从所述激活输入值的取值范围内,选取多个激活输入值;计算所述多个激活输入值中每个激活输入值对应的激活值,以生成所述预设的激活输入值与激活值之间的对照关系表。
根据本发明的一个实施例,所述根据所述神经网络模型对所述多个训练数据进行处理,以确定激活输入值的取值范围,具体包括:将所述多个训练数据中的训练数据依次输入至所述神经网络模型;通过所述神经网络模型依次处理所述多个训练数据中的训练数据,以确定所述激活输入值的最大值和所述激活输入值的最小值;根据所述激活输入值的最大值和所述激活输入值的最小值,确定所述激活输入值的取值范围。
根据本发明的一个实施例,通过以下公式计算所述多个激活输入值中每个激活输入值对应的激活值:
W=1/(1+e^-x),
其中,W为所述激活值,e为预设的自然常数,x为所述激活输入值。
根据本发明的一个实施例,在将所述目标激活输入值和所述预设的激活输入值与激活值之间的对照关系表进行比对的过程中,如果所述目标激活输入值大于所述对照关系表中激活输入值的最大值,则查表获得所述对照关系表中激活输入值的最大值对应的激活值,并将该激活值作为与所述目标激活输入值对应的激活值;如果所述目标激活输入值小于所述对照关系表中激活输入值的最小值,则查表获得所述对照关系表中激活输入值的最小值对应的激活值,并将该激活值作为与所述目标激活输入值对应的激活值。
一种激活函数的优化装置,包括:第一获取模块,用于获取当前神经网络数据;第二获取模块,用于根据神经网络模型对所述当前神经网络数据进行处理,以获取当前激活输入值;处理模块,用于将所述当前激活输入值左移N位,以得到目标激活输入值,其中,N为正整数;以及查表模块,用于将所述目标激活输入值和预设的激活输入值与激活值之间的对照关系表进行比对,以查表获得与所述目标激活输入值对应的激活值。
根据本发明的一个实施例,上述激活函数的优化装置还包括生成模块,用于通过以下方式生成所述预设的激活输入值与激活值之间的对照关系表:获取多个训练数据;根据所述神经网络模型对所述多个训练数据进行处理,以确定激活输入值的取值范围;以所述N位的取值间隔从所述激活输入值的取值范围内,选取多个激活输入值;计算所述多个激活输入值中每个激活输入值对应的激活值,以生成所述预设的激活输入值与激活值之间的对照关系表。
一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时,实现上述激活函数的优化方法。
一种非临时性计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现上述激活函数的优化方法。
一种计算机程序产品,当所述计算机程序产品中的指令由处理器执行时,执行上述激活函数的优化方法。
本发明的有益效果:
本发明在获取到目标激活输入值后,通过将目标激活输入值和预设的激活输入值与激活值之间的对照关系表进行比对的方式,来查表获得与目标激活输入值对应的激活值,从而跳过了激活值的计算过程,避免了大量访问内存的需求,进而有效提升了激活函数在处理器上的计算速度。
本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1是根据本发明一个实施例的激活函数的优化方法的流程图;
图2是根据本发明另一个实施例的激活函数的优化方法的流程图;
图3是根据本发明一个实施例的激活函数的优化装置的方框示意图;以及
图4是根据本发明另一个实施例的激活函数的优化装置的方框示意图
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
下面参考附图描述本申请实施例的激活函数的优化方法、激活函数的优化方法装置、计算机设备、非临时性计算机可读存储介质和计算机程序产品。
本发明实施例,针对相关技术中,由于激活函数(例如,sigmoid函数)的计算量较大,导致在激活函数的计算过程中,保存中间变量较多,需要大量访问内存的技术问题,提出一种激活函数的优化方法。
本发明实施例的为激活函数的优化方法,可以在获取到的目标激活输入值之后,通过将目标激活输入值和预设的激活输入值与激活值之间的对照关系表进行比对的方式,来查表获得与目标激活输入值对应的激活值,解决了上述相关技术中的问题,同时提高了激活函数在处理器上的计算速度。
本发明实施例提供的激活函数的优化方法,可以由计算机设备来执行,该计算机设备可为PC(Personal Computer,个人计算机)电脑、平板电脑或掌上电脑等,此处不做任何限定。
在本发明实施例中,计算机设备中可以设置有处理组件、存储组件和驱动组件。可选的,该驱动组件和处理组件可以集成设置,该存储组件可以存储操作系统、应用程序或其他程序模块,该处理组件通过执行存储组件中存储的应用程序来实现本发明实施例提供的激活函数的优化方法。
图1是根据本发明一个实施例的激活函数的优化方法的流程图。
本发明实施例的激活函数的优化方法,还可由本发明实施例提供的激活函数的优化装置执行,以实现获取目标激活输入值,并通过将目标激活输入值和预设的激活输入值与激活值之间的对照关系表进行比对的方式,来查表获得与目标激活输入值对应的激活值。
作为一种可能的情况,本发明实施例的激活函数的优化方法还可以在服务器端执行,服务器可以为云服务器,可以在云端执行该激活函数的优化方法。
需要说明的是,本发明实施例的激活函数的优化方法,可应用在神经网络(例如,卷积神经网络)的激活函数层中,其中,神经网络可包括输入层、卷积层、激活函数层、池化层、全连接层组。神经网络可在多个领域应用,例如,神经网络可应以于设备的深度学习领域,比如人脸识别设备的深度学习、自动驾驶的深度学习等。
如图1所示,本发明实施例的激活函数的优化方法,可包括以下步骤:
S101,获取当前神经网络数据。其中,当前神经网络数据可为卷积神经网络中卷积层输出的数据。
为了更好描述本发明,以应用在人脸识别系统中的卷积神经网络为例,其中,在人脸识别系统应用过程中,可将待测的人脸图像输入值卷积神经网络,该待测的人脸图像经过该卷积神经网络中输入层和卷积层的运算输出的数据,即为本发明的当前神经网络数据。
S102,根据神经网络模型对当前神经网络数据进行处理,以获取当前激活输入值。其中,神经网络模型可根据实际情况进行标定,例如,该神经网络模型可为相关人员预先训练好的。
S103,将当前激活输入值左移N位,以得到目标激活输入值,其中,N为正整数。
具体地,在卷积神经网络运行的过程中,获取卷积层输出的当前神经网络数据,并将该当前神经网络数据输入至神经网络模型,该神经网络模型对该当前神经网络数据进行相关的处理,并输出当前激活输入值。然后将该当前激活输入值左移N位取整,以得到目标激活输入值。应说明的是,该实施例中,N为正整数,N的取值可由相关人员根据需求设定。
S104,将目标激活输入值和预设的激活输入值与激活值之间的对照关系表进行比对,以查表获得与目标激活输入值对应的激活值。其中,预设的激活输入值与激活值之间的对照关系表可根据实际情况进行标定,且上述激活值可为swish激活函数的激活值。
具体地,在卷积神经网络运行的过程中,在得到目标激活输入值之后,可直接调出预选存储的预设的激活输入值与激活值之间的对照关系表,并将该目标激活输入值和预设的激活输入值与激活值之间的对照关系表进行比对,以查表获得与目标激活输入值对应的激活值。
在本发明的实施例中,首先获取当前神经网络数据,并根据神经网络模型对当前神经网络数据进行处理,以获取当前激活输入值,然后将当前激活输入值左移N位,以得到目标激活输入值,最后将目标激活输入值和预设的激活输入值与激活值之间的对照关系表进行比对,以查表获得与目标激活输入值对应的激活值。由此,能够通过查表的方式获取激活值,有效提升了激活函数在处理器上的计算速度。
为了清楚说明上一实施例,在本发明的一个实施例中,如图2所示,预设的激活输入值与激活值之间的对照关系表可通过以下方式生成:
S201,获取多个训练数据。
在本发明的实施例中,获取训练数据途径有多条,其中,可通过在卷积神经网络运行的过程中,截取卷积层输出的数据,来获取训练数据,还可人为主动创造训练数据,此处不做任何限定。
S202,根据神经网络模型对多个训练数据进行处理,以确定激活输入值的取值范围。
在本发明的一个实施例,根据神经网络模型对多个训练数据进行处理,以确定激活输入值的取值范围,具体可包括:将多个训练数据中的训练数据依次输入至神经网络模型,并通过神经网络模型依次处理多个训练数据中的训练数据,以确定激活输入值的最大值和激活输入值的最小值,以及根据激活输入值的最大值和激活输入值的最小值,确定激活输入值的取值范围。
具体地,在获取到多个训练数据后,将多个训练数据中的训练数据依次输入至神经网络模型,该神经网络模型可依次处理多个训练数据中的训练数据,并输出与所述多个训练数据中每个训练数据对应的激活输入值。然后从这些输出的激活输入值中确定最大值和最小值,并以此作为取值的边界,从而确定激活输入值的取值范围。
S203,以N位的取值间隔从激活输入值的取值范围内,选取多个激活输入值。
需要说明的是,由于激活输入值为浮点型数值,无法以1为间隔,所以该实施例中所描述的以N位的取值间隔,可以是以左移N位取整的取值间隔。
S204,计算多个激活输入值中每个激活输入值对应的激活值,以生成预设的激活输入值与激活值之间的对照关系表。
具体地,在确定激活输入值的取值范围后,可以左移N位取整的取值间隔从激活输入值的取值范围内,选取多个激活输入值,其中,多个激活输入值可包括激活输入值的最大值和最小值。然后计算该多个激活输入值中每个激活输入值对应的激活值,以生成预设的激活输入值与激活值之间的对照关系表,并可将已生成的激活输入值与激活值之间的对照关系表进行保存,以在需要时调出直接应用,从而跳过了激活值的计算过程,避免了大量访问内存的需求,进而有效提升了激活函数在处理器上的计算速度。
在本发明的实施例中,预设的激活输入值与激活值之间的对照关系表的生成可由相关的服务器进行,该服务器可以是云端服务器,也可以是一台电脑的主机,该服务器与可执行本发明实施例提供的激活函数的优化方法的装置(或其它电子设备)之间,建立有通信连接,该通信连接可以是无线网络连接和有线网络连接的至少一种。服务器可将生成的预设的激活输入值与激活值之间的对照关系表发送给相关的装置(或其它电子设备),以便该装置(或其它电子设备)在需要时调用,从而大大减少装置(或其它电子设备)的计算压力。
为了清楚说明上一实施例,在本发明的一个实施例中,可通过以下公式(1)计算多个激活输入值中每个激活输入值对应的激活值:
W=1/(1+e^-x) (1)
其中,W为激活值,e为预设的自然常数,x为激活输入值。
进一步而言,在将目标激活输入值和预设的激活输入值与激活值之间的对照关系表进行比对的过程中,如果目标激活输入值大于对照关系表中激活输入值的最大值,则查表获得对照关系表中激活输入值的最大值对应的激活值,并将该激活值作为与目标激活输入值对应的激活值,如果目标激活输入值小于对照关系表中激活输入值的最小值,则查表获得对照关系表中激活输入值的最小值对应的激活值,并将该激活值作为与目标激活输入值对应的激活值,从而最大限度的利用预设的激活输入值与激活值之间的对照关系表来获取激活值,以规避激活值的计算过程。
综上,根据本发明实施例的激活函数的优化方法,首先获取当前神经网络数据,并根据神经网络模型对当前神经网络数据进行处理,以获取当前激活输入值,然后将当前激活输入值左移N位,以得到目标激活输入值,最后将目标激活输入值和预设的激活输入值与激活值之间的对照关系表进行比对,以查表获得与目标激活输入值对应的激活值。由此,能够通过查表的方式获取激活值,从而跳过了激活值的计算过程,避免了大量访问内存的需求,进而有效提升了激活函数在处理器上的计算速度。
对应上述实施例的方法,本发明还提出一种激活函数的优化装置。
图3是根据本发明一个实施例的激活函数的优化装置的方框示意图。
如图3所示,本发明实施例的激活函数的优化装置1000,可包括:第一获取模块100、第二获取模块200、处理模块300和查表模块400。
其中,第一获取模块100用于获取当前神经网络数据。其中,当前神经网络数据可为卷积神经网络中卷积层输出的数据。
为了更好描述本发明,以应用在人脸识别系统中的卷积神经网络为例,其中,在人脸识别系统应用过程中,可将待测的人脸图像输入值卷积神经网络,该待测的人脸图像经过该卷积神经网络中输入层和卷积层的运算输出的数据,即为本发明的当前神经网络数据。
第二获取模块200用于根据神经网络模型对当前神经网络数据进行处理,以获取当前激活输入值。其中,神经网络模型可根据实际情况进行标定,例如,该神经网络模型可为相关人员预先训练好的。
处理模块300用于将当前激活输入值左移N位,以得到目标激活输入值,其中,N为正整数。
具体地,在卷积神经网络运行的过程中,第一获取模块100获取卷积层输出的当前神经网络数据,第二获取模块200将该当前神经网络数据输入至神经网络模型,以通过该神经网络模型对该当前神经网络数据进行相关的处理,并输出当前激活输入值。然后处理模块300将该当前激活输入值左移N位取整,以得到目标激活输入值。应说明的是,该实施例中,N为正整数,N的取值可由相关人员根据需求设定。
查表模块400用于将目标激活输入值和预设的激活输入值与激活值之间的对照关系表进行比对,以查表获得与目标激活输入值对应的激活值。。其中,预设的激活输入值与激活值之间的对照关系表可根据实际情况进行标定,且上述激活值可为swish激活函数的激活值。
具体地,在卷积神经网络运行的过程中,在处理模块300得到目标激活输入值之后,查表模块400可直接调出预选存储的预设的激活输入值与激活值之间的对照关系表,并将该目标激活输入值和预设的激活输入值与激活值之间的对照关系表进行比对,以查表获得与目标激活输入值对应的激活值。
在本发明的实施例中,首先通过第一获取模块获取当前神经网络数据,并通过第二获取模块根据神经网络模型对当前神经网络数据进行处理,以获取当前激活输入值,然后通过处理模块将当前激活输入值左移N位,以得到目标激活输入值,最后通过查表模块将目标激活输入值和预设的激活输入值与激活值之间的对照关系表进行比对,以查表获得与目标激活输入值对应的激活值。由此,能够通过查表的方式获取激活值,有效提升了激活函数在处理器上的计算速度。
为了清楚说明上一实施例,在本发明的一个实施例中,如图4所示,上述激活函数的优化装置1000还可包括生成模块500,其中,生成模块500用于通过以下方式生成预设的激活输入值与激活值之间的对照关系表:
获取多个训练数据。
在本发明的实施例中,获取训练数据途径有多条,其中,可通过在卷积神经网络运行的过程中,截取卷积层输出的数据,来获取训练数据,还可人为主动创造训练数据,此处不做任何限定。
根据神经网络模型对多个训练数据进行处理,以确定激活输入值的取值范围。
在本发明的实施例,根据神经网络模型对多个训练数据进行处理,以确定激活输入值的取值范围,具体可包括:将多个训练数据中的训练数据依次输入至神经网络模型,并通过神经网络模型依次处理多个训练数据中的训练数据,以确定激活输入值的最大值和激活输入值的最小值,以及根据激活输入值的最大值和激活输入值的最小值,确定激活输入值的取值范围。
具体地,在获取到多个训练数据后,将多个训练数据中的训练数据依次输入至神经网络模型,该神经网络模型可依次处理多个训练数据中的训练数据,并输出与所述多个训练数据中每个训练数据对应的激活输入值。然后从这些输出的激活输入值中确定最大值和最小值,并以此作为取值的边界,从而确定激活输入值的取值范围。
以N位的取值间隔从激活输入值的取值范围内,选取多个激活输入值。
需要说明的是,由于激活输入值为浮点型数值,无法以1为间隔,所以该实施例中所描述的以N位的取值间隔,可以是以左移N位取整的取值间隔。
计算多个激活输入值中每个激活输入值对应的激活值,以生成预设的激活输入值与激活值之间的对照关系表。
具体地,在确定激活输入值的取值范围后,可以左移N位取整的取值间隔从激活输入值的取值范围内,选取多个激活输入值,其中,多个激活输入值可包括激活输入值的最大值和最小值。然后计算该多个激活输入值中每个激活输入值对应的激活值,以生成预设的激活输入值与激活值之间的对照关系表,并可将已生成的激活输入值与激活值之间的对照关系表进行保存,以在需要时调出直接应用,从而跳过了激活值的计算过程,避免了大量访问内存的需求,进而有效提升了激活函数在处理器上的计算速度。
为了清楚说明上一实施例,在本发明的实施例中,生成模块500可通过以下公式(1)计算多个激活输入值中每个激活输入值对应的激活值:
W=1/(1+e^-x) (1)
其中,W为激活值,e为预设的自然常数,x为激活输入值。
进一步而言,查表模块40在将目标激活输入值和预设的激活输入值与激活值之间的对照关系表进行比对的过程中,如果目标激活输入值大于对照关系表中激活输入值的最大值,则查表获得对照关系表中激活输入值的最大值对应的激活值,并将该激活值作为与目标激活输入值对应的激活值,如果目标激活输入值小于对照关系表中激活输入值的最小值,则查表获得对照关系表中激活输入值的最小值对应的激活值,并将该激活值作为与目标激活输入值对应的激活值,从而最大限度的利用预设的激活输入值与激活值之间的对照关系表来获取激活值,以规避激活值的计算过程。
综上,本发明实施例的激活函数的优化装置,首先通过第一获取模块获取当前神经网络数据,并通过第二获取模块根据神经网络模型对当前神经网络数据进行处理,以获取当前激活输入值,然后通过处理模块将当前激活输入值左移N位,以得到目标激活输入值,最后通过查表模块将目标激活输入值和预设的激活输入值与激活值之间的对照关系表进行比对,以查表获得与目标激活输入值对应的激活值。由此,能够通过查表的方式获取激活值,从而跳过了激活值的计算过程,避免了大量访问内存的需求,进而有效提升了激活函数在处理器上的计算速度。
对应上述实施例,本发明还提出一种计算机设备。
本发明实施例的计算机设备包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行该计算机程序时,可实现根据本发明上述实施例所述的激活函数的优化方法。
根据本发明实施例的计算机设备,处理器执行存储在存储器上的计算机程序时,首先获取当前神经网络数据,并根据神经网络模型对当前神经网络数据进行处理,以获取当前激活输入值,然后将当前激活输入值左移N位,以得到目标激活输入值,最后将目标激活输入值和预设的激活输入值与激活值之间的对照关系表进行比对,以查表获得与目标激活输入值对应的激活值。由此,能够通过查表的方式获取激活值,从而跳过了激活值的计算过程,避免了大量访问内存的需求,进而有效提升了激活函数在处理器上的计算速度。
对应上述实施例,本发明还提出一种非临时性计算机可读存储介质。
本发明实施例的非临时性计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时可实现根据本发明上述实施例所述的激活函数的优化方法。
根据本发明实施例的非临时性计算机可读存储介质,处理器执行存储在其上的计算机程序时,首先获取当前神经网络数据,并根据神经网络模型对当前神经网络数据进行处理,以获取当前激活输入值,然后将当前激活输入值左移N位,以得到目标激活输入值,最后将目标激活输入值和预设的激活输入值与激活值之间的对照关系表进行比对,以查表获得与目标激活输入值对应的激活值。由此,能够通过查表的方式获取激活值,从而跳过了激活值的计算过程,避免了大量访问内存的需求,进而有效提升了激活函数在处理器上的计算速度。
对应上述实施例,本发明还提出一种计算机程序产品。
当本发明实施例的计算机程序产品中的指令由处理器执行时,可执行根据本发明上述实施例所述的激活函数的优化方法。
根据本发明实施例的计算机程序产品,处理器执行其中的指令时,首先获取当前神经网络数据,并根据神经网络模型对当前神经网络数据进行处理,以获取当前激活输入值,然后将当前激活输入值左移N位,以得到目标激活输入值,最后将目标激活输入值和预设的激活输入值与激活值之间的对照关系表进行比对,以查表获得与目标激活输入值对应的激活值。由此,能够通过查表的方式获取激活值,从而跳过了激活值的计算过程,避免了大量访问内存的需求,进而有效提升了激活函数在处理器上的计算速度。
在本发明的描述中,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。“多个”的含义是两个或两个以上,除非另有明确具体的限定。
在本发明中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”、“固定”等术语应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或成一体;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通或两个元件的相互作用关系。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。
在本发明中,除非另有明确的规定和限定,第一特征在第二特征“上”或“下”可以是第一和第二特征直接接触,或第一和第二特征通过中间媒介间接接触。而且,第一特征在第二特征“之上”、“上方”和“上面”可是第一特征在第二特征正上方或斜上方,或仅仅表示第一特征水平高度高于第二特征。第一特征在第二特征“之下”、“下方”和“下面”可以是第一特征在第二特征正下方或斜下方,或仅仅表示第一特征水平高度小于第二特征。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必针对相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,“计算机可读介质”可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
上述提到的存储介质可以是只读存储器,磁盘或光盘等。尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。
Claims (10)
1.一种激活函数的优化方法,其特征在于,包括以下步骤:
获取当前神经网络数据;
根据神经网络模型对所述当前神经网络数据进行处理,以获取当前激活输入值;
将所述当前激活输入值左移N位,以得到目标激活输入值,其中,N为正整数;以及
将所述目标激活输入值和预设的激活输入值与激活值之间的对照关系表进行比对,以查表获得与所述目标激活输入值对应的激活值。
2.根据权利要求1所述的激活函数的优化方法,其特征在于,所述预设的激活输入值与激活值之间的对照关系表通过以下方式生成:
获取多个训练数据;
根据所述神经网络模型对所述多个训练数据进行处理,以确定激活输入值的取值范围;
以所述N位的取值间隔从所述激活输入值的取值范围内,选取多个激活输入值;
计算所述多个激活输入值中每个激活输入值对应的激活值,以生成所述预设的激活输入值与激活值之间的对照关系表。
3.根据权利要求2所述的激活函数的优化方法,其特征在于,所述根据所述神经网络模型对所述多个训练数据进行处理,以确定激活输入值的取值范围,具体包括:
将所述多个训练数据中的训练数据依次输入至所述神经网络模型;
通过所述神经网络模型依次处理所述多个训练数据中的训练数据,以确定所述激活输入值的最大值和所述激活输入值的最小值;
根据所述激活输入值的最大值和所述激活输入值的最小值,确定所述激活输入值的取值范围。
4.根据权利要求2所述的激活函数的优化方法,其特征在于,通过以下公式计算所述多个激活输入值中每个激活输入值对应的激活值:
W=1/(1+e^-x),
其中,W为所述激活值,e为预设的自然常数,x为所述激活输入值。
5.根据权利要求1所述的激活函数的优化方法,其特征在于,其中,
在将所述目标激活输入值和所述预设的激活输入值与激活值之间的对照关系表进行比对的过程中,如果所述目标激活输入值大于所述对照关系表中激活输入值的最大值,则查表获得所述对照关系表中激活输入值的最大值对应的激活值,并将该激活值作为与所述目标激活输入值对应的激活值;
如果所述目标激活输入值小于所述对照关系表中激活输入值的最小值,则查表获得所述对照关系表中激活输入值的最小值对应的激活值,并将该激活值作为与所述目标激活输入值对应的激活值。
6.一种激活函数的优化装置,其特征在于,包括:
第一获取模块,用于获取当前神经网络数据;
第二获取模块,用于根据神经网络模型对所述当前神经网络数据进行处理,以获取当前激活输入值;
处理模块,用于将所述当前激活输入值左移N位,以得到目标激活输入值,其中,N为正整数;以及
查表模块,用于将所述目标激活输入值和预设的激活输入值与激活值之间的对照关系表进行比对,以查表获得与所述目标激活输入值对应的激活值。
7.根据权利要求6所述的激活函数的优化装置,其特征在于,还包括生成模块,用于通过以下方式生成所述预设的激活输入值与激活值之间的对照关系表:
获取多个训练数据;
根据所述神经网络模型对所述多个训练数据进行处理,以确定激活输入值的取值范围;
以所述N位的取值间隔从所述激活输入值的取值范围内,选取多个激活输入值;
计算所述多个激活输入值中每个激活输入值对应的激活值,以生成所述预设的激活输入值与激活值之间的对照关系表。
8.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时,实现根据权利要求1-5中任一项所述的激活函数的优化方法。
9.一种非临时性计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现根据权利要求1-5中任一项所述的激活函数的优化方法。
10.一种计算机程序产品,其特征在于,当所述计算机程序产品中的指令由处理器执行时,执行根据权利要求1-5中任一项所述的激活函数的优化方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010997320.4A CN112116076A (zh) | 2020-09-21 | 2020-09-21 | 激活函数的优化方法和优化装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010997320.4A CN112116076A (zh) | 2020-09-21 | 2020-09-21 | 激活函数的优化方法和优化装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112116076A true CN112116076A (zh) | 2020-12-22 |
Family
ID=73801335
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010997320.4A Pending CN112116076A (zh) | 2020-09-21 | 2020-09-21 | 激活函数的优化方法和优化装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112116076A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113361693A (zh) * | 2021-06-30 | 2021-09-07 | 北京百度网讯科技有限公司 | 生成卷积神经网络的方法和装置、图像识别方法和装置 |
-
2020
- 2020-09-21 CN CN202010997320.4A patent/CN112116076A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113361693A (zh) * | 2021-06-30 | 2021-09-07 | 北京百度网讯科技有限公司 | 生成卷积神经网络的方法和装置、图像识别方法和装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108875013B (zh) | 处理地图数据的方法及装置 | |
CN109583594B (zh) | 深度学习训练方法、装置、设备及可读存储介质 | |
CN110139102B (zh) | 视频编码复杂度的预测方法、装置、设备和存储介质 | |
CN111695624B (zh) | 数据增强策略的更新方法、装置、设备及存储介质 | |
US20210049513A1 (en) | Unsupervised model evaluation method, apparatus, server, and computer-readable storage medium | |
CN112669290A (zh) | 图像比对方法及装置 | |
CN109460813B (zh) | 卷积神经网络计算的加速方法、装置、设备及存储介质 | |
CN111009179B (zh) | 剥蚀厚度的确定方法及装置 | |
CN112116076A (zh) | 激活函数的优化方法和优化装置 | |
CN110111382B (zh) | 不规则区域面积计算方法、装置、计算机设备和存储介质 | |
CN112632862B (zh) | 风场稳定性的确定方法、装置、电子设备及存储介质 | |
CN114090952A (zh) | 损失函数动态加权的方法、装置、设备和存储介质 | |
CN109426599A (zh) | 功率估算方法与功率估算装置 | |
CN112802080A (zh) | 基于深度学习的单目绝对深度估计方法和装置 | |
CN107561106A (zh) | 一种条痕状形貌表征参数的测量方法及装置 | |
CN116385369A (zh) | 深度图像质量评价方法、装置、电子设备及存储介质 | |
CN111368978A (zh) | 一种离线量化工具的精度提升方法 | |
JP2010039723A (ja) | 非負値行列分解の数値計算方法、非負値行列分解の数値計算装置、プログラムおよび記憶媒体 | |
CN115952916A (zh) | 基于人工智能的风电功率预测误差修正方法、装置及设备 | |
CN111861947B (zh) | 提高直方图技术增强图像的信息熵的方法、装置 | |
CN113269812B (zh) | 图像预测模型的训练及应用方法、装置、设备、存储介质 | |
CN105335978A (zh) | 图像边缘的检测方法及系统 | |
CN111177290B (zh) | 一种三维地图准确度的评价方法及装置 | |
CN115099396A (zh) | 基于忆阻器阵列的全权重映射方法及装置 | |
US20220175315A1 (en) | Method for estimating arrangement of electrodes on biological tissue |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20201222 |