[發明專利]基于FPGA高效訓練的遺傳算法及系統有效
| 申請號: | 201710198898.1 | 申請日: | 2017-03-29 |
| 公開(公告)號: | CN107145944B | 公開(公告)日: | 2020-10-16 |
| 發明(設計)人: | 皇甫江濤;夏磊;鄧皓;張海忠;冉立新 | 申請(專利權)人: | 浙江大學 |
| 主分類號: | G06N3/12 | 分類號: | G06N3/12 |
| 代理公司: | 杭州求是專利事務所有限公司 33200 | 代理人: | 林懷禹 |
| 地址: | 310058 浙江*** | 國省代碼: | 浙江;33 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 基于 fpga 高效 訓練 遺傳 算法 系統 | ||
本發明公開了一種基于FPGA高效訓練的遺傳算法及系統。該系統包括進行軟件編程的電腦和進行硬件運算的FPGA。開始訓練時,電腦將要進行運行的遺傳算法代碼下載到FPGA中進行訓練;在FPGA中進行優化后,將運行結果節點輸出反饋回電腦,在電腦中將優化的節點結果生成一個config文件保存下來;然后將優化完的節點結果代替原來遺傳算法中的初始節點,在電腦編譯生成高速遺傳算法代碼,并重新下載到電腦中,使用高速模式進行運行。本發明訓練采用兩個模式進行,實現了軟硬件結合的遺傳算法的訓練與優化,采用了訓練與執行過程的分離,極大的加快了系統數據處理和運算的速度,兼顧了靈活和效率。
技術領域
本發明涉及遺傳算法及系統,尤其是涉及一種基于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是遺傳算法優化原理圖。
具體實施方式
下面結合附圖和實施例對本發明作進一步說明。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于浙江大學,未經浙江大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201710198898.1/2.html,轉載請聲明來源鉆瓜專利網。





