TW202101302A - 用於神經網路中激勵函數的電路系統及其處理方法 - Google Patents

用於神經網路中激勵函數的電路系統及其處理方法 Download PDF

Info

Publication number
TW202101302A
TW202101302A TW108121308A TW108121308A TW202101302A TW 202101302 A TW202101302 A TW 202101302A TW 108121308 A TW108121308 A TW 108121308A TW 108121308 A TW108121308 A TW 108121308A TW 202101302 A TW202101302 A TW 202101302A
Authority
TW
Taiwan
Prior art keywords
value
input value
input
function
index
Prior art date
Application number
TW108121308A
Other languages
English (en)
Other versions
TWI701612B (zh
Inventor
林永隆
陳建文
Original Assignee
創鑫智慧股份有限公司 新竹市光復路2段101號 清大育成中心R203之N
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 創鑫智慧股份有限公司 新竹市光復路2段101號 清大育成中心R203之N filed Critical 創鑫智慧股份有限公司 新竹市光復路2段101號 清大育成中心R203之N
Priority to TW108121308A priority Critical patent/TWI701612B/zh
Priority to US16/558,314 priority patent/US20200401873A1/en
Application granted granted Critical
Publication of TWI701612B publication Critical patent/TWI701612B/zh
Publication of TW202101302A publication Critical patent/TW202101302A/zh

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/063Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/048Activation functions

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • General Health & Medical Sciences (AREA)
  • General Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Computational Linguistics (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • Neurology (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Complex Calculations (AREA)

Abstract

本發明實施例提出一種用於神經網路中激勵函數的硬體架構及其處理方法。提供一對照表。此對照表是數個輸入值域與數個線性函數的對應關係,各線性函數的輸入值域的起始值與終止值之差值為二的冪次,且這些線性函數組成一個分段線性函數以逼近用於神經網路的激勵函數。將輸入值中至少一個位元值作為索引來查詢對照表以決定對應的線性函數。此索引為一個輸入值域的起始值。將輸入值依據決定的線性函數進行運算以得出輸出值。藉此,可去除值域比較電路,此外透過修改線性函數的偏差以減少乘加器的位元數,從而達到低成本低功耗的目的。

Description

用於神經網路中激勵函數的硬體架構及其處理方法
本發明是有關於一種神經網路(neural network)技術,且特別是有關於一種用於神經網路中激勵函數的硬體架構及其處理方法。
神經網路是人工智慧(Artificial Intelligence,AI)中的一個重要主題,並是透過模擬人類腦細胞的運作來進行決策。值得注意的是,人類腦細胞中存在著許多神經元(Neuron),而這些神經元會透過突觸(Synapse)來互相連結。其中,各神經元可經由突觸接收訊號,且此訊號經轉化後的輸出會再傳導到另一個神經元。各神經元的轉化能力不同,且人類透過前述訊號傳遞與轉化的運作,可形成思考與判斷的能力。神經網路即是依據前述運作方式來得到對應能力。
圖1是一示意圖說明神經網路的基礎運算。請參照圖1,假設共有64個神經元N0~N63,32個輸入值A0 ~A31 ,輸入值與各自對應的權重W0,0 ~W63,31 相乘累加後將加上偏差(bias)B0 ~B63 ,得到64個輸出值X0 ~X63 。為了避免決策結果為線性的,前述運算結果最後會輸入至非線性的激勵函數(activation function),以得出非線性的結果Z0 ~Z63 。而常見的激勵函數有雙曲正切(tanh)、S形(sigmoid)等函數。tanh函數為
Figure 02_image001
,sigmod函數為
Figure 02_image003
,其中x 為輸入值。值得注意的是,非線性函數在電路實現上通常會造成極高的複雜度(尤其除法運算需要更多硬體或軟體資源),進而影響整體功耗及處理效率。由此可知,有效解決前述實現激勵函數所引發問題,是相關領域努力的目標之一。
有鑑於此,本發明提供一種用於神經網路中激勵函數的硬體架構及其處理方法,採用分段線性函數(piecewise linear function)來逼近激勵函數以簡化計算,對其輸入值域限制,並改變各段線性函數的偏差,即可在精確度及複雜度上取得較好的平衡。
本發明實施例用於神經網路中激勵函數的硬體架構,其包括但不僅限於存儲裝置、參數決定電路及乘加器。存儲裝置用以記錄對照表。此對照表是數個輸入值域與數個線性函數的對應關係,對照表中存放數個線性函數的斜率和偏差(bias),各輸入值域的起始值與終止值之差值為二的冪次,且這些線性函數組成一個分段線性函數以逼近用於神經網路的激勵函數。參數決定電路耦接存儲裝置,並將激勵函數的輸入值中至少一個位元值作為索引(index)來查詢對照表以決定對應的線性函數。此索引為一個輸入值域的起始值。乘加器耦接參數決定電路,並將輸入值的一部分依據決定的線性函數進行運算以得出輸出值。
另一方面,本發明實施例用於神經網路中激勵函數的處理方法,其包括但不僅限於下列步驟:提供對照表。此對照表是數個輸入值域與數個線性函數的對應關係,對照表中存放那些線性函數的斜率和偏差,各線性函數的輸入值域的起始值與終止值之差值為二的冪次,且這些線性函數組成一個分段線性函數以逼近用於神經網路的激勵函數。將激勵函數的輸入值中至少一個位元值作為索引來查詢對照表以決定對應的線性函數。此索引為一個輸入值域的起始值。將輸入值依據決定的線性函數進行運算以得出輸出值。
基於上述,本發明實施例用於神經網路中激勵函數的的硬體架構及其處理方法,利用分段線性函數來逼近激勵函數,限制各段值域的長度,並改變各線性函數的偏差。藉此,無須多段值域比較,即可省略大量比較器,進而提升硬體的運算效率。此外,透過修改線性函數的偏差以減少乘加器的位元數,並達到低成本及低功耗的目的。
為讓本發明的上述特徵和優點能更明顯易懂,下文特舉實施例,並配合所附圖式作詳細說明如下。
圖2是依據本發明一實施例用於神經網路中激勵函數的硬體架構100的示意圖。請參照圖2,此硬體架構100包括但不僅限於存儲裝置110、參數決定電路130及乘加器150。此硬體架構100可實現在各類型數位電路、微控制單元(Micro Control Unit,MCU)、計算單元(Computing Unit,CU)、處理元件(Processing Element,PE)、系統晶片(System on Chip,SoC)、或積體電路(Integrated Circuit,IC)等處理電路或是獨立的電腦系統(例如,桌上型電腦、筆記型電腦、伺服器、手機、平板電腦等)。更值得注意的是,本發明實施例的硬體架構100可用於實現神經網路的激勵函數(activation function)運算處理,其詳細內容待後續實施例說明。
存儲裝置110可以是固定或可移動隨機存取記憶體(Random Access Memory,RAM)、唯讀記憶體(Read-Only Memory,ROM)、快閃記憶體(Flash Memory)、寄存器(Register)、組合邏輯電路(Combinational Circuit)或上述元件的組合。於本發明實施例中,存儲裝置110記錄有對照表。此對照表是有關激勵函數中各輸入值域與特定線性函數的對應關係,對照表中存放數個線性函數的斜率和偏差,其詳細內容待後續實施例說明。
參數決定電路130耦接存儲裝置110,參數決定電路130並可以是特定功能單元、邏輯電路、微控制器、或各類型處理器。
乘加器150耦接存儲裝置110及參數決定電路130。乘加器150可以是具有乘法及加法運算的特殊電路,亦可能是由一個或更多個乘法器及加法器組成的電路或處理器。
為了方便理解本發明實施例的操作流程,以下將舉諸多實施例詳細說明本發明實施例中針對硬體架構100的運作流程。下文中,將搭配硬體架構100中的各項元件或電路說明本發明實施例所述之方法。本方法的各個流程可依照實施情形而隨之調整,且並不僅限於此。
圖3是依據本發明一實施例用於神經網路中該激勵函數的處理方法的示意圖。請參照圖3,參數決定電路130取得激勵函數的一個輸入值,並將此輸入值中部分位元值作為索引來查詢對照表以決定用來逼近激勵函數的線性函數(步驟S310)。具體而言,激勵函數常用的tanh、sigmoid等非線性函數在電路實現上有複雜度高的問題。而為了簡化複雜度,本發明實施例是採用分段線性函數來逼近激勵函數。
圖4是依據本發明一實施例說明分段線性函數逼近激勵函數。請參照圖4,激勵函數以tanh函數為例(即,
Figure 02_image005
,其中x 為輸入值,f ( )為函數)。假設各輸入值域的範圍大小為1,例如,0~1是一個輸入值域,1~2是另一個輸入值域,其餘依此類推。tanh函數可被分段線性函數f 1(x )所逼近:
Figure 02_image007
…(1) 其中,x 0 ~x 3 是各輸入值域的起始值或終止值,x 0 為0,x 1 為1,x 2 為2,且x 3 為3。此外,w 0 ~w 2 分別是各段/各輸入值域的線性函數的斜率,b 0 ~b 2 分別是各段輸入值域的線性函數的偏差(或稱y截距(intercept),即此函數的圖形與y軸(圖4中的縱軸)相交的y-坐標)。此分段線性函數f 1(x )在各輸入值域的起始值及終止值與激勵函數f (x )相交。也就是說,各輸入值域的起始值或終止值代入其所屬線性函數所得之結果與代入激勵函數所得之結果相同。而各斜率之值即為此輸入值域的起始值與終止值代入激勵函數f (x )或所屬線性函數f 1(x )所得結果之差值除以起始值與終止值之差值:
Figure 02_image009
…(2) 其中,i 為0、1、或2。此外,各偏差之值是輸入值域的起始值代入激勵函數f(x )或所屬線性函數f 1(x )所得結果與之差值:
Figure 02_image011
…(3) 另值得注意的是,輸入值域的起始值與相鄰輸入值域的終止值相同。此處相鄰之意也可以代表最接近。
值得注意的是,現有技術實現分段線性函數的電路設計,需要透過數個比較器來依序比對輸入值屬於那些輸入值域中的何者。隨著輸入值域的增加,越多段線性函數逼近激勵函數將得到越高的精確度。然而,比較器的數量也需要對應增加,從而增加硬體架構的複雜度。此外,為了避免精確度損失,通常會使用較多位元數的乘加器,同樣也會增加硬體成本,甚至影響運算效率並增加功耗。雖然減少輸入值域或使用低位元數的乘加器可改善前述問題,但卻會造成精確度的損失。由此可知,如何在高精確度及低複雜度的兩目標之間取得平衡是相關領域努力的主題之一。
本發明實施例提出新的線性函數分段方式,其限制各輸入值域的起始值與終止值之差值為二的冪次。例如,起始值為0,終止值為0.5,則兩者之差值為2^-1;起始值為1,終止值為3,則兩者之差值為2^1。當以二進位制來表示輸入值時,只用使用輸入值中的一個或更多個位元值作為索引(index),且無須對任何輸入值域進行比較,即可判斷輸入值所在的線性函數。
此外,本發明實施例所提供的對照表是數個輸入值域與數個線性函數的對應關係。其中,某一輸入值域對應到特定線性函數。例如,輸入值域為
Figure 02_image013
,且其對應到
Figure 02_image015
。即,分段線性函數中某一段的線性函數。值得注意的是,前述索引即可對應到輸入值域的起始值。由於輸入值域的範圍大小(即,起始值與終止值之差值)有二的冪次的限制,且輸入值是二進位制,因此自輸入值的位元值中可直接得出輸入值所屬的輸入值域。此外索引亦是用以存取對照表中線性函數的斜率和偏差。
在一實施例中,索引包括輸入值中的前N個位元值,且此N為大於等於1的正整數並對應至某一線性函數的輸入值域的起始值。以圖4為例,各輸入值域的範圍大小皆為2^0,用輸入值在小數點前的位元值即可作為索引。例如,輸入值為0010.10102 ,則取小數點前兩位或更多位的位元值可得出102 (即,十進位的2),且對應到圖4中
Figure 02_image017
的輸入值域。也就是說,參數決定電路130僅需要查詢對照表,並判斷索引相同於那些輸入值域中何者的起始值,即可進一步確定輸入值的所屬輸入值域,且確定輸入值所屬的線性函數。由此可知,本發明實施例可透過簡易且快速的查表方式即可得出輸入值的所屬輸入值域,無需透過數個比較器來依序比對數個輸入值域。
需說明的是,前述“前N個”的“前”是指二進位制輸入值中N個最高位的位元值。此外,依據不同輸入值域的設計變化,於其他實施例中,參數決定電路130可能是自輸入值中挑選特定位的位元值。例如,輸入值域為
Figure 02_image019
Figure 02_image021
、及
Figure 02_image023
,則參數決定電路130自輸入值中挑選小數點前第1位和小數點後第1及2位。
輸入值域還能有其他變化。圖5是依據本發明另一實施例說明分段線性函數的示意圖。請參照圖5,激勵函數以tanh函數為例,並以五段線性函數f2(x )來逼近:
Figure 02_image025
…(4) 其中,各輸入值域中起始值與終止值之差值分別是2^-1、2^-1、2^-1、2^-1、及2^0(即,皆為二的冪次)。v 0 ~v 4 分別是各段輸入值域的線性函數的斜率,c 0 ~c 4 分別是各段輸入值域的線性函數的偏差。此分段線性函數f 2(x )在各輸入值域的起始值及終止值與激勵函數f (x )相交。
於本實施例中,輸入值中的前N個位元值可作為索引。舉例而言,若輸入值0001.1010_1100_00112 ,則取前五位的位元值可得出0001.12 (即,十進位的1.5),即對應到圖5中
Figure 02_image027
的輸入值域,並得出對應線性函數為
Figure 02_image029
。又例如,若輸入值0010.1010_1100_00112 ,則取前四位的位元值可得出00102 (即,十進位的2),即對應到圖5中
Figure 02_image031
的輸入值域,並得出對應線性函數為
Figure 02_image033
接著,乘加器150將輸入值的部分位元值依據決定的線性函數進行運算以得出激勵函數的輸出值(步驟S330)。具體而言,步驟S310可確定線性函數及其中的權重及偏差。參數決定電路130可將輸入值、權重、及偏差輸入至乘加器150,且乘加器150將計算輸入值與權重的乘積,且將此乘積與偏差之和作為輸出值。對照圖1的基本運算架構,若乘加器150僅能處理單一輸入及單一輸出,則本發明實施例硬體架構100可實現單一激勵函數運算。此外,若在硬體架構100中設置更多乘加器150(僅能處理單一輸入及單一輸出)或設置可同時處理多輸入及多輸出的乘加器150,將可實現某一神經網路的所有激勵函數運算。
值得注意的是,為了避免以逼近函數方式的輸出結果造成精確度過低的情況,現有技術會採用高位元數的乘加器,但卻會增加硬體成本。在本發明一實施例中,參數決定電路130將輸入值減去索引對應的輸入值域的起始值的結果作為新輸入值,且乘加器150將新輸入值依據決定的線性函數進行運算。具體而言,以圖4的線性函數
Figure 02_image035
為例:
Figure 02_image037
…(5) 也就是說,輸入值與所屬輸入值域的起始值之差值可作為新輸入值,且偏差是將所屬輸入值域的起始值經該段線性函數
Figure 02_image039
或激勵函數
Figure 02_image041
運算所得之輸出值(此值可先記錄在對照表中)。藉此,將能減少乘加器150的位元數。
在一實施例中,由於參數決定電路130僅需要將輸入值與所屬輸入值域的起始值之差值作為新輸入值,若輸入值域的起始值相關於輸入值中前幾個位元值,則參數決定電路130可將輸入值中前N個的位元值當作索引,N為大於等於1的正整數,該索引對應一該輸入值域的起始值,後M個位元值作為新輸入值。M與N的總和是輸入值的總位元數。由此可知,乘加器150無須採用與輸入值的總位元數相等的乘加器,且本發明實施例的硬體架構100可採用比總位元數更少位元數的乘加器。
以圖5為例,假設輸入值有16位元,現有技術可能會採用16位元的乘法器/乘加器,但本發明實施例僅需採用12位元的乘法器/乘加器。例如,若輸入值0001.1010_1100_00112 ,則取前5位的位元值(即,0001.12 )作為索引,可得出線性函數為
Figure 02_image043
Figure 02_image045
之值為0.0010_1100_00112 。參數決定電路130可將輸入值中後11個(M等於11)位元值作為新輸入值。又例如,若輸入值0010.1010_1100_00112 ,則取前4位的位元值(即,00102 )作為索引,可得出線性函數為
Figure 02_image047
Figure 02_image049
之值為0.1010_1100_00112 。參數決定電路130可將輸入值中後12個(M等於12)位元值作為新輸入值。
需說明的是,依據不同設計需求,用來逼近激勵函數的那些線性函數的數量相關於輸出值與輸入值經激勵函數運算的輸出值比較的錯誤率。為了降低錯誤率(即,提升逼近的精準度),增加輸入值域數量(對應到線性函數的數量)是某一種手段,但卻會提升複雜度。為了在精準度(或錯誤率)與複雜度之間取得平衡,輸入值域的數量是相當重要的關鍵,甚至影響乘法器所需位元數。
此外,激勵函數tanh與sigmod之間具有互相轉換的特性(
Figure 02_image051
…(6)),參數決定電路130亦可利用逼近tanh的分段線性函數來求得sigmod函數的輸出值。
以圖5為例,若輸入值0101.0101_1000_01102
Figure 02_image053
為0010.10101_1000_0112 則取前四位的位元值(即,00102 )作為索引,可得出線性函數為
Figure 02_image055
Figure 02_image057
之值為0.1010_1100_00112 。參數決定電路130可將輸入值中後12個(M等於12)位元值作為新輸入值。接著,乘加器150可得到
Figure 02_image059
,並利用方程式(6)即可求得sigmod(x )函數的輸出值。
需說明的是,前述實施例中分段線性函數
Figure 02_image061
Figure 02_image063
所用的輸入值域、及線性函數的內容僅是作為範例說明,於其他實施例中,其內容可能會有變化,且本發明實施例不以此為限。
綜上所述,本發明實施例用於神經網路中激勵函數的硬體架構及其處理方法,對逼近激勵函數的分段線性函數的輸入值域限制,使輸入值域的範圍大小與輸入值的二進位制相關(本發明實施例是將範圍大小限制在二的冪次)。藉此,不需要進行多段值域的比較,僅需要直接將輸入值的位元值作為索引即可得出對應線性函數。此外,本發明實施例改變各段線性函數的偏差,並重新定義線性函數的輸入值,從而減少乘加器的位元數,進而達到低成本低功耗的目的。
雖然本發明已以實施例揭露如上,然其並非用以限定本發明,任何所屬技術領域中具有通常知識者,在不脫離本發明的精神和範圍內,當可作些許的更動與潤飾,故本發明的保護範圍當視後附的申請專利範圍所界定者為準。
100:硬體架構 110:存儲裝置 130:參數決定電路 150:乘加器 S310~S330:步驟 N0~N63:神經元 A0~A31:神經元輸入 X0~X63:激勵函數輸入 Z0~Z63:神經元輸出 W0,0~W63,31:權重 B0~B63b 0~b 2c 0~c 4:偏差x 0~x 3:輸入值域的起始值或終止值w 0~w 2v 0~v 4:斜率
圖1是一示意圖說明神經網路的基礎運算。 圖2是依據本發明一實施例用於神經網路中激勵函數的硬體架構的示意圖。 圖3是依據本發明一實施例用於激勵函數的處理方法的示意圖。 圖4是依據本發明一實施例說明分段線性函數逼近激勵函數。 圖5是依據本發明另一實施例說明分段線性函數的示意圖。
S310~S330:步驟

Claims (10)

  1. 一種用於神經網路中激勵函數的硬體架構,包括: 一存儲裝置,記錄一對照表,其中該對照表是多個輸入值域與多個線性函數的對應關係,其中該對照表存放該些線性函數的斜率和偏差(bias),每一該線性函數的輸入值域的起始值與終止值之差值為二的冪次,且該些線性函數組成一分段線性函數以逼近用於神經網路的一激勵函數(activation function); 一參數決定電路,耦接該存儲裝置,並將該激勵函數的一輸入值中至少一位元值作為一索引(index)來查詢該對照表以決定對應的該線性函數,其中該索引為一該輸入值域的起始值;以及 一乘加器,耦接該參數決定電路,並將該輸入值依據決定的該線性函數進行運算以得出一輸出值。
  2. 如申請專利範圍第1項所述用於神經網路中激勵函數的硬體架構,其中該乘加器的位元數相關於該輸入值的位元數和該些線性函數的數量,且用來逼近該激勵函數的該些線性函數的該數量相關於該輸出值與該輸入值經該激勵函數運算的輸出值比較的錯誤率,該索引包括該輸入值中的前N個位元值,且N為大於等於1的正整數並相關於該些輸入值域的起始值。
  3. 如申請專利範圍第1項所述用於神經網路中激勵函數的硬體架構,其中該參數決定電路將該輸入值減去該索引對應一該輸入值域的起始值的結果作為一新輸入值,且該乘加器將該新輸入值依據決定的該線性函數進行運算。
  4. 如申請專利範圍第3項所述用於神經網路中激勵函數的硬體架構,其中該參數決定電路將輸入值中前N個的位元值當作索引,N為大於等於1的正整數,該索引對應一該輸入值域的起始值,後M個位元值作為新輸入值。M與N的總和是輸入值的總位元數。
  5. 如申請專利範圍第1項所述用於神經網路中激勵函數的硬體架構,其中該存儲裝置中的該對照表所存放的該線性函數的偏差為該輸入值域的起始值經該激勵函數運算所得的值。
  6. 一種用於神經網路中激勵函數的處理方法,包括: 提供一對照表,其中該對照表是多個輸入值域與多個線性函數的對應關係,該對照表中存放該些線性函數的斜率和偏差,每一該線性函數的輸入值域的起始值與終止值之差值為二的冪次,且該些線性函數組成一分段線性函數以逼近用於神經網路的一激勵函數; 將該激勵函數的一輸入值中至少一位元值作為一索引來查詢該對照表以決定對應的該線性函數,其中該索引為一該輸入值域的起始值;以及 將該輸入值依據決定的該線性函數進行運算以得出一輸出值。
  7. 如申請專利範圍第6項所述用於神經網路中激勵函數的處理方法,其中用來逼近該激勵函數的該些線性函數的數量相關於該輸出值與該輸入值經該激勵函數運算的輸出值比較的錯誤率,該索引包括該輸入值中的前N個位元值,且N為大於等於1的正整數並相關於該些輸入值域的起始值。
  8. 如申請專利範圍第6項所述用於神經網路中激勵函數的處理方法,其中將該輸入值依據決定的該線性函數進行運算以得出該輸出值的步驟包括: 將該輸入值減去該索引對應一該輸入值域的起始值的結果作為一新輸入值;以及將該新輸入值依據決定的該線性函數進行運算。
  9. 如申請專利範圍第8項所述用於神經網路中激勵函數的處理方法,其中將該輸入值減去該索引對應一該輸入值域的起始值作為該新輸入值的步驟包括: 將該輸入值中前N個的位元值當作索引,N為大於等於1的正整數,該索引對應一該輸入值域的起始值,後M個位元值作為新輸入值。M與N的總和是輸入值的總位元數。
  10. 如申請專利範圍第6項所述用於神經網路中激勵函數的處理方法,其中查詢該對照表以決定對應的該線性函數的步驟包括: 將該索引對應至一該線性函數的輸入值域的起始值,其中該索引用以存取該對照表中該線性函數的斜率和偏差,且該偏差為該輸入值域的起始值經該激勵函數運算所得的值。
TW108121308A 2019-06-19 2019-06-19 用於神經網路中激勵函數的電路系統及其處理方法 TWI701612B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
TW108121308A TWI701612B (zh) 2019-06-19 2019-06-19 用於神經網路中激勵函數的電路系統及其處理方法
US16/558,314 US20200401873A1 (en) 2019-06-19 2019-09-03 Hardware architecture and processing method for neural network activation function

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW108121308A TWI701612B (zh) 2019-06-19 2019-06-19 用於神經網路中激勵函數的電路系統及其處理方法

Publications (2)

Publication Number Publication Date
TWI701612B TWI701612B (zh) 2020-08-11
TW202101302A true TW202101302A (zh) 2021-01-01

Family

ID=73003040

Family Applications (1)

Application Number Title Priority Date Filing Date
TW108121308A TWI701612B (zh) 2019-06-19 2019-06-19 用於神經網路中激勵函數的電路系統及其處理方法

Country Status (2)

Country Link
US (1) US20200401873A1 (zh)
TW (1) TWI701612B (zh)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11468147B1 (en) * 2019-07-22 2022-10-11 Habana Labs Ltd. Activation function approximation in deep neural networks using rectified-linear-unit function
TWI698759B (zh) * 2019-08-30 2020-07-11 創鑫智慧股份有限公司 曲線函數裝置及其操作方法
CN112749803B (zh) * 2021-03-05 2023-05-30 成都启英泰伦科技有限公司 一种神经网络的激活函数计算量化方法
CN113065648B (zh) * 2021-04-20 2024-02-09 西安交通大学 一种低硬件开销的分段线性函数的硬件实现方法
CN113379031B (zh) * 2021-06-01 2023-03-17 北京百度网讯科技有限公司 神经网络的处理方法、装置、电子设备和存储介质
US11269632B1 (en) 2021-06-17 2022-03-08 International Business Machines Corporation Data conversion to/from selected data type with implied rounding mode
US11734013B2 (en) 2021-06-17 2023-08-22 International Business Machines Corporation Exception summary for invalid values detected during instruction execution
US11797270B2 (en) 2021-06-17 2023-10-24 International Business Machines Corporation Single function to perform multiple operations with distinct operation parameter validation
US11669331B2 (en) 2021-06-17 2023-06-06 International Business Machines Corporation Neural network processing assist instruction
US11693692B2 (en) 2021-06-17 2023-07-04 International Business Machines Corporation Program event recording storage alteration processing for a neural network accelerator instruction
US11675592B2 (en) 2021-06-17 2023-06-13 International Business Machines Corporation Instruction to query for model-dependent information
CN117391164B (zh) * 2023-10-26 2024-05-03 上海闪易半导体有限公司 兼容线性和非线性激活函数的数字电路、相关设备及方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9798751B2 (en) * 2013-10-16 2017-10-24 University Of Tennessee Research Foundation Method and apparatus for constructing a neuroscience-inspired artificial neural network
CN106650922B (zh) * 2016-09-29 2019-05-03 清华大学 硬件神经网络转换方法、计算装置、软硬件协作系统
US10726514B2 (en) * 2017-04-28 2020-07-28 Intel Corporation Compute optimizations for low precision machine learning operations
WO2019046521A1 (en) * 2017-08-31 2019-03-07 Butterfly Network, Inc. METHODS AND DEVICE FOR COLLECTING ULTRASONIC DATA
CN108921288A (zh) * 2018-05-04 2018-11-30 中国科学院计算技术研究所 神经网络激活处理装置和基于该装置的神经网络处理器
US11775805B2 (en) * 2018-06-29 2023-10-03 Intel Coroporation Deep neural network architecture using piecewise linear approximation

Also Published As

Publication number Publication date
US20200401873A1 (en) 2020-12-24
TWI701612B (zh) 2020-08-11

Similar Documents

Publication Publication Date Title
TWI701612B (zh) 用於神經網路中激勵函數的電路系統及其處理方法
Wang et al. A high-speed and low-complexity architecture for softmax function in deep learning
Ansari et al. An improved logarithmic multiplier for energy-efficient neural computing
Zendegani et al. RoBA multiplier: A rounding-based approximate multiplier for high-speed yet energy-efficient digital signal processing
Du et al. Efficient softmax hardware architecture for deep neural networks
WO2017124645A1 (zh) 一种浮点数处理装置
CN109542393A (zh) 一种近似4-2压缩器及近似乘法器
CN110888623B (zh) 数据转换方法、乘法器、加法器、终端设备及存储介质
Parhami Efficient hamming weight comparators for binary vectors based on accumulative and up/down parallel counters
Venkatachalam et al. Approximate sum-of-products designs based on distributed arithmetic
Qin et al. A novel approximation methodology and its efficient vlsi implementation for the sigmoid function
CN110337636A (zh) 数据转换方法和装置
Xiao et al. Fast and high-accuracy approximate MAC unit design for CNN computing
Trinh et al. Efficient data encoding for convolutional neural network application
CN106682258A (zh) 一种高层次综合工具中的多操作数加法优化方法及系统
CN111258633B (zh) 乘法器、数据处理方法、芯片及电子设备
Parhami Truncated ternary multipliers
Naresh et al. Design of 8-bit dadda multiplier using gate level approximate 4: 2 compressor
Yang et al. A low-power approximate multiply-add unit
Chen et al. High-accurate stochastic computing for artificial neural network by using extended stochastic logic
Jo et al. Bit-serial multiplier based neural processing element with approximate adder tree
TWI749552B (zh) 內積計算裝置
CN111258542B (zh) 乘法器、数据处理方法、芯片及电子设备
Bokade et al. CLA based 32-bit signed pipelined multiplier
Wang et al. A multiplier structure based on a novel real-time CSD recoding