[發明專利]一種并行化類腦仿真的加速方法在審
| 申請號: | 202011487634.6 | 申請日: | 2020-12-16 |
| 公開(公告)號: | CN112651502A | 公開(公告)日: | 2021-04-13 |
| 發明(設計)人: | 黃凱;王弘遠;陳剛 | 申請(專利權)人: | 中山大學 |
| 主分類號: | G06N3/10 | 分類號: | G06N3/10 |
| 代理公司: | 廣州粵高專利商標代理有限公司 44102 | 代理人: | 陳偉斌 |
| 地址: | 510275 廣東*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 并行 化類腦 仿真 加速 方法 | ||
本發明涉及神經網絡仿真技術領域,具體涉及一種并行化類腦仿真的加速方法,包括以下步驟:S1、在每個時間片中篩選出所有處于激活狀態的神經元;S2、將所有篩選出來的神經元的所有輸出突觸拆分;S3、拆分后分配給若干個線程來完成脈沖發放任務。本發明的并行化類腦仿真的加速方法,通過將待發放脈沖的神經元先篩選出來,再將發放任務均勻分配到各個線程的方式,在一定程度上均衡了每個線程的工作量,有效地提高了仿真效率。
技術領域
本發明涉及神經網絡仿真技術領域,具體涉及一種并行化類腦仿真的加速方法。
背景技術
在使用GPU進行仿真脈沖神經網絡的過程中,因為不同神經元的輸出突觸數量不同,而導致不同線程及線程束工作量不一致,從而降低了整體的運行效率。期刊文獻《基于突觸離子通道動力學神經元網絡的高效并行仿真算法》,公開了一種并行仿真的算法,但是并沒有很好地解決到現有的技術問題,整體的運行效率還是偏低。
發明內容
為了克服現有技術所存在的缺陷,本發明提供了一種并行化類腦仿真的加速方法,通過將待發放脈沖的神經元先篩選出來,再將發放任務均勻分配到各個線程的方式,在一定程度上均衡了每個線程的工作量,有效地提高了仿真效率。
為解決上述技術問題,本發明提供以下技術方案:
一種并行化類腦仿真的加速方法,包括以下步驟:
S1、在每個時間片中篩選出所有處于激活狀態的神經元;
S2、將所有篩選出來的神經元的所有輸出突觸拆分;
S3、拆分后分配給若干個線程來完成脈沖發放任務。
時鐘驅動仿真策略是SNN仿真策略之一,它將連續的仿真過程分為幾個離散的步驟,并同步更新SNN中的所有神經元,這些步驟稱為時間片,它也稱為同步算法。該算法的時間復雜度與所選的時間步長成正比,由于它可以應用于任何神經元模型,因此被廣泛使用。
由于每個時間片的神經元模型計算都要依賴于上一個時間片仿真結束后的膜電位等狀態量以及在之前若干個時間片內由其他神經元發放的脈沖,因此整個仿真過程需要整個網絡的所有神經元同步進行仿真,這里可使用GPU等并行化措施,在每個時間片內為每個神經元分配一個線程完成一個時間片的仿真,從而實現加速。
對于每個神經元的仿真則是按照時間片做若干次迭代,每次迭代完成2件事。
第一件事是神經元模型的計算,包括將當前時間步中的輸入電流代入到神經元模型中計算膜電位的變化,判斷其是否滿足激活條件并處理不應期。在模擬之前,設置輸入電流以記錄每個時間步長下每個神經元的輸入電流。在仿真過程中,從前一個時間片收到的脈沖和在相應時間輸入的脈沖所產生的電流將累積到相應的數組元素中。在計算神經元模型時,程序將根據當前時間步長的索引找到對應的元素作為當前輸入電流。
第二件事是在神經元被激活后發放脈沖。其過程是找到當前神經元的所有輸出突觸,然后通過這些突觸將脈沖發射到每個突觸后神經元。也就是說,根據當前時間和突觸延遲將突觸權重添加到相應的輸入電流數組。當前時間片中所有神經元的輸入電流取決于前一個時間片中所有突觸前神經元所發射的脈沖,這意味著我們必須嚴格按順序執行仿真程序。
仿真的過程中發放脈沖這一環節會花費較多時間,該過程是要找到當前神經元的所有輸出突觸(也就是有向圖中對應節點的出邊),將脈沖發放到這些突觸對應的突觸后神經元上。由于每個神經元在哪些時間片會處于激活狀態難以預測,且每個神經元所擁有的輸出突觸數不一致,這會使得不同線程之間的工作量不一致,而仿真整個網絡需要所有神經元同步進行,這就意味著大多數工作量少的線程不得不因為少數工作量大的線程而被閑置,這就造成了整體的仿真速度下降。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于中山大學,未經中山大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202011487634.6/2.html,轉載請聲明來源鉆瓜專利網。





