CN107145944B - 基于fpga高效训练的遗传算法及系统 - Google Patents
基于fpga高效训练的遗传算法及系统 Download PDFInfo
- Publication number
- CN107145944B CN107145944B CN201710198898.1A CN201710198898A CN107145944B CN 107145944 B CN107145944 B CN 107145944B CN 201710198898 A CN201710198898 A CN 201710198898A CN 107145944 B CN107145944 B CN 107145944B
- Authority
- CN
- China
- Prior art keywords
- genetic algorithm
- training
- fpga
- computer
- speed
- 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.)
- Expired - Fee Related
Links
- 230000002068 genetic effect Effects 0.000 title claims abstract description 63
- 238000012549 training Methods 0.000 title claims abstract description 43
- 238000000034 method Methods 0.000 claims abstract description 14
- 238000005457 optimization Methods 0.000 claims abstract description 13
- 238000012545 processing Methods 0.000 claims abstract description 4
- 238000000926 separation method Methods 0.000 claims abstract description 3
- 238000012360 testing method Methods 0.000 claims description 5
- 238000004364 calculation method Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000010801 machine learning 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/12—Computing arrangements based on biological models using genetic models
- G06N3/126—Evolutionary algorithms, e.g. genetic algorithms or genetic programming
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biophysics (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Theoretical Computer Science (AREA)
- Computational Linguistics (AREA)
- Molecular Biology (AREA)
- Biomedical Technology (AREA)
- Genetics & Genomics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Physiology (AREA)
- Stored Programmes (AREA)
- Feedback Control In General (AREA)
Abstract
本发明公开了一种基于FPGA高效训练的遗传算法及系统。该系统包括进行软件编程的电脑和进行硬件运算的FPGA。开始训练时,电脑将要进行运行的遗传算法代码下载到FPGA中进行训练;在FPGA中进行优化后,将运行结果节点输出反馈回电脑,在电脑中将优化的节点结果生成一个config文件保存下来;然后将优化完的节点结果代替原来遗传算法中的初始节点,在电脑编译生成高速遗传算法代码,并重新下载到电脑中,使用高速模式进行运行。本发明训练采用两个模式进行,实现了软硬件结合的遗传算法的训练与优化,采用了训练与执行过程的分离,极大的加快了系统数据处理和运算的速度,兼顾了灵活和效率。
Description
技术领域
本发明涉及遗传算法及系统,尤其是涉及一种基于FPGA高效训练的遗传算法及系统。
背景技术
遗传算法是一种借鉴生物界的进化规律演化而来的随机化搜索方法。被人们广泛地应用于组合优化、机器学习、信号处理、自适应控制和人工生命等领域。它也是现代有关智能计算中的关键技术。但是,如果单纯用计算机软件实现遗传算法时,随着问题复杂度和求解精度要求的增加,会产生非线性的增加,从而造成极大的计算延时,从而限制了遗传算法在很多实时性或者快速计算要求很高的场合上的应用。提高遗传算法的运算速度和通用性将极大提高其在实际工程中的应用。
发明内容
本发明的目的在于提供一种基于FPGA高效训练的遗传算法及系统设计,通过硬件与软件控制相结合的方法快速进行遗传算法的训练与运行。
本发明采用的技术方案是:
一、一种基于FPGA高效训练的遗传算法,该算法的步骤如下:
步骤1)开始训练时,电脑将要进行运行的遗传算法代码下载到FPGA中进行训练;
步骤2)在FPGA中进行优化后,将运行结果节点输出反馈回电脑,在电脑中将优化的节点结果生成一个config文件保存下来;
步骤3)然后将优化完的节点结果代替原来遗传算法中的初始节点,在电脑编译生成高速遗传算法代码,并重新下载到电脑中,使用高速模式进行运行。
所述步骤1)中的训练采用两个模式:模式A训练模式——将电脑上运行编译的遗传算法训练代码下载入FPGA,下载完成后进行训练,实现遗传算法的节点优化;模式B运行模式——使用训练完成后的优化节点生成新的高速遗传算法代码,下载入FPGA中进行高速运行,进行新数据的测试输入与输出,同时进行输出与预期的结果的误差进行比较,如果误差过大,反馈给电脑编译生成新的训练代码,重新训练,直至得到符合条件的误差。
二、一种基于FPGA高效训练的遗传算法的系统,其特征在于:包括进行软件编程的电脑和进行硬件运算的FPGA;进行软件编程的电脑输出端通过下载数据线与FPGA输入端连接,FPGA输出端通过反馈数据线与进行软件编程的电脑输入端连接。
本发明具有的有益效果是:
1)本发明通过FGPA进行遗传算法节点的更新,同时,将遗传算法代码更新通过电脑进行实现,进行编译完成后再重新下载到FPGA的ROM中,实现实时的训练过程;FPGA内部分为2种交替运行的代码。
2)本发明实现了软硬件结合的遗传算法的训练与优化,采用了训练与执行过程的分离,极大的加快了系统数据处理和运算的速度,兼顾了灵活和效率。
附图说明
图1是本发明实现的原理框图。
图2是本发明的运行流程图。
图3是遗传算法优化原理图。
具体实施方式
下面结合附图和实施例对本发明作进一步说明。
如图1所示,本发明的系统,包括进行软件编程的电脑和硬件运算的FPGA;进行软件编程的电脑输出端通过下载数据线与FPGA输入端连接,FPGA输出端通过反馈数据线与进行软件编程的电脑输入端连接。
其具体过程为:对于训练模式,首先电脑进行遗传算法的优化过程,在电脑上通过特定语言如C语言等进行遗传算法代码的编译,并通过软件转化编译为能够下载到FPGA的ROM中可以运行的ROM代码。通过FPGA内部的门电路进行遗传算法运行,遗传算法的初始节点可设为0(实际操作中可根据代码设定),然后通过FPGA优化遗传算法的节点,并生成代码运行的误差error。之后再FPGA内部通过寄存器存储新的节点值以及误差值,并通过反馈数据线反馈回电脑,并在电脑上生成存储节点数据的config文件。对于高速模式,则是电脑对于已经训练好的运行遗传算法的FPGA模块,将需要测试的输入数据下载到训练的好FPGA模块中进行测试,测试其误差值error以判断是否能够使用,如果不能,则重新训练。
实际过程中的使用流程如图2所示。当该系统处于训练模式时,下载到FPGA进行训练代码的编写,当FPGA运行完成生成新的节点数据与遗传算法误差值error,将节点数据与error值反馈回电脑,如果error值不符合我们设计的预期,则将新的节点数据替换原来的节点数据,生成新的遗传算法训练代码,重新下载到FPGA里面进行训练,并重复进行训练直到误差error值符合我们的算法要求。而当error符合算法要求时,电脑将将config文件进行处理,将其中数值为零的节点进行舍去,实现遗传算法的优化,进而生成高速遗传算法代码,重新下载到FPGA进行运行,从而能够实现测试特殊的数据输入下的遗传算法结果。
而遗传算法的优化过程如图3所示。以3x3的遗传网络结构为例,每一列表示同层遗传网络节点数据,每一层的每一个节点都和下一层的3个节点有数据传输。在遗传算法进行训练过程中,我们可以假设每个节点的初始值为0,如图3中的第一阶段。当遗传算法进行训练后当误差满足预设后,节点值进行优化后会产生新的节点,如图3中的第二阶段,有些节点值变化为1(实际应用中可能为别的非零值),有些节点仍为0,这些节点没有用处但是却占据了遗传算法运行的计算量,所以为了得到高速运行的遗传算法,我们可以对其进行优化,舍去不需要的节点,大大简化遗传算法运行的路径,如图3的第三阶段所示。
Claims (2)
1.一种基于FPGA高效训练的遗传算法,其特征在于:该算法的步骤如下:
步骤1)开始训练时,电脑将要进行运行的遗传算法代码下载到FPGA中进行训练;
步骤2)在FPGA中进行优化后,将运行结果节点输出反馈回电脑,在电脑中将优化的节点结果生成一个config文件保存下来;
步骤3)然后将优化完的节点结果代替原来遗传算法中的初始节点,在电脑编译生成高速遗传算法代码,并重新下载到电脑中,使用高速模式进行运行;
通过FGPA进行遗传算法节点的更新,同时,将遗传算法代码更新通过电脑进行实现,进行编译完成后再重新下载到FPGA的ROM中,实现实时的训练过程;FPGA内部分为2种交替运行的代码;
实现了软硬件结合的遗传算法的训练与优化,采用了训练与执行过程的分离,加快了系统数据处理和运算的速度,兼顾了灵活和效率;
所述步骤1)中的训练采用两个模式:模式A训练模式——将电脑上运行编译的遗传算法训练代码下载入FPGA,下载完成后进行训练,实现遗传算法的节点优化;模式B运行模式——使用训练完成后的优化节点生成新的高速遗传算法代码,下载入FPGA中进行高速运行,进行新数据的测试输入与输出,同时进行输出与预期的结果的误差进行比较,如果误差过大,反馈给电脑编译生成新的训练代码,重新训练,直至得到符合条件的误差。
2.用于权利要求1所述的一种基于FPGA高效训练的遗传算法的系统,其特征在于:包括进行软件编程的电脑和进行硬件运算的FPGA;进行软件编程的电脑输出端通过下载数据线与FPGA输入端连接,FPGA输出端通过反馈数据线与进行软件编程的电脑输入端连接。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710198898.1A CN107145944B (zh) | 2017-03-29 | 2017-03-29 | 基于fpga高效训练的遗传算法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710198898.1A CN107145944B (zh) | 2017-03-29 | 2017-03-29 | 基于fpga高效训练的遗传算法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107145944A CN107145944A (zh) | 2017-09-08 |
CN107145944B true CN107145944B (zh) | 2020-10-16 |
Family
ID=59784164
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710198898.1A Expired - Fee Related CN107145944B (zh) | 2017-03-29 | 2017-03-29 | 基于fpga高效训练的遗传算法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107145944B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107665281B (zh) * | 2017-09-27 | 2020-12-08 | 浙江大学 | 一种基于fpga的处理器模拟方法 |
CN110059796B (zh) * | 2018-01-19 | 2021-09-21 | 杭州海康威视数字技术股份有限公司 | 卷积神经网络的生成方法及装置 |
CN108445797B (zh) * | 2018-03-08 | 2020-06-02 | 河南科技大学 | 一种演化硬件无延迟控制方法 |
CN108345250B (zh) * | 2018-03-08 | 2020-04-21 | 河南科技大学 | 一种演化硬件无延迟控制装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016116132A1 (en) * | 2015-01-19 | 2016-07-28 | Huawei Technologies Co., Ltd. | Systems and methods for execution of algorithms on parallel heterogeneous systems |
CN106228238A (zh) * | 2016-07-27 | 2016-12-14 | 中国科学技术大学苏州研究院 | 现场可编程门阵列平台上加速深度学习算法的方法和系统 |
-
2017
- 2017-03-29 CN CN201710198898.1A patent/CN107145944B/zh not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016116132A1 (en) * | 2015-01-19 | 2016-07-28 | Huawei Technologies Co., Ltd. | Systems and methods for execution of algorithms on parallel heterogeneous systems |
CN106228238A (zh) * | 2016-07-27 | 2016-12-14 | 中国科学技术大学苏州研究院 | 现场可编程门阵列平台上加速深度学习算法的方法和系统 |
Non-Patent Citations (3)
Title |
---|
"Learning bothWeights and Connections for Efficient Neural Networks";Song Han et al;《arXiv:1506.02626v3》;20151030;全文 * |
"基于FPGA的神经网络硬件可重构实现";李利歌等;《河南科技大学学报:自然科学版》;20090228;第30卷(第1期);第37-40页 * |
李利歌等."基于FPGA的神经网络硬件可重构实现".《河南科技大学学报:自然科学版》.2009,第30卷(第1期),第37-40页. * |
Also Published As
Publication number | Publication date |
---|---|
CN107145944A (zh) | 2017-09-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107145944B (zh) | 基于fpga高效训练的遗传算法及系统 | |
CN110825384A (zh) | 一种基于llvm的st语言编译方法及编译系统和编译器 | |
CN110149800B (zh) | 一种用于处理与源程序的源代码相关联的抽象语法树的装置 | |
CN107291522B (zh) | 一种面向自定义规则文件的编译优化方法及系统 | |
Yedidia et al. | A relatively small Turing machine whose behavior is independent of set theory | |
Attie et al. | Dynamic input/output automata: A formal and compositional model for dynamic systems | |
Capriotti et al. | Free applicative functors | |
Tardieu et al. | Curing schizophrenia by program rewriting in Esterel | |
CN110737439B (zh) | 基于规则文件的设备控制系统及方法 | |
CN109388402A (zh) | 基于Android平台的轻量级Josn格式解析工具 | |
Lai et al. | Rethinking machine learning development and deployment for edge devices | |
CN108829440B (zh) | 一种将逻辑组态数组转为逻辑执行命令的方法和系统 | |
CN111310897A (zh) | 一种神经网络终端部署微调训练方法 | |
Tigane et al. | Reconfigurable stochastic Petri nets: A new formalism for reconfigurable discrete event systems | |
CN1402133A (zh) | 一种面向路径的测试数据自动生成方法 | |
JP2021192282A (ja) | 深層学習フレームワークにおけるパターン変換方法、装置、電子デバイス、コンピューター記憶媒体およびコンピュータープログラム製品 | |
CN105204995A (zh) | 一种基于手机平台的动态调试关键参数的方法及系统 | |
JP2007280214A (ja) | プログラマブルコントローラ | |
CN104035767A (zh) | 一种提高计算机并行计算编程自动化程度的方法 | |
Kelsen | A simple static model for understanding the dynamic behavior of programs | |
WO2022249255A1 (ja) | プログラム生成装置、プログラム生成方法及びプログラム | |
Berghammer et al. | Towards an algebraic specification of code generation | |
Chen et al. | Mining API protocols based on a balanced probabilistic model | |
CN108228660A (zh) | 基于自动机的生成sql模板及获得对应参数的方法及其装置 | |
Bornebusch et al. | Performance Aspects of Correctness-oriented Synthesis Flows. |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20201016 |