CN116050489A - 基于神经网络激活函数的芯片加速方法、设备及存储介质 - Google Patents
基于神经网络激活函数的芯片加速方法、设备及存储介质 Download PDFInfo
- Publication number
- CN116050489A CN116050489A CN202111261476.7A CN202111261476A CN116050489A CN 116050489 A CN116050489 A CN 116050489A CN 202111261476 A CN202111261476 A CN 202111261476A CN 116050489 A CN116050489 A CN 116050489A
- Authority
- CN
- China
- Prior art keywords
- activation function
- neural network
- convolutional neural
- hardswish
- weight parameter
- 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
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/06—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
- G06N3/063—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
-
- 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
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Evolutionary Computation (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Artificial Intelligence (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Neurology (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明涉及一种基于神经网络激活函数的芯片加速方法,该方法包括以下步骤:步骤S1、基于HardSwish激活函数,构建卷积神经网络;步骤S2、训练卷积神经网络,直至收敛;步骤S3、根据HardSwish激活函数的分段逼近原则,构建TransLinear分段线性激活函数,并将其作为新的激活函数;步骤S4、将卷积神经网络的HardSwish激活函数替换为TransLinear分段线性激活函数,并对替换激活函数后的新卷积神经网络微调训练,直至再次收敛;步骤S5、将新卷积神经网络部署到芯片中,实现推理加速。与现有技术相比,本发明具有计算速度快、易于部署等优点。
Description
技术领域
本发明涉及计算机数据处理领域,尤其是涉及一种基于神经网络激活函数的芯片加速方法、设备及存储介质。
背景技术
随着人工智能领域相关技术的不断发展,不断有新的激活函数被提出,其中HardSwish激活函数就是其中一种,与以往的Relu和PRelu等激活函数相比,该HardSwish激活函数在多个计算机视觉任务具备更加优越的识别效果;相对于Swish和Mish等激活函数而言,具备更加优越的计算性能。
但即便如此,HardSwish激活函数的计算公式对于边缘计算设备而言依旧复杂,这使得该HardSwish激活函数在运行过程中会占用较多的系统内存和耗费较长的运算时间,从而严重制约了该HardSwish激活函数的应用普适性。
可见,现有技术亟需设计一种能够逼近于HardSwish激活函数并且与HardSwish激活函数之间存在较小计算误差的芯片加速方法。
发明内容
本发明的目的就是为了克服上述现有技术存在的缺陷而提供了一种计算速度快、易于部署的基于神经网络激活函数的芯片加速方法、设备及存储介质。
本发明的目的可以通过以下技术方案来实现:
根据本发明的第一方面,提供了一种基于神经网络激活函数的芯片加速方法,该方法包括以下步骤:
步骤S1、基于HardSwish激活函数,构建卷积神经网络;
步骤S2、训练卷积神经网络,直至收敛;
步骤S3、根据HardSwish激活函数的分段逼近原则,构建TransLinear分段线性激活函数,并将其作为新的激活函数;
步骤S4、将卷积神经网络的HardSwish激活函数替换为TransLinear分段线性激活函数,并对替换激活函数后的新卷积神经网络微调训练,直至再次收敛;
步骤S5、将新卷积神经网络部署到芯片中,实现推理加速。
优选地,所述步骤S1中构建卷积神经网络具体为:根据HardSwish激活函数的数据计算场景和/或计算数据类型,构建卷积神经网络。
优选地,所述HardSwish激活函数的表达式为:
其中,x为激活函数的输入,Relu6(·)为Relu6激活函数。
优选地,所述Relu6(·)表达式为:
其中,x为激活函数的输入。
优选地,所述步骤S2具体包括以下步骤:
步骤S201、根据步骤S1中的HardSwish激活函数,对所述卷积神经网络进行预定次数的迭代训练,以此获得卷积神经网络的权重参数;
步骤S202、判断所述卷积神经网络当前的权重参数是否处于预设收敛区间内;若当前的权重参数在预设收敛区间内,则转步骤S203,否则转步骤S204;
步骤S203、若当前的权重参数在预设收敛区间内,则停止对所述卷积神经网络进行的所述迭代训练;
步骤S204、若当前的权重参数不在预设收敛区间内,则根据所述HardSwish激活函数,对所述卷积神经网络再次进行训练,直至训练后得到的权重参数在所述预设收敛区间内为止。
优选地,所述步骤S3具体包括以下步骤:
步骤S301、对所述HardSwish激活函数进行区间分段,获得关于所述HardSwish激活函数的不同区间及对应的函数参数;
步骤S302、对分段后的每一个区间进行线性计算处理,构建分段线性函数。
优选地,所述步骤S302中的分段线性函数TransLinear(x)的表达式为:
其中,x为函数的输入。
优选地,所述步骤S4具体包括以下步骤:
步骤S401、将所述HardSwish激活函数替换为TransLinear分段线性函数;
步骤S402、对替换激活函数后的新卷积神经网络重新进行预定次数的迭代微调训练,获得新卷积神经网络的权重参数;
步骤S403、判断所述新卷积神经网络当前的权重参数是否处于收敛区间内;若当前的权重参数在预设收敛区间内,则转步骤S404,否则转步骤S405。
步骤S404、若当前的权重参数在所述预设收敛区间内,则停止对所述卷积神经网络进行的迭代微调训练;
步骤S405、若当前的权重参数不在所述预设收敛区间,则根据所述分段线性函数,对所述新卷积神经网络再次进行的微调训练,直到训练后得到的权重参数处于所述收敛区间内为止。
根据本发明的第二方面,提供了一种电子设备,包括存储器和处理器,所述存储器上存储有计算机程序,所述处理器执行所述程序时实现上述任一项所述的方法。
根据本发明的第三方面,提供了一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现上述任一项所述的方法。
与现有技术相比,本发明具有以下优点:
1)计算速度快,通过简单的分段线性函数近似计算HardSwish激活函数,在提高计算速度的同时,保证了精度;
2)易于部署,不需要复杂指令集的支持即可部署到边缘计算设备中。
附图说明
图1为本发明的基于神经网络激活函数的芯片加速方案的流程示意图;
图2为本发明实施例训练卷积神经网络流程示意图;
图3为本发明实施例构建TransLinear分段线性激活函数的流程示意图;
图4为本发明实施例中微调训练卷积神经网络的流程示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都应属于本发明保护的范围。
本发明实施例中的术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A;同时存在A和B,单独存在B这三种情况。
如图1所示,本实施例给出了一种基于神经网络激活函数的芯片加速方法,该方法包括以下步骤:
步骤S1、根据HardSwish激活函数的数据计算场景和/或计算数据类型,构建所述卷积神经网络模型;
步骤S2、训练所述的卷积神经网络,直至收敛,具体为:
步骤S201,根据所述HardSwish激活函数,对所述卷积神经网络进行预定次数的迭代训练,以此获得所述卷积神经网络的权重参数;
步骤S202,判断所述卷积神经网络当前的权重参数是否处于收敛区间内;
步骤S203,若确定当前的权重参数处于所述收敛区间,则停止对所述卷积神经网络进行的所述迭代训练;
步骤S204,若确定所述当前的权重参数不处于所述收敛区间,则根据所述HardSwish激活函数,对所述卷积神经网络再进行单次的训练,直到训练后得到的权重参数处于所述收敛区间内为止。
步骤S3、如图3所示,根据HardSwish激活函数的分段逼近原则,构建出TransLinear分段线性激活函数,作为新的激活函数,具体为:
步骤S301,对所述HardSwish激活函数进行区间分段,以此获得关于所述HardSwish激活函数的若干不同区间及函数参数;
HardSwish激活函数的计算公式为:
其中,x为激活函数的输入;
步骤S302,对每一个区间进行线性计算处理,并以此构建TransLinear分段线性函数,表达式为;
步骤S4、根据所述的TransLinear分段线性激活函数,替换所述卷积神经网络的HardSwish激活函数,并对所述卷积神经网络进行微调训练,直至再次收敛,如图4所示,具体包括以下步骤:
步骤S401,根据所述的TransLinear分段线性函数替换所述的HardSwish激活函数;
步骤S402,对所述的卷积神经网络重新进行预定次数的迭代微调训练,以此获得所述卷积神经网络的权重参数;
步骤S403,判断所述卷积神经网络当前的权重参数是否处于收敛区间内;
步骤S404,若确定当前的权重参数处于所述收敛区间,则停止对所述卷积神经网络进行的所述迭代微调训练;
步骤S405,若确定所述当前的权重参数不处于所述收敛区间,则根据所述分段线性函数,对所述卷积神经网络再进行单次的微调训练,直到微调训练后得到的权重参数处于所述收敛区间内为止。
步骤S5,将所述的卷积神经网络部署到芯片中,实现推理加速。
从上述实施例的内容可知,所述的一种神经网络激活函数的芯片加速方案利用分段逼近的方式构建形成一个形式较为简单的TransLinear分段线性函数,该TransLinear分段线性函数的计算复杂度远低于HardSwish激活函数,能够有效地减少函数运算的耗费时间,此外该TransLinear分段线性函数还能够有效地减少运算过程中对系统内存的访问次数和内存占用率,并且该TransLinear分段线性函数与HardSwish激活函数在计算结果上存在较小的无处,从而有效地改善HardSwish激活函数的应用普适性。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,所述描述的模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
本发明电子设备包括中央处理单元(CPU),其可以根据存储在只读存储器(ROM)中的计算机程序指令或者从存储单元加载到随机访问存储器(RAM)中的计算机程序指令,来执行各种适当的动作和处理。在RAM中,还可以存储设备操作所需的各种程序和数据。CPU、ROM以及RAM通过总线彼此相连。输入/输出(I/O)接口也连接至总线。
设备中的多个部件连接至I/O接口,包括:输入单元,例如键盘、鼠标等;输出单元,例如各种类型的显示器、扬声器等;存储单元,例如磁盘、光盘等;以及通信单元,例如网卡、调制解调器、无线通信收发机等。通信单元允许设备通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
处理单元执行上文所描述的各个方法和处理,例如方法S1~S5、S201~S204、S301~S302、S401~S405。例如,在一些实施例中,方法S1~S5、S201~S204、S301~S302、S401~S405可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元。在一些实施例中,计算机程序的部分或者全部可以经由ROM和/或通信单元而被载入和/或安装到设备上。当计算机程序加载到RAM并由CPU执行时,可以执行上文描述的方法S1~S5、S201~S204、S301~S302、S401~S405的一个或多个步骤。备选地,在其他实施例中,CPU可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行方法S1~S5、S201~S204、S301~S302、S401~S405。
本文中以上描述的功能可以至少部分地由一个或多个硬件逻辑部件来执行。例如,非限制性地,可以使用的示范类型的硬件逻辑部件包括:场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、负载可编程逻辑设备(CPLD)等等。
用于实施本发明的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本发明的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (10)
1.一种基于神经网络激活函数的芯片加速方法,其特征在于,该方法包括以下步骤:
步骤S1、基于HardSwish激活函数,构建卷积神经网络;
步骤S2、训练卷积神经网络,直至收敛;
步骤S3、根据HardSwish激活函数的分段逼近原则,构建TransLinear分段线性激活函数,并将其作为新的激活函数;
步骤S4、将卷积神经网络的HardSwish激活函数替换为TransLinear分段线性激活函数,并对替换激活函数后的新卷积神经网络微调训练,直至再次收敛;
步骤S5、将新卷积神经网络部署到芯片中,实现推理加速。
2.根据权利要求1所述的一种基于神经网络激活函数的芯片加速方法,其特征在于,所述步骤S1中构建卷积神经网络具体为:根据HardSwish激活函数的数据计算场景和/或计算数据类型,构建卷积神经网络。
5.根据权利要求1所述的一种基于神经网络激活函数的芯片加速方法,其特征在于,所述步骤S2具体包括以下步骤:
步骤S201、根据步骤S1中的HardSwish激活函数,对所述卷积神经网络进行预定次数的迭代训练,以此获得卷积神经网络的权重参数;
步骤S202、判断所述卷积神经网络当前的权重参数是否处于预设收敛区间内;若当前的权重参数在预设收敛区间内,则转步骤S203,否则转步骤S204;
步骤S203、若当前的权重参数在预设收敛区间内,则停止对所述卷积神经网络进行的所述迭代训练;
步骤S204、若当前的权重参数不在预设收敛区间内,则根据所述HardSwish激活函数,对所述卷积神经网络再次进行训练,直至训练后得到的权重参数在所述预设收敛区间内为止。
6.根据权利要求1所述的一种基于神经网络激活函数的芯片加速方法,其特征在于,所述步骤S3具体包括以下步骤:
步骤S301、对所述HardSwish激活函数进行区间分段,获得关于所述HardSwish激活函数的不同区间及对应的函数参数;
步骤S302、对分段后的每一个区间进行线性计算处理,构建分段线性函数。
8.根据权利要求1所述的一种基于神经网络激活函数的芯片加速方法,其特征在于,所述步骤S4具体包括以下步骤:
步骤S401、将所述HardSwish激活函数替换为TransLinear分段线性函数;
步骤S402、对替换激活函数后的新卷积神经网络重新进行预定次数的迭代微调训练,获得新卷积神经网络的权重参数;
步骤S403、判断所述新卷积神经网络当前的权重参数是否处于收敛区间内;若当前的权重参数在预设收敛区间内,则转步骤S404,否则转步骤S405。
步骤S404、若当前的权重参数在所述预设收敛区间内,则停止对所述卷积神经网络进行的迭代微调训练;
步骤S405、若当前的权重参数不在所述预设收敛区间,则根据所述分段线性函数,对所述新卷积神经网络再次进行的微调训练,直到训练后得到的权重参数处于所述收敛区间内为止。
9.一种电子设备,包括存储器和处理器,所述存储器上存储有计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1~8任一项所述的方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1~8中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111261476.7A CN116050489A (zh) | 2021-10-28 | 2021-10-28 | 基于神经网络激活函数的芯片加速方法、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111261476.7A CN116050489A (zh) | 2021-10-28 | 2021-10-28 | 基于神经网络激活函数的芯片加速方法、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116050489A true CN116050489A (zh) | 2023-05-02 |
Family
ID=86124140
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111261476.7A Pending CN116050489A (zh) | 2021-10-28 | 2021-10-28 | 基于神经网络激活函数的芯片加速方法、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116050489A (zh) |
-
2021
- 2021-10-28 CN CN202111261476.7A patent/CN116050489A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108733508B (zh) | 用于控制数据备份的方法和系统 | |
CN111475853B (zh) | 一种基于分布式数据的模型训练方法及系统 | |
CN112669867B (zh) | 噪声消除算法的调试方法、装置和电子设备 | |
CN108805174A (zh) | 聚类方法及装置 | |
CN113766487B (zh) | 云手机信息获取方法、装置、设备和介质 | |
CN112634904B (zh) | 热词识别方法、装置、介质和电子设备 | |
EP4343616A1 (en) | Image classification method, model training method, device, storage medium, and computer program | |
CN109933610A (zh) | 数据处理方法、装置、计算机设备及存储介质 | |
CN112559125A (zh) | 容器应用迁移方法、装置、电子设备和计算机可读介质 | |
CN115456167A (zh) | 轻量级模型训练方法、图像处理方法、装置及电子设备 | |
CN112862017B (zh) | 点云数据的标注方法、装置、设备和介质 | |
CN112651453B (zh) | 损失函数的自适应方法、装置、设备和存储介质 | |
CN112783508B (zh) | 文件的编译方法、装置、设备以及存储介质 | |
CN111627029B (zh) | 图像实例分割结果的获取方法及装置 | |
CN116050489A (zh) | 基于神经网络激活函数的芯片加速方法、设备及存储介质 | |
US20210166129A1 (en) | Multi-scale object detection with a trained neural network | |
CN116542507A (zh) | 流程异常检测方法、电子设备、计算机存储介质及程序产品 | |
CN114372689B (zh) | 一种基于动态规划的路网运行特征变点识别方法 | |
CN115940202A (zh) | 基于人工智能的多逆变器功率分配控制方法、装置及设备 | |
CN112816959B (zh) | 用于车辆的聚类方法、装置、设备和存储介质 | |
CN115410048A (zh) | 图像分类模型的训练及图像分类方法、装置、设备及介质 | |
CN115018150A (zh) | 样本生成方法、模型训练方法、存储介质及程序产品 | |
CN113642510A (zh) | 目标检测方法、装置、设备和计算机可读介质 | |
CN110647942B (zh) | 一种用于卫星网络的入侵检测方法、装置和设备 | |
CN115543991B (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 |