TWI787691B - 神經網路運算裝置及方法 - Google Patents

神經網路運算裝置及方法 Download PDF

Info

Publication number
TWI787691B
TWI787691B TW109145630A TW109145630A TWI787691B TW I787691 B TWI787691 B TW I787691B TW 109145630 A TW109145630 A TW 109145630A TW 109145630 A TW109145630 A TW 109145630A TW I787691 B TWI787691 B TW I787691B
Authority
TW
Taiwan
Prior art keywords
neural network
output
neuron circuit
memory
input
Prior art date
Application number
TW109145630A
Other languages
English (en)
Other versions
TW202125340A (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 財團法人工業技術研究院
Publication of TW202125340A publication Critical patent/TW202125340A/zh
Application granted granted Critical
Publication of TWI787691B publication Critical patent/TWI787691B/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
    • G06N3/045Combinations of networks
    • 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/045Combinations of networks
    • G06N3/0455Auto-encoder networks; Encoder-decoder networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods

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)
  • Image Analysis (AREA)
  • Color Image Communication Systems (AREA)
  • Electrotherapy Devices (AREA)
  • Measurement Of Resistance Or Impedance (AREA)

Abstract

一種神經網路運算裝置及方法。神經網路運算裝置包括第一神經元電路及第二神經元電路。第一神經元電路是用以執行神經網路演算法中特徵樣式固定的至少一個運算層的神經網路運算。第二神經元電路是用以執行神經網路演算法中特徵樣式不固定的至少一個運算層的神經網路運算。其中,第一神經元電路的效能大於第二神經元電路。

Description

神經網路運算裝置及方法
本揭露是有關於一種運算裝置及方法,且特別是有關於一種神經網路運算裝置及方法。
在現今的生活中,人工智能(Artificial Intelligence,AI)廣泛地應用於不同的技術領域中,以達到辨識、警示、操作協助等應用。但由於AI發展快速、各種新型網路提出,且硬體效能需求也不斷被拉高。為了因應人工智能發展的需求,高效人工智能的運算硬體亦成為主要的發展目標。
進一步,實現人工智能的運算硬體主要可透過馮紐曼(Von Neumann)結構來實現,其主要是透過記憶體儲存權重值,以及透過處理單元處理輸入訊號並存取記憶體權重值產生運算結果來進行神經元運算。但由於處理單元進行運算都需由記憶體中所存取權重資訊,會大幅消耗功率且造成運算延遲,馮紐曼結構會面臨到馮紐曼瓶頸(Von Neumann Bottleneck),進而限制神經元硬體的功耗與運算速率表現。
本揭露一實施例提供一種神經網路運算裝置,其包括第一神經元電路及第二神經元電路。第一神經元電路是用以執行神經網路演算法中特徵樣式(pattern)固定的至少一個運算層的神經網路運算。第二神經元電路是用以執行神經網路演算法中特徵樣式不固定的至少一個運算層的神經網路運算。其中,第一神經元電路的效能大於第二神經元電路。
本揭露一實施例提供一種神經網路運算方法,適用於內建第一神經元電路及第二神經元電路的神經網路運算裝置,其中第一神經元電路的效能大於第二神經元電路。所述方法包括下列步驟:利用第一神經元電路執行神經網路演算法中特徵樣式固定的至少一個運算層的神經網路運算;以及利用第二神經元電路執行神經網路演算法中特徵樣式不固定的至少一個運算層的神經網路運算。
為讓本揭露能更明顯易懂,下文特舉實施例,並配合所附圖式作詳細說明如下。
本揭露實施例提出一種於半導體製程方式下實現領域特定之人工智能(Artificial Intelligence,AI)的神經網路(Neural network)運算裝置。其中,基於記憶體內運算(Computing in memory,CIM)及遷移學習(Transfer learning)的方式,本揭露實施例利用效能較高的神經元電路執行神經網路中特徵樣式固定(例如結構和權重不需更新)的特定運算層的神經網路運算,再配合效能較低但較彈性的神經元電路來執行神經網路中特徵樣式不固定(例如結構和權重需更新)的其他運算層的神經網路運算。藉此,可在運算資源有限的邊緣裝置,利用神經網路實現影像/聲音等訊號的辨識。
圖1是依照本揭露一實施例所繪示之神經網路架構的示意圖。請參照圖1,本實施例的神經網路1是以卷積神經網路(Convolution neural network,CNN)為例,將卷積神經網路對於欲辨識訊號2的處理,依功能區分為前處理、調整、特徵擷取、連接、決定等多個階段。其中,欲辨識訊號2例如是由聲音、影像等感測器所測得的感測訊號,而在前處理階段,其例如會由前處理電路進行信號放大、濾波、雜訊抑制、補償、數位-類比轉換、類比特徵擷取等前處理,而生成神經網路1的輸入。
在調整階段,神經網路1例如會應用各種自適應(adaptation)技術來調整或降低特徵的變化,使其適於後續的特徵擷取。
在特徵擷取階段,神經網路1例如會利用由多個卷積層、池化(pooling)層構成的特徵擷取器,對調整後的輸入資料進行特徵擷取。卷積層例如是在由多個輸入組成的輸入圖像上,移動不同的卷積核心(kernel)以進行卷積運算,以獲得一組特徵圖(feature map)。池化層例如是利用非線性池化函式對輸入圖像進行降採樣,以降低參數的數量和計算量。在一些實施例中,池化層還可降低卷積層對於物體邊緣的敏感性。
在特徵擷取的前幾層,神經網路1例如是採用點、線、圓或多邊形等固定的特徵樣式(pattern)來擷取輸入資料的特徵,這些特徵通常並非特定於所要辨識的物件,但可作為後續對於所辨識物件之特定特徵擷取的基礎。以人臉辨識為例,藉由先擷取臉部中的線條、輪廓或形狀等簡單的特徵,將有利於後續進行眼、鼻、口等特定部位的特徵擷取。
在連接階段,神經網路1例如會將由一或多個全連接(fully connected)層構成的分類器與前一層運算層(例如特徵擷取器最後一層的卷積層)連接,以接收前面特徵擷取器所擷取的所有特徵的權重並進行後續分類。
在決定階段,神經網路1例如是由上述全連接層所構成的分類器,針對連接階段所接收的特徵權重,利用歸一化指數函數(softmax function)等非線性函數計算個別特徵的機率(每個特徵的輸出介於0與1之間,且輸出的總和為1),最後則由輸出層根據分類器所計算的各個特徵的機率,經由投票來決定並輸出最終的辨識結果。所述的辨識結果例如是欲辨識訊號2屬於各個分類的機率,其可表示出欲辨識訊號2屬於哪一個分類(例如機率最大者)。
圖2是依照本揭露一實施例所繪示之神經網路的遷移學習的示意圖。請參照圖2,本實施例是以圖1的神經網路1為例,說明遷移學習的概念。
首先,依輸入資料的種類及所欲辨識的分類決定神經網路1的運算層架構(例如包括應用於調整階段的輸入層、應用於特徵擷取階段、連接階段和決定階段的多個隱藏層,以及用於輸出決定階段的結果的輸出層)以建立神經網路1,並採用隨機方式產生各個運算層中多個節點的權重。
接著,將由影像識別資料庫(例如ImageNet)取得的多張圖像及其對應的分類結果作為訓練資料3送入神經網路1以進行訓練,而獲得經訓練神經網路1a,此神經網路1a的各個運算層中節點的權重已經由學習訓練資料3而更新。其中,神經網路1a的多個運算層可依其所運算的特徵樣式,區分為用以執行特徵樣式固定之神經網路運算的運算層集合12,以及用以執行特徵樣式非固定之神經網路運算的運算層集合14。
然後,將新的訓練資料4和新的分類導入神經網路1a,重新對神經網路1a進行訓練,以生成新的神經網路1b。在訓練過程中,基於運算層集合12中各運算層所辨識的特徵樣式固定,故不需要更新其中節點的權重,而僅針對運算層集合14的多個運算層進行結構調整及/或權重更新。舉例來說,在神經網路1b中,對應於新的分類,調整後運算層集合16中的輸出層的節點數目將由3個增加為5個,且各個運算層的節點的權重也將經由學習新的訓練資料3而更新。
以動物圖像的辨識為例,輸入層的輸入即是圖案的所有像素點,而第1層卷積層將會判斷最基礎的圖形,例如橫線、直線、圓圈之類的,第2層將會是判斷稍微複雜的圖形,例如多邊形,第3層將會判斷再更複雜的圖形,以此類推。由此可知,前面幾層的特徵辨識跟所要辨識的目標沒有直接關係,不管是要辨識貓、狗、鳥、大象、老虎,都不是像素等級的微小圖形。然而,前面幾層卻也極為重要,因為不管是甚麼圖形,都是由像素級的圖形拼湊而成。因此,在本揭露實施例中,藉由將前面幾層保留,並將後面幾層代換或更新後,重新訓練模型的參數,即可獲得一個新的並且符合需求的模型。基於新的模型只需訓練後面幾層,所計算的參數較少,因此較不會發生擬合過度(over-fitting)的問題。
基於上述神經網路架構,本揭露實施例提出一種基於記憶體內運算方式的神經網路運算裝置架構。圖3是依照本揭露一實施例所繪示之神經網路運算裝置的方塊圖。請參照圖3,本實施例的神經網路運算裝置30例如是採用電阻式記憶體架構的神經網路加速器,或是此加速器中的一個處理引擎(Processing engine,PE),其係應用於深度學習(Deep learning,DL),用以輔助處理器(例如中央處理單元)執行神經網路運算。所述的神經網路運算例如是乘加(Multiply Accumulate,MAC)運算。
神經網路運算裝置30包括第一神經元電路32及第二神經元電路34,且第一神經元電路32的效能大於第二神經元電路34。在一些實施例中,第一神經元電路32為單次可程式(One-time programming,OTP)記憶體,例如是唯讀記憶體(Read only memory,ROM)或電子熔絲(Efuse)記憶體;第二神經元電路34則為多次可程式(Multi-time programming,MTP)記憶體,例如是靜態隨機存取記憶體(Static random access memory,SRAM)或快閃記憶體(Flash)。在其他實施例中,第一神經元電路32及第二神經元電路34也可以是其他類型的記憶體的組合,在此不設限。
在一些實施例中,神經網路運算裝置30還包括用以暫存輸入及輸出資料的緩衝器(buffer)以及用以支持非線性函式及池化函式運算的運算電路(未繪示),在此不設限。
圖4是依照本揭露一實施例所繪示之神經網路運算方法的流程圖。請同時參照圖3及圖4,本實施例的方法適用於圖3的神經網路運算裝置30,以下即搭配神經網路運算裝置30中的各項元件說明本揭露之神經網路運算方法的詳細步驟。
在步驟S402中,神經網路運算裝置30利用第一神經元電路32執行神經網路演算法中特徵樣式固定的至少一個運算層的神經網路運算。上述的固定特徵樣式包括非特定於所要辨識物件的點、線、圓或多邊形,在此不設限。第一神經元電路32例如是用以執行神經網路演算法中負責做特徵學習之運算層的運算或其他與所要辨識的對象沒有直接關係之運算層的運算。
在一些實施例中,神經網路運算裝置30例如會先對輸入訊號進行信號放大、濾波、雜訊抑制、補償、類比-數位轉換、類比特徵擷取等前處理,以生成第一神經元電路30的輸入(例如,對應圖1前處理階段中的處理)。
在一些實施例中,第一神經元電路32是採用記憶體內運算(Computing in memory,CIM)架構,其中包括彼此交叉配置的多條輸入線及多條輸出線、分別配置於輸入線及輸出線的多個交點並儲存神經網路運算的多個權重的多個記憶單元,以及分別連接於輸出線的多個感測放大器。
圖5是依照本揭露一實施例所繪示之神經元電路的示意圖。請參照圖5,本實施例說明圖3的第一神經元電路32的架構及運作方式。第一神經元電路32採用交叉陣列(crossbar array)的架構,其中包括交叉配置的多條輸入線及多條輸出線。這些輸入線及輸出線例如是記憶體電路的字元線及位元線,而可經由行解碼器或列解碼器的控制,將神經網路運算的輸入I1 ~Im 送入輸入線,在此不設限。
在輸入線及輸出線的每個交點配置有記憶單元,此記憶單元例如是採用唯讀記憶體(Read only memory,ROM)或電子熔絲(Efuse)等半導體元件,其例如可藉由輸入線的控制儲存神經網路運算的權重(如圖所示的權重R11 ~Rmn ,其中m、n為正整數),以於致能或開啟時產生相對應的輸出電流或等效阻值。
記憶單元可被分為n行與m列,每一列的記憶單元共同耦接至一條輸入線,以接收神經網路運算的輸入I1 ~Im ,來控制該列記憶單元的電流大小或等效阻值。每個記憶單元例如會對所連接輸入線的輸入進行乘法運算,並將乘積輸出至所連接的輸出線(例如將輸入電壓經由所儲存阻值對應的電導的作用而產生輸出電流)。每一行的記憶單元共同耦接至一條輸出線,輸出線會累加所連接記憶單元輸出的乘積而生成輸出O1 ~On (例如集成各個記憶單元輸出的電流而生成輸出電流)。
感測放大器SA1 ~SAn 分別連接於輸出線,用以感測輸出線累加所連接的記憶單元輸出的乘積所得的輸出O1 ~On ,用以作為下一層的運算層的輸入。
在一些實施例中,神經網路運算裝置30例如會在第一神經元電路32執行多個運算層的神經網路運算時,在相鄰的運算層之間加入一個可調整輸出結果的調整電路(未繪示),此調整電路分別連接或配置於感測放大器SA1 ~SAn ,而可用以調整感測放大器SA1 ~SAn 所感測的輸出的增益(gain)及偏置(bias),使得調整後的輸出適於作為下一層的運算層的輸入。
圖6是依照本揭露一實施例所繪示之神經網路運算方法的流程圖。請同時參照圖5及圖6,本實施例的方法適用於圖5的第一神經元電路32,以下即搭配第一神經元電路32中的各項元件說明本揭露之神經網路運算方法的詳細步驟。
在步驟S602中,由神經網路運算裝置30將神經網路運算的多個輸入I1 ~Im 分別輸入第一神經元電路32的輸入線。
在步驟S604中,由第一神經元電路32的記憶單元對所連接的輸入線的輸入I1 ~Im 進行乘法運算,並輸出乘積至所連接的輸出線。
在步驟S606中,由第一神經元電路32的感測放大器SA1 ~SAn 感測輸出線累加所連接的記憶單元輸出的乘積所得的輸出O1 ~On
在步驟S608中,由第一神經元電路32的調整電路調整感測放大器SA1 ~SAn 所感測的輸出的增益及偏置,使得調整後的輸出適於作為下一層的運算層的輸入。
藉由適度地調整輸出結果,使其符合下一層運算層的特性或需求,可在不大幅變更硬體架構的情況下,實現較佳的準確度特性。
回到圖4的流程,在步驟S404中,神經網路運算裝置30利用第二神經元電路34執行神經網路演算法中特徵樣式不固定的至少一個運算層的神經網路運算。即,第二神經元電路34例如是用以執行神經網路演算法中負責分類之運算層的運算或其他會因為辨識對象不同而需修正之運算層的運算。
類似於第一神經元電路32,第二神經元電路34亦是採用記憶體內運算架構(如圖5所示),但與第一神經元電路32不同的是,第二神經元電路34中的記憶單元是採用靜態隨機存取記憶體(Static random access memory,SRAM)或快閃記憶體(Flash)等半導體元件,其相對於第一神經元電路32的記憶單元而言,效能較低但具有較高彈性,因此可對應新的輸入資料適應性地調整運算層的架構並更新各運算層中節點的權重值。
圖7是依照本揭露一實施例所繪示之神經網路運算方法的流程圖。請參照圖3及圖7,本實施例的方法適用於圖3的第二神經元電路34,而第二神經元電路34是採用如圖5所示的第一神經元電路32的架構。
在步驟S702中,由神經網路運算裝置30將神經網路運算的多個輸入分別輸入第二神經元電路34的輸入線。
在步驟S704中,由第二神經元電路34的記憶單元對所連接的輸入線的輸入進行乘法運算,並輸出乘積至所連接的輸出線。
在步驟S706中,由第二神經元電路34的感測放大器感測輸出線累加所連接的記憶單元輸出的乘積所得的輸出。
在步驟S708中,由第二神經元電路34根據感測放大器所感測的輸出調整運算層的架構或更新各個記憶單元內儲存的權重,使得調整後的運算層可支持新的分類運算,且具有較佳的辨識準確性。
在一些實施例中,第二神經元電路34可針對輸出進行類比-數位轉換、正規化及激勵函數運算等後置處理,以作為下一層的所述運算層的輸入,在此不設限。
在一些實施例中,類似於第一神經元電路32,第二神經元電路34亦可在相鄰的運算層之間加入一個可調整輸出結果的調整電路,用以調整感測放大器所感測的輸出的增益及偏置,使得調整後的輸出適於作為下一層的運算層的輸入,從而實現較佳的準確度特性,在此不設限。
綜上所述,本揭露實施例的神經網路運算裝置及方法係結合記憶體內運算及遷移學習的優點,將神經網路依其所執行運算的特徵樣式區分為兩個部分,針對特徵樣式固定的特定運算層的神經網路運算使用效能較高的神經元電路來執行,並針對特徵樣式不固定的其他運算層使用效能較低但彈性較高的神經元電路來執行,藉此可實現高效能、低成本且具一定彈性的AI速器晶片結構,而可運用於終端(邊緣)或雲端的神經網路加速器。
雖然本揭露已以實施例揭露如上,然其並非用以限定本揭露,任何所屬技術領域中具有通常知識者,在不脫離本揭露的精神和範圍內,當可作些許的更動與潤飾,故本揭露的保護範圍當視後附的申請專利範圍及其均等範圍所界定者為準。
1、1a、1b:神經網路 2:欲辨識訊號 3、4:訓練資料 12、14、16:運算層集合 30:神經網路運算裝置 32:第一神經元電路 34:第二神經元電路 I1 ~Im :輸入 R11 ~Rmn :權重 O1 ~On :輸出 SA1 ~SAn :感測放大器 S402~S404、S602~S608、S702~S708:步驟
圖1是依照本揭露一實施例所繪示之神經網路架構的示意圖。 圖2是依照本揭露一實施例所繪示之神經網路的遷移學習的示意圖。 圖3是依照本揭露一實施例所繪示之神經網路運算裝置的方塊圖。 圖4是依照本揭露一實施例所繪示之神經網路運算方法的流程圖。 圖5是依照本揭露一實施例所繪示之神經元電路的示意圖。 圖6是依照本揭露一實施例所繪示之神經網路運算方法的流程圖。 圖7是依照本揭露一實施例所繪示之神經網路運算方法的流程圖。
30:神經網路運算裝置
32:第一神經元電路
34:第二神經元電路

Claims (20)

  1. 一種神經網路運算裝置,包括:第一神經元電路,執行所述神經網路演算法中特徵樣式(pattern)固定的至少一運算層的神經網路運算;以及第二神經元電路,執行所述神經網路演算法中特徵樣式不固定的至少一運算層的神經網路運算,其中所述第一神經元電路的效能大於所述第二神經元電路。
  2. 如請求項1所述的神經網路運算裝置,其中所述第一神經元電路為單次可程式(One-time programming,OTP)記憶體,所述第二神經元電路為多次可程式(Multi-time programming,MTP)記憶體。
  3. 如請求項2所述的神經網路運算裝置,其中所述單次可程式記憶體包括唯讀記憶體(Read only memory,ROM)或電子熔絲(Efuse)記憶體。
  4. 如請求項2所述的神經網路運算裝置,其中所述多次可程式記憶體包括靜態隨機存取記憶體(Static random access memory,SRAM)或快閃記憶體(Flash)。
  5. 如請求項1所述的神經網路運算裝置,其中固定的所述特徵樣式包括非特定於所要辨識物件的點、線、圓或多邊形。
  6. 如請求項1所述的神經網路運算裝置,更包括: 前處理電路,對輸入訊號進行前處理,以生成所述第一神經元電路的多個輸入,所述前處理包括信號放大、濾波、雜訊抑制、補償、數位-類比轉換、類比特徵擷取其中之一或其組合。
  7. 如請求項1所述的神經網路運算裝置,其中所述第一神經元電路及所述第二神經元電路分別包括:彼此交叉配置的多條輸入線及多條輸出線,其中所述輸入線分別接收所述神經網路運算的多個輸入;多個記憶單元,分別配置於所述輸入線及所述輸出線的多個交點,儲存所述神經網路運算的多個權重,用以對所連接的所述輸入線的所述輸入進行乘法運算,並輸出乘積至所連接的所述輸出線;以及多個感測放大器(Sense amplifier,SA),分別連接於所述輸出線,用以感測所述輸出線累加所連接的所述記憶單元輸出的所述乘積所得的輸出。
  8. 如請求項7所述的神經網路運算裝置,其中所述第一神經元電路及所述第二神經元電路更包括:多個調整電路,分別連接或配置於所述感測放大器,用以調整所述感測放大器所感測的所述輸出的增益(gain)及偏置(bias),使得調整後的所述輸出適於作為下一層的所述運算層的輸入。
  9. 如請求項1所述的神經網路運算裝置,其中所述神經網路運算為乘加(Multiply Accumulate,MAC)運算。
  10. 一種神經網路運算方法,適用於內建第一神經元電路及第二神經元電路的神經網路運算裝置,其中所述第一神經元電路的效能大於所述第二神經元電路,所述方法包括下列步驟:利用所述第一神經元電路執行所述神經網路演算法中特徵樣式固定的至少一運算層的神經網路運算;以及利用所述第二神經元電路執行所述神經網路演算法中特徵樣式不固定的至少一運算層的神經網路運算。
  11. 如請求項10所述的方法,其中所述第一神經元電路包括彼此交叉配置的多條輸入線及多條輸出線、分別配置於所述輸入線及所述輸出線的多個交點並儲存所述神經網路運算的多個權重的多個記憶單元以及分別連接於所述輸出線的多個感測放大器,所述利用所述第一神經元電路執行所述神經網路演算法中特徵樣式固定的至少一運算層的神經網路運算的步驟包括:將所述神經網路運算的多個輸入分別輸入所述輸入線;由所述記憶單元對所連接的所述輸入線的所述輸入進行乘法運算,並輸出乘積至所連接的所述輸出線;以及由所述感測放大器感測所述輸出線累加所連接的所述記憶單元輸出的所述乘積所得的輸出。
  12. 如請求項10所述的方法,其中在利用所述第一神經元電路執行所述神經網路演算法中特徵樣式固定的至少一運算層的神經網路運算的步驟之前,更包括: 對輸入訊號進行前處理,以生成所述第一神經元電路的所述輸入,所述前處理包括信號放大、濾波、雜訊抑制、補償、類比-數位轉換、類比特徵擷取其中之一或其組合。
  13. 如請求項10所述的方法,其中在由所述感測放大器感測所述輸出線累加所連接的所述記憶單元輸出的所述乘積所得的輸出的步驟之後,更包括:對所述感測放大器所感測的所述輸出進行後置處理,以作為下一層的所述運算層的輸入,所述後置處理包括類比-數位轉換、正規化(normalization)及激勵函數(activation function)運算其中之一或其組合。
  14. 如請求項13所述的方法,其中所述後置處理更包括調整所述感測放大器所感測的所述輸出的增益及偏置,使得調整後的所述輸出適於作為下一層的所述運算層的輸入。
  15. 如請求項10所述的方法,其中所述第二神經元電路包括彼此交叉配置的多條輸入線及多條輸出線、分別配置於所述輸入線及所述輸出線的多個交點並儲存所述神經網路運算的多個權重的多個記憶單元以及分別連接於所述輸出線的多個感測放大器,所述利用所述第二神經元電路執行所述神經網路演算法中特徵樣式不固定的至少一運算層的神經網路運算的步驟包括:將所述神經網路運算的多個輸入分別輸入所述輸入線;由所述記憶單元對所連接的所述輸入線的所述輸入進行乘法運算,並輸出乘積至所連接的所述輸出線; 由所述感測放大器感測所述輸出線累加所連接的所述記憶單元輸出的所述乘積所得的輸出;以及根據所感測的所述輸出調整所述運算層的架構或更新各所述記憶單元內儲存的所述權重。
  16. 如請求項15所述的方法,其中在由所述感測放大器感測所述輸出線累加所連接的所述記憶單元輸出的所述乘積所得的輸出的步驟之後,更包括:對所述輸出進行後置處理,以作為下一層的所述運算層的輸入,所述後置處理包括類比-數位轉換、正規化及激勵函數運算其中之一或其組合。
  17. 如請求項16所述的方法,其中所述後置處理更包括調整所述感測放大器所感測的所述輸出的增益及偏置,使得調整後的所述輸出適於作為下一層的所述運算層的輸入。
  18. 如請求項10所述的方法,其中所述第一神經元電路為單次可程式記憶體,所述第二神經元電路為多次可程式記憶體,其中所述單次可程式記憶體包括唯讀記憶體或電子熔絲記憶體,所述多次可程式記憶體包括靜態隨機存取記憶體或快閃記憶體。
  19. 如請求項10所述的方法,其中固定的所述特徵樣式包括非特定於所要辨識物件的點、線、圓或多邊形。
  20. 如請求項10所述的方法,其中所述神經網路運算為乘加運算。
TW109145630A 2019-12-24 2020-12-23 神經網路運算裝置及方法 TWI787691B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201962953207P 2019-12-24 2019-12-24
US62/953,207 2019-12-24

Publications (2)

Publication Number Publication Date
TW202125340A TW202125340A (zh) 2021-07-01
TWI787691B true TWI787691B (zh) 2022-12-21

Family

ID=76437232

Family Applications (1)

Application Number Title Priority Date Filing Date
TW109145630A TWI787691B (zh) 2019-12-24 2020-12-23 神經網路運算裝置及方法

Country Status (4)

Country Link
US (1) US20210192327A1 (zh)
JP (1) JP7365999B2 (zh)
CN (1) CN113033792A (zh)
TW (1) TWI787691B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020068498A1 (en) * 2018-09-27 2020-04-02 Google Llc Data compression using integer neural networks
CN117648957A (zh) * 2022-08-10 2024-03-05 华为技术有限公司 基于存算一体电路的神经网络补偿方法、装置及电路
WO2023160735A2 (zh) * 2023-06-09 2023-08-31 南京大学 一种运算方法和运算单元

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105095965A (zh) * 2015-07-16 2015-11-25 清华大学 人工神经网络和脉冲神经网络神经的混合通信方法
CN108805270A (zh) * 2018-05-08 2018-11-13 华中科技大学 一种基于存储器的卷积神经网络系统
CN109800879A (zh) * 2018-12-21 2019-05-24 科大讯飞股份有限公司 知识库构建方法和装置
CN109816026A (zh) * 2019-01-29 2019-05-28 清华大学 卷积神经网络和脉冲神经网络的融合结构及方法
CN110543933A (zh) * 2019-08-12 2019-12-06 北京大学 基于flash存算阵列的脉冲型卷积神经网络

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0644376A (ja) * 1992-05-28 1994-02-18 Matsushita Electric Ind Co Ltd 画像特徴抽出装置、画像認識方法及び画像認識装置
JPH0822446A (ja) * 1994-07-11 1996-01-23 Matsushita Electric Ind Co Ltd ニューラルネットワーク回路
JP3485849B2 (ja) * 2000-01-07 2004-01-13 日本電信電話株式会社 関数機能構成データ保持方法及びその方法を用いた集積回路
US7647284B2 (en) * 2007-01-12 2010-01-12 Toyota Motor Engineering & Manufacturing North America, Inc. Fixed-weight recurrent neural network controller with fixed long-term and adaptive short-term memory
US9189729B2 (en) * 2012-07-30 2015-11-17 International Business Machines Corporation Scalable neural hardware for the noisy-OR model of Bayesian networks
WO2014060001A1 (en) * 2012-09-13 2014-04-24 FRENKEL, Christina Multitransmitter model of the neural network with an internal feedback
JP2015215837A (ja) * 2014-05-13 2015-12-03 株式会社デンソー 演算処理装置
US11055063B2 (en) * 2016-05-02 2021-07-06 Marvell Asia Pte, Ltd. Systems and methods for deep learning processor
JP2018026040A (ja) * 2016-08-12 2018-02-15 キヤノン株式会社 情報処理装置および情報処理方法
JP7047778B2 (ja) * 2017-01-19 2022-04-05 日本電気株式会社 ニューラルネットワーク学習装置、ニューラルネットワーク学習方法、及び、ニューラルネットワーク学習プログラム
JP2018133016A (ja) * 2017-02-17 2018-08-23 株式会社半導体エネルギー研究所 ニューラルネットワークシステム
WO2018208939A1 (en) * 2017-05-09 2018-11-15 Neurala, Inc. Systems and methods to enable continual, memory-bounded learning in artificial intelligence and deep learning continuously operating applications across networked compute edges
JP7015001B2 (ja) * 2018-03-14 2022-02-02 オムロン株式会社 欠陥検査装置、欠陥検査方法、及びそのプログラム
JP6996411B2 (ja) * 2018-04-25 2022-01-17 株式会社デンソー ニューラルネットワーク回路

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105095965A (zh) * 2015-07-16 2015-11-25 清华大学 人工神经网络和脉冲神经网络神经的混合通信方法
CN108805270A (zh) * 2018-05-08 2018-11-13 华中科技大学 一种基于存储器的卷积神经网络系统
CN109800879A (zh) * 2018-12-21 2019-05-24 科大讯飞股份有限公司 知识库构建方法和装置
CN109816026A (zh) * 2019-01-29 2019-05-28 清华大学 卷积神经网络和脉冲神经网络的融合结构及方法
CN110543933A (zh) * 2019-08-12 2019-12-06 北京大学 基于flash存算阵列的脉冲型卷积神经网络

Also Published As

Publication number Publication date
TW202125340A (zh) 2021-07-01
US20210192327A1 (en) 2021-06-24
JP2021103521A (ja) 2021-07-15
JP7365999B2 (ja) 2023-10-20
CN113033792A (zh) 2021-06-25

Similar Documents

Publication Publication Date Title
TWI787691B (zh) 神經網路運算裝置及方法
CN108805270B (zh) 一种基于存储器的卷积神经网络系统
US20200342301A1 (en) Convolutional neural network on-chip learning system based on non-volatile memory
US11501130B2 (en) Neural network hardware accelerator architectures and operating method thereof
CN108764195B (zh) 手写模型训练方法、手写字识别方法、装置、设备及介质
US4979126A (en) Neural network with non-linear transformations
Yu et al. An overview of neuromorphic computing for artificial intelligence enabled hardware-based hopfield neural network
CN109086653B (zh) 手写模型训练方法、手写字识别方法、装置、设备及介质
US20170200078A1 (en) Convolutional neural network
US20210097379A1 (en) Circuit for calculating weight adjustments of an artificial neural network, and a module implementing a long short-term artificial neural network
CN107223260B (zh) 用于动态地更新分类器复杂度的方法
CN109886422A (zh) 模型配置方法、装置、电子设备及可读取存储介质
US20150317557A1 (en) Temporal spike encoding for temporal learning
Zhang et al. Memristive quantized neural networks: A novel approach to accelerate deep learning on-chip
CN114207628A (zh) 通过调整存储器内计算阵列的列阈值来执行xnor等效运算
CN108985442B (zh) 手写模型训练方法、手写字识别方法、装置、设备及介质
CN108009635A (zh) 一种支持增量更新的深度卷积计算模型
EP3050004A2 (en) Methods and apparatus for implementation of group tags for neural models
CN111768792B (zh) 基于卷积神经网络和领域对抗学习的音频隐写分析方法
CN112861718A (zh) 一种轻量级特征融合人群计数方法及系统
Zhou et al. QuantBayes: Weight optimization for memristive neural networks via quantization-aware Bayesian inference
CN112116088A (zh) 一种自适应确定隐层节点数的增量半监督超限学习机系统
CN109558900B (zh) 一种基于神经网络的供水管爆裂时间预测方法及装置
CN114330688A (zh) 基于阻变式存储器的模型在线迁移训练方法、装置及芯片
JP2023526915A (ja) アナログ人工知能ネットワーク推論のための行単位畳み込みニューラル・ネットワーク・マッピングのための効率的なタイル・マッピング