CN113379031A - 神经网络的处理方法、装置、电子设备和存储介质 - Google Patents

神经网络的处理方法、装置、电子设备和存储介质 Download PDF

Info

Publication number
CN113379031A
CN113379031A CN202110610783.5A CN202110610783A CN113379031A CN 113379031 A CN113379031 A CN 113379031A CN 202110610783 A CN202110610783 A CN 202110610783A CN 113379031 A CN113379031 A CN 113379031A
Authority
CN
China
Prior art keywords
input information
target
information
output information
determining
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.)
Granted
Application number
CN202110610783.5A
Other languages
English (en)
Other versions
CN113379031B (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.)
Beijing Baidu Netcom Science and Technology Co Ltd
Original Assignee
Beijing Baidu Netcom Science and Technology 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 Beijing Baidu Netcom Science and Technology Co Ltd filed Critical Beijing Baidu Netcom Science and Technology Co Ltd
Priority to CN202110610783.5A priority Critical patent/CN113379031B/zh
Publication of CN113379031A publication Critical patent/CN113379031A/zh
Application granted granted Critical
Publication of CN113379031B publication Critical patent/CN113379031B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/044Recurrent networks, e.g. Hopfield networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • G06F18/2415Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on parametric or probabilistic models, e.g. based on likelihood ratio or false acceptance rate versus a false rejection rate
    • 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/047Probabilistic or stochastic 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/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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Artificial Intelligence (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • Molecular Biology (AREA)
  • Computational Linguistics (AREA)
  • Biophysics (AREA)
  • Biomedical Technology (AREA)
  • Mathematical Physics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Probability & Statistics with Applications (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Biology (AREA)
  • Image Analysis (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本申请公开了神经网络的处理方法、装置、电子设备和存储介质,涉及深度学习、语音技术等领域。具体实现方案为:根据神经网络的非线性激活函数的第一输入信息查询映射表,确定与第一输入信息匹配的目标输入信息,以及与目标输入信息对应的目标输出信息,并获取非线性激活函数的变化趋势特征,以根据目标输入信息、目标输出信息、第一输入信息,以及变化趋势特征,确定非线性激活函数中与第一输入信息对应的第一输出信息。由此,结合查表法,确定非线性激活函数中与输入信息对应的输出信息,可以降低计算的复杂度,从而提升非线性激活函数的计算效率。

Description

神经网络的处理方法、装置、电子设备和存储介质
技术领域
本申请涉及深度学习、语音技术等AI(Artificial Intelligence,人工智能)领域,尤其涉及神经网络的处理方法、装置、电子设备和存储介质。
背景技术
语音芯片和NPU(Network Processing Unit,神经网络单元)的设计中,包含大量的神经网络运算。为了提升神经网络的表达能力,可以通过激活函数增加神经网络的非线性。常见的非线性激活函数比如sigmoid函数和tanh函数是需要进行浮点的超越函数运算的。
目前使用标准浮点库进行上述非线性激活函数的计算,在计算过程中,由于需要计算超越函数,通常需要400-1000个CPU(Central Processing Unit,中央处理器)时钟周期才能完成超越函数的运算。然而,神经网络中会用到大量的sigmoid函数和tanh函数,采用上述方式计算非线性激活函数,不仅需要占用大量的内存,而且计算效率较低。
发明内容
本申请提供了一种用于神经网络的处理方法、装置、电子设备和存储介质。
根据本申请的一方面,提供了一种神经网络的处理方法,包括:
获取神经网络的非线性激活函数的第一输入信息;
根据所述第一输入信息查询映射表,确定与所述第一输入信息匹配的目标输入信息,以及与所述目标输入信息对应的目标输出信息;
获取所述非线性激活函数的变化趋势特征;
根据所述目标输入信息、目标输出信息、所述第一输入信息,以及所述变化趋势特征,确定所述非线性激活函数中与所述第一输入信息对应的第一输出信息。
根据本申请的另一方面,提供了一种神经网络的处理装置,包括:
第一获取模块,用于获取神经网络的非线性激活函数的第一输入信息;
第一确定模块,用于根据所述第一输入信息查询映射表,确定与所述第一输入信息匹配的目标输入信息,以及与所述目标输入信息对应的目标输出信息;
第二获取模块,用于获取所述非线性激活函数的变化趋势特征;
第二确定模块,用于根据所述目标输入信息、目标输出信息、所述第一输入信息,以及所述变化趋势特征,确定所述非线性激活函数中与所述第一输入信息对应的第一输出信息。
根据本申请的又一方面,提供了一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行本申请上述一方面提出的神经网络的处理方法。
根据本申请的再一方面,提供了一种计算机指令的非瞬时计算机可读存储介质,所述计算机指令用于使所述计算机执行本申请上述一方面提出的神经网络的处理方法。
根据本申请的还一方面,提供了一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现本申请上述一方面提出的神经网络的处理方法。
应当理解,本部分所描述的内容并非旨在标识本申请的实施例的关键或重要特征,也不用于限制本申请的范围。本申请的其它特征将通过以下的说明书而变得容易理解。
附图说明
附图用于更好地理解本方案,不构成对本申请的限定。其中:
图1是本申请实施例一所提供的神经网络的处理方法的流程示意图;
图2为本申请实施例二所提供的神经网络的处理方法的流程示意图;
图3为本申请实施例三所提供的神经网络的处理方法的流程示意图;
图4为本申请实施例四所提供的神经网络的处理方法的流程示意图;
图5为本申请实施例五所提供的神经网络的处理装置的结构示意图;
图6示出了可以用来实施本申请的实施例的示例电子设备的示意性框图。
具体实施方式
以下结合附图对本申请的示范性实施例做出说明,其中包括本申请实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本申请的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
目前,可以通过以下两种方式,实现非线性激活函数的运算:
第一种方式,采用标准浮点库进行非线性激活函数的运算。
第二种方式,使用查表方法实现非线性激活函数的运算。
虽然第一种方式的计算结果的精度较高,但是,第一种方式的计算量较大,计算复杂度较大,不仅需要占用大量的内存,还影响计算效率。而第二种方式的计算精度较低,若想要提升计算精度,需要建立非常大的表项,即RAM(Random Access Memory,随机访问/存取存储器),不适合在嵌入式系统中使用,即便在服务器中使用,内存消耗也非常大。
因此针对上述存在的问题,本申请提出一种神经网络的处理方法、装置、电子设备和存储介质。
下面参考附图描述本申请实施例的神经网络的处理方法、装置、电子设备和存储介质。
图1为本申请实施例一所提供的神经网络的处理方法的流程示意图。
本申请实施例以该神经网络的处理方法被配置于神经网络的处理装置中来举例说明,该神经网络的处理装置可以应用于任一电子设备中,以使该电子设备可以执行神经网络的处理功能。
其中,电子设备可以为任一具有计算能力的设备,例如可以为个人电脑(PersonalComputer,简称PC)、移动终端、服务器等,移动终端例如可以为手机、平板电脑、个人数字助理、穿戴式设备等具有各种操作系统、触摸屏和/或显示屏的硬件设备。
如图1所示,该神经网络的处理方法可以包括以下步骤:
步骤101,获取神经网络的非线性激活函数的第一输入信息。
在本申请实施例中,神经网络包括但不限于(Long Short Term Memory,长短期记忆网络)、GRU(General Regression Neural,广义回归神经)等神经网络。
在本申请实施例中,神经网络中的非线性激活函数可以包括但不限于sigmoid函数、tanh函数等激活函数。
其中,sigmoid函数的实现是:(1/(1+expf(-x))),即sigmoid函数的数学表达形式为:
Figure BDA0003095785240000041
其中,tanh函数的实现是:(2*sigmoid(2*x)-1),即tanh函数的数学表达形式为:
Figure BDA0003095785240000042
在本申请实施例中,在神经网络中会用到大量的非线性激活函数,在神经网络的使用过程中,针对神经网络中的任意一个非线性激活函数,可以获取该非线性激活函数的输入信息,本申请中记为第一输入信息。
其中,第一输入信息与神经网络的输入相关。以神经网络应用于语音识别场景中进行示例性说明,第一输入信息,可以根据语音数据的特征向量确定;再例如,以神经网络应用于语音翻译场景中进行示例性说明,第一输入信息,可以根据语音数据的特征向量确定,或者,也可以根据语音数据对应的文本信息的特征向量确定;又例如,以神经网络应用于图像或视频识别场景中进行示例性说明,第一输入信息,可以根据图像或视频帧的特征向量确定。
步骤102,根据第一输入信息查询映射表,确定与第一输入信息匹配的目标输入信息,以及与目标输入信息对应的目标输出信息。
在本申请实施例中,为了降低存储开销,映射表中可以存储设定个数的输入信息,与非线性激活函数中对应的输出信息之间的对应关系,其中,输入信息可以为自变量的取值,或者为输入变量的取值,相应的,输出信息可以为因变量的取值,或者为输出变量的取值。例如,设定个数可以为256个,当然,设定个数也可以为其他个数,本申请对此并不作限制。
在本申请实施例中,可以根据第一输入信息查询映射表,确定与第一输入信息匹配的输入信息,将与第一输入信息匹配的输入信息作为目标输入信息,并确定映射表中与该目标输入信息对应的目标输出信息。
作为一种示例,目标输入信息可以为映射表中与该第一输入信息最相似的输入信息,即目标输入信息可以为映射表中与该第一输入信息的差异最小的输入信息。在确定目标输入信息后,即可根据该目标输入信息查询映射表,确定与该目标输入信息对应的目标输出信息。
步骤103,获取非线性激活函数的变化趋势特征。
在本申请实施例的一种可能的实现方式中,针对每种非线性激活函数,可以预先对各非线性激活函数进行特征提取,确定各非线性激活函数对应的变化趋势特征,并存储各非线性激活函数和变化趋势特征之间的对应关系,从而本申请中,可以查询上述对应关系,获取非线性激活函数对应的变化趋势特征。由此,通过查询方式,确定非线性激活函数对应的变化趋势特征,而无需对非线性激活函数进行特征提取,可以提升非线性激活函数的计算效率。
以变化趋势特征为斜率进行示例性说明,即变化趋势特征可以包括各阶导函数,可以预先求取各非线性激活函数对应的各阶导函数,并存储各非线性激活函数和各阶导函数之间的对应关系,从而本申请中,可以查询上述对应关系,获取非线性激活函数对应的各阶导函数。由此,通过查询方式,确定非线性激活函数对应的各阶导函数,而无需求取非线性激活函数对应的各阶导函数,可以提升非线性激活函数的计算效率。
在本申请实施例的另一种可能的实现方式中,可以对非线性激活函数进行特征提取,确定该非线性激活函数对应的变化趋势特征。
仍以变化趋势特征为斜率进行示例性说明,可以利用现有的求导公式,直接计算非线性激活函数的各阶导函数。
步骤104,根据目标输入信息、目标输出信息、第一输入信息,以及变化趋势特征,确定非线性激活函数中与第一输入信息对应的第一输出信息。
在本申请实施例中,可以根据目标输入信息、目标输出信息、第一输入信息,以及变化趋势特征,确定非线性激活函数中与第一输入信息对应的第一输出信息。由此,通过查表法,确定与第一输入信息匹配的目标输入信息以及与目标输入信息对应的目标输出信息,从而根据非线性激活函数的变化趋势特征、目标输入信息、目标输出信息和第一输入信息,确定非线性激活函数中与第一输入信息对应的第一输出信息,可以降低计算的复杂度,从而提升非线性激活函数的计算效率。
作为一种应用场景,以神经网络应用于语音识别场景中进行示例,非线性激活函数的第一输入信息,可以根据语音数据的特征向量确定,根据本申请上述技术方案,识别得到的激活函数的第一输出信息,用于确定语音识别结果。
作为另一种应用场景,以神经网络应用于语音翻译场景中进行示例,非线性激活函数的第一输入信息,可以根据语音数据的特征向量确定,或者,也可以根据语音数据对应的文本信息的特征向量确定,根据本申请上述技术方案,识别得到的激活函数的第一输出信息,用于确定语音翻译结果。
举例而言,以神经网络应用于中英互译场景中进行示例性说明,非线性激活函数的第一输入信息,可以根据中文的语音数据的特征向量确定,根据本申请上述技术方案,识别得到的激活函数的第一输出信息,用于确定语音数据对应的英文翻译结果,该英文翻译结果可以为语音形式,或者也可以为文本形式,对此不作限制。
作为又一种应用场景,以神经网络应用于图像识别场景或视频识别场景中进行示例,非线性激活函数的第一输入信息,可以根据图像或视频帧的特征向量确定,根据本申请上述技术方案,识别得到的激活函数的第一输出信息,用于确定图像或视频帧的分类结果。
一种示例,以神经网络用于身份识别进行示例性说明,非线性激活函数的第一输入信息,可以根据图像或视频帧的特征向量确定,根据本申请上述技术方案,识别得到的激活函数的第一输出信息,用于确定图像或视频帧中目标对象的身份信息。
另一种示例,以神经网络用于活体检测进行示例性说明,非线性激活函数的第一输入信息,可以根据图像或视频帧的特征向量确定,根据本申请上述技术方案,识别得到的激活函数的第一输出信息,用于确定图像或视频帧中是否存在活体。比如当神经网络输出的概率值大于或者等于预设阈值(比如,预设阈值可以为0.5)时,分类结果为存在活体,而当神经网络输出的概率值小于预设阈值时,分类结果为未存在活体。
又一种示例,以神经网络用于违禁图片(比如暴力图片、色情图片等)检测进行示例性说明,非线性激活函数的第一输入信息,可以根据图像或视频帧的特征向量确定,根据本申请上述技术方案,识别得到的激活函数的第一输出信息,用于确定图像或视频帧是否为违禁图片。比如当神经网络输出的概率值大于或者等于预设阈值时,分类结果为:图像或视频帧为违禁图片,而当神经网络输出的概率值小于预设阈值时,分类结果为:图像或视频帧为正常图片。
本申请实施例的神经网络的处理方法,通过根据神经网络的非线性激活函数的第一输入信息查询映射表,确定与第一输入信息匹配的目标输入信息,以及与目标输入信息对应的目标输出信息,并获取非线性激活函数的变化趋势特征,以根据目标输入信息、目标输出信息、第一输入信息,以及变化趋势特征,确定非线性激活函数中与第一输入信息对应的第一输出信息。由此,通过查表法,确定与第一输入信息匹配的目标输入信息以及与目标输入信息对应的目标输出信息,从而根据非线性激活函数的变化趋势特征、目标输入信息、目标输出信息和第一输入信息,确定非线性激活函数中与第一输入信息对应的第一输出信息,可以降低计算的复杂度,从而提升非线性激活函数的计算效率。
在本申请实施例的一种可能的实现方式中,在计算非线性激活函数中与第一输入信息对应的第一输出信息时,可以通过根据变化趋势特征对非线性激活函数进行拟合,得到目标函数,将目标输入信息、目标输出信息和第一输入信息,带入目标函数,得到第一输出信息。下面结合实施例二,对上述过程进行详细说明。
图2为本申请实施例二所提供的神经网络的处理方法的流程示意图。
如图2所示,该神经网络的处理方法可以包括以下步骤:
步骤201,获取神经网络的非线性激活函数的第一输入信息。
步骤202,根据第一输入信息查询映射表,确定与第一输入信息匹配的目标输入信息,以及与目标输入信息对应的目标输出信息。
步骤203,获取非线性激活函数的变化趋势特征。
步骤201至203的执行过程可以参见上述实施例中步骤101至103的执行过程,在此不做赘述。
步骤204,根据变化趋势特征,对非线性激活函数进行拟合,得到目标函数。
在本申请实施例中,可以根据非线性激活函数的变化趋势特征,对该非线性激活函数进行拟合,得到目标函数,即目标函数为对该非线性激活函数进行拟合得到的近似函数。
作为一种示例,以变化趋势特征为斜率进行示例性说明,即变化趋势特征可以包括各阶导函数,可以根据非线性激活函数的各阶导函数,对该非线性激活函数进行泰勒级数拟合,得到目标函数。例如,标记非线性激活函数为f(x),则目标函数可以为:
f(x)=f(x0)+f'(x0)(x-x0)+f″(x0)(x-x0)2/2!+f″′(x0)(x-x0)3/3!+…; (3)
其中,x0表示x的近似值。
步骤205,根据目标输入信息、目标输出信息和第一输入信息,确定目标函数的第二输出信息。
在本申请实施例中,在确定目标函数后,即可将目标输入信息、目标输出信息和第一输入信息带入目标函数,确定目标函数的第二输出信息。
作为一种示例,以变化趋势特征为斜率进行示例性说明,可以将目标输入信息带入公式(3)中的x0,将目标输出信息带入公式(3)中的f(x0),将第一输入信息带入公式(3)中的x,即可得到目标函数的第二输出信息,即f(x)。
步骤206,将目标函数的第二输出信息,作为非线性激活函数中与第一输入信息对应的第一输出信息。
在本申请实施例中,由于目标函数为非线性激活函数的近似函数,因此,可以将目标函数的第二输出信息,作为非线性激活函数中与第一输入信息对应的第一输出信息。
本申请实施例的神经网络的处理方法,通过根据非线性激活函数的变化趋势特征对非线性激活函数进行拟合,得到目标函数,根据目标输入信息、目标输出信息和第一输入信息,确定目标函数的第二输出信息,将目标函数的第二输出信息,作为非线性激活函数中与第一输入信息对应的第一输出信息。由此,对非线性激活函数进行拟合得到与该非线性激活函数近似的目标函数,根据目标函数的输出信息,确定非线性激活函数的输出信息,可以实现在提升计算效率的基础上,保证计算结果的可靠性和准确性。
在本申请实施例的一种可能的实现方式中,为了进一步提升计算效率,以及节省计算资源,在对非线性激活函数进行拟合时,可以仅根据非线性激活函数的第一变化趋势特征和第二变化趋势特征对该非线性激活函数进行拟合。下面结合实施例三,对上述过程进行详细说明。
图3为本申请实施例三所提供的神经网络的处理方法的流程示意图。
如图3所示,该神经网络的处理方法可以包括以下步骤:
步骤301,获取神经网络的非线性激活函数的第一输入信息。
步骤302,根据第一输入信息查询映射表,确定与第一输入信息匹配的目标输入信息,以及与目标输入信息对应的目标输出信息。
步骤303,获取非线性激活函数的第一变化趋势特征和第二变化趋势特征。
步骤301至303的执行过程可以参见上述实施例中步骤101至103的执行过程,在此不做赘述。
在本申请实施例中,第二变化趋势特征可以为对所述第一变化趋势特征进行特征提取后得到的。以变化趋势特征为斜率进行示例性说明,第一变化趋势特征可以为一阶导函数,第二变化趋势特征可以为二阶导函数。
以非线性激活函数为sigmoid函数进行示例性说明,标记非线性激活函数为f(x),一阶导函数可以为f(x0)(1-f(x0)),二阶导函数可以为f(x0)(1-f(x0))(0.5-f(x0)),令f(x)=y(x),y(x0)=y0,则一阶导函数为y0(1-y0),二阶导函数为y0(1-y0)(0.5-y0)。为了节省计算效率,以及降低存储开销,针对sigmoid函数,可以直接存储sigmoid函数,与一阶导函数(y0(1-y0))和二阶导函数(y0(1-y0)(0.5-y0))之间的对应关系,从而,本申请中,可以查询上述对应关系,直接获取sigmoid函数的一阶导函数和二阶导函数。其中,x0表示x的近似值。
步骤304,确定与第一输入信息的差异处于预设范围内的第二输入信息。
应当理解的是,为了提升非线性激活函数计算结果的准确性,预设范围的取值不应过大,即预设范围为较小的取值范围。
也就是说,第二输入信息为第一输入信息的近似值,例如,标记该第二输入信息为x0
步骤305,根据非线性激活函数中与第二输入信息对应的第三输出信息,确定目标函数的第一项。
在本申请实施例中,可以将非线性激活函数中与第二输入信息对应的第三输出信息,作为目标函数的第一项。例如,目标函数的第一项可以为f(x0)。
步骤306,根据第二输入信息和第一变化趋势特征,确定第一中间信息。
例如,以变化趋势特征为斜率进行示例性说明,第一变化趋势特征即为一阶导函数,可以将第二输入信息带入一阶导函数,得到第一中间信息,即第一中间信息可以为f'(x0)。
步骤307,根据第一输入信息与第二输入信息的差异,以及根据第一中间信息,确定目标函数的第二项。
例如,以变化趋势特征为斜率进行示例性说明,可以将第一输入信息与第二输入信息的差值,与第一中间信息相乘,得到目标函数的第二项。例如,目标函数的第二项可以为f'(x0)(x-x0)。
步骤308,根据第二输入信息和第二变化趋势特征,确定第二中间信息。
例如,以变化趋势特征为斜率进行示例性说明,第二变化趋势特征即为二阶导函数,可以将第二输入信息带入二阶导函数,得到第二中间信息,即第二中间信息可以为f″(x0)。
步骤309,根据第一输入信息与第二输入信息的差异,以及根据第二中间信息,确定目标函数的第三项。
例如,以变化趋势特征为斜率进行示例性说明,可以将第一输入信息与第二输入信息的差值的平方,与第二中间信息相乘,之后将乘积除以2(即2的阶乘等于2),得到目标函数的第三项。例如,目标函数的第三项可以为:f″(x0)(x-x0)2/2。
步骤310,根据第一项、第二项和第三项,确定目标函数。
在本申请实施例中,可以将第一项、第二项和第三项依次相加,以得到目标函数。
作为一种示例,目标函数可以为:
f(x)=f(x0)+f'(x0)(x-x0)+f″(x0)(x-x0)2/2; (4)
需要说明的是,上述仅以第一项、第二项和第三项依次确定的进行示例,实际应用时,本申请对第一项、第二项和第三项的确定时序不作限制,可以依次确定,也可以并列确定,对此不作限制。
步骤311,根据目标输入信息、目标输出信息和第一输入信息,确定目标函数的第二输出信息。
在本申请实施例中,可以将目标输入信息作为目标函数中的第二输入信息,将目标输出信息作为非线性激活函数中与第二输入信息对应的第三输出信息,从而可以分别将目标输入信息、目标输出信息和第一输入信息,代入目标函数,得到目标函数的第二输出信息。
作为一种示例,可以将目标输入信息带入公式(4)中的x0,将目标输出信息带入公式(4)中的f(x0),将第一输入信息带入公式(4)中的x,即可得到目标函数的第二输出信息。
步骤312,将目标函数的第二输出信息,作为非线性激活函数中与第一输入信息对应的第一输出信息。
步骤312可以参见上述实施例中206的执行过程,在此不做赘述。
本申请实施例的神经网络的处理方法,通过仅根据非线性激活函数的第一变化趋势特征和第二变化趋势特征,对非线性激活函数进行拟合,可以进一步提升非线性激活函数的计算效率,并降低计算过程中的内存消耗。
通过将目标输入信息作为目标函数中的第二输入信息,将目标输出信息作为非线性激活函数中与第二输入信息对应的第三输出信息,分别将目标输入信息、目标输出信息和第一输入信息,代入目标函数,得到目标函数的第二输出信息。由此,可以实现根据目标输入信息、目标输出信息和第一输入信息,有效计算得到与非线性激活函数中与第一输入信息对应的第一输出信息。
需要说明的是,对于非线性激活函数的计算,是通过硬件上的浮点运算单元实现的,而考虑到硬件设计上浮点运算单元的设计难度和IC(Integrated Circuit,集成电路)资源消耗都远大于整数实现,因此,需要设计一种适合IC硬件的激活函数的运算方法。
而通过本申请上述任一实施例,通过查表法,可以降低计算资源的消耗,可以适用于IC硬件中。并且,本申请中的映射表中仅存储设定个数的自变量取值,以及对应的因变量取值,还可以降低存储资源的占用。
在本申请实施例的一种可能的实现方式中,由于整数的运算资源消耗低于浮点数的运算资源消耗,而目标输出信息为浮点型的,为了进一步节省运算资源,以及提升计算效率,在查询得到目标输出信息后,可以将浮点型的目标输出信息转化为整型的目标输出信息。下面结合实施例四,对上述过程进行详细说明。
图4为本申请实施例四所提供的神经网络的处理方法的流程示意图。
如图4所示,该神经网络的处理方法可以包括以下步骤:
步骤401,获取神经网络的非线性激活函数的第一输入信息。
步骤402,根据第一输入信息查询映射表,确定与第一输入信息匹配的目标输入信息,以及与目标输入信息对应的目标输出信息。
步骤403,获取非线性激活函数的变化趋势特征。
步骤404,根据变化趋势特征,对非线性激活函数进行拟合,得到目标函数。
步骤401至404的执行过程可以参见上述任一实施例,在此不做赘述。
步骤405,将浮点型的目标输出信息转化为整型的目标输出信息。
在本申请实施例中,可以将浮点型的目标输出信息转化为整型的目标输出信息。
需要说明的是,非线性激活函数除了可以包括sigmoid函数、tanh函数,还可以包括RELU(Rectified Linear Unit,线性整流单元)、RELU6等,由于RELU、RELU6等激活函数的IC实现较为简单,因此本申请对此不作叙述。并且,由于tanh函数由(2*sigmoid(2*x)–1)实现,其计算方式与sigmoid函数类似,因此,本申请以非线性激活函数为sigmoid函数进行示例性说明。
其中,sigmoid函数和tanh函数的特点为:虽然输入范围为负无穷到正无穷,但是输出范围是有界的,比如sigmoid函数的输出范围为0至1,tanh函数的输出范围为-1至1。
1、由于sigmoid函数在坐标点(0,0.5)处对称,即sigmoid(x)+sigmoid(-x)=1,因此可以只实现x>0的部分的函数计算,x<0的部分,可以根据函数的对称性推导出。另外,当x>16时,sigmoid函数的输出值使用单精度浮点表示时即为1,即内存表示为0x3F800000(十六进制表示)。
其中,标准的单精度浮点的表示方法是1位符号位,8位指数位,23位小数位,硬件上使用32位的寄存器来表示一个浮点数。
2、当sigmoid函数的输入x是单精度浮点数时,当0<x<16时,首先可以采用查表法,确定x在0到16之间的近似值x0,以及x0对应的f(x0)或y0,之后查询sigmoid函数(f(x)或y)对应的一阶导函数和二阶导函数,根据一阶导函数和二阶导函数进行泰勒级数拟合,得到f(x)或y(即sigmoid(x)的近似函数)。
其中,由于sigmoid函数的一阶导函数f'(x0)或y'(x0)为y0(1-y0),二阶导函数f″(x0)或y″(x0)是y0(1-y0)(0.5-y0),因此,存储sigmoid函数对应的各阶导函数时,可以直接存储sigmoid函数与一阶导函数(y0(1-y0))和二阶导函数(y0(1-y0)(0.5-y0))之间的对应关系,从而,本申请中,可以查询上述对应关系,直接获取sigmoid函数的一阶导函数和二阶导函数。
将sigmoid函数的一阶导函数(y0(1-y0))和二阶导函数(y0(1-y0)(0.5-y0))带入公式(4),可以得到公式(5),即可以将公式(4)变形为:
y=y0+y0(1-y0)*(x-x0)+y0(1-y0)(0.5-y0)/2*(x-x0)2;(5)
3、由于上述表示为浮点的表示方式,而由于y0一定为处于0.5到1之间的值,故其浮点值的内存表示一定在0x3F000000(0.5的十六进制表示)到0x3F800000(1的十六进制表示)之间,此时,y0可以由其尾数的23位和隐含的1位来表示,即可以将y0(32位)整数化表示,标记整数化后的y0为y0i(24位),则:
y0i=(y0&0x7FFFFF)|0x80000; (6)
从而后续一阶导函数,二阶导函数均可以使用整数的乘法以及乘积右移位来实现,可以大大简少了硬件的实现开销。
需要说明的是,本申请仅以步骤405在404之后执行进行示例,但本申请并不限于此,实际应用时,步骤405只需在步骤402之后执行即可,比如步骤405还可以在步骤403之前执行,或者,步骤405还可以与步骤403至404并列执行,或者步骤405还可以在步骤403之后,且在步骤404之前执行,对此不作限制。
步骤406,根据目标输入信息、整型的目标输出信息和第一输入信息,确定目标函数的第二输出信息。
步骤406的执行过程可以参见上述任一实施例,在此不做赘述。
进一步地,由于目标函数的第二输出信息也为整数,为了提升非线性激活函数的计算结果的准确性,可以将整型的目标函数的第二输出信息转化为浮点型的目标函数的第二输出信息,以满足非线性激活函数的实际输出需求,以及提升计算结果的准确性。
步骤407,将整型的目标函数的第二输出信息转化为浮点型的第二输出信息。
仍以步骤405中的例子示例,通过公式(5)和(6)计算得到的是24位的整数,由于目标函数的第二输出信息肯定在0.5到1之间,因此,可以通过以下公式,来实现将y转化为浮点数输出:
yi=y&0x7FFFFF)|0x3F000000; (7)
其中,yi表示浮点型的目标函数的第二输出信息。
步骤408,将浮点型的目标函数的第二输出信息,作为非线性激活函数中与第一输入信息对应的第一输出信息。
步骤408的执行过程可以参见上述实施例,在此不做赘述。
在本申请实施例的一种可能的实现方式中,为了降低存储开销,上述任一实施例中的映射表中,可以存储处于设定取值范围内的设定个数的输入信息,与非线性激活函数中对应的输出信息之间的对应关系。
例如,当非线性激活函数为sigmoid函数或tanh函数时,设定取值范围可以为0至设定取值,比如该设定取值可以为16,当然也可以为其他取值,本申请对此并不作限制。
在计算非线性激活函数的取值时,可以判断第一输入信息是否处于设定取值范围内,在第一输入信息处于设定取值范围内时,可以执行后续计算过程,而在第一输入信息大于设定取值的情况下,可以直接确定浮点型的第一输出信息为该非线性激活函数的上限值,比如,当非线性激活函数为sigmoid函数或tanh函数时,该第一输出信息可以为1。由此,在第一输入信息大于设定取值时,可以直接确定第一输出信息,而无需计算得到,可以进一步提升计算效率。
发明人以映射表中存储256个输入信息进行测试,即映射表中具有256个表项,x的步长为16/256=1/16,即存储的输入信息分别为:1/16、2/16、3/16、4/16、5/16、……、255/16、256/16,使用本申请上述公式(5)计算sigmoid函数的取值,最终可以得到1E-6以内的输出误差,输出结果的准确性较高。
而通过公式(5)、(6)和(7)的整数实现,sigmoid函数的最终输出精度和浮点库相比较同样是误差在1E-6之间。因此,当输入信息为单精度浮点数,输出信息也是单精度浮点数的sigmoid函数,应用于IC硬件中时,输出精度相对于标准的浮点库实现,仅在尾数上有最多4位的误差,浮点值的误差在1E-6左右,输出结果的准确性和可靠性可以得到保证。
本申请实施例的神经网络的处理方法,通过将浮点型的目标输出信息转化为整型的目标输出信息,从而在目标函数的计算过程中,变化趋势特征(比如各阶导函数)可以使用整数的乘法以及乘积右移位来实现,可以大大简少了硬件的实现开销。
与上述图1至图4实施例提供的神经网络的处理方法相对应,本申请还提供一种神经网络的处理装置,由于本申请实施例提供的神经网络的处理装置与上述图1至图4实施例提供的神经网络的处理方法相对应,因此在神经网络的处理方法的实施方式也适用于本申请实施例提供的神经网络的处理装置,在本申请实施例中不再详细描述。
图5为本申请实施例五所提供的神经网络的处理装置的结构示意图。
如图5所示,该神经网络的处理装置500可以包括:第一获取模块510、第一确定模块520、第二获取模块530以及第二确定模块540。
其中,第一获取模块510,用于获取神经网络的非线性激活函数的第一输入信息。
第一确定模块520,用于根据第一输入信息查询映射表,确定与第一输入信息匹配的目标输入信息,以及与目标输入信息对应的目标输出信息。
第二获取模块530,用于获取非线性激活函数的变化趋势特征。
第二确定模块540,用于根据目标输入信息、目标输出信息、第一输入信息,以及变化趋势特征,确定非线性激活函数中与第一输入信息对应的第一输出信息。
在本申请实施例的一种可能的实现方式中,第二确定模块540,可以包括:
拟合单元,用于根据变化趋势特征,对非线性激活函数进行拟合,得到目标函数。
确定单元,用于根据目标输入信息、目标输出信息和第一输入信息,确定目标函数的第二输出信息。
处理单元,用于将目标函数的第二输出信息,作为非线性激活函数中与第一输入信息对应的第一输出信息。
在本申请实施例的一种可能的实现方式中,变化趋势特征包括第一变化趋势特征和第二变化趋势特征,其中,第二变化趋势特征为对第一变化趋势特征进行特征提取后得到的;拟合单元,具体用于:确定与第一输入信息的差异处于预设范围内的第二输入信息;根据非线性激活函数中与第二输入信息对应的第三输出信息,确定目标函数的第一项;根据第二输入信息和第二变化趋势特征,确定第一中间信息;根据第一输入信息与第二输入信息的差异,以及根据第一中间信息,确定目标函数的第二项;根据第二输入信息和第二变化趋势特征,确定第二中间信息;根据第一输入信息与第二输入信息的差异,以及根据第二中间信息,确定目标函数的第三项;根据第一项、第二项和第三项,确定目标函数。
在本申请实施例的一种可能的实现方式中,确定单元,具体用于:将目标输入信息作为目标函数中的第二输入信息;将目标输出信息作为非线性激活函数中与第二输入信息对应的第三输出信息;分别将目标输入信息、目标输出信息和第一输入信息,代入目标函数,得到目标函数的第二输出信息。
在本申请实施例的一种可能的实现方式中,第二确定模块,还可以包括:
转化单元,用于将浮点型的目标输出信息转化为整型的目标输出信息。
在本申请实施例的一种可能的实现方式中,转化单元,还用于:将整型的目标函数的第二输出信息转化为浮点型的第二输出信息。
在本申请实施例的一种可能的实现方式中,映射表中存储处于设定取值范围内的设定个数的输入信息,与非线性激活函数中对应的输出信息之间的对应关系,该神经网络的处理装置500还可以包括:
第三确定模块,用于确定第一输入信息处于设定取值范围内。
在本申请实施例的一种可能的实现方式中,设定取值范围为0至设定取值,该神经网络的处理装置500还可以包括:
第四确定模块,用于在第一输入信息大于设定取值的情况下,确定浮点型的第一输出信息为1。
本申请实施例的神经网络的处理装置,通过根据神经网络的非线性激活函数的第一输入信息查询映射表,确定与第一输入信息匹配的目标输入信息,以及与目标输入信息对应的目标输出信息,并获取非线性激活函数的变化趋势特征,以根据目标输入信息、目标输出信息、第一输入信息,以及变化趋势特征,确定非线性激活函数中与第一输入信息对应的第一输出信息。由此,通过查表法,确定与第一输入信息匹配的目标输入信息以及与目标输入信息对应的目标输出信息,从而根据非线性激活函数的变化趋势特征、目标输入信息、目标输出信息和第一输入信息,确定非线性激活函数中与第一输入信息对应的第一输出信息,可以降低计算的复杂度,从而提升非线性激活函数的计算效率。
为了实现上述实施例,本申请还提供一种电子设备,该电子设备可以包括至少一个处理器;以及与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行本申请上述任一实施例提出的神经网络的处理方法。
为了实现上述实施例,本申请还提供一种存储有计算机指令的非瞬时计算机可读存储介质,其中,计算机指令用于使计算机执行本申请上述任一实施例提出的神经网络的处理方法。
为了实现上述实施例,本申请还提供一种计算机程序产品,该计算机程序产品包括计算机程序,计算机程序在被处理器执行时实现本申请上述任一实施例提出的神经网络的处理方法。
根据本申请的实施例,本申请还提供了一种电子设备、一种可读存储介质和一种计算机程序产品。
图6示出了可以用来实施本申请的实施例的示例电子设备的示意性框图。其中,电子设备可以包括上述实施例中的服务端、客户端。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本申请的实现。
如图6所示,设备600包括计算单元601,其可以根据存储在ROM(Read-OnlyMemory,只读存储器)602中的计算机程序或者从存储单元607加载到RAM(Random AccessMemory,随机访问/存取存储器)603中的计算机程序,来执行各种适当的动作和处理。在RAM603中,还可存储设备600操作所需的各种程序和数据。计算单元601、ROM 602以及RAM 603通过总线604彼此相连。I/O(Input/Output,输入/输出)接口605也连接至总线604。
设备600中的多个部件连接至I/O接口605,包括:输入单元606,例如键盘、鼠标等;输出单元607,例如各种类型的显示器、扬声器等;存储单元608,例如磁盘、光盘等;以及通信单元609,例如网卡、调制解调器、无线通信收发机等。通信单元609允许设备600通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
计算单元601可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元601的一些示例包括但不限于CPU(Central Processing Unit,中央处理单元)、GPU(Graphic Processing Units,图形处理单元)、各种专用的AI(Artificial Intelligence,人工智能)计算芯片、各种运行机器学习模型算法的计算单元、DSP(Digital SignalProcessor,数字信号处理器)、以及任何适当的处理器、控制器、微控制器等。计算单元601执行上文所描述的各个方法和处理,例如上述神经网络的非线性激活函数运行处理方法。例如,在一些实施例中,上述神经网络的非线性激活函数运行处理方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元608。在一些实施例中,计算机程序的部分或者全部可以经由ROM 602和/或通信单元609而被载入和/或安装到设备600上。当计算机程序加载到RAM 603并由计算单元601执行时,可以执行上文描述的神经网络的非线性激活函数运行处理方法的一个或多个步骤。备选地,在其他实施例中,计算单元601可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行上述神经网络的处理方法。
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、FPGA(Field Programmable Gate Array,现场可编程门阵列)、ASIC(Application-Specific Integrated Circuit,专用集成电路)、ASSP(Application Specific StandardProduct,专用标准产品)、SOC(System On Chip,芯片上系统的系统)、CPLD(ComplexProgrammable Logic Device,复杂可编程逻辑设备)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
用于实施本申请的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本申请的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、RAM、ROM、EPROM(Electrically Programmable Read-Only-Memory,可擦除可编程只读存储器)或快闪存储器、光纤、CD-ROM(Compact Disc Read-Only Memory,便捷式紧凑盘只读存储器)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(Cathode-Ray Tube,阴极射线管)或者LCD(Liquid Crystal Display,液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:LAN(LocalArea Network,局域网)、WAN(Wide Area Network,广域网)、互联网和区块链网络。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与VPS服务(VirtualPrivate Server,虚拟专用服务器)中,存在的管理难度大,业务扩展性弱的缺陷。服务器也可以为分布式系统的服务器,或者是结合了区块链的服务器。
其中,需要说明的是,人工智能是研究使计算机来模拟人的某些思维过程和智能行为(如学习、推理、思考、规划等)的学科,既有硬件层面的技术也有软件层面的技术。人工智能硬件技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理等技术;人工智能软件技术主要包括计算机视觉技术、语音识别技术、自然语言处理技术以及机器学习/深度学习、大数据处理技术、知识图谱技术等几大方向。
根据本申请实施例的技术方案,通过根据神经网络的非线性激活函数的第一输入信息查询映射表,确定与第一输入信息匹配的目标输入信息,以及与目标输入信息对应的目标输出信息,并获取非线性激活函数的变化趋势特征,以根据目标输入信息、目标输出信息、第一输入信息,以及变化趋势特征,确定非线性激活函数中与第一输入信息对应的第一输出信息。由此,通过查表法,确定与第一输入信息匹配的目标输入信息以及与目标输入信息对应的目标输出信息,从而根据非线性激活函数的变化趋势特征、目标输入信息、目标输出信息和第一输入信息,确定非线性激活函数中与第一输入信息对应的第一输出信息,可以降低计算的复杂度,从而提升非线性激活函数的计算效率。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本申请公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本申请保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本申请的精神和原则之内所作的修改、等同替换和改进等,均应包含在本申请保护范围之内。

Claims (19)

1.一种神经网络的处理方法,包括:
获取神经网络的非线性激活函数的第一输入信息;
根据所述第一输入信息查询映射表,确定与所述第一输入信息匹配的目标输入信息,以及与所述目标输入信息对应的目标输出信息;
获取所述非线性激活函数的变化趋势特征;
根据所述目标输入信息、目标输出信息、所述第一输入信息,以及所述变化趋势特征,确定所述非线性激活函数中与所述第一输入信息对应的第一输出信息。
2.根据权利要求1所述的方法,其中,所述根据所述目标输入信息、目标输出信息、所述第一输入信息,以及所述变化趋势特征,确定所述非线性激活函数中与所述第一输入信息对应的第一输出信息,包括:
根据所述变化趋势特征,对所述非线性激活函数进行拟合,得到目标函数;
根据所述目标输入信息、目标输出信息和所述第一输入信息,确定所述目标函数的第二输出信息;
将所述目标函数的第二输出信息,作为所述非线性激活函数中与第一输入信息对应的第一输出信息。
3.根据权利要求2所述的方法,其中,所述变化趋势特征包括第一变化趋势特征和第二变化趋势特征,其中,所述第二变化趋势特征为对所述第一变化趋势特征进行特征提取后得到的;所述根据所述变化趋势特征,对所述非线性激活函数进行拟合,得到目标函数,包括:
确定与所述第一输入信息的差异处于预设范围内的第二输入信息;
根据所述非线性激活函数中与所述第二输入信息对应的第三输出信息,确定所述目标函数的第一项;
根据所述第二输入信息和所述第一变化趋势特征,确定第一中间信息;
根据所述第一输入信息与所述第二输入信息的差异,以及根据所述第一中间信息,确定所述目标函数的第二项;
根据所述第二输入信息和所述第二变化趋势特征,确定第二中间信息;
根据所述第一输入信息与所述第二输入信息的差异,以及根据所述第二中间信息,确定所述目标函数的第三项;
根据所述第一项、所述第二项和所述第三项,确定所述目标函数。
4.根据权利要求3所述的方法,其中,所述根据所述目标输入信息、目标输出信息和所述第一输入信息,确定所述目标函数的第二输出信息,包括:
将所述目标输入信息作为所述目标函数中的所述第二输入信息;
将所述目标输出信息作为所述非线性激活函数中与所述第二输入信息对应的第三输出信息;
分别将所述目标输入信息、目标输出信息和所述第一输入信息,代入所述目标函数,得到所述目标函数的第二输出信息。
5.根据权利要求2所述的方法,其中,所述根据所述目标输入信息、目标输出信息和所述第一输入信息,确定所述目标函数的第二输出信息之前,所述方法还包括:
将浮点型的所述目标输出信息转化为整型的所述目标输出信息。
6.根据权利要求5所述的方法,其中,所述根据所述目标输入信息、目标输出信息和所述第一输入信息,确定所述目标函数的第二输出信息之后,所述方法还包括:
将整型的所述目标函数的第二输出信息转化为浮点型的所述第二输出信息。
7.根据权利要求1所述的方法,其中,所述映射表中存储处于设定取值范围内的设定个数的输入信息,与所述非线性激活函数中对应的输出信息之间的对应关系,所述根据所述第一输入信息查询映射表,确定与所述第一输入信息匹配的目标输入信息,以及与所述目标输入信息对应的目标输出信息之前,所述方法还包括:
确定所述第一输入信息处于所述设定取值范围内。
8.根据权利要求7所述的方法,其中,所述设定取值范围为0至设定取值,所述方法还包括:
在所述第一输入信息大于所述设定取值的情况下,确定浮点型的所述第一输出信息为1。
9.一种神经网络的处理装置,包括:
第一获取模块,用于获取神经网络的非线性激活函数的第一输入信息;
第一确定模块,用于根据所述第一输入信息查询映射表,确定与所述第一输入信息匹配的目标输入信息,以及与所述目标输入信息对应的目标输出信息;
第二获取模块,用于获取所述非线性激活函数的变化趋势特征;
第二确定模块,用于根据所述目标输入信息、目标输出信息、所述第一输入信息,以及所述变化趋势特征,确定所述非线性激活函数中与所述第一输入信息对应的第一输出信息。
10.根据权利要求9所述的装置,其中,所述第二确定模块,包括:
拟合单元,用于根据所述变化趋势特征,对所述非线性激活函数进行拟合,得到目标函数;
确定单元,用于根据所述目标输入信息、目标输出信息和所述第一输入信息,确定所述目标函数的第二输出信息;
处理单元,用于将所述目标函数的第二输出信息,作为所述非线性激活函数中与所述第一输入信息对应的第一输出信息。
11.根据权利要求10所述的装置,其中,变化趋势特征包括第一变化趋势特征和第二变化趋势特征,其中,所述第二变化趋势特征为对所述第一变化趋势特征进行特征提取后得到的;所述拟合单元,具体用于:
确定与所述第一输入信息的差异处于预设范围内的第二输入信息;
根据所述非线性激活函数中与所述第二输入信息对应的第三输出信息,确定所述目标函数的第一项;
根据所述第二输入信息和所述第一变化趋势特征,确定第一中间信息;
根据所述第一输入信息与所述第二输入信息的差异,以及根据所述第一中间信息,确定所述目标函数的第二项;
根据所述第二输入信息和所述第二变化趋势特征,确定第二中间信息;
根据所述第一输入信息与所述第二输入信息的差异,以及根据所述第二中间信息,确定所述目标函数的第三项;
根据所述第一项、所述第二项和所述第三项,确定所述目标函数。
12.根据权利要求11所述的装置,其中,所述确定单元,具体用于:
将所述目标输入信息作为所述目标函数中的所述第二输入信息;
将所述目标输出信息作为所述非线性激活函数中与所述第二输入信息对应的第三输出信息;
分别将所述目标输入信息、目标输出信息和所述第一输入信息,代入所述目标函数,得到所述目标函数的第二输出信息。
13.根据权利要求10所述的装置,其中,所述第二确定模块,还包括:
转化单元,用于将浮点型的所述目标输出信息转化为整型的所述目标输出信息。
14.根据权利要求13所述的装置,其中,所述转化单元,还用于:
将整型的所述目标函数的第二输出信息转化为浮点型的所述第二输出信息。
15.根据权利要求9所述的装置,其中,所述映射表中存储处于设定取值范围内的设定个数的输入信息,与所述非线性激活函数中对应的输出信息之间的对应关系,所述装置还包括:
第三确定模块,用于确定所述第一输入信息处于所述设定取值范围内。
16.根据权利要求15所述的装置,其中,所述设定取值范围为0至设定取值,所述装置还包括:
第四确定模块,用于在所述第一输入信息大于所述设定取值的情况下,确定浮点型的所述第一输出信息为1。
17.一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-8中任一项所述的神经网络的处理方法。
18.一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行根据权利要求1-8中任一项所述的神经网络的处理方法。
19.一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现根据权利要求1-8中任一项所述的神经网络的处理方法。
CN202110610783.5A 2021-06-01 2021-06-01 神经网络的处理方法、装置、电子设备和存储介质 Active CN113379031B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110610783.5A CN113379031B (zh) 2021-06-01 2021-06-01 神经网络的处理方法、装置、电子设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110610783.5A CN113379031B (zh) 2021-06-01 2021-06-01 神经网络的处理方法、装置、电子设备和存储介质

Publications (2)

Publication Number Publication Date
CN113379031A true CN113379031A (zh) 2021-09-10
CN113379031B CN113379031B (zh) 2023-03-17

Family

ID=77575339

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110610783.5A Active CN113379031B (zh) 2021-06-01 2021-06-01 神经网络的处理方法、装置、电子设备和存储介质

Country Status (1)

Country Link
CN (1) CN113379031B (zh)

Citations (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107301454A (zh) * 2016-04-15 2017-10-27 北京中科寒武纪科技有限公司 支持离散数据表示的人工神经网络反向训练装置和方法
CN107729984A (zh) * 2017-10-27 2018-02-23 中国科学院计算技术研究所 一种适用于神经网络激活函数的计算装置及方法
US20180060278A1 (en) * 2016-09-01 2018-03-01 Qualcomm Incorporated Approximation of non-linear functions in fixed point using look-up tables
CN108537332A (zh) * 2018-04-12 2018-09-14 合肥工业大学 一种基于Remez算法的Sigmoid函数硬件高效率实现方法
CN108921288A (zh) * 2018-05-04 2018-11-30 中国科学院计算技术研究所 神经网络激活处理装置和基于该装置的神经网络处理器
KR20190105368A (ko) * 2018-03-05 2019-09-17 한국전자통신연구원 심층신경망 모델의 선형 근사화 방법 및 장치
KR20190106185A (ko) * 2018-03-08 2019-09-18 포항공과대학교 산학협력단 전치 가능한 메모리와 가상 순람표를 이용한 뉴로모픽 시스템
CN110610235A (zh) * 2019-08-22 2019-12-24 北京时代民芯科技有限公司 一种神经网络激活函数计算电路
CN110826706A (zh) * 2018-08-10 2020-02-21 北京百度网讯科技有限公司 用于神经网络的数据处理方法和装置
CN111325332A (zh) * 2020-02-18 2020-06-23 百度在线网络技术(北京)有限公司 卷积神经网络的处理方法和装置
US20200234126A1 (en) * 2019-01-23 2020-07-23 Google Llc Look-up table based neural networks
US20200401873A1 (en) * 2019-06-19 2020-12-24 Neuchips Corporation Hardware architecture and processing method for neural network activation function
CN112241291A (zh) * 2019-07-18 2021-01-19 国际商业机器公司 用于指数函数实施的浮点单元
US20210049447A1 (en) * 2019-01-25 2021-02-18 Boe Technology Group Co., Ltd. Neural network processing method and evaluation method, and data analysis method and device
CN112651497A (zh) * 2020-12-30 2021-04-13 深圳大普微电子科技有限公司 一种基于硬件芯片的激活函数处理方法、装置及集成电路
CN112651496A (zh) * 2020-12-30 2021-04-13 深圳大普微电子科技有限公司 一种处理激活函数的硬件电路及芯片
CN112686392A (zh) * 2020-12-30 2021-04-20 深圳大普微电子科技有限公司 基于集成电路的激活函数处理方法、装置、设备及介质

Patent Citations (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107301454A (zh) * 2016-04-15 2017-10-27 北京中科寒武纪科技有限公司 支持离散数据表示的人工神经网络反向训练装置和方法
US20180060278A1 (en) * 2016-09-01 2018-03-01 Qualcomm Incorporated Approximation of non-linear functions in fixed point using look-up tables
CN107729984A (zh) * 2017-10-27 2018-02-23 中国科学院计算技术研究所 一种适用于神经网络激活函数的计算装置及方法
KR20190105368A (ko) * 2018-03-05 2019-09-17 한국전자통신연구원 심층신경망 모델의 선형 근사화 방법 및 장치
KR20190106185A (ko) * 2018-03-08 2019-09-18 포항공과대학교 산학협력단 전치 가능한 메모리와 가상 순람표를 이용한 뉴로모픽 시스템
CN108537332A (zh) * 2018-04-12 2018-09-14 合肥工业大学 一种基于Remez算法的Sigmoid函数硬件高效率实现方法
CN108921288A (zh) * 2018-05-04 2018-11-30 中国科学院计算技术研究所 神经网络激活处理装置和基于该装置的神经网络处理器
CN110826706A (zh) * 2018-08-10 2020-02-21 北京百度网讯科技有限公司 用于神经网络的数据处理方法和装置
US20200234126A1 (en) * 2019-01-23 2020-07-23 Google Llc Look-up table based neural networks
US20210049447A1 (en) * 2019-01-25 2021-02-18 Boe Technology Group Co., Ltd. Neural network processing method and evaluation method, and data analysis method and device
US20200401873A1 (en) * 2019-06-19 2020-12-24 Neuchips Corporation Hardware architecture and processing method for neural network activation function
CN112241291A (zh) * 2019-07-18 2021-01-19 国际商业机器公司 用于指数函数实施的浮点单元
US20210019116A1 (en) * 2019-07-18 2021-01-21 International Business Machines Corporation Floating point unit for exponential function implementation
CN110610235A (zh) * 2019-08-22 2019-12-24 北京时代民芯科技有限公司 一种神经网络激活函数计算电路
CN111325332A (zh) * 2020-02-18 2020-06-23 百度在线网络技术(北京)有限公司 卷积神经网络的处理方法和装置
CN112651497A (zh) * 2020-12-30 2021-04-13 深圳大普微电子科技有限公司 一种基于硬件芯片的激活函数处理方法、装置及集成电路
CN112651496A (zh) * 2020-12-30 2021-04-13 深圳大普微电子科技有限公司 一种处理激活函数的硬件电路及芯片
CN112686392A (zh) * 2020-12-30 2021-04-20 深圳大普微电子科技有限公司 基于集成电路的激活函数处理方法、装置、设备及介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
刘德儿: "《面向特征语义单元的地理空间建模理论与方法》", 31 August 2019, 冶金工业出版社 *

Also Published As

Publication number Publication date
CN113379031B (zh) 2023-03-17

Similar Documents

Publication Publication Date Title
CN111259671B (zh) 文本实体的语义描述处理方法、装置及设备
CN113033537A (zh) 用于训练模型的方法、装置、设备、介质和程序产品
CN115063875B (zh) 模型训练方法、图像处理方法、装置和电子设备
CN113361572B (zh) 图像处理模型的训练方法、装置、电子设备以及存储介质
CN113379813A (zh) 深度估计模型的训练方法、装置、电子设备及存储介质
CN113177449B (zh) 人脸识别的方法、装置、计算机设备及存储介质
CN113705362B (zh) 图像检测模型的训练方法、装置、电子设备及存储介质
CN111241838B (zh) 文本实体的语义关系处理方法、装置及设备
CN113378712A (zh) 物体检测模型的训练方法、图像检测方法及其装置
CN112529180A (zh) 模型蒸馏的方法和装置
CN112580666A (zh) 图像特征的提取方法、训练方法、装置、电子设备及介质
CN113887615A (zh) 图像处理方法、装置、设备和介质
CN114511743B (zh) 检测模型训练、目标检测方法、装置、设备、介质及产品
CN112784102B (zh) 视频检索方法、装置和电子设备
CN113033346B (zh) 文本检测方法、装置和电子设备
CN117746125A (zh) 图像处理模型的训练方法、装置及电子设备
CN112488126A (zh) 特征图处理方法、装置、设备以及存储介质
CN112528995A (zh) 用于训练目标检测模型的方法、目标检测方法及装置
CN113379031B (zh) 神经网络的处理方法、装置、电子设备和存储介质
CN115690443B (zh) 特征提取模型训练方法、图像分类方法及相关装置
CN113792876B (zh) 骨干网络的生成方法、装置、设备以及存储介质
CN115984791A (zh) 自动驾驶感知模型的生成方法、装置及电子设备
CN112560848B (zh) 兴趣点poi预训练模型的训练方法、装置及电子设备
CN111507944B (zh) 皮肤光滑度的确定方法、装置和电子设备
CN113903071A (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
GR01 Patent grant
GR01 Patent grant