[發明專利]一種具有高靈活性與精度的非線性運算電路結構有效
| 申請號: | 201810496471.4 | 申請日: | 2018-05-22 |
| 公開(公告)號: | CN108920748B | 公開(公告)日: | 2023-01-06 |
| 發明(設計)人: | 韓軍;蔡宇杰;曾曉洋 | 申請(專利權)人: | 復旦大學 |
| 主分類號: | G06F30/39 | 分類號: | G06F30/39;G06N3/04;G06N3/063 |
| 代理公司: | 上海正旦專利代理有限公司 31200 | 代理人: | 陸飛;陸尤 |
| 地址: | 200433 *** | 國省代碼: | 上海;31 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 具有 靈活性 精度 非線性 運算 電路 結構 | ||
1.一種具有高靈活性與精度的非線性運算電路結構,針對神經網絡的激活函數的運算加速,其特征在于,包括:粗粒度的查找表X、細粒度的查找表Y、兩個用于提升查找表精度的插值器、輸出選擇器,以及基本運算單元;粗粒度的查找表X和一個插值器,細粒度的查找表Y和另一個插值器,分別構成上下對稱的兩個數據通道,其中:
所述粗粒度的查找表X擁有M個入口,覆蓋非線性激活函數的大部分輸入范圍;
所述細粒度查找表Y擁有N個入口,它僅覆蓋非線性激活函數整個輸入范圍的一小部分--覆蓋非線性函數坡度顯著變化的區域;
所述插值器,采用線性插值的邏輯;插值器包括:兩個加法器或一個加法器和一個減法器,兩個乘法器;
所述基本運算單元,根據實際輸入數據,計算出查找表的索引以及插值器所需的插值系數α;
所述輸出選擇器,用于選擇使用粗粒度的查找表還是細粒度的查找表:當輸入數據位于細粒度查找表所覆蓋的范圍時,選擇細粒度查找表插值后的結果作為電路的輸出;反之,使用粗粒度查找表插值后的結果作為電路的輸出。
2.根據權利要求1所述的非線性運算電路結構,其特征在于,其運算流程為:輸入數據x進入兩個對稱的數據通路:粗粒度查找表X對應的上通路與細粒度查找表Y對應的下通路;
粗粒度查找表的覆蓋范圍即覆蓋非線性激活函數的大部分輸入范圍,記為min_X至max_X,一共有M個入口,每個入口輸入數據的步進step_X=(max_X-min_X)/(M-1);輸入數據x0先經過一個減法器與一個乘法器,乘法器的輸出等于(x0-min_X)/step_X,它的整數部分就是查找表X的入口索引,記作index(x0)=floor((x0-min_X)/step_X),其中,floor表示向下取整;乘法器輸出的小數部分對應于插值器所需的插值系數α;查找表有兩個輸出L0與L1,其中L1=LUT_X[index(x0)],L0= LUT_X[index(x0)+1];L1代表查找表中小于x0且最接近x0的入口索引對應的數值,L0代表查找表中大于x0且最接近x0的入口索引對應的數值,α表示x0與相鄰的兩個查找表入口相對位置關系;根據線性插值公式,f(x0)處的值為α*L0+(1-α)*L1;
細粒度查找表的數據通路與粗粒度查找表數據通路的結構類似,它的覆蓋范圍即覆蓋非線性函數坡度顯著變化的區域,記為min_Y至max_Y;細粒度查找表的覆蓋范圍小于粗粒度查找表的覆蓋范圍;細粒度查找表有N個入口,每個入口輸入數據的步進step_Y=(max_Y-min_Y)/(N-1);輸入數據x0先經過一個減法器與一個乘法器,乘法器的輸出等于(x0-min_Y)/step_Y,它的整數部分就是查找表Y的入口索引,記作index(x0)=floor((x0-min_Y)/step_Y),其中,floor表示向下取整;乘法器輸出的小數部分對應于插值器所需的插值系數α;查找表有兩個輸出L0與L1,其中L1=LUT_Y[index(x0)],L0= LUT_Y[index(x0)+1];L1代表查找表中小于x0且最接近x0的入口索引對應的數值,L0代表查找表中大于x0且最接近x0的入口索引對應的數值,α表示x0與相鄰的兩個查找表入口相對位置關系;根據線性插值公式,f(x0)處的值為α*L0+(1-α)*L1;細粒度查找表的插值器還輸出一個1比特的狀態信息,用以表示輸入數據是否位于細粒度查找表所覆蓋的范圍內。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于復旦大學,未經復旦大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201810496471.4/1.html,轉載請聲明來源鉆瓜專利網。





