[發明專利]COStream中用于實現前饋神經網絡的sequential結構及其編譯方法有效
| 申請號: | 202011169585.1 | 申請日: | 2020-10-27 |
| 公開(公告)號: | CN112214222B | 公開(公告)日: | 2021-11-19 |
| 發明(設計)人: | 于俊清;余冰清 | 申請(專利權)人: | 華中科技大學 |
| 主分類號: | G06F8/41 | 分類號: | G06F8/41;G06N3/04;G06N3/08 |
| 代理公司: | 華中科技大學專利中心 42201 | 代理人: | 胡秋萍;李智 |
| 地址: | 430074 湖北*** | 國省代碼: | 湖北;42 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | costream 用于 實現 神經網絡 sequential 結構 及其 編譯 方法 | ||
1.一種COStream中用于實現前饋神經網絡的sequential結構的編譯方法,其特征在于,該方法包括:
詞法分析階段:解析輸入的字符串,將其拆分成詞法元素,并傳遞給語法分析階段,其中,sequential表示sequential結構,層詞法元素包括:Dense表示全連接層,Conv2D表示二維卷積層,MaxPooling2D表示二維最大池化層,AveragePooling2D表示二維平均池化層,Activation表示激活層,Dropout表示Dropout層;
語法分析和語法樹生成階段:根據巴科斯范式規則對拆分后的詞法元素歸約,在每次歸約后產生相應的語法樹節點,并通過鏈表將該節點插入到抽象語法樹中;其中,layerNode節點是各類神經網絡層的基類,由arg_list屬性保存層的配置參數,由prevLayer、nextLayer屬性分別保存指向前、后層layerNode的指針;sequentialNode節點保存sequential結構的輸入、輸出流,輸入數據的尺寸,模型的訓練過程配置參數,layerNode列表以及經過編譯該sequential結構轉化出的composite,同時提供訪問模型配置參數的方式;
sequential結構展開階段:從Main Composite遍歷整棵語法樹,當遍歷到類型為sequential的節點時,構建一個新的compositeNode,該compositeNode的主體內是模型的訓練過程;
靜態數據流圖生成階段:將語法樹轉化為靜態數據流圖。
2.如權利要求1所述的方法,其特征在于,所述根據巴科斯范式規則對拆分后的詞法元素歸約,在每次歸約后產生相應的語法樹節點,具體為:層詞法單元后接由小括號包裹的參數列表被規約并產生一個layerNode,繼續與add詞法單元規約并產生一個addNode,中括號內的所有add語句經規約產生一個addNode列表,即sequential結構的主體,最后sequential詞法單元、兩個由小括號包裹的參數列表、sequential結構主體經規約產生一個sequentialNode。
3.如權利要求1或2所述的方法,其特征在于,sequentialNode構建compositeNode,具體包括:
(1)在將語法生成樹轉化到數據流圖的過程中,遍歷到sequentialNode時,遍歷sequentialNode中的layerNode列表,通過雙向鏈表建立層上下文,并根據層上下文依次解析每一層,并包含參數的層中的權值矩陣聲明為全局數組;
(2)生成用于復制數據流的計算節點copy,將傳入整個sequential結構的訓練數據集,復制后分發給第一層在正向、反向傳播中對應的計算節點;
(3)順序遍歷layerNode列表,根據layerNode中存儲的層信息和層上下文,生成層在正向傳播中對應的計算節點;若該層為第一層,則其輸入流為經copy計算節點復制生成的由訓練數據集構成的數據流,否則為上一層在正向傳播中對應的計算節點的輸出流;由編譯器根據層上下文,確定在反向傳播中,是否有計算節點依賴于當前計算結果,有則生成copy計算節點,將輸出流復制成兩份;
(4)根據sequential第二個參數列表中設置的損失函數類型以及層上下文,生成loss計算節點,其兩個輸入流分別是最后一層在正向傳播對應的計算節點的輸出流與由傳入sequential結構的訓練標簽集構成數據流;
(5)逆序遍歷layerNode列表,根據layerNode中存儲的信息和層上下文,生成層在反向傳播中對應的計算節點;根據鏈式求導法則,在計算損失函數關于該層輸入的梯度時,依賴于該層數學變換關于輸入的Jacobian矩陣與反向傳遞到該層的梯度;根據上述數據依賴關系,用數據流連接計算節點;
(6)根據sequential結構暴露出的數據依賴關系,編譯器聲明數據流并用它們連接生成的正向、反向傳播對應的計算節點、copy計算節點、loss計算節點,將上述計算節點的調用作為新構建的compositeNode的主體,并用該compositeNode替換語法生成樹節點中的sequentialNode。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于華中科技大學,未經華中科技大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202011169585.1/1.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種吊管機的控制液壓系統及方法
- 下一篇:一種小便池用飛濺尿液清潔裝置





