欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種基于硬件的PReLU激活卷積算子計(jì)算的方法與流程

文檔序號(hào):40633899發(fā)布日期:2025-01-10 18:39閱讀:4來源:國(guó)知局
一種基于硬件的PReLU激活卷積算子計(jì)算的方法與流程

本發(fā)明屬于神經(jīng)網(wǎng)絡(luò)算子計(jì)算,特別涉及一種基于硬件的prelu激活卷積算子計(jì)算的方法。


背景技術(shù):

1、現(xiàn)有技術(shù)中,隨著神經(jīng)網(wǎng)絡(luò)技術(shù)的發(fā)展,應(yīng)用中越來越多的激活函數(shù)被使用。其中prelu和leakyrelu激活函數(shù)因?yàn)槠鋬?yōu)秀的特性,使用范圍越來越廣。但是由于計(jì)算流程的問題,其與一般的relu等函數(shù)有所區(qū)別,特別是涉及到量化時(shí),并不能很好的支持prelude和leakyrelu。

2、現(xiàn)有技術(shù)中常用的術(shù)語包括:

3、batchnormal批正則化:對(duì)輸入的批數(shù)據(jù)進(jìn)行歸一化,映射到均值為0,方差為1的正態(tài)分布。同時(shí)因?yàn)閷⑤斎霐?shù)據(jù)都映射到了原點(diǎn)周圍,會(huì)導(dǎo)致激活函數(shù)表達(dá)能力變差,所以又引入了縮放和平移,計(jì)算公式如下:

4、

5、局部算子:局部算子是指在某個(gè)點(diǎn)的取值僅受到該點(diǎn)周圍一定范圍內(nèi)的數(shù)值影響,而不會(huì)受到其他位置上的數(shù)值影響。通俗地說,就是它只對(duì)一個(gè)點(diǎn)的取值依賴于該點(diǎn)附近的數(shù)值。常見的局部算子包括梯度算子、拉普拉斯算子、sobel算子等。在圖像處理領(lǐng)域中,均值濾波器(mean?filter)和中值濾波器(median?filter)也是一種常用的局部算子。由于局部算子僅考慮了局部信息,因此其計(jì)算速度較快,并且可以應(yīng)用于實(shí)時(shí)處理等場(chǎng)景。神經(jīng)網(wǎng)絡(luò)由很多算子根據(jù)輸入輸出連接組成有向無環(huán)圖,一般的在量化時(shí)需要考慮算子之間的融合,例如卷積-批歸一化-激活可以融合當(dāng)作一個(gè)算子。本文中的局部算子,是指神經(jīng)網(wǎng)絡(luò)中的局部結(jié)構(gòu),是神經(jīng)網(wǎng)絡(luò)中的子圖。因?yàn)楸疚挠懻摼矸e的prelu激活,所以可以理解為局部算子等價(jià)于conv-bn-act。


技術(shù)實(shí)現(xiàn)思路

1、為了解決上述問題,本技術(shù)的目的在于:結(jié)合硬件計(jì)算的特性,在原有的算子基礎(chǔ)上進(jìn)行擴(kuò)充,使其支持prelu激活函數(shù)。

2、具體地,本發(fā)明提供一種基于硬件的prelu激活卷積算子計(jì)算的方法,所述方法包括:

3、s1,線下計(jì)算,是將可預(yù)先計(jì)算出的參數(shù)s和b,在pc端先行計(jì)算完成,其中,

4、

5、

6、sx為輸入的量化scale,

7、sw為卷積權(quán)重的量化scale,

8、sbn為batchnormal化簡(jiǎn)后的參數(shù)scale,

9、bbn為batchnormal化簡(jiǎn)后的參數(shù)bias,

10、max為輸出張量的量化閾值的最大值,

11、h,j,k,g,是根據(jù)輸入的量化閾值和輸出量化閾值的最小值變化的參數(shù);

12、wint為量化后的整型的權(quán)重,

13、sif為輸入tensor的量化位寬對(duì)應(yīng)的整型域范圍,

14、s2,搭載在開發(fā)板上的芯片實(shí)際運(yùn)行中根據(jù)實(shí)際值的符號(hào)選用正確的參數(shù),張量先經(jīng)過卷積再計(jì)算batchnormal最后再經(jīng)過激活計(jì)算,表示為:局部算子conv-->batchnormal-->act,這三個(gè)算子原本的輸入輸出,包括內(nèi)部的計(jì)算都是浮點(diǎn)數(shù)的計(jì)算,通過量化將浮點(diǎn)數(shù)據(jù)轉(zhuǎn)為低bit的整型數(shù)據(jù);進(jìn)一步包括:

15、s2.1,現(xiàn)有局部算子conv-->batchnormal-->act,表達(dá)式:

16、

17、

18、act=clip(bn,min,max)

19、y=act

20、其中,x為卷積的輸入,w為卷積的權(quán)重,bias為卷積的偏置;var、eps、γ、β是bn(batchnormal的縮寫)的參數(shù);

21、其中的act此時(shí)設(shè)為prelu算子(act是激活函數(shù)的縮寫),公式如下:

22、

23、s2.1.1融合conv與bn的操作:

24、

25、

26、設(shè)

27、

28、這里根據(jù)conv和bn的公式,將conv-bn計(jì)算化簡(jiǎn),其中x為conv的輸入,w為conv的權(quán)重;

29、s2.2,將整型的xint,wint帶入bn的計(jì)算公式;

30、板端的conv的量化算子,接收x和w量化后的整形值,并且計(jì)算出量化后的整形的輸出值,這樣網(wǎng)絡(luò)就能夠使用整形值進(jìn)行推理;

31、其中,浮點(diǎn)的x與整型的xint之間的關(guān)系,以及浮點(diǎn)的w與wint之間的關(guān)系如下;

32、s2.2.1,對(duì)x和w進(jìn)行量化后,浮點(diǎn)值與整形值有以下關(guān)系:

33、當(dāng)input_clip_min=0

34、當(dāng)input_clip_min<0

35、x=sx*(j*xint-k*sif)

36、

37、

38、有wint=(2*wint-sw)

39、

40、sif=2n-1,sw=2n-1;

41、j和k根據(jù)input_clip_min的符號(hào)取不同的值;

42、對(duì)于權(quán)重weight來說,wint=(2*wint-sw)是因?yàn)榘宥藈eight范圍是[-(2n-1),(2n-1)];

43、s2.2.2,將x和w帶入bn的計(jì)算公式:

44、

45、設(shè)

46、

47、至此,bn輸出的結(jié)果就使用定點(diǎn)化數(shù)據(jù)進(jìn)行了表達(dá),而激活函數(shù)需要判斷bn的值的正負(fù);

48、s2.3,板端會(huì)計(jì)算的值,這里的計(jì)算符號(hào)表示卷積操作,所以需要加上b和calibration才能得到正確的符號(hào);

49、由于由于prelu激活只會(huì)改變輸入的負(fù)半軸數(shù)據(jù),其輸入值如果大于等于0則直接輸出,如果小于0則乘上一個(gè)參數(shù);

50、上述計(jì)算出conv-bn的輸出bn,也就是激活的輸入,需要對(duì)其判斷符號(hào),以確定那種計(jì)算方式;

51、s2.3.1,現(xiàn)只考慮負(fù)數(shù)的情況:

52、所述act指prelu,輸入為上面的bn,輸出命名為prelu;

53、prelu=act(bn)

54、

55、將前面bn的表達(dá)式帶入:

56、

57、設(shè)新的

58、

59、其中,

60、

61、

62、input_clip_min<0時(shí)j=2k=1

63、input_clip_min=0時(shí)j=1k=0

64、output_clip_min<0時(shí)h=0.5g=0.5

65、output_clip_min<0時(shí)h=1g=0

66、上述計(jì)算出的s和b都是激活前值為負(fù)數(shù)的情況,記做sneg和bneg;

67、s2.3.2,如果激活的輸入為正值則sneg和bneg中的阿爾法值為1,記作spos和bpos;

68、s2.4,最終芯片上計(jì)算邏輯為:

69、

70、

71、所述步驟s1中,所述線下是指在非開發(fā)板的運(yùn)行環(huán)境。

72、所述步驟s2中,所述芯片控制程序邏輯并計(jì)算,程序在開發(fā)板的環(huán)境上運(yùn)行,開發(fā)板上運(yùn)行的算子需要最大限度的減少計(jì)算步驟。

73、所述步驟s2所述選用正確的參數(shù)即推導(dǎo)開發(fā)板上需要參數(shù)進(jìn)行算子的計(jì)算過程,芯片運(yùn)行的是最終推導(dǎo)出來的公式即芯片上運(yùn)行的是量化的算子。

74、所述步驟s2.3中,由于輸出需要為整型值,所以prelu也要根據(jù)feature?map的量化公式進(jìn)行量化,當(dāng)只考慮負(fù)半軸時(shí),也就是激活的計(jì)算邏輯為對(duì)輸入乘以一個(gè)參數(shù)alpha。

75、由此,本技術(shù)的優(yōu)勢(shì)在于:提供一種prelu激活卷積計(jì)算的方法用于加快神經(jīng)網(wǎng)絡(luò)在芯片上的運(yùn)行速度。

當(dāng)前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
绍兴县| 微博| 潞西市| 东兰县| 宣化县| 惠水县| 杨浦区| 怀化市| 昆明市| 荔浦县| 咸阳市| 璧山县| 南投市| 兴海县| 淅川县| 淮滨县| 咸丰县| 封丘县| 双鸭山市| 简阳市| 罗山县| 盘锦市| 黑水县| 赞皇县| 磴口县| 宁国市| 荥阳市| 白朗县| 府谷县| 丰都县| 兰考县| 平泉县| 巴彦淖尔市| 平和县| 金溪县| 西乡县| 双流县| 庐江县| 巴中市| 兰西县| 浦城县|