TWI746084B - 多重函數計算器 - Google Patents

多重函數計算器 Download PDF

Info

Publication number
TWI746084B
TWI746084B TW109125060A TW109125060A TWI746084B TW I746084 B TWI746084 B TW I746084B TW 109125060 A TW109125060 A TW 109125060A TW 109125060 A TW109125060 A TW 109125060A TW I746084 B TWI746084 B TW I746084B
Authority
TW
Taiwan
Prior art keywords
function
activation
signal
calculator
activation function
Prior art date
Application number
TW109125060A
Other languages
English (en)
Other versions
TW202205157A (zh
Inventor
黃有榕
朱紹儀
李孟哲
鍾玟秀
Original Assignee
義守大學
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 義守大學 filed Critical 義守大學
Priority to TW109125060A priority Critical patent/TWI746084B/zh
Priority to US16/986,273 priority patent/US20220027713A1/en
Application granted granted Critical
Publication of TWI746084B publication Critical patent/TWI746084B/zh
Publication of TW202205157A publication Critical patent/TW202205157A/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)
  • Evolutionary Computation (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Artificial Intelligence (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Neurology (AREA)
  • Advance Control (AREA)

Abstract

一種適用於神經網路架構的多重函數計算器被提供。多重函數計算器包括多個激活函數運算電路以及解多工器。多個激活函數運算電路用以對輸入信號分別執行不同的多個激活函數。解多工器耦接多個激活函數運算電路。解多工器用以接收致能信號以及選擇信號。解多工器在致能狀態下依據選擇信號來選擇致能多個激活函數運算電路中的一個。被致能的激活函數運算電路對輸入信號執行對應的激活函數以產生對應的輸出信號。

Description

多重函數計算器
本發明是有關於一種多重函數計算器,且特別是有關於適用於神經網路架構的多重函數計算器。
深度學習(Deep learning)是機器學習(Machine learning)的分支,深度學習是一種以人工神經網路(Artificial Neural Network,ANN)為架構,對資料進行表徵學習的演算法。在深度學習以及神經網路的應用中,激活函數(Activation Function)扮演重要的角色。激活函數是一種純量轉純量的函數,用以計算神經元的激活值,目的在於把非線性特性引入到網路的模型化能力之中。激活函數被使用以將每一層的節點的輸出正向傳送到下一層,直至抵達輸出層為止。常用的激活函數包括S型(Sigmoid)函數、雙曲正切(tanh)函數、歸一化指數(softmax)函數以及整流線性單位(Rectified Linear Units,ReLU)函數。
神經網路的每一層可使用不同的激活函數。被預設要用來使用的激活函數可利用硬體描述語言(Hardware Description Languages,HDL)或其他合適的編程語言來實現為硬體,即激活函數運算電路。然而,激活函數在被實現為硬體後即具有固定性。也就是說,即便計算精度不佳,也無法再行採用其他類型的激活函數。此外,現有的激活函數運算電路對於不同的神經網路架構也缺乏通用性。
因此,需要針對激活函數運算電路缺乏靈活性及通用性的問題提出一種解決方案。
本發明提供一種具備靈活性及通用性的多重函數計算器。
本發明的多重函數計算器適用於神經網路架構。多重函數計算器包括多個激活函數運算電路以及解多工器。多個激活函數運算電路用以對輸入信號分別執行不同的多個激活函數。解多工器耦接多個激活函數運算電路。解多工器用以接收致能信號以及選擇信號。解多工器在致能狀態下依據選擇信號來選擇致能多個激活函數運算電路中的一個。被致能的激活函數運算電路對輸入信號執行對應的激活函數以產生對應的輸出信號。
本發明的多重函數計算器的操作方法適用於神經網路架構。前述操作方法包括:提供多重函數計算器,其中多重函數計算器包括多個激活函數運算電路以及解多工器,多個激活函數運算電路用以對輸入信號分別執行不同的多個激活函數;由解多工器接收致能信號以使解多工器處於致能狀態;由解多工器接收選擇信號,以使解多工器在致能狀態下依據選擇信號來選擇致能多個激活函數運算電路中的一個;以及由被致能的激活函數運算電路對輸入信號執行對應的激活函數以產生對應的輸出信號。
在本發明的一實施例中,上述多個激活函數中的每一個為線性函數或非線性函數。
在本發明的一實施例中,上述多個激活函數運算電路分別由多個有限狀態機控制電路所建構。
在本發明的一實施例中,上述多個激活函數以硬體描述語言來實現為多個激活函數運算電路。
在本發明的一實施例中,上述多個激活函數包括一S型函數、一雙曲正切函數、一歸一化指數函數以及一整流線性單位函數當中至少一個。
基於上述,本發明通過將多個激活函數實現在硬體上並搭配解多工器,可以使神經網路在運算時靈活地切換於多個激活函數運算電路之間。並且可以透過選擇信號來改變各層原先設定採用的激活函數。因此,本發明所建構的多重函數計算器具備靈活性以及通用性。
圖1A繪示為本發明的多重函數計算器的應用示意圖,其中多重函數計算器適用於神經網路架構。請見圖1A,多重函數計算器110耦接神經網路120中的多個節點(即神經元)121。舉例來說,神經網路120可以有五層,各層具有多個節點121。第一層與第五層分別做為輸入層與輸出層,第二層至第四層為隱藏層(Hidden Layer)。需說明的是,為了保持圖面簡潔,圖1A僅繪示多重函數計算器110與隱藏層中各層的一個節點121。事實上,多重函數計算器110耦接隱藏層中各層的所有節點121。多重函數計算器110用以針對隱藏層中的每個節點121提供相同或不同的激活功能。
圖1B繪示為隱藏層中單一節點的結構示意圖。請見圖1B,隱藏層中的各節點121的輸入信號將經過轉換函數(以數學運算子Σ來表示)以及激活函數A的計算以產生輸出信號。激活函數A的淨輸入為權重(weight)(記做W 0、W 1、W 2、…、W n)與輸入特徵(記做X 0、X 1、X 2、…、X n)的點積,並且激活函數A被應用於獲取輸出並將其作為輸入饋送到下一個層的一或多個節點。激活函數A可以是線性函數或非線性函數。位於同一層的節點121之間可以採用相同或不同激活函數A。在同一層節點121都採用相同的激活函數A的情況下,各層之間可採用相同或不同的激活函數A。
以硬體形式而言,上述激活函數可以實現於積體電路(integrated circuit)上的邏輯電路。激活函數的相關功能可以利用硬體描述語言(例如Verilog HDL或VHDL)或其他合適的編程語言來實現為硬體。舉例來說,激活函數的相關功能可由有限狀態機(Finite-state Machine,FSM)控制電路所建構,並被實現於一或多個控制器、微控制器、微處理器、特殊應用積體電路(Application-specific integrated circuit, ASIC)、數位訊號處理器(digital signal processor, DSP)、場可程式邏輯閘陣列(Field Programmable Gate Array, FPGA)及/或其他處理單元中的各種邏輯區塊、模組和電路。
圖2繪示為本發明的多重函數計算器的方塊示意圖。請見圖2,多重函數計算器200包括多個激活函數運算電路210(包括211~213)以及解多工器(Demultiplexer,DMUX))。多個激活函數運算電路210用以對輸入信號z分別執行不同的多個激活函數,其中輸入信號z為多個節點的激活函數的淨輸入的統稱。解多工器220耦接前述多個激活函數運算電路210,解多工器220可以接收致能信號EN以及SE選擇信號。解多工器220可以依據該致能信號EN處於致能狀態。在致能狀態下,解多工器220可依據選擇信號SE來選擇致能多個激活函數運算電路210中的一個。
舉例來說,使用者可預定三個層分別採用S型函數、雙曲正切函數以及整流線性單位函數進行運算。在信號傳送至第一層的多個節點時,解多工器220可在致能狀態下依據選擇信號SE選擇致能激活函數運算電路211,以產生輸出信號Sz。當信號傳送至第二層的多個節點時,解多工器220可在致能狀態下依據選擇信號SE選擇致能激活函數運算電路212,以產生輸出信號Tz。類似地,當信號傳送至第三層的多個節點時,解多工器220可在致能狀態下依據選擇信號SE選擇致能激活函數運算電路213,以產生輸出信號Rz。當一個激活函數運算電路被致能時,其餘的激活函數運算電路皆被禁能。
需說明的是,上面雖然僅列舉S型函數、雙曲正切函數以及整流線性單位函數,然而本發明不以此為限。在實際應用中,多個激活函數運算電路210所執行的多個激活函數可選自線性函數、S型函數、雙曲正切函數、硬雙曲正切(Hard tanh)函數、歸一化指數函數、整流線性單位函數、洩漏型整流線性單位(LeakyReLU)函數以及Softplus函數。
通過將多個激活函數實現在硬體上並搭配解多工器,可以使神經網路在運算時靈活地切換於多個激活函數運算電路之間。並且,在計算精度不佳的情況下,還可以透過選擇信號來改變各層原先設定採用的激活函數。因此,本發明所建構的多重函數計算器對於任意類型的神經網路架構皆具有通用性。下面將以圖3~5來說明通過利用座標旋轉數字計算機(Coordinate Rotation Digital Computer,CORDIC)技術和應用浮點格式(單精度IEEE754標準)來實現多種激活功能的細節。
圖3繪示為本發明的激活函數運算電路的架構流程示意圖。基於CORDIC旋轉模式在硬體中可快速地計算三角函數的特性,來設計出可執行S型函數的激活函數運算電路。請見圖3,激活函數運算電路300藉由有限狀態機(FSM)控制電路來達到S型函數的計算功能。
首先,接收輸入信號z與1/k'。輸入信號z為多個節點的激活函數的淨輸入的統稱,輸入信號1/k'為輸入信號z基於座標旋轉數字計算機演算法所得出的結果。信號Xn、Yn以及Zn依據輸入信號z與1/k'被產生。信號Xn被提供至移位器S1與浮點加法器FP_ADD1。移位器S1的輸出信號被提供至浮點加法器FP_ADD2。信號Yn被提供至移位器S2與浮點加法器FP_ADD2。浮點加法器FP_ADD1對信號Xn與移位器S2的輸出信號進行浮點加法運算,並產生輸出信號X_out以提供至浮點加法器FP_ADD4與暫存器R1。浮點加法器FP_ADD1的輸出信號X_out並通過暫存器R1返回有限狀態機控制電路。另外,信號Zn與依據查表指令由資料表T1出來的信號做為浮點加法器FP_ADD3的輸入並產生信號Z_out。信號Z_out又經由暫存器R3返回有限狀態機控制電路。
浮點加法器FP_ADD2對信號Yn與移位器S1的輸出信號進行運算,並產生輸出信號Y_out以提供至浮點加法器FP_ADD4與暫存器R2。浮點加法器FP_ADD2的輸出信號Y_out並通過暫存器R2返回有限狀態機控制電路。浮點加法器FP_ADD4對浮點加法器FP_ADD1與FP_ADD2的輸出信號進行浮點加法運算並產生輸出信號。將浮點加法器FP_ADD4的輸出信號取負後經過指數函數運算(記做e -Z)後提供至浮點加法器FP_ADD5。另外,1做為浮點加法器FP_ADD5的另一個輸入信號。浮點加法器FP_ADD5對經過e -Z運算後的信號以及1進行浮點加法運算以產生輸出信號。浮點除法器FP_DIV1對浮點加法器FP_ADD5的輸出信號與1進行浮點除法運算後產生輸出信號Sz。
圖4繪示為本發明的激活函數運算電路的架構流程示意圖。基於CORDIC旋轉模式在硬體中可快速地計算三角函數的特性,來設計出可執行雙曲正切函數的激活函數運算電路。請見圖4,激活函數運算電路400藉由有限狀態機控制電路來達到雙曲正切函數的計算功能。
首先,接收輸入信號z與1/k'。輸入信號z為多個節點的激活函數的淨輸入的統稱,輸入信號1/k'為輸入信號z基於座標旋轉數字計算機演算法所得出的結果。信號Xn、Yn以及Zn依據輸入信號z與1/k'被產生。信號Xn被提供至移位器S3與浮點加法器FP_ADD6。移位器S3的輸出信號被提供至浮點加法器FP_ADD7。信號Yn被提供至浮點加法器FP_ADD7以及移位器S4。移位器S4的輸出信號被提供至浮點加法器FP_ADD6。浮點加法器FP_ADD6對信號Xn與移位器S4的輸出信號進行浮點加法運算,並得到輸出信號X_out。浮點加法器FP_ADD7對移位器S3的輸出信號與信號Yn進行浮點加法運算以得到輸出信號Y_out。輸出信號X_out與Y_out分別通過暫存器R4與R5返回有限狀態機控制電路。另外,信號Zn與依據查表指令由資料表T2出來的信號做為浮點加法器FP_ADD8的輸入並產生輸出信號Z_out。輸出信號Z_out通過暫存器R6返回有限狀態機控制電路。浮點除法器FP_DIV2對輸出信號X_out與Y_out進行浮點除法運算,以得到輸出信號Tz。
圖5繪示為本發明的激活函數運算電路的架構流程示意圖。請見圖5,激活函數運算電路500藉由有限狀態機控制電路來達到歸一化指數函數的計算功能。
首先,接收輸入信號z與1/k'。輸入信號z為多個節點的激活函數的淨輸入的統稱,輸入信號1/k'為輸入信號z基於座標旋轉數字計算機演算法所得出的結果。信號Xn、Yn以及Zn依據輸入信號z與1/k'被產生。信號Xn被提供至移位器S5與浮點加法器FP_ADD9。移位器S5的輸出信號被提供至浮點加法器FP_ADD10。信號Yn被提供至浮點加法器FP_ADD10以及移位器S6。移位器S6的輸出信號被提供至浮點加法器FP_ADD9。浮點加法器FP_ADD9對信號Xn與移位器S6的輸出信號進行浮點加法運算,並得到輸出信號X_out。浮點加法器FP_ADD10對移位器S5的輸出信號與信號Yn進行浮點加法運算以得到輸出信號Y_out。輸出信號X_out與Y_out分別通過暫存器R7與R8返回有限狀態機控制電路。另外,信號Zn與依據查表指令由資料表T3出來的信號做為浮點加法器FP_ADD11的輸入並產生輸出信號Z_out。輸出信號Z_out通過暫存器R9返回有限狀態機控制電路。浮點加法器FP_ADD12對輸出信號X_out與Y_out進行浮點加法運算以得到輸出信號。
浮點加法器FP_ADD12的輸出信號經過指數函數(記做e Z)運算後產生信號Z1~Z3(其數量對應問題的分類)。信號Z1~Z3分別經過浮點指數計算器FP_EXP1~ FP_EXP3後產生三個輸出信號。浮點指數計算器FP_EXP1~ FP_EXP3的輸出信號分別經由暫存器R9~R12提供至浮點除法器FP_DIV3~FP_DIV5。浮點指數計算器FP_EXP1~ FP_EXP3的輸出信號並分別經由暫存器R9~R12提供至浮點加法器FP_ADD13。浮點加法器FP_ADD13對暫存器R9~R12的輸出信號進行浮點加法運算,並且其運算結果被提供至浮點除法器FP_DIV3~FP_DIV5。浮點除法器FP_DIV3對暫存器R10的輸出信號與浮點加法器FP_ADD13的輸出信號進行浮點除法運算,以得到輸出信號Mz1。浮點除法器FP_DIV4對暫存器R11的輸出信號與浮點加法器FP_ADD13的輸出信號進行浮點除法運算,以得到輸出信號Mz2。浮點除法器FP_DIV4對暫存器R12的輸出信號與浮點加法器FP_ADD13的輸出信號進行浮點除法運算,以得到輸出信號Mz3。輸出信號Mz1~ Mz3反映一概率。簡單來說,為了使輸出結果保持正數,而將輸出映射為0到1之間的實數,並且進行歸一化以保證總和為1。也就是說,概率之總和也剛好為1。
表(一)為在IEEE二進位浮點數算術標準(IEEE 754)的數值對照表。表(一)的第一列表示使用本發明技術所產生的運算結果。在第一列中,輸入是一個32位元的數值0x3FC90FDB。前述輸入經過本發明的多重函數計算器(選擇致能用以執行雙曲正切(Tanh)函數的激活函數運算電路)可得到輸出結果0x3F6ACA7F。前述輸入經過本發明的多重函數計算器(選擇致能用以執行S型(Sigmoid)函數的激活函數運算電路)可得到輸出結果0x3F53F10F。前述輸入經過本發明的多重函數計算器(選擇致能用以執行整流線性單位(ReLU)函數的激活函數運算電路)可得到輸出結果0x3FC90FDB。 表(一)
  輸入 Tanh Sigmoid ReLU
IEEE754 0x3fc90fdb 0x3f6aca7f 0x3f53f10f 0x3fc90fdb
Float 1.5707964 0.91715235 0.827897 1.5707964
軟體 1.5707964 0.91715234729 0.82789711 1.5707964
前述運算結果以浮點(Float)方式表示於第二列(row)。第三列則是使用軟體(例如Python)對相同輸入進行運算所產生的結果。由表(一)可以看出,第二列與第三列的數值相差無幾,足見本發明的高計算精度。
圖6繪示為本發明的多重函數計算器的操作方法的步驟流程圖,其中多重函數計算器的操作方法適用於神經網路架構。請同時參見圖2與圖6,前述操作方法包括:提供多重函數計算器200,其中多重函數計算器200包括多個激活函數運算電路210以及解多工器220,多個激活函數運算電路210用以對輸入信號z分別執行不同的多個激活函數(步驟S610);由解多工器220接收致能信號EN以使解多工器處於致能狀態(步驟S620);由解多工器220接收選擇信號SE,以使解多工器220在致能狀態下依據選擇信號SE來選擇致能多個激活函數運算電路210中的一個,如激活函數運算電路211(步驟S630);以及由被致能的激活函數運算電路(例如211)對輸入信號z執行對應的激活函數以產生對應的輸出信號(步驟S640)。
綜上所述,本發明通過將多個激活函數實現在硬體上並搭配解多工器,可以使神經網路在運算時靈活地切換於多個激活函數運算電路之間。並且,在計算精度不佳的情況下,還可以透過選擇信號來改變各層原先設定採用的激活函數。因此,本發明所建構的多重函數計算器對於任意類型的神經網路架構皆具有通用性,並可達到最佳的收斂效果。
110:多重函數計算器 120:神經網路 121:節點 200:多重函數計算器 210、211~213:激活函數運算電路 220:解多工器 300、400、500:激活函數運算電路 A:激活函數 EN:致能信號 FP_ADD1~FP_ADD13:浮點加法器 FP_DIV1~ FP_DIV5:浮點除法器 FP_EXP1~ FP_EXP3:浮點指數計算器 Mz1~Mz3:輸出信號 R1~R12:暫存器 Rz:輸出信號 S1~S6:移位器 S610~S640:步驟 SE:選擇信號 Sz:輸出信號 T1:資料表 Tz:輸出信號 Xn、Yn、Zn:信號 X_out、Y_out、Z_out:輸出信號 z、1/k':輸入信號 Z1~Z3:信號
圖1A繪示為本發明的多重函數計算器的應用示意圖。 圖1B繪示為隱藏層中單一節點的結構示意圖。 圖2繪示為本發明的多重函數計算器的方塊示意圖。 圖3繪示為本發明的激活函數運算電路的架構流程示意圖。 圖4繪示為本發明的激活函數運算電路的架構流程示意圖。 圖5繪示為本發明的激活函數運算電路的架構流程示意圖。 圖6繪示為本發明的多重函數計算器的操作方法的步驟流程圖
200:多重函數計算器
210、211~213:激活函數運算電路
220:解多工器
EN:致能信號
Rz:輸出信號
SE:選擇信號
Sz:輸出信號
Tz:輸出信號
z:輸入信號

Claims (8)

  1. 一種多重函數計算器,適用於一神經網路架構,包括:多個激活函數運算電路,用以對一輸入信號分別執行不同的多個激活函數;以及一解多工器,耦接該些激活函數運算電路,該解多工器用以接收一致能信號以及一選擇信號,使該解多工器在一致能狀態下依據該選擇信號來選擇致能該些激活函數運算電路中的一個,其中,被致能的該激活函數運算電路對該輸入信號執行對應的激活函數以產生對應的一輸出信號。
  2. 如請求項1所述的多重函數計算器,其中該些激活函數運算電路分別由多個有限狀態機控制電路所建構。
  3. 如請求項1所述的多重函數計算器,其中該些激活函數運算電路係由所各自對應之激活函數以一硬體描述語言來實現。
  4. 如請求項1所述的多重函數計算器,其中該些激活函數包括一S型函數、一雙曲正切函數、一歸一化指數函數以及一整流線性單位函數當中至少一個。
  5. 一種多重函數計算器的操作方法,其中該多重函數計算器適用於一神經網路架構,該操作方法包括:提供該多重函數計算器,其中該多重函數計算器包括多個激活函數運算電路以及一解多工器,該些激活函數運算電路用以對 一輸入信號分別執行不同的多個激活函數;由該解多工器接收一致能信號以使該解多工器處於一致能狀態;由該解多工器接收一選擇信號,以使該解多工器在該致能狀態下依據該選擇信號來選擇致能該些激活函數運算電路中的一個;以及由被致能的該激活函數運算電路對該輸入信號執行對應的激活函數以產生對應的一輸出信號。
  6. 如請求項5所述的多重函數計算器的操作方法,其中該些激活函數運算電路分別由多個有限狀態機控制電路所建構。
  7. 如請求項5所述的多重函數計算器的操作方法,其中該些激活函數運算電路係由所各自對應之激活函數以一硬體描述語言來實現。
  8. 如請求項5所述的多重函數計算器的操作方法,其中該些激活函數包括一S型函數、一雙曲正切函數、一歸一化指數函數以及一整流線性單位函數當中至少一個。
TW109125060A 2020-07-24 2020-07-24 多重函數計算器 TWI746084B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
TW109125060A TWI746084B (zh) 2020-07-24 2020-07-24 多重函數計算器
US16/986,273 US20220027713A1 (en) 2020-07-24 2020-08-06 Multi-function calculator and operation method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW109125060A TWI746084B (zh) 2020-07-24 2020-07-24 多重函數計算器

Publications (2)

Publication Number Publication Date
TWI746084B true TWI746084B (zh) 2021-11-11
TW202205157A TW202205157A (zh) 2022-02-01

Family

ID=79688361

Family Applications (1)

Application Number Title Priority Date Filing Date
TW109125060A TWI746084B (zh) 2020-07-24 2020-07-24 多重函數計算器

Country Status (2)

Country Link
US (1) US20220027713A1 (zh)
TW (1) TWI746084B (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20200005127A1 (en) * 2017-04-04 2020-01-02 Hailo Technologies Ltd. System And Method Of Input Alignment For Efficient Vector Operations In An Artificial Neural Network
WO2020043753A1 (fr) * 2018-08-31 2020-03-05 Commissariat A L'energie Atomique Et Aux Energies Alternatives Architecture de calculateur d'une couche de convolution dans un reseau de neurones convolutionnel
WO2020051918A1 (zh) * 2018-09-14 2020-03-19 中国科学院深圳先进技术研究院 神经元电路、芯片、系统及其方法、存储介质
TW202018599A (zh) * 2018-11-09 2020-05-16 南韓商三星電子股份有限公司 神經處理單元

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10776690B2 (en) * 2015-10-08 2020-09-15 Via Alliance Semiconductor Co., Ltd. Neural network unit with plurality of selectable output functions
US11321819B2 (en) * 2019-01-07 2022-05-03 Hcl Technologies Limited System and method for performing a convolution operation

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20200005127A1 (en) * 2017-04-04 2020-01-02 Hailo Technologies Ltd. System And Method Of Input Alignment For Efficient Vector Operations In An Artificial Neural Network
WO2020043753A1 (fr) * 2018-08-31 2020-03-05 Commissariat A L'energie Atomique Et Aux Energies Alternatives Architecture de calculateur d'une couche de convolution dans un reseau de neurones convolutionnel
WO2020051918A1 (zh) * 2018-09-14 2020-03-19 中国科学院深圳先进技术研究院 神经元电路、芯片、系统及其方法、存储介质
TW202018599A (zh) * 2018-11-09 2020-05-16 南韓商三星電子股份有限公司 神經處理單元

Also Published As

Publication number Publication date
US20220027713A1 (en) 2022-01-27
TW202205157A (zh) 2022-02-01

Similar Documents

Publication Publication Date Title
Hajduk Reconfigurable FPGA implementation of neural networks
Deschamps et al. Guide to FPGA implementation of arithmetic functions
US5798955A (en) High-speed division and square root calculation unit
US3922536A (en) Multionomial processor system
US10877733B2 (en) Segment divider, segment division operation method, and electronic device
CN111353578A (zh) 信息处理装置、神经网络程序和用于神经网络的处理方法
JP2020205045A (ja) ニューラルネットワークアクセラレータ
US9904512B1 (en) Methods and apparatus for performing floating point operations
Bindal Fundamentals of computer architecture and design
TWI746084B (zh) 多重函數計算器
Hayati et al. Modeling and simulation of combinational CMOS logic circuits by ANFIS
Yan et al. An energy-efficient multiplier with fully overlapped partial products reduction and final addition
Tu Online arithmetic algorithms for efficient implementation
Zhang et al. Fpga implementation for finite-time and fixed-time neurodynamic algorithms in constrained optimization problems
CN112889024A (zh) 利用硬件计算效率和调整因子优化神经网络
CN101944009B (zh) 一种集成电路中除法器商的处理装置
JPH0464091B2 (zh)
Dubey et al. Floating-point multiplication using neuromorphic computing
Vazquez et al. Decimal adders/subtractors in FPGA: efficient 6-input LUT implementations
JP2009534729A (ja) Nビット加算器および対応する加算方法
US2890830A (en) Electronic adder apparatus with sum radix correction means
US20130238680A1 (en) Decimal absolute value adder
RU148925U1 (ru) Вычислительный элемент бимодульной модулярной арифметики
US20190332355A1 (en) Method and apparatus for pre-rounding in a multiplier-accumulator
US20080208940A1 (en) Reconfigurable circuit