CN111160544B - 数据激活方法及fpga数据激活系统 - Google Patents
数据激活方法及fpga数据激活系统 Download PDFInfo
- Publication number
- CN111160544B CN111160544B CN201911408831.1A CN201911408831A CN111160544B CN 111160544 B CN111160544 B CN 111160544B CN 201911408831 A CN201911408831 A CN 201911408831A CN 111160544 B CN111160544 B CN 111160544B
- Authority
- CN
- China
- Prior art keywords
- data
- processing
- shift processing
- activation
- initial
- 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.)
- Active
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
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Theoretical Computer Science (AREA)
- Evolutionary Computation (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Artificial Intelligence (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Computational Linguistics (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Neurology (AREA)
- Advance Control (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
Abstract
本发明提供了一种数据激活方法,应用于FPGA数据激活,包括判断接收的初始数据是否小于阈值,若所述初始数据小于阈值,则对所述初始数据进行移位处理,以得到激活数据。所述数据激活方法通过所述移位处理代替Leaky ReLU函数,减少了对FPGA资源的占用,从而降低了成本。本发明还提供了一种用于实现所述数据激活方法的FPGA数据激活系统。
Description
技术领域
本发明涉及深度学习技术领域,尤其涉及一种数据激活方法及FPGA数据激活系统。
背景技术
目前的神经网络应用中,大部分基于处理机平台,利用大型的服务器或高端电脑来完成神经网络的训练及推断,还有部分的应用是将训练的过程放在处理机平台,而把推断的过程放在移动平台上。在降低成本和缩小体积的要求下,使用嵌入式开发将成为首选。
而在嵌入式开发中,使用数字信号处理器(digital signal processor,DSP)和ARM处理器来处理神经网络庞大的数据量效率比较低,而且还存在散热的问题。但通过专用的ASIC芯片则需要比较长的时间周期和较高的产品成本。因此利用现场可编程门阵列(Field Programmable GateArray,FPGA)设计CNN神经网络卷积硬件加速器成为首选。Leaky ReLU函数是神经网络中的激活函数,为非线性函数,在声学模型(2013)中首次被提出,以数学的方式可以表示为ai是区间(1,+∞)内的固定参数。而将Leaky ReLU函数直接应用到FPGA中,会导致数据激活时占用FPGA大量的资源,增加成本。
因此,有必要提供一种新型的数据激活方法及FPGA数据激活系统以解决现有技术中存在的上述问题。
发明内容
本发明的目的在于提供一种数据激活方法及FPGA数据激活系统,降低在FPGA中数据激活时占用的资源。
为实现上述目的,本发明的所述数据激活方法,应用于FPGA数据激活,包括以下步骤:
S1:判断接收的初始数据是否小于阈值;
S2:若所述初始数据小于阈值,则对所述初始数据进行移位处理,以得到激活数据。
本发明的有益效果在于:通过所述移位处理代替Leaky ReLU函数,减少了对FPGA资源的占用,从而降低了成本。
优选地,还包括步骤S3,若所述初始数据大于或等于所述阈值,则所述激活数据与所述初始数据相同。
优选地,所述移位处理包括至少一次右移位处理、至少一次加处理和/或至少一次减处理,其中,以所述右移位处理为起点,以所述加处理或所述减处理为终点。
进一步优选地,所述右移位处理的移位位数随所述右移位处理的次数增加,且所述右移位处理的移位位数由激活阈值数据决定。
进一步优选地,所述移位处理包括至少两次所述加处理和至少两次所述减处理时,所述加处理和所述减处理交替执行。其有益效果在于:避免所述过程数据偏离所述激活阈值数据,保证所述激活数据的准确性。
进一步优选地,所述移位处理包括以下步骤:
S21:对所述初始数据进行第一右移位处理,以得到第一中间数据;
S22:对所述第一中间数据和初始标准数据进行第一加处理或第一减处理,以得到第一过程数据;
S23:对所述初始数据进行第二右移位处理,以得到第二中间数据;
S24:对所述第二中间数据和所述第一过程数据进行第二加处理或第二减处理,以得到第二过程数据;
S25:重复执行m次所述步骤S23和所述步骤S24,以得到终止过程数据,其中,所述终止过程数据即为所述激活数据,m为大于0的自然数。
本发明还提供了一种FPGA数据激活系统,所述FPGA数据激活系统包括通过现场可编程门阵列构建的判断模块和移位处理模块。所述判断模块用于判断接收的初始数据是否小于阈值,若所述初始数据小于阈值,则将所述初始数据传递给所述移位处理模块;所述移位处理模块用于对所述初始数据进行移位处理,以得到激活数据。
所述FPGA数据激活系统的有益效果在于:通过所述移位处理模块对所述初始数据进行移位处理,代替了进行Leaky ReLU函数计算,减少了对FPGA资源的占用,从而降低了成本。
优选地,所述移位处理模块包括右移位处理模块,所述右移位处理模块用于进行右移位处理。
进一步优选地,所述移位处理模块还包括加减处理模块,所述加减处理模块用于进行加处理和/或减处理。
附图说明
图1为本发明的数据激活方法的流程图;
图2为本发明的一种FPGA数据激活系统的结构框图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。除非另外定义,此处使用的技术术语或者科学术语应当为本发明所属领域内具有一般技能的人士所理解的通常意义。本文中使用的“包括”等类似的词语意指出现该词前面的元件或者物件涵盖出现在该词后面列举的元件或者物件及其等同,而不排除其他元件或者物件。
针对现有技术存在的问题,本发明的实施例提供了一种数据激活方法,应用于FPGA数据激活,包括以下步骤:
S1:判断接收的初始数据是否小于阈值;
S2:若所述初始数据小于阈值,则对所述初始数据进行移位处理,以得到激活数据。
本发明的一些具体实施例中,所述阈值为0。
本发明的一些实施例中,还包括步骤S3,若所述初始数据大于或等于所述阈值,则所述激活数据与所述初始数据相同。
本发明的一些优选实施例中,所述移位处理包括至少一次右移位处理、至少一次加处理和/或至少一次减处理,其中,以所述右移位处理为起点,以所述加处理或所述减处理为终点。在FPGA中,所述右移位处理占用的资源少。
本发明的一些实施例中,所述移位处理包括至少两次所述加处理和至少两次所述减处理时,所述加处理和所述减处理交替执行。
本发明的一些实施例中,所述移位处理包括至少一次右移位处理、至少一次加处理和至少一次减处理,所述右移位处理包括第一右移位处理和第二右移位处理,所述加处理包括第一加处理和第二加处理,所述减处理包括第一减处理和第二减处理,具体包括以下步骤:
S21:对所述初始数据进行所述第一右移位处理,以得到第一中间数据;
S22:对所述第一中间数据和初始标准数据进行所述第一加处理或所述第一减处理,以得到第一过程数据,其中所述初始标准数据为0;
S23:对所述初始数据进行所述第二右移位处理,以得到第二中间数据;
S24:对所述第二中间数据和所述第一过程数据进行所述第二加处理或所述第二减处理,以得到第二过程数据;
S25:重复执行m次所述步骤S23和所述步骤S24,以得到终止过程数据,其中,所述终止过程数据即为所述激活数据,m为大于0的自然数。
本发明的一些实施例中,所述右移位处理的移位位数随所述右移位处理的次数增加。Leaky ReLU函数的数学表达式为将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,则所述激活数据与所述初始数据相同。
上述实施例中的数据均为数值类型的数据。
虽然在上文中详细说明了本发明的实施方式,但是对于本领域的技术人员来说显而易见的是,能够对这些实施方式进行各种修改和变化。但是,应理解,这种修改和变化都属于权利要求书中所述的本发明的范围和精神之内。而且,在此说明的本发明可有其它的实施方式,并且可通过多种方式实施或实现。
Claims (5)
1.一种数据激活方法,应用于FPGA数据激活,其特征在于,包括以下步骤:
S1:判断接收的初始数据是否小于阈值;
S2:若所述初始数据小于阈值,则对所述初始数据进行移位处理,以得到激活数据,其中,所述移位处理包括至少一次右移位处理、至少一次加处理和/或至少一次减处理,以所述右移位处理为起点,以所述加处理或所述减处理为终点,所述右移位处理的移位位数随所述右移位处理的次数增加,且所述右移位处理的移位位数由激活阈值数据决定,当所述移位处理包括至少两次所述加处理和至少两次所述减处理时,所述加处理和所述减处理交替执行,且所述移位处理包括以下步骤:
S21:对所述初始数据进行第一右移位处理,以得到第一中间数据;
S22:对所述第一中间数据和初始标准数据进行第一加处理或第一减处理,以得到第一过程数据;
S23:对所述初始数据进行第二右移位处理,以得到第二中间数据;
S24:对所述第二中间数据和所述第一过程数据进行第二加处理或第二减处理,以得到第二过程数据;
S25:重复执行m次所述步骤S23和所述步骤S24,以得到终止过程数据,其中,所述终止过程数据即为所述激活数据,m为大于0的自然数。
2.根据权利要求1所述的数据激活方法,其特征在于,还包括步骤S3,若所述初始数据大于或等于所述阈值,则所述激活数据与所述初始数据相同。
3.一种FPGA数据激活系统,其特征在于,所述FPGA数据激活系统用于实现如权利要求1-2中任意一项所述的数据激活方法,所述FPGA数据激活系统包括通过现场可编程门阵列构建的判断模块和移位处理模块,
所述判断模块用于判断接收的初始数据是否小于阈值,若所述初始数据小于阈值,则将所述初始数据传递给所述移位处理模块;
所述移位处理模块用于对所述初始数据进行移位处理,以得到激活数据。
4.根据权利要求3所述的FPGA数据激活系统,其特征在于,所述移位处理模块包括右移位处理模块,所述右移位处理模块用于进行右移位处理。
5.根据权利要求4所述的FPGA数据激活系统,其特征在于,所述移位处理模块还包括加减处理模块,所述加减处理模块用于进行加处理和/或减处理。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911408831.1A CN111160544B (zh) | 2019-12-31 | 2019-12-31 | 数据激活方法及fpga数据激活系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911408831.1A CN111160544B (zh) | 2019-12-31 | 2019-12-31 | 数据激活方法及fpga数据激活系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111160544A CN111160544A (zh) | 2020-05-15 |
CN111160544B true CN111160544B (zh) | 2021-04-23 |
Family
ID=70559867
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911408831.1A Active CN111160544B (zh) | 2019-12-31 | 2019-12-31 | 数据激活方法及fpga数据激活系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111160544B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112181354B (zh) * | 2020-10-12 | 2021-08-10 | 上海芯旺微电子技术有限公司 | 一种移位饱和同步处理的方法及其应用 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102857753A (zh) * | 2011-07-01 | 2013-01-02 | 华为技术有限公司 | 一种参考帧压缩和解压方法及装置 |
CN109086867A (zh) * | 2018-07-02 | 2018-12-25 | 武汉魅瞳科技有限公司 | 一种基于fpga的卷积神经网络加速系统 |
CN109840589A (zh) * | 2019-01-25 | 2019-06-04 | 深兰人工智能芯片研究院(江苏)有限公司 | 一种在fpga上运行卷积神经网络的方法、装置及系统 |
CN110135580A (zh) * | 2019-04-26 | 2019-08-16 | 华中科技大学 | 一种卷积网络全整型量化方法及其应用方法 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4654857B2 (ja) * | 2005-09-26 | 2011-03-23 | ソニー株式会社 | Da変換装置、ad変換装置、半導体装置 |
US10311357B2 (en) * | 2014-06-19 | 2019-06-04 | Knowmtech, Llc | Thermodynamic-RAM technology stack |
US10621486B2 (en) * | 2016-08-12 | 2020-04-14 | Beijing Deephi Intelligent Technology Co., Ltd. | Method for optimizing an artificial neural network (ANN) |
US10949496B2 (en) * | 2016-12-30 | 2021-03-16 | Intel Corporation | Dimension shuffling using matrix processors |
US11556772B2 (en) * | 2017-04-28 | 2023-01-17 | Intel Corporation | Incremental precision networks using residual inference and fine-grain quantization |
-
2019
- 2019-12-31 CN CN201911408831.1A patent/CN111160544B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102857753A (zh) * | 2011-07-01 | 2013-01-02 | 华为技术有限公司 | 一种参考帧压缩和解压方法及装置 |
CN109086867A (zh) * | 2018-07-02 | 2018-12-25 | 武汉魅瞳科技有限公司 | 一种基于fpga的卷积神经网络加速系统 |
CN109840589A (zh) * | 2019-01-25 | 2019-06-04 | 深兰人工智能芯片研究院(江苏)有限公司 | 一种在fpga上运行卷积神经网络的方法、装置及系统 |
CN110135580A (zh) * | 2019-04-26 | 2019-08-16 | 华中科技大学 | 一种卷积网络全整型量化方法及其应用方法 |
Also Published As
Publication number | Publication date |
---|---|
CN111160544A (zh) | 2020-05-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106776578B (zh) | 用于提升对话系统对话性能的方法及装置 | |
WO2020073673A1 (zh) | 一种文本分析方法及终端 | |
CN107944545B (zh) | 应用于神经网络的计算方法及计算装置 | |
CN110413812B (zh) | 神经网络模型的训练方法、装置、电子设备及存储介质 | |
JP7566969B2 (ja) | 軽量モデルトレーニング方法、画像処理方法、軽量モデルトレーニング装置、画像処理装置、電子デバイス、記憶媒体及びコンピュータプログラム | |
CN113190872B (zh) | 数据保护方法、网络结构训练方法、装置、介质及设备 | |
CN109977415A (zh) | 一种文本纠错方法及装置 | |
CN111160544B (zh) | 数据激活方法及fpga数据激活系统 | |
CN111985414B (zh) | 一种关节点位置确定方法及装置 | |
CN116934571B (zh) | 任务处理方法、装置、电子设备和存储介质 | |
CN115409855A (zh) | 图像处理方法、装置、电子设备和存储介质 | |
CN110135563B (zh) | 一种卷积神经网络二值化方法及运算电路 | |
CN112561050A (zh) | 一种神经网络模型训练方法及装置 | |
CN118312660A (zh) | 数据处理方法和装置、电子设备、计算机可读存储介质 | |
CN111914987A (zh) | 基于神经网络的数据处理方法及装置、设备和可读介质 | |
CN114742035B (zh) | 基于注意力机制优化的文本处理方法、网络模型训练方法 | |
CN111653261A (zh) | 语音合成方法、装置、可读存储介质及电子设备 | |
CN116340632A (zh) | 对象推荐方法、装置、介质及电子设备 | |
CN114584285B (zh) | 安全多方处理方法及相关设备 | |
CN113449062B (zh) | 轨迹处理方法、装置、电子设备和存储介质 | |
CN116955419A (zh) | 一种几何题解答方法、系统及电子设备 | |
CN112395864B (zh) | 文本纠错模型训练、文本纠错方法及相关装置 | |
CN111916049B (zh) | 一种语音合成方法及装置 | |
CN112888071A (zh) | 基于快速强化学习的干扰规避方法、装置、设备及介质 | |
CN105468603A (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 | ||
CB02 | Change of applicant information |
Address after: 200434 Room 202, building 5, No. 500, Memorial Road, Hongkou District, Shanghai Applicant after: Shanghai Anlu Information Technology Co.,Ltd. Address before: Room 501-504, building 9, Pudong Software Park, 498 GuoShouJing Road, Pudong New Area, Shanghai, 201203 Applicant before: SHANGHAI ANLOGIC INFORMATION TECHNOLOGY Co.,Ltd. |
|
CB02 | Change of applicant information | ||
GR01 | Patent grant | ||
GR01 | Patent grant |