TWI701612B - 用於神經網路中激勵函數的電路系統及其處理方法 - Google Patents
用於神經網路中激勵函數的電路系統及其處理方法 Download PDFInfo
- Publication number
- TWI701612B TWI701612B TW108121308A TW108121308A TWI701612B TW I701612 B TWI701612 B TW I701612B TW 108121308 A TW108121308 A TW 108121308A TW 108121308 A TW108121308 A TW 108121308A TW I701612 B TWI701612 B TW I701612B
- Authority
- TW
- Taiwan
- Prior art keywords
- value
- input value
- function
- input
- range
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/06—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
- G06N3/063—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/048—Activation 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函數為(e x -e -x )/(e x +e -x ),sigmod函數為1/(1+e -x ),其中x為輸入值。值得注意的是,非線性函數在電路實現上通常會造成極高的複雜度(尤其除法運算需要更多硬體或軟體資源),進而影響整體功耗及處理效率。由此可知,有效解決前述實現激勵函數所引發問題,是相關領域努力的目標之一。
有鑑於此,本發明提供一種用於神經網路中激勵函數的電路系統及其處理方法,採用分段線性函數(piecewise linear function)來逼近激勵函數以簡化計算,對其輸入值域限制,並改變各段線性函數的偏差,即可在精確度及複雜度上取得較好的平衡。
本發明實施例用於神經網路中激勵函數的電路系統,其包括但不僅限於存儲裝置、參數決定電路及乘加器。存儲裝置用以記錄對照表。此對照表是數個輸入值域與數個線性函數的對應關係,對照表中存放數個線性函數的斜率和偏差(bias),各輸入值域的起始值與終止值之差值為二的冪次,且這些線性函數組成一個分段線性函數以逼近用於神經網路的激勵函數。參數決定電路耦
接存儲裝置,並將激勵函數的輸入值中至少一個位元值作為索引(index)來查詢對照表以決定對應的線性函數。此索引為一個輸入值域的起始值。乘加器耦接參數決定電路,並將輸入值的一部分依據決定的線性函數進行運算以得出輸出值。
另一方面,本發明實施例用於神經網路中激勵函數的處理方法,其包括但不僅限於下列步驟:提供對照表。此對照表是數個輸入值域與數個線性函數的對應關係,對照表中存放那些線性函數的斜率和偏差,各線性函數的輸入值域的起始值與終止值之差值為二的冪次,且這些線性函數組成一個分段線性函數以逼近用於神經網路的激勵函數。將激勵函數的輸入值中至少一個位元值作為索引來查詢對照表以決定對應的線性函數。此索引為一個輸入值域的起始值。將輸入值依據決定的線性函數進行運算以得出輸出值。
基於上述,本發明實施例用於神經網路中激勵函數的的電路系統及其處理方法,利用分段線性函數來逼近激勵函數,限制各段值域的長度,並改變各線性函數的偏差。藉此,無須多段值域比較,即可省略大量比較器,進而提升硬體的運算效率。此外,透過修改線性函數的偏差以減少乘加器的位元數,並達到低成本及低功耗的目的。
為讓本發明的上述特徵和優點能更明顯易懂,下文特舉實施例,並配合所附圖式作詳細說明如下。
100:電路系統
110:存儲裝置
130:參數決定電路
150:乘加器
S310~S330:步驟
N0~N63:神經元
A0~A31:神經元輸入
X0~X63:激勵函數輸入
Z0~Z63:神經元輸出
W0,0~W63,31:權重
B0~B63、b 0~b 2、c 0~c 4:偏差
x 0~x 3:輸入值域的起始值或終止值
w 0~w 2、v 0~v 4:斜率
圖1是一示意圖說明神經網路的基礎運算。
圖2是依據本發明一實施例用於神經網路中激勵函數的電路系統的示意圖。
圖3是依據本發明一實施例用於激勵函數的處理方法的示意圖。
圖4是依據本發明一實施例說明分段線性函數逼近激勵函數。
圖5是依據本發明另一實施例說明分段線性函數的示意圖。
圖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函數為例(即,f(x)=tanh(x),其中x為輸入值,f( )為函數)。假設各輸入值域的範圍大小為1,例如,0~1是一個輸入值域,1~2是另一個輸入值域,其餘依此類推。tanh函數可被分段線性函數f1(x)所逼近:
其中,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-坐標)。此分段線性函數f1(x)在各輸入值域的起始值及終止值與激勵函數f(x)相交。也就是說,各輸入值域的起始值或終止值代入其所屬線性函數所得之結果與代入激勵函數所得之結果相同。而各斜率之值即為此輸入值域的起始值與終止值代入激勵函數f(x)或所屬線性函數f1(x)所得結果之差值除以起始值與終止值之差值:wi=(f(x i+1)-f(x i ))/(x i+1-x i )...(2)其中,i為0、1、或2。此外,各偏差之值是輸入值域的起始值代入激勵函數f(x)或所屬線性函數f1(x)所得結果與之差值:
b i =f(x i )-w i * x i ...(3)另值得注意的是,輸入值域的起始值與相鄰輸入值域的終止值相同。此處相鄰之意也可以代表最接近。
值得注意的是,現有技術實現分段線性函數的電路設計,需要透過數個比較器來依序比對輸入值屬於那些輸入值域中的何者。隨著輸入值域的增加,越多段線性函數逼近激勵函數將得到越高的精確度。然而,比較器的數量也需要對應增加,從而增加硬體架構的複雜度。此外,為了避免精確度損失,通常會使用較多位元數的乘加器,同樣也會增加硬體成本,甚至影響運算效率並增加功耗。雖然減少輸入值域或使用低位元數的乘加器可改善前述問題,但卻會造成精確度的損失。由此可知,如何在高精確度及低複雜度的兩目標之間取得平衡是相關領域努力的主題之一。
本發明實施例提出新的線性函數分段方式,其限制各輸入值域的起始值與終止值之差值為二的冪次。例如,起始值為0,終止值為0.5,則兩者之差值為2^-1;起始值為1,終止值為3,則兩者之差值為2^1。當以二進位制來表示輸入值時,只用使用輸入值中的一個或更多個位元值作為索引(index),且無須對任何輸入值域進行比較,即可判斷輸入值所在的線性函數。
此外,本發明實施例所提供的對照表是數個輸入值域與數個線性函數的對應關係。其中,某一輸入值域對應到特定線性函數。例如,輸入值域為0 x<1,且其對應到w 0 * x+b 0。即,分段線性函數中某一段的線性函數。值得注意的是,前述索引即可對應
到輸入值域的起始值。由於輸入值域的範圍大小(即,起始值與終止值之差值)有二的冪次的限制,且輸入值是二進位制,因此自輸入值的位元值中可直接得出輸入值所屬的輸入值域。此外索引亦是用以存取對照表中線性函數的斜率和偏差。
在一實施例中,索引包括輸入值中的前N個位元值,且此N為大於等於1的正整數並對應至某一線性函數的輸入值域的起始值。以圖4為例,各輸入值域的範圍大小皆為2^0,用輸入值在小數點前的位元值即可作為索引。例如,輸入值為0010.10102,則取小數點前兩位或更多位的位元值可得出102(即,十進位的2),且對應到圖4中x 2 x<x 3的輸入值域。也就是說,參數決定電路130僅需要查詢對照表,並判斷索引相同於那些輸入值域中何者的起始值,即可進一步確定輸入值的所屬輸入值域,且確定輸入值所屬的線性函數。由此可知,本發明實施例可透過簡易且快速的查表方式即可得出輸入值的所屬輸入值域,無需透過數個比較器來依序比對數個輸入值域。
需說明的是,前述“前N個”的“前”是指二進位制輸入值中N個最高位的位元值。此外,依據不同輸入值域的設計變化,於其他實施例中,參數決定電路130可能是自輸入值中挑選特定位的位元值。例如,輸入值域為0 x<0.25、0.25 x<0.75、及0.75 x<2.75,則參數決定電路130自輸入值中挑選小數點前第1位和小數點後第1及2位。
輸入值域還能有其他變化。圖5是依據本發明另一實施
例說明分段線性函數的示意圖。請參照圖5,激勵函數以tanh函數為例,並以五段線性函數f2(x)來逼近:
其中,各輸入值域中起始值與終止值之差值分別是2^-1、2^-1、2^-1、2^-1、及2^0(即,皆為二的冪次)。v 0~v 4分別是各段輸入值域的線性函數的斜率,c 0~c 4分別是各段輸入值域的線性函數的偏差。此分段線性函數f2(x)在各輸入值域的起始值及終止值與激勵函數f(x)相交。
於本實施例中,輸入值中的前N個位元值可作為索引。舉例而言,若輸入值0001.1010_1100_00112,則取前五位的位元值可得出0001.12(即,十進位的1.5),即對應到圖5中1.5 x<2的輸入值域,並得出對應線性函數為v 3 * x+c 3。又例如,若輸入值0010.1010_1100_00112,則取前四位的位元值可得出00102(即,十進位的2),即對應到圖5中2 x<3的輸入值域,並得出對應線性函數為v 4 * x+c 4。
接著,乘加器150將輸入值的部分位元值依據決定的線性函數進行運算以得出激勵函數的輸出值(步驟S330)。具體而言,步驟S310可確定線性函數及其中的權重及偏差。參數決定電路130可將輸入值、權重、及偏差輸入至乘加器150,且乘加器150
將計算輸入值與權重的乘積,且將此乘積與偏差之和作為輸出值。對照圖1的基本運算架構,若乘加器150僅能處理單一輸入及單一輸出,則本發明實施例電路系統100可實現單一激勵函數運算。此外,若在電路系統100中設置更多乘加器150(僅能處理單一輸入及單一輸出)或設置可同時處理多輸入及多輸出的乘加器150,將可實現某一神經網路的所有激勵函數運算。
值得注意的是,為了避免以逼近函數方式的輸出結果造成精確度過低的情況,現有技術會採用高位元數的乘加器,但卻會增加硬體成本。在本發明一實施例中,參數決定電路130將輸入值減去索引對應的輸入值域的起始值的結果作為新輸入值,且乘加器150將新輸入值依據決定的線性函數進行運算。具體而言,以圖4的線性函數f1(x)=w 1 * x+b 1為例:f1(x)=w 1 * x-w 1 * x 1+w 1 * x 1+b 1=w 1 *(x-x 1)+(w 1 * x 1+b 1)=w 1 *(x-x 1)+f1(x 1)...(5)也就是說,輸入值與所屬輸入值域的起始值之差值可作為新輸入值,且偏差是將所屬輸入值域的起始值經該段線性函數f1( )或激勵函數f( )運算所得之輸出值(此值可先記錄在對照表中)。藉此,將能減少乘加器150的位元數。
在一實施例中,由於參數決定電路130僅需要將輸入值與所屬輸入值域的起始值之差值作為新輸入值,若輸入值域的起始值相關於輸入值中前幾個位元值,則參數決定電路130可將輸入值中前N個的位元值當作索引,N為大於等於1的正整數,該
索引對應一該輸入值域的起始值,後M個位元值作為新輸入值。M與N的總和是輸入值的總位元數。由此可知,乘加器150無須採用與輸入值的總位元數相等的乘加器,且本發明實施例的電路系統100可採用比總位元數更少位元數的乘加器。
以圖5為例,假設輸入值有16位元,現有技術可能會採用16位元的乘法器/乘加器,但本發明實施例僅需採用12位元的乘法器/乘加器。例如,若輸入值0001.1010_1100_00112,則取前5位的位元值(即,0001.12)作為索引,可得出線性函數為f2(x)=v 3 *(x-1.5)+f2(1.5)。x-1.5之值為0.0010_1100_00112。參數決定電路130可將輸入值中後11個(M等於11)位元值作為新輸入值。又例如,若輸入值0010.1010_1100_00112,則取前4位的位元值(即,00102)作為索引,可得出線性函數為f2(x)=v 4 *(x-2)+f2(2)。x-2之值為0.1010_1100_00112。參數決定電路130可將輸入值中後12個(M等於12)位元值作為新輸入值。
需說明的是,依據不同設計需求,用來逼近激勵函數的那些線性函數的數量相關於輸出值與輸入值經激勵函數運算的輸出值比較的錯誤率。為了降低錯誤率(即,提升逼近的精準度),增加輸入值域數量(對應到線性函數的數量)是某一種手段,但卻會提升複雜度。為了在精準度(或錯誤率)與複雜度之間取得平衡,輸入值域的數量是相當重要的關鍵,甚至影響乘法器所需位元數。
此外,激勵函數tanh與sigmod之間具有互相轉換的特性(sigmod(x)=tanh( x /2)/2+0.5...(6)),參數決定電路130亦可利用
逼近tanh的分段線性函數來求得sigmod函數的輸出值。
以圖5為例,若輸入值0101.0101_1000_01102,x/2為0010.10101_1000_0112則取前四位的位元值(即,00102)作為索引,可得出線性函數為f2(x/2)=v 4 *(x/2-2)+f2(2)。x/2-2之值為0.1010_1100_00112。參數決定電路130可將輸入值中後12個(M等於12)位元值作為新輸入值。接著,乘加器150可得到tanh( x /2),並利用方程式(6)即可求得sigmod(x)函數的輸出值。
需說明的是,前述實施例中分段線性函數f1(x)及f2(x)所用的輸入值域、及線性函數的內容僅是作為範例說明,於其他實施例中,其內容可能會有變化,且本發明實施例不以此為限。
綜上所述,本發明實施例用於神經網路中激勵函數的電路系統及其處理方法,對逼近激勵函數的分段線性函數的輸入值域限制,使輸入值域的範圍大小與輸入值的二進位制相關(本發明實施例是將範圍大小限制在二的冪次)。藉此,不需要進行多段值域的比較,僅需要直接將輸入值的位元值作為索引即可得出對應線性函數。此外,本發明實施例改變各段線性函數的偏差,並重新定義線性函數的輸入值,從而減少乘加器的位元數,進而達到低成本低功耗的目的。
雖然本發明已以實施例揭露如上,然其並非用以限定本發明,任何所屬技術領域中具有通常知識者,在不脫離本發明的精神和範圍內,當可作些許的更動與潤飾,故本發明的保護範圍當視後附的申請專利範圍所界定者為準。
S310~S330:步驟
Claims (10)
- 一種用於神經網路中激勵函數的電路系統,包括:一存儲裝置,記錄一對照表,其中該對照表是多個輸入值域與多個線性函數的對應關係,其中該對照表存放該些線性函數的斜率和偏差(bias),每一該線性函數的輸入值域的起始值與終止值之差值為二的冪次,且該些線性函數組成一分段線性函數以逼近用於神經網路的一激勵函數(activation function);一參數決定電路,耦接該存儲裝置,並將該激勵函數的一輸入值中至少一位元值作為一索引(index)來查詢該對照表以決定對應的該線性函數,其中該索引為一該輸入值域的起始值;以及一乘加器,耦接該參數決定電路,並將該輸入值依據決定的該線性函數進行運算以得出一輸出值。
- 如申請專利範圍第1項所述用於神經網路中激勵函數的電路系統,其中該乘加器的位元數相關於該輸入值的位元數和該些線性函數的數量,且用來逼近該激勵函數的該些線性函數的該數量相關於該輸出值與該輸入值經該激勵函數運算的輸出值比較的錯誤率,該索引包括該輸入值中的前N個位元值,且N為大於等於1的正整數並相關於該些輸入值域的起始值。
- 如申請專利範圍第1項所述用於神經網路中激勵函數的電路系統,其中該參數決定電路將該輸入值減去該索引對應一該輸入值域的起始值的結果作為一新輸入值,且該乘加器將該新輸入值依據決定的該線性函數進行運算。
- 如申請專利範圍第3項所述用於神經網路中激勵函數的電路系統,其中該參數決定電路將輸入值中前N個的位元值當作索引,N為大於等於1的正整數,該索引對應一該輸入值域的起始值,後M個位元值作為新輸入值,M與N的總和是輸入值的總位元數。
- 如申請專利範圍第1項所述用於神經網路中激勵函數的電路系統,其中該存儲裝置中的該對照表所存放的該線性函數的偏差為該輸入值域的起始值經該激勵函數運算所得的值。
- 一種用於神經網路中激勵函數的處理方法,包括:提供一對照表,其中該對照表是多個輸入值域與多個線性函數的對應關係,該對照表中存放該些線性函數的斜率和偏差,每一該線性函數的輸入值域的起始值與終止值之差值為二的冪次,且該些線性函數組成一分段線性函數以逼近用於神經網路的一激勵函數;將該激勵函數的一輸入值中至少一位元值作為一索引來查詢該對照表以決定對應的該線性函數,其中該索引為一該輸入值域的起始值;以及將該輸入值依據決定的該線性函數進行運算以得出一輸出值。
- 如申請專利範圍第6項所述用於神經網路中激勵函數的處理方法,其中用來逼近該激勵函數的該些線性函數的數量相關於該輸出值與該輸入值經該激勵函數運算的輸出值比較的錯誤率,該索引包括該輸入值中的前N個位元值,且N為大於等於1的正整數並相關於該些輸入值域的起始值。
- 如申請專利範圍第6項所述用於神經網路中激勵函數的處理方法,其中將該輸入值依據決定的該線性函數進行運算以得出該輸出值的步驟包括:將該輸入值減去該索引對應一該輸入值域的起始值的結果作為一新輸入值;以及將該新輸入值依據決定的該線性函數進行運算。
- 如申請專利範圍第8項所述用於神經網路中激勵函數的處理方法,其中將該輸入值減去該索引對應一該輸入值域的起始值作為該新輸入值的步驟包括:將該輸入值中前N個的位元值當作索引,N為大於等於1的正整數,該索引對應一該輸入值域的起始值,後M個位元值作為新輸入值,M與N的總和是輸入值的總位元數。
- 如申請專利範圍第6項所述用於神經網路中激勵函數的處理方法,其中查詢該對照表以決定對應的該線性函數的步驟包括:將該索引對應至一該線性函數的輸入值域的起始值,其中該索引用以存取該對照表中該線性函數的斜率和偏差,且該偏差為該輸入值域的起始值經該激勵函數運算所得的值。
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 true TWI701612B (zh) | 2020-08-11 |
TW202101302A 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 (15)
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 | 北京百度网讯科技有限公司 | 神经网络的处理方法、装置、电子设备和存储介质 |
US11669331B2 (en) | 2021-06-17 | 2023-06-06 | International Business Machines Corporation | Neural network processing assist instruction |
US11269632B1 (en) | 2021-06-17 | 2022-03-08 | International Business Machines Corporation | Data conversion to/from selected data type with implied rounding mode |
US12079658B2 (en) | 2021-06-17 | 2024-09-03 | International Business Machines Corporation | Detection of invalid machine-specific data types during data conversion |
US11675592B2 (en) | 2021-06-17 | 2023-06-13 | International Business Machines Corporation | Instruction to query for model-dependent information |
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 |
US11693692B2 (en) | 2021-06-17 | 2023-07-04 | International Business Machines Corporation | Program event recording storage alteration processing for a neural network accelerator instruction |
CN113780540A (zh) * | 2021-08-27 | 2021-12-10 | 千芯半导体科技(北京)有限公司 | 可重构算子结构、计算方法和硬件架构 |
CN113837365A (zh) * | 2021-09-22 | 2021-12-24 | 中科亿海微电子科技(苏州)有限公司 | 实现sigmoid函数逼近的模型、FPGA电路及工作方法 |
CN117391164B (zh) * | 2023-10-26 | 2024-05-03 | 上海闪易半导体有限公司 | 兼容线性和非线性激活函数的数字电路、相关设备及方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106650922A (zh) * | 2016-09-29 | 2017-05-10 | 清华大学 | 硬件神经网络转换方法、计算装置、编译方法和神经网络软硬件协作系统 |
US10019470B2 (en) * | 2013-10-16 | 2018-07-10 | University Of Tennessee Research Foundation | Method and apparatus for constructing, using and reusing components and structures of an artifical neural network |
TW201842478A (zh) * | 2017-04-28 | 2018-12-01 | 美商英特爾股份有限公司 | 用於低精度機器學習操作之計算最佳化 |
TW201912114A (zh) * | 2017-08-31 | 2019-04-01 | 美商蝴蝶網路公司 | 用於收集超音波資料的方法和設備 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
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 |
-
2019
- 2019-06-19 TW TW108121308A patent/TWI701612B/zh active
- 2019-09-03 US US16/558,314 patent/US20200401873A1/en not_active Abandoned
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10019470B2 (en) * | 2013-10-16 | 2018-07-10 | University Of Tennessee Research Foundation | Method and apparatus for constructing, using and reusing components and structures of an artifical neural network |
CN106650922A (zh) * | 2016-09-29 | 2017-05-10 | 清华大学 | 硬件神经网络转换方法、计算装置、编译方法和神经网络软硬件协作系统 |
TW201842478A (zh) * | 2017-04-28 | 2018-12-01 | 美商英特爾股份有限公司 | 用於低精度機器學習操作之計算最佳化 |
TW201912114A (zh) * | 2017-08-31 | 2019-04-01 | 美商蝴蝶網路公司 | 用於收集超音波資料的方法和設備 |
Also Published As
Publication number | Publication date |
---|---|
TW202101302A (zh) | 2021-01-01 |
US20200401873A1 (en) | 2020-12-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI701612B (zh) | 用於神經網路中激勵函數的電路系統及其處理方法 | |
Ansari et al. | An improved logarithmic multiplier for energy-efficient neural computing | |
Wang et al. | A high-speed and low-complexity architecture for softmax function in deep learning | |
Carmichael et al. | Performance-efficiency trade-off of low-precision numerical formats in deep neural networks | |
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) | 一种浮点数处理装置 | |
GB2568083A (en) | Histogram-based per-layer data format selection for hardware implementation of deep neutral network | |
JPH07248841A (ja) | 非線形関数発生装置およびフォーマット変換装置 | |
Parhami | Efficient hamming weight comparators for binary vectors based on accumulative and up/down parallel counters | |
CN110888623B (zh) | 数据转换方法、乘法器、加法器、终端设备及存储介质 | |
Qin et al. | A novel approximation methodology and its efficient vlsi implementation for the sigmoid function | |
Venkatachalam et al. | Approximate sum-of-products designs based on distributed arithmetic | |
US20210097397A1 (en) | Information processing apparatus and information processing method | |
Nojehdeh et al. | Efficient hardware implementation of artificial neural networks using approximate multiply-accumulate blocks | |
Chen et al. | Approximate softmax functions for energy-efficient deep neural networks | |
CN110337636A (zh) | 数据转换方法和装置 | |
Naresh et al. | Design of 8-bit dadda multiplier using gate level approximate 4: 2 compressor | |
Zhan et al. | Field programmable gate array‐based all‐layer accelerator with quantization neural networks for sustainable cyber‐physical systems | |
Yang et al. | A low-power approximate multiply-add unit | |
Parhami | Truncated ternary multipliers | |
CN115526131A (zh) | 多级编码近似计算Tanh函数的方法及装置 | |
JP2020067897A (ja) | 演算処理装置、学習プログラム及び学習方法 | |
CN113407793A (zh) | 一种softmax函数的硬件实现方法、模块、芯片和系统 | |
Wisayataksin et al. | A Programmable Artificial Neural Network Coprocessor for Handwritten Digit Recognition |