国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      一種基于改進CORDIC算法的MISH函數實現方法與流程

      文檔序號:40405213發(fā)布日期:2024-12-20 12:29閱讀:5來源:國知局
      一種基于改進CORDIC算法的MISH函數實現方法與流程

      本發(fā)明屬于集成電路數字ic,特別涉及一種基于改進cordic算法的mish函數實現方法。


      背景技術:

      1、近年來,在人工智能領域,神經網絡模型作為核心技術之一得到了迅猛的發(fā)展。激活函數作為神經網絡中“神經元”的一個重要組成部分,引入了非線性映射學習能力,對神經網絡的訓練和泛化起到了十分關鍵的作用。mish激活函數是一個平滑的、連續(xù)的、自正則化的、非單調的激活函數。在cifar-10、imagenet-1k等數據集上,在resnet、wrn、simplenet、xceptino?net、densenet、mobilenet等十幾種神經網絡模型中,相比于swish和relu等激活函數,mish激活函數都取得了更高的精度和更多的最優(yōu)結果,是非常優(yōu)質的激活函數。

      2、mish激活函數的表達式為??梢钥闯?,mish激活函數復合了乘法、 tanh、 ln和 e指數等多個特殊運算,在硬件電路實現時復雜度很高。 tanh等三角函數類、 ln和 e指數類復雜函數運算在硬件電路上的傳統實現方法包括查找表、泰勒級數展開、cordic算法等。由于mish激活函數復合的運算種類多,使用多級查找表存在占用較大片上存儲資源的問題,而使用多級的級數展開存在截斷和舍入等計算誤差經多級積累導致計算精度低的問題。1957年提出的cordic算法有三種運算坐標系,每種坐標系下有兩種工作模式,能基于簡單的移位和加法,實現乘法、除法、sinh/cosh/tanh等三角函數類、 ln和 e指數類復雜計算,非常適合在硬件電路上應用。

      3、cordic算法的統一旋轉迭代公式如下式所示:

      4、;

      5、其中:包含了x/y/z三條處理鏈路;坐標系通過 m值進行選擇,時為雙曲坐標系,時為線性坐標系,時為圓周坐標系。在rotation模式(rm)中,旋轉級的旋轉方向 d i取值為:

      6、;

      7、在vectoring模式(vm)中,旋轉級的旋轉方向 d i取值為:

      8、(雙曲/線性坐標系);

      9、(圓周坐標系);

      10、cordic算法在不同坐標系下的固定旋轉角度表示為:

      11、;

      12、在硬件電路實現時,固定旋轉角度一般預先存放在一個小的rom表中。

      13、特別第,對雙曲坐標系下的旋轉來說,為保證收斂,旋轉級 i是(3* k+1)的旋轉級需要重復一次,典型的旋轉序列 i為1,?2,?3,?4,?4,?5,?6,?7,?7,?8,?9,?10,?10,?11,?12,13,?13。對雙曲坐標系rotation模式來說,在此旋轉范圍下,cordic算法的收斂區(qū)間為(-1.113,1.113);雙曲坐標系下旋轉增益為:,其中 n為旋轉總級數,旋轉增益的典型值為0.828。

      14、從mish激活函數的表達式可以看出,從表達式的內層到外層,基于cordic算法的實現時需要調用4次cordic算法模塊,首先使用雙曲坐標下的cordic算法模塊rotation模式來計算,然后使用雙曲坐標下的cordic算法模塊vectoring模式來計算,然后再使用雙曲坐標下的cordic算法模塊rotation模式來計算,最后再使用線性坐標系下的cordic算法模塊vectoring模式來計算,得到最終的計算結果。cordic算法的基本運算思想是迭代逼近的近似計算,這種四級串行級聯的實現方法顯然存在處理周期長、計算誤差大和硬件資源消耗大等問題。


      技術實現思路

      1、本發(fā)明的目的在于克服現有技術的上述不足,針對mish函數基于cordic算法實現時存在的串聯模塊多導致處理周期長、計算精度低、硬件消耗大等問題,提供一種低延遲、高精度和硬件消耗小的實現方法,基于優(yōu)化的函數實現結構和改進的cordic算法,提升mish函數硬件實現性能。

      2、為解決上述技術問題,本發(fā)明提供了一種基于改進cordic算法的mish函數實現方法,包括如下步驟:

      3、步驟s1:首先對mish函數表達式進行等價轉換,即將等價轉換為;

      4、步驟s2:然后對等價轉換后的mish函數表達式進行運算分解成、、、和除法五個部分;

      5、其中部分基于雙曲坐標下的cordic算法模塊rotation模式來計算,cordic算法模塊的輸入 x in、 y in、 z in均為 x,此時cordic算法模塊的輸出 x out為,其中 k0為雙曲cordic算法模塊的偽旋轉增益,在旋轉總級數一定時為定值常數;

      6、部分通過對 x乘以來實現;考慮到cordic算法模塊帶入的增益,將部分轉換成,并與上述輸出 x out相加,即獲得;

      7、部分基于雙曲坐標下的cordic算法模塊rotation模式來實現,cordic算法模塊的輸入 x in、 y in均為1,輸入 z in為 x時,此時cordic算法模塊的輸出 x out即為,并進行加上的運算,即獲得;

      8、部分基于雙曲坐標下的cordic算法模塊rotation模式來實現,cordic算法模塊的輸入 x in、 y in均為1,輸入 z in為- x時,輸出 y out即為,并進行乘以2的運算處理,即獲得,對上述輸出 x out和輸出 y out相加,即獲得;

      9、除法部分基于線性坐標系下的cordic算法模塊vectoring模式來實現,cordic算法模塊的輸入 x in為,輸入 y in為,輸入 z in為0,此時模塊的輸出 z out即為,能夠化簡為,即為mish函數的運算結果。

      10、優(yōu)選的,所述基于雙曲坐標下的cordic算法模塊rotation模式來計算部分,此時cordic算法模塊迭代公式改進為:

      11、;

      12、其中,

      13、;

      14、;

      15、其中,上述 i表示第 i個旋轉級;表示第 i個旋轉級中x處理鏈路的輸出;表示第 i個旋轉級中x處理鏈路的輸入;表示第 i個旋轉級中z處理鏈路的輸出;表示第 i個旋轉級中z處理鏈路的輸入;表示第 i個旋轉級的旋轉方向;表示第 i個旋轉級的固定旋轉角度。

      16、優(yōu)選的,所述基于雙曲坐標下的cordic算法模塊rotation模式來計算和,此時cordic算法模塊迭代公式改進為:

      17、;

      18、其中,

      19、;

      20、;

      21、其中,上述 i表示第 i個旋轉級;表示第 i個旋轉級中x處理鏈路的輸出;表示第 i個旋轉級中x處理鏈路的輸入;表示第 i個旋轉級中y處理鏈路的輸出;表示第 i個旋轉級中y處理鏈路的輸入;表示第 i個旋轉級中z處理鏈路的輸出;表示第 i個旋轉級中z處理鏈路的輸入;表示第 i個旋轉級的旋轉方向;表示第 i個旋轉級的固定旋轉角度。

      22、優(yōu)選的,所述基于雙曲坐標下的cordic算法模塊rotation模式來計算以及和,輸入 z in均為 x,因此在運算時僅使用一個z處理鏈路。

      23、優(yōu)選的,所述基于線性坐標系下的cordic算法模塊vectoring模式來實現,此時cordic算法模塊迭代公式改進為:

      24、;

      25、其中,輸入 x in的一定大于0,故有:

      26、;

      27、;

      28、其中,上述 i表示第 i個旋轉級;表示第 i個旋轉級中y處理鏈路的輸出;表示第 i個旋轉級中y處理鏈路的輸入;表示cordic算法的x處理鏈路的輸入;表示第 i個旋轉級中z處理鏈路的輸出;表示第 i個旋轉級中z處理鏈路的輸入;表示第 i個旋轉級的旋轉方向;表示第 i個旋轉級的固定旋轉角度。

      29、優(yōu)選的,所述mish函數的計算結構采用級聯的第一級cordic算法模塊和第二級cordic算法模塊,以及對第一級cordic算法模塊輸入、輸出進行整合運算的乘法、加法和移位處理單元;

      30、其中,所述第一級cordic算法模塊包括:cordic算法在雙曲坐標系下的三個運算模塊;所述第二級cordic算法模塊包括:cordic算法在線性坐標系下的一個運算模塊。

      31、優(yōu)選的,所述mish函數實現方法使用的cordic算法模塊rotation模式,其輸入 x in和輸入 y in是相等的。

      32、本發(fā)明與現有技術相比,具有如下有益效果:

      33、本發(fā)明提出的一種基于改進cordic算法的mish函數實現方法,能夠通過mish表達式的化簡和cordic算法模塊的改進,解決傳統方法存在的處理周期長、計算精度低、硬件消耗大等問題,其中處理周期可以由傳統的4個串聯cordic算法模塊,減少到2級串聯cordic算法模塊,處理周期降低一半;在硬件電路實現時,傳統方法4個cordic算法模塊需要共12個x/y/z處理鏈路,而本文所述方法只需要6個x/y/z處理鏈路,硬件資源消耗也降低一半;仿真結果顯式,在計算精度上,在相同計算位寬和旋轉次數下,本文所述方法在cordic算法收斂范圍內都可以達到10^-5量級的計算精度,相對于傳統實現方法,本發(fā)明方法的計算范圍擴大了近30%。

      當前第1頁1 2 
      網友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1