数据激活方法及FPGA数据激活系统与流程

文档序号:20756922发布日期:2020-05-15 17:29阅读:544来源:国知局
数据激活方法及FPGA数据激活系统与流程

本发明涉及深度学习技术领域,尤其涉及一种数据激活方法及fpga数据激活系统。



背景技术:

目前的神经网络应用中,大部分基于处理机平台,利用大型的服务器或高端电脑来完成神经网络的训练及推断,还有部分的应用是将训练的过程放在处理机平台,而把推断的过程放在移动平台上。在降低成本和缩小体积的要求下,使用嵌入式开发将成为首选。

而在嵌入式开发中,使用数字信号处理器(digitalsignalprocessor,dsp)和arm处理器来处理神经网络庞大的数据量效率比较低,而且还存在散热的问题。但通过专用的asic芯片则需要比较长的时间周期和较高的产品成本。因此利用现场可编程门阵列(fieldprogrammablegatearray,fpga)设计cnn神经网络卷积硬件加速器成为首选。leakyrelu函数是神经网络中的激活函数,为非线性函数,在声学模型(2013)中首次被提出,以数学的方式可以表示为ai是区间(1,+∞)内的固定参数。而将leakyrelu函数直接应用到fpga中,会导致数据激活时占用fpga大量的资源,增加成本。

因此,有必要提供一种新型的数据激活方法及fpga数据激活系统以解决现有技术中存在的上述问题。



技术实现要素:

本发明的目的在于提供一种数据激活方法及fpga数据激活系统,降低在fpga中数据激活时占用的资源。

为实现上述目的,本发明的所述数据激活方法,应用于fpga数据激活,包括以下步骤:

s1:判断接收的初始数据是否小于阈值;

s2:若所述初始数据小于阈值,则对所述初始数据进行移位处理,以得到激活数据。

本发明的有益效果在于:通过所述移位处理代替leakyrelu函数,减少了对fpga资源的占用,从而降低了成本。

优选地,还包括步骤s3,若所述初始数据大于或等于所述阈值,则所述激活数据与所述初始数据相同。

优选地,所述移位处理包括至少一次右移位处理、至少一次加处理和/或至少一次减处理,其中,以所述右移位处理为起点,以所述加处理或所述减处理为终点。

进一步优选地,所述右移位处理的移位位数随所述右移位处理的次数增加,且所述右移位处理的移位位数由激活阈值数据决定。

进一步优选地,所述移位处理包括至少两次所述加处理和至少两次所述减处理时,所述加处理和所述减处理交替执行。其有益效果在于:避免所述过程数据偏离所述激活阈值数据,保证所述激活数据的准确性。

进一步优选地,所述移位处理包括以下步骤:

s21:对所述初始数据进行第一右移位处理,以得到第一中间数据;

s22:对所述第一中间数据和初始标准数据进行第一加处理或第一减处理,以得到第一过程数据;

s23:对所述初始数据进行第二右移位处理,以得到第二中间数据;

s24:对所述第二中间数据和所述第一过程数据进行第二加处理或第二处理,以得到第二过程数据;

s25:重复执行m次所述步骤s23和所述步骤s24,以得到终止过程数据,其中,所述终止过程数据即为所述激活数据,m为大于0的自然数。

本发明还提供了一种fpga数据激活系统,所述fpga数据激活系统包括通过现场可编程门阵列构建的判断模块和移位处理模块。所述判断模块用于判断接收的初始数据是否小于阈值,若所述初始数据小于阈值,则将所述初始数据传递给所述移位处理模块;所述移位处理模块用于对所述初始数据进行移位处理,以得到激活数据。

所述fpga数据激活系统的有益效果在于:通过所述移位处理模块对所述初始数据进行移位处理,代替了进行leakyrelu函数计算,减少了对fpga资源的占用,从而降低了成本。

优选地,所述移位处理模块包括右移位处理模块,所述右移位处理模块用于进行右移位处理。

进一步优选地,所述移位处理模块还包括加减处理模块,所述加减处理模块用于进行加处理和/或减处理。

附图说明

图1为本发明的数据激活方法的流程图;

图2为本发明的一种fpga数据激活系统的结构框图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。除非另外定义,此处使用的技术术语或者科学术语应当为本发明所属领域内具有一般技能的人士所理解的通常意义。本文中使用的“包括”等类似的词语意指出现该词前面的元件或者物件涵盖出现在该词后面列举的元件或者物件及其等同,而不排除其他元件或者物件。

针对现有技术存在的问题,本发明的实施例提供了一种数据激活方法,应用于fpga数据激活,包括以下步骤:

s1:判断接收的初始数据是否小于阈值;

s2:若所述初始数据小于阈值,则对所述初始数据进行移位处理,以得到激活数据。

本发明的一些具体实施例中,所述阈值为0。

本发明的一些实施例中,还包括步骤s3,若所述初始数据大于或等于所述阈值,则所述激活数据与所述初始数据相同。

本发明的一些优选实施例中,所述移位处理包括至少一次右移位处理、至少一次加处理和/或至少一次减处理,其中,以所述右移位处理为起点,以所述加处理或所述减处理为终点。在fpga中,所述右移位处理占用的资源少。

本发明的一些实施例中,所述移位处理包括至少两次所述加处理和至少两次所述减处理时,所述加处理和所述减处理交替执行。

本发明的一些实施例中,所述移位处理包括至少一次右移位处理、至少一次加处理和至少一次减处理,所述右移位处理包括第一右移位处理和第二右移位处理,所述加处理包括第一加处理和第二加处理,所述减处理包括第一减处理和第二减处理,具体包括以下步骤:

s21:对所述初始数据进行所述第一右移位处理,以得到第一中间数据;

s22:对所述第一中间数据和初始标准数据进行所述第一加处理或所述第一减处理,以得到第一过程数据,其中所述初始标准数据为0;

s23:对所述初始数据进行所述第二右移位处理,以得到第二中间数据;

s24:对所述第二中间数据和所述第一过程数据进行所述第二加处理或所述第二处理,以得到第二过程数据;

s25:重复执行m次所述步骤s23和所述步骤s24,以得到终止过程数据,其中,所述终止过程数据即为所述激活数据,m为大于0的自然数。

本发明的一些实施例中,所述右移位处理的移位位数随所述右移位处理的次数增加。leakyrelu函数的数学表达式为将1/ai作为激活阈值数据,所述右移位处理的移位位数由所述激活阈值数据决定。具体地,当所述初始数据为1时,每一次所述右移位处理的移位位数满足以下条件:

根据所述移位位数对1进行所述右移位处理,以得到中间数据,对所述中间数据和所述过程数据进行所述加处理或所述减处理以得到新过程数据,或对所述中间数据和所述初始标准数据进行所述加处理或所述减处理以得到新过程数据,其中,所述新过程数据为最接近所述激活阈值数据的数据。

图2为本发明一些实施例中fpga数据激活系统的结构框图。参照图2,所述fpga数据激活系统10包括通过现场可编程门阵列构建的判断模块11和移位处理模块12,所述移位处理模块12包括右移位处理模块121和加减处理模块122。所述判断模块11用于判断接收的初始数据是否小于阈值,若所述初始数据小于阈值,则将所述初始数据传递给所述移位处理模块12;所述移位处理模块12用于对所述初始数据进行移位处理,以得到激活数据。具体地,所述右移位处理模块121用于进行右移位处理,所述加减处理模块122用于进行加处理和/或减处理。

本发明的一些优选实施例中,ai等于10,即1/ai等于1/10,所述移位处理包括四次右移位处理、两次加处理和两次减处理,所述四次右移位处理分别为第一右移位处理、第二右移位处理、第三右移位处理和所述第四右移位处理,所述两次加处理分别为第一加处理和第二加处理,所述两次减处理分别为第一减处理和第二减处理,所述数据激活方法包括一下步骤:

s41:所述判断模块11接收初始数据,并判断所述初始数据是否小于0;

s42:所述判断模块11判断所述初始数据小于0,则所述右移位处理模块121对所述初始数据进行右移3位的右移运算,以完成所述第一右移位处理,并得到第一中间数据;

s43:所述加减处理模块122将初始标准数据加所述第一中间数据,以完成所述第一加处理,并得到第一过程数据;

s44:所述右移位处理模块121对所述初始数据进行右移5位的右移运算,以完成所述第二右移位处理,并得到第二中间数据;

s45:所述加减处理模块122将所述第一过程数据减所述第二中间数据,以完成所述第一减处理,并得到第二过程数据;

s46:所述右移位处理模块121对所述初始数据进行右移7位的右移运算,以完成所述第三右移位处理,并得到第三中间数据;

s47:所述加减处理模块122将所述第二过程数据加所述第三中间数据,以完成所述第二加处理,并得到所述第三过程数据;

s48:所述右移位处理模块121对所述初始数据进行右移9位的右移运算,以完成所述第四右移位处理,并得到第四中间数据;

s49:所述加减处理模块122将所述第三过程数据减所述第四中间数据,以完成所述第二减处理,并得到所述第四过程数据,所述过程数据即为激活数据。

本发明的一些优选实施例中,所述判断模块判断所述初始数据大于或等于0,则所述激活数据与所述初始数据相同。

上述实施例中的数据均为数值类型的数据。

虽然在上文中详细说明了本发明的实施方式,但是对于本领域的技术人员来说显而易见的是,能够对这些实施方式进行各种修改和变化。但是,应理解,这种修改和变化都属于权利要求书中所述的本发明的范围和精神之内。而且,在此说明的本发明可有其它的实施方式,并且可通过多种方式实施或实现。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1