[發明專利]實現softmax的電路裝置及生成softmax代碼的方法在審
| 申請號: | 202110756617.6 | 申請日: | 2021-07-05 |
| 公開(公告)號: | CN113485673A | 公開(公告)日: | 2021-10-08 |
| 發明(設計)人: | 譚黎敏;崔衛東;趙釗 | 申請(專利權)人: | 上海西井信息科技有限公司 |
| 主分類號: | G06F7/483 | 分類號: | G06F7/483;G06F8/41;G06N20/00 |
| 代理公司: | 上海隆天律師事務所 31282 | 代理人: | 潘一諾 |
| 地址: | 200050 上海市*** | 國省代碼: | 上海;31 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 實現 softmax 電路 裝置 生成 代碼 方法 | ||
1.一種實現softmax的電路裝置,其特征在于,包括:
最大值模塊,配置成從輸入值中選取最大值;
第一差值計算模塊,配置成計算各所述輸入值和所述最大值的第一差值;
第一指數計算模塊,配置成計算所述第一差值的第一指數值;
累加模塊,配置成執行所述第一差值的第一指數值的累加獲得累加值;
對數計算模塊,配置成計算所述累加值的對數值;
第二差值計算模塊,配置成計算所述第一差值和所述對數值的第二差值;
第二指數模塊,配置成計算所述第二差值的第二指數值。
2.如權利要求1所述的實現softmax的電路裝置,其特征在于,所述最大值模塊配置成執行如下公式:
其中,xj為所述輸入值,xmax為所述輸入值中的最大值,
其中,所述最大值模塊串行實現時,所述最大值模塊僅包括一個比較器;
所述最大值模塊并行實現時,所述最大值模塊包括級聯的多個比較器,所述比較器的層級數為log2(N)+1,其中,N為預設的并行度,1表示表示當前批次的最大值和前一批次的最大值做一次比較。
3.如權利要求2所述的實現softmax的電路裝置,其特征在于,所述比較器為浮點比較器或者定點比較器。
4.如權利要求1所述的實現softmax的電路裝置,其特征在于,所述第一指數計算模塊采用分段線性函數計算所述第一差值的第一指數值,所述第一指數計算模塊包括多個指數計算單元,每個所述指數單元將輸入所述指數單元的值劃分為多個區間以利用多個直線段來近似指數曲線,并使每個區間關聯預設的所述直線段的斜率和截距。
5.如權利要求4所述的實現softmax的電路裝置,其特征在于,所述第二指數計算模塊和所述第一指數計算模塊采用相同的方式實現。
6.如權利要求1所述的實現softmax的電路裝置,其特征在于,所述累加模塊串行實現時,所述累加模塊僅包括一個加法器;
所述累加模塊并行實現時,所述累加模塊包括級聯的多個加法器,所述加法器的層級數為log2(N)+1,其中,N為預設的并行度,1表示表示當前批次的累加值和前一批次的累加值做一次加法計算。
7.如權利要求1所述的實現softmax的電路裝置,其特征在于,所述第二差值計算模塊包括第一子差值計算模塊和第二子差值計算模塊,
所述第一子差值計算模塊配置成計算各所述輸入值和所述最大值的第一差值;
所述第二子差值計算模塊配置成計算所述第一子差值計算模塊輸出的所述第一差值和所述對數值的第二差值。
8.如權利要求7所述的實現softmax的電路裝置,其特征在于,所述第一子差值計算模塊的計算時間覆蓋所述對數計算模塊的計算時間。
9.如權利要求1至8任一項所述的實現softmax的電路裝置,其特征在于,所述最大值模塊的計算時間形成第一計算階段,所述第一差值計算模塊、所述第一指數計算模塊以及所述累加模塊的計算時間形成第二計算階段,所述對數計算模塊、所述第二差值計算模塊以及所述第二指數模塊的計算時間形成第三計算階段,所述第一計算階段、所述第二計算階段以及所述第三計算階段的計算時間相互獨立,各計算階段內,多個計算模塊的計算時間至少部分相互覆蓋。
10.一種生成softmax代碼的方法,其特征在于,應用于如權利要求1至9任一項所述的電路裝置,所述方法包括:
配置多個softmax生成器的參數;
使所述softmax生成器根據所述參數自動生成部署在電路裝置上的softmax代碼。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于上海西井信息科技有限公司,未經上海西井信息科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202110756617.6/1.html,轉載請聲明來源鉆瓜專利網。





