TWI751931B - 用於執行卷積神經網路運算的處理裝置與處理方法 - Google Patents
用於執行卷積神經網路運算的處理裝置與處理方法 Download PDFInfo
- Publication number
- TWI751931B TWI751931B TW110110149A TW110110149A TWI751931B TW I751931 B TWI751931 B TW I751931B TW 110110149 A TW110110149 A TW 110110149A TW 110110149 A TW110110149 A TW 110110149A TW I751931 B TWI751931 B TW I751931B
- Authority
- TW
- Taiwan
- Prior art keywords
- memory
- neural network
- internal memory
- data
- convolutional
- 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
- G06N3/045—Combinations of networks
-
- 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/08—Learning 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)
- Semiconductor Memories (AREA)
- Image Analysis (AREA)
- Error Detection And Correction (AREA)
Abstract
本發明提出一種用於執行卷積神經網路運算的處理裝置與處理方法。卷積神經網路運算包括多個卷積層。處理裝置包括內部記憶體與計算電路。計算電路執行各卷積層的卷積運算。內部記憶體耦接計算電路並包括多個記憶胞,並用以儲存卷積層的權重資料。各記憶胞包括控制電路與電容器,控制電路具有漏電流路徑,各記憶胞的資料保留時間依據漏電流路徑上的漏電流與電容器的電容值而決定。
Description
本發明是有關於一種計算裝置,且特別是有關於一種用於執行卷積神經網路運算的處理裝置與處理方法。
人工智慧近年得到迅速發展,極大地影響了人們的生活。基於人工神經網路,尤其是卷積神經網路(Convolutional Neural Network,CNN)在很多應用中的發展日趨成熟,例如在電腦視覺領域中得到廣泛使用。隨著卷積神經網路的應用越來越廣泛,越來越多的晶片設計廠商開始設計用於執行卷積神經網路運算的處理晶片。執行卷積神經網路運算的處理晶片需要複雜的運算與龐大的參數量來分析輸入資料。對於用於執行卷積神經網路運算的處理晶片而言,為了加速處理速度與降低重複存取外部記憶體所產生的功耗,處理晶片內部一般設置有內部記憶體(又稱為晶片內建記憶體(on-chip-memory))來儲存暫時計算結果與卷積運算所需的權重資料。一般而言,此內部記憶體普遍使用靜態隨機存取記憶體(static random access memory,SRAM)。然而,當靜態隨機存取記憶體內的資料基於卷積神經網路運算的特性而被頻繁讀寫時,將導致處理晶片的整體晶片功耗上升。
有鑑於此,本發明提供一種用於執行卷積神經網路運算的處理裝置,其可降低用於執行卷積神經網路運算的處理裝置的功耗與其電路面積。
本發明實施例提出一種用於執行卷積神經網路運算的處理裝置。此卷積神經網路運算包括多個卷積層。處理裝置包括內部記憶體與計算電路。計算電路執行各卷積層的卷積運算。內部記憶體耦接計算電路並包括多個記憶胞,並用以儲存卷積層的權重資料。各記憶胞包括控制電路與電容器,控制電路具有漏電流路徑,各記憶胞的資料保留時間依據漏電流路徑上的漏電流與電容器的電容值而決定,且資料保留時間大於預設需求時間。
本發明實施例提出一種用於執行卷積神經網路運算的處理方法,適用於包括內部記憶體的處理裝置。所述方法包括下列步驟。透過內部記憶體自外部記憶體獲取至少一卷積層的權重資料,並執行卷積層的卷積運算。其中,內部記憶體包括多個記憶胞。各記憶胞包括控制電路與電容器,控制電路具有漏電流路徑,各記憶胞的資料保留時間依據漏電流路徑上的漏電流與電容器的電容值而決定,且資料保留時間大於預設需求時間。
基於上述,於本發明的實施例中,內部記憶體的記憶胞的資料保留時間是依據漏電流路徑上的漏電流與電容器的電容值而決定,且此資料保留時間會大於預設需求時間。換言之,在確保內部記憶體中的權重資料被計算電路獲取的條件下,這些權重資料只會在內部記憶體保留一段時間就失效。基此,在讓內部記憶體所記錄的權重資料可隨時間失效的情況下,此包括內部記憶體的處理裝置的整體晶片功耗可以下降並減少電路面積。
為讓本發明的上述特徵和優點能更明顯易懂,下文特舉實施例,並配合所附圖式作詳細說明如下。
為了使本發明的內容可以被更容易明瞭,以下特舉實施例做為本發明確實能夠據以實施的範例。另外,凡可能之處,在圖式及實施方式中使用相同標號的元件/構件/步驟,是代表相同或類似部件。
應當理解,當元件被稱為“直接在另一元件上”或“直接連接到”另一元件時,不存在中間元件。如本文所使用的,“連接”可以指物理及/或電性連接。再者,“電性連接”或“耦合”可以是二元件間存在其它元件。
圖1是依照本發明一實施例的執行卷積神經網路運算的計算系統的示意圖。請參照圖1,計算系統10可基於卷積神經網路運算來分析輸入資料以提取有效資訊。計算系統10可安裝於各式電子終端設備中以實現各種不同的應用功能。舉例而言,計算系統10可安裝於智慧型手機、平板電腦、醫療設備或機器人設備中,本發明對此不限制。於一實施例中,計算系統10可基於卷積神經網路運算來分析指紋感測裝置所感測的指紋圖像或掌紋圖像,以獲取與感測指紋與掌紋相關的資訊。
計算系統10可包括處理裝置110以及外部記憶體120。處理裝置110以及外部記憶體120可經由匯流排130進行通訊。於一實施例中,處理裝置110可被實施為一系統晶片。處理裝置110可依據接收到的輸入資料執行卷積神經網路運算,其中卷積神經網路運算包括多個卷積層。需說明的是,本發明對於卷積神經網路運算所對應的神經網路模型並不加以限制,其可以為任何包括多個卷積層的神經網路模型,像是GoogleNet模型、AlexNet模型、VGGNet模型、ResNet模型、LeNet模型等各種卷積神經網路模型。
外部記憶體120耦接處理裝置110,用於記錄處理裝置110執行卷積神經網路運算所需的各種參數,像是各個卷積層的權重資料等等。外部記憶體120可以包含動態隨機存取記憶體(dynamic random access memory,DRAM)、快閃記憶體(flash memory)或是其他記憶體。處理裝置110可從外部記憶體120讀取執行卷積神經網路運算所需的各種參數,以對輸入資料執行卷積神經網路運算。
圖2是依照本發明一實施例的卷積神經網路模型的示意圖。請參照圖2,處理裝置110可將輸入資料d_i輸入至基於卷積神經網路模型20而產生輸出資料d_o。於一實施例中,輸入資料d_i可以是一張灰階影像或彩色影像。從另一方面來看,輸入資料d_i可以是一張指紋感測影像或掌紋感測影像。輸出資料d_o可以是對輸入資料d_i進行分類的分類類別、經過語義分割的分割影像,或是經過影像處理(例如風格轉換、影像填補或解析度優化等等)的影像資料等等,本發明對此不限制。
卷積神經網路模型20可包括多個層,而這些層可包括多個卷積層。於一些實施例中,這些層還可包括池化層、激勵層與全連接層等等,本發明對此不限制。卷積神經網路模型20中的每一層可接收輸入資料d_i或前層產生的特徵圖(feature map),以執行相對的運算處理以產生輸出特徵圖或輸出資料d_o。於此,特徵圖為用以表達輸入資料d_i的各種特徵的資料,其可為二維矩陣形式或三維矩陣(亦可稱為張量(tensor))形式。
為了方便說明,圖2僅繪示了卷積神經網路模型20包括卷積層L1~L3為範例進行說明。如圖2所示,卷積層L1~L3所產生的特徵圖FM1、FM2、FM3為三維矩陣形式。於本範例中,特徵圖FM1、FM2、FM3可具有寬度w(或稱為行)、高度h(或稱為列),以及深度d(或稱為通道數量)。
卷積層L1可依據一或多個卷積核對輸入資料d_i進行卷積運算而產生特徵圖FM1。卷積層L2可依據一或多個卷積核對特徵圖FM1進行卷積運算而產生特徵圖FM2。卷積層L3可依據一或多個卷積核對特徵圖FM2進行卷積運算而產生特徵圖FM3。上述卷積層L1~L3所使用的卷積核又可稱為權重資料,其可為二維矩陣形式或三維矩陣形式。舉例而言,卷積層L2可依據卷積核WM對特徵圖FM1進行卷積運算。於一些實施例中,卷積核WM的通道數目與特徵圖FM1的深度相同。卷積核WM在特徵圖FM1依據固定步長進行滑動。每當卷積核WM移位,卷積核WM中所包含的每一權重將與特徵圖FM1上重合的區的所有特徵值相乘後相加。由於卷積層L2依據卷積核WM對特徵圖FM1進行卷積運算,因此可產生特徵圖FM2中對應至一個通道的特徵值。圖2僅以單一個卷積核WM為示範例進行說明,但卷積層L2實際上可依據多個卷積核對特徵圖FM1進行卷積運算,以產生具有多個通道的特徵圖FM2。
圖3是依照本發明一實施例的卷積運算的示意圖。請參照圖3,假設某一層卷積層對前層所產生的特徵圖FM_i進行卷積運算,且假設該層卷積層具有5個卷積核WM_1~WM_5。這些卷積核WM_1~WM_5為該卷積層的權重資料。特徵圖FM_i具有高度H1、寬度W1以及M個通道。卷積核WM_1~WM_5具有高度H2、寬度W2以及M個通道。該卷積層使用卷積核WM_1與特徵圖FM_i進行卷積運算,可獲取特徵圖FM_(i+1)中屬於第一個通道的子特徵圖31。該卷積層使用卷積核WM_2與特徵圖FM_i進行卷積運算,可獲取特徵圖FM_(i+1)中屬於第二個通道的子特徵圖32。依此類推。基於此卷積層具有5個卷積核WM_1~WM_5,因而可產生卷積核WM_1~WM_5分別對應的子特徵圖31~35,從而產生具有高度H3、寬度W3以及5個通道的特徵圖FM_(i+1)。
基於圖2與圖3的說明可知,用以執行卷積神經網路運算的處理裝置110需要依據權重資料進行卷積運算。於一些實施例中,這些權重資料可預先儲存於外部記憶體120或其他儲存裝置。外部記憶體120可將這些權重資料提供給處理裝置110。亦即,內建於處理裝置110的內部記憶體可用以儲存外部記憶體120所提供的權重資料。
圖4是依照本發明一實施例的處理裝置的示意圖。請參照圖4,處理裝置110可包括內部記憶體111、計算電路112,以及控制器113。內部記憶體111又稱為晶片內建記憶體。內部記憶體111耦接計算電路112。於一些實施例中,內部記憶體111的儲存容量小於外部記憶體120的儲存容量。
計算電路112用以執行卷積神經網路運算中多個層的層運算,其可包括用以完成各種層運算的算術邏輯電路。可知的,計算電路112可包括乘法器陣列、累加器陣列等等用以完成卷積運算的算術邏輯電路。此外,計算電路112可包括權重緩衝器41。權重緩衝器用以暫存內部記憶體111所提供的權重資料,以利計算電路112內的算術邏輯電路可有效率地進行卷積運算。
控制器113可以藉由中央處理器(Central Processing Unit,CPU)、微處理器、特殊應用積體電路(Application-specific integrated circuit, ASIC)、數位訊號處理器(digital signal processor, DSP)或是其他計算電路來實施,其可控制處理裝置110的整體運作。控制器113可管理卷積神經網路運算所需的運算參數,例如權重資料,以使處理裝置110可正常地執行卷積神經網路運算中各個層的運算。
於一些實施例中,控制器113可控制內部記憶體111從外部記憶體120獲取所有卷積層的權重資料。於一些實施例中,控制器113可控制內部記憶體111從外部記憶體120於不同時間點獲取不同卷積層的權重資料。舉例而言,控制器113可控制內部記憶體111從外部記憶體120於第一時間點獲取第一卷積層的權重資料,並控制內部記憶體111從外部記憶體120於第二時間點獲取第二卷積層的權重資料,其中第一時間點相異於第二時間點。於第二時間點,內部記憶體111中第一卷積層的權重資料將被更新為第二卷積層的權重資料。於一些實施例中,控制器113可控制內部記憶體111從外部記憶體120於不同時間點獲取同一卷積層的權重資料的不同部份。舉例而言,控制器113可控制內部記憶體111從外部記憶體120於第一時間點獲取第一卷積層的權重資料的第一部份,並控制內部記憶體11從外部記憶體120於第二時間點獲取相同的第一卷積層的權重資料的第二部份,其中第一時間點相異於第二時間點。
基於前述可知,卷積神經網路運算所需的所有權重資料可一起寫入內部記憶體111,卷積神經網路運算所需的權重資料可分成多個部份而依據於不同時間點寫入內部記憶體111。由此可知,用於儲存卷積神經網路運算的權重資料與中間運算結果(例如各卷積層的特徵圖)的內部記憶體111內的資料會頻繁地更新。基此,於本發明實施例中,在確保內部記憶體111內的權重資料可以被計算電路112取得的情況下,可容許內部記憶體111的記憶胞所記錄的資料隨時間而消逝。亦即,卷積神經網路運算的權重資料於內部記憶體111內保留一段時間即可。
更具體而言,於本發明的實施例中,依據內部記憶體111的記憶胞的電路配置與元件特性,各記憶胞具有對應的資料保留時間。在資料寫入內部記憶體111的某一記憶胞之後,寫入資料可保留於該記憶胞內直至資料保留時間期滿。亦即,記憶胞所記錄的權重資料會在資料保留時間期滿時失效。以下將列舉實施例以清楚說明。
圖5是依照本發明一實施例的內部儲存裝置的示意圖。請參照圖5,內部記憶體111可包括記憶胞陣列51、列解碼器52,以及行解碼器53。記憶胞陣列51中主要是由多條字元線WL與位元線BL以陣列方式交錯排列,而每個交錯點則有一記憶胞(Memory Cell)MC。亦即,記憶胞陣列51包括陣列排列的多個記憶胞MC。這些記憶胞MC是利用電容器的充放電原理來達到記錄資料的目的。當內部記憶體111收到存取列位址(Access Row Address)時,會先經過列解碼器52解碼以致能對應的字元線WL。於是,連接被致能字元線WL的記憶胞MC內的電容器的電荷可流至對應的位元線BL。行解碼器53可依據行位址(column Address)控制行選擇器,以將行位址所對應的資料讀出或寫入。需說明的是,於一些實施例中,記憶胞陣列51中的記憶胞MC可用以儲存一或多個卷積層的權重資料。亦即,一或多個卷積層的權重資料可寫入記憶胞陣列51中的多個記憶胞MC,且一或多個卷積層的權重資料可從記憶胞陣列51中的多個記憶胞MC被讀出。
圖6A是依照本發明一實施例的記憶胞的示意圖。請參照圖6A,記憶胞陣列51中的各記憶胞MC可包括控制電路61與電容器C1。於一些實施例中,控制電路61可包括電晶體M1。電晶體M1的控制端耦接內部記憶體111的字元線WL,且電晶體M1的第一端耦接內部記憶體111的位元線BL,電晶體M1的第二端耦接電容器C1的一端。然而,於其他實施例中,控制電路61還可包括其他電子元件,本發明對此不限制。於一些實施例中,內部記憶體111是利用電容器C1內儲存電荷的多寡來代表一個二進位位元的‘1’或‘0’。
值得注意的是,即使記憶胞MC內的電晶體M1為關閉的狀態,電容器C1所儲存之電荷也會隨時間逐漸消逝,造成資料流失。亦即,電容器C1會有漏電現象,使得其所記錄的資料流失。更詳細而言,控制電路61可具有漏電流路徑,電容器C1內的電荷可能從控制電路61的漏電流路徑漏掉。於本發明的實施例中,各記憶胞MC的資料保留時間是依據漏電流路徑上的漏電流與電容器C1的電容值而決定,其中資料保留時間會大於一預設需求時間。預設需求時間是依據計算電路112的計算速度與計算量而決定。計算電路112的計算速度越高,則預設需求時間越短。計算電路112的計算量越低,則預設需求時間越短。可知的,當預設需求時間越短,記憶胞MC的資料保留時間也可以越短。
圖6B是依照本發明一實施例的記憶胞的示意圖。請參照圖6B,於一些實施例中,記憶胞陣列51中的各記憶胞MC可包括電容器C1、開關SW1、開關SW2、讀出放大器電路Amp1以及寫入放大器電路Amp2。開關SW1的一端耦接電容器C1的一端,而開關SW1的另一端可耦接內部記憶體111的位元線BL。開關SW2的一端耦接電容器C1的一端,開關SW2的另一端耦接讀出放大器電路Amp1的輸入端。電容器C1的另一端可耦接至參考地電壓。讀出放大器電路Amp1的輸出端可耦接內部記憶體111的位元線BL。寫入放大器電路Amp2的輸出端耦接開關SW2的一端與讀出放大器電路Amp1的輸入端,寫入放大器電路Amp2的輸入端耦接內部記憶體111的位元線BL。開關SW1與開關SW2的控制端可耦接內部記憶體111的字元線WL。內部記憶體111是利用電容器C1內儲存電荷的多寡來代表一個二進位位元的‘1’或‘0’。當要將資料寫入電容器C1時,開關SW1或開關SW2可導通,使寫入資料可經由開關SW1或寫入放大器電路Amp2與開關SW2而記錄於電容器C1。當要讀出電容器C1所記錄的資料時,開關SW2可導通,使電容器C1所記錄的資料可經由讀出放大器電路Amp1被讀取。
如圖6B所示,電容器C1會有漏電現象而產生漏電流路徑L1(於此以漏電流源65表示),使得電容器C1所記錄的資料流失。此外,即便SW2沒有導通,開關SW2會有漏電現象而產生漏電流路徑L2(於此以漏電流源66表示),使得電容器C1所記錄的資料流失。於此,漏電流源65與漏電流源66的漏電流準位取決於電容器C1與開關SW2的元件特性。
於一些實施例中,在計算電路112自內部記憶體111獲取一或多個卷積層的權重資料之後,各記憶胞MC所記錄的權重資料在資料保留時間期滿時失效。於此,卷積層的權重資料可包括至少一卷積核中部份或全部權重值。在將權重資料寫入記憶胞MC之後,在記憶胞MC的資料保留時間期間,計算電路112會從記憶胞MC獲取正確的權重資料,並將權重資料暫存於權重緩衝器41以供後續卷積運算使用。並且,在經過記憶胞MC的資料保留時間之後,記憶胞MC內電容器C1的電荷漏失過多導致其所記錄的權重資料已經失效。
於一些實施例中,各記憶胞MC的資料保留時間正相關於電容器C1的電容值。亦即,電容器C1的電容值越小,則記憶胞MC的資料保留時間越短。反之,電容器C1的電容值越大,則記憶胞MC的資料保留時間越長。基此,在確保資料保留時間大於預設需求時間的情況下,即便使用具備小電容值的電容器C1也是可允許的,因而可降低記憶體讀取的功耗與電路面積。
於一些實施例中,各記憶胞MC的資料保留時間負相關於漏電流的電流值。亦即,控制電路61所提供之漏電流路徑上漏電流的電容值越小,則記憶胞MC的資料保留時間越長。反之,控制電路61所提供之漏電流路徑上漏電流的電容值越大,則記憶胞MC的資料保留時間越短。基此,在確保資料保留時間大於預設需求時間的情況下,具備漏電流路徑的控制電路61的電路配置與內部元件設計可以更為彈性。
值得一提的是,相較於傳統的動態隨機存取記憶體,內部記憶體111不需要進入刷新(refresh)模式來對各記憶胞MC進行資料刷新動作。因此,在不具備刷新模式所需之相關電路的情況下,內部記憶體111的電路面積也可因而降低。
此外,基於前述可知,內部記憶體111自外部記憶體120獲取一或多個卷積層的權重資料。若要減少電容器C1的電容值且因而縮減記憶胞MC的資料保留時間,代表內部記憶體111內的權重資料的更新速度要加快。因此,於一些實施例中,卷積神經網路運算所需的權重資料可分批依序寫入處理裝置110的內部記憶體111,以加快權重資料的更新速度。在此情況下,自外部記憶體120獲取卷積層的權重資料的資料量正相關於電容器C1的電容值。
舉例而言,若要使用具備小電容值的電容器C1來降低讀取功耗時,內部記憶體111可先讀取多層卷積層其中一層的權重資料。內部記憶體111可保留多層卷積層其中一層的權重資料直至資料保留時間期滿,且內部記憶體111所記錄的權重資料會於資料保留時間期滿時失效。之後,內部記憶體111再讀取多層卷積層其中另一層的權重資料。相似的,內部記憶體111可保留多層卷積層其中另一層的權重資料直至資料保留時間期滿。
圖7是依照本發明一實施例的資料保留時間的示意圖。請參照圖7,於時間t1,卷積層的權重資料寫入內部記憶體111。例如,多個卷積層其中之一層的一或多個卷積核中的權重值可於時間t1寫入至內部記憶體111。或者,多個卷積層其中之一層的一個卷積核中的部份權重值可於時間t1寫入至內部記憶體111。於時間t2,計算電路112自內部記憶體111讀取卷積層的權重資料。在計算電路112自內部記憶體111獲取卷積層的權重資料之後,於時間點t3,各記憶胞MC所記錄的權重資料在資料保留時間∆T期滿時失效。在記憶胞MC所記錄的權重資料失效之後,於時間點t4,卷積層的其他權重資料寫入的內部記憶體111的記憶胞MC。於時間t5,計算電路112自內部記憶體111讀取卷積層的其他權重資料。於時間點t6,各記憶胞MC所記錄的其他權重資料在資料保留時間∆T期滿時失效。
圖8是依照本發明一實施例的用於執行卷積神經網路運算的處理方法的流程圖。請參照圖8,本實施例的方式適用於圖4之實施例中的處理裝置110,以下即搭配處理裝置110中的各項元件說明本實施例的詳細步驟。
於步驟S801,透過內部記憶體111自外部記憶體120獲取至少一卷積層的權重資料,並執行卷積層的卷積運算。於一些實施例中,處理裝置110可透過內部記憶體111從外部記憶體120於第一時間點獲取第一卷積層的權重資料,並透過內部記憶體111從外部記憶體120於第二時間點獲取第二卷積層的權重資料,其中第一時間點相異於第二時間點。於一些實施例中,處理裝置110可透過內部記憶體111從外部記憶體120於第一時間點獲取第一卷積層的權重資料的第一部份,並透過內部記憶體111從外部記憶體120於獲取第一卷積層的權重資料的第二部份,其中第一時間點相異於第二時間點。
需注意的是,內部記憶體111中各記憶胞所記錄的至少一卷積層的權重資料,例如某一卷積層的所有權重資料或部份權重資料,會在資料保留時間期滿時失效。內部記憶體111中各記憶胞包括控制電路與電容器。此控制電路具有漏電流路徑,各記憶胞的資料保留時間依據漏電流路徑上的漏電流與電容器的電容值而決定。
綜上所述,於本發明實施例中,用以記錄卷積層的權重資料的內部記憶體的記憶胞具有資料保留時間。在經過資料保留時間之後,記憶胞所記錄的權重資料會因為電容器的漏電現象而失效。記憶胞的資料保留時間是依據漏電流與電容器的電容值而決定。基此,在確保記憶胞的資料保留時間大於預設需求時間的情況下,記憶胞可使用具備較小電容值的電容器,因而可降低記憶體讀取的功耗與電路面積。於是,設置於處理裝置內的內部記憶體的電路面積與消耗功率可以減少。
最後應說明的是:以上各實施例僅用以說明本發明的技術方案,而非對其限制;儘管參照前述各實施例對本發明進行了詳細的說明,本領域的普通技術人員應當理解:其依然可以對前述各實施例所記載的技術方案進行修改,或者對其中部分或者全部技術特徵進行等同替換;而這些修改或者替換,並不使相應技術方案的本質脫離本發明各實施例技術方案的範圍。
10:計算系統
110:處理裝置
120:外部記憶體
130:匯流排
d_i:輸入資料
d_o:輸出資料
20:卷積神經網路模型
L1~L3:卷積層
FM1、FM2、FM3、FM_i、FM_(i+1):特徵圖
WM、WM_1~WM_5:卷積核
31~35:子特徵圖
111:內部記憶體
112:計算電路
113:控制器
41:權重緩衝器
51:記憶胞陣列
52:列解碼器
53:行解碼器
WL:字元線
BL:位元線
MC:記憶胞
61:控制電路
M1:電晶體
C1:電容器
SW1, SW2:開關
L1, L2:漏電流路徑
65, 66:漏電流源
Amp1:讀出放大器電路
Amp2:寫入放大器電路
∆T:資料保留時間
t1~t6:時間
S801:流程步驟
圖1是依照本發明一實施例的執行卷積神經網路運算的計算系統的示意圖。
圖2是依照本發明一實施例的卷積神經網路模型的示意圖。
圖3是依照本發明一實施例的卷積運算的示意圖。
圖4是依照本發明一實施例的處理裝置的示意圖。
圖5是依照本發明一實施例的內部儲存裝置的示意圖。
圖6A是依照本發明一實施例的記憶胞的示意圖。
圖6B是依照本發明一實施例的記憶胞的示意圖。
圖7是依照本發明一實施例的資料保留時間的示意圖。
圖8是依照本發明一實施例的用於執行卷積神經網路運算的處理方法的流程圖。
∆T:資料保留時間
t1~t6:時間
Claims (14)
- 一種用於執行卷積神經網路運算的處理裝置,所述卷積神經網路運算包括多個卷積層,所述處理裝置包括:計算電路,執行各所述卷積層的卷積運算;以及內部記憶體,耦接所述計算電路並包括多個記憶胞,並用以儲存所述卷積層的權重資料,其中,各所述記憶胞包括控制電路與電容器,所述控制電路具有漏電流路徑,各所述記憶胞的資料保留時間依據所述漏電流路徑上的漏電流與所述電容器的電容值而決定。
- 如請求項1所述的用於執行卷積神經網路運算的處理裝置,其中在所述計算電路自所述內部記憶體獲取所述卷積層的權重資料之後,各所述記憶胞所記錄的權重資料在所述資料保留時間期滿時失效。
- 如請求項2所述的用於執行卷積神經網路運算的處理裝置,其中在所述記憶胞所記錄的權重資料失效之後,所述卷積層的其他權重資料寫入的所述內部記憶體的所述記憶胞。
- 如請求項1所述的用於執行卷積神經網路運算的處理裝置,其中所述資料保留時間正相關於所述電容器的電容值。
- 如請求項1所述的用於執行卷積神經網路運算的處理裝置,其中所述資料保留時間負相關於所述漏電流的電流值。
- 如請求項1所述的用於執行卷積神經網路運算的處理裝置,其中所述內部記憶體自外部記憶體獲取所述卷積層的權重資料。
- 如請求項6所述的用於執行卷積神經網路運算的處理裝置,其中自外部記憶體獲取所述卷積層的權重資料的資料量正相關於所述電容器的電容值。
- 如請求項1所述的用於執行卷積神經網路運算的處理裝置,其中所述卷積層的權重資料包括至少一卷積核中部份或全部權重值。
- 如請求項1所述的用於執行卷積神經網路運算的處理裝置,其中所述控制電路包括電晶體,所述電晶體的控制端耦接所述內部記憶體的字元線,且所述電晶體的第一端耦接所述內部記憶體的位元線,所述電晶體的第二端耦接所述電容器的一端。
- 如請求項1所述的用於執行卷積神經網路運算的處理裝置,其中所述計算電路包括權重緩衝器,所述內部記憶體將所述卷積層的權重資料提供給所述權重緩衝器。
- 如請求項1所述的用於執行卷積神經網路運算的處理裝置,其中所述計算電路用於分析指紋感測裝置所感測的指紋圖像或掌紋圖像。
- 一種用於執行卷積神經網路運算的處理方法,適用於包括一內部記憶體的處理裝置,所述方法包括:透過所述內部記憶體自一外部記憶體獲取至少一卷積層的權 重資料,並執行所述卷積層的卷積運算,其中所述內部記憶體包括多個記憶胞,各所述記憶胞包括控制電路與電容器,所述控制電路具有漏電流路徑,各所述記憶胞的資料保留時間依據所述漏電流路徑上的漏電流與所述電容器的電容值而決定。
- 如請求項12所述的用於執行卷積神經網路運算的處理方法,其中透過所述內部記憶體自所述外部記憶體獲取所述至少一卷積層的權重資料的步驟包括:透過所述內部記憶體從所述外部記憶體於第一時間點獲取第一卷積層的權重資料,並透過所述內部記憶體從所述外部記憶體於第二時間點獲取第二卷積層的權重資料,其中所述第一時間點相異於所述第二時間點。
- 如請求項12所述的用於執行卷積神經網路運算的處理方法,其中透過所述內部記憶體自所述外部記憶體獲取所述至少一卷積層的權重資料的步驟包括:透過所述內部記憶體從所述外部記憶體於第一時間點獲取第一卷積層的權重資料的第一部份,並透過所述內部記憶體從所述外部記憶體於第二時間點獲取所述第一卷積層的權重資料的第二部份,其中所述第一時間點相異於所述第二時間點。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US202063019965P | 2020-05-04 | 2020-05-04 | |
US63/019,965 | 2020-05-04 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW202143116A TW202143116A (zh) | 2021-11-16 |
TWI751931B true TWI751931B (zh) | 2022-01-01 |
Family
ID=75930528
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW110203034U TWM614073U (zh) | 2020-05-04 | 2021-03-22 | 用於執行卷積神經網路運算的處理裝置 |
TW110110149A TWI751931B (zh) | 2020-05-04 | 2021-03-22 | 用於執行卷積神經網路運算的處理裝置與處理方法 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW110203034U TWM614073U (zh) | 2020-05-04 | 2021-03-22 | 用於執行卷積神經網路運算的處理裝置 |
Country Status (3)
Country | Link |
---|---|
CN (1) | CN112836815A (zh) |
TW (2) | TWM614073U (zh) |
WO (1) | WO2021223528A1 (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113570034B (zh) * | 2021-06-18 | 2022-09-27 | 北京百度网讯科技有限公司 | 处理装置、神经网络的处理方法及其装置 |
US20230068645A1 (en) * | 2021-08-27 | 2023-03-02 | Taiwan Semiconductor Manufacturing Company, Ltd. | Memory device and method for computing-in-memory (cim) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8600919B2 (en) * | 2008-08-28 | 2013-12-03 | Massachusetts Institute Of Technology | Circuits and methods representative of spike timing dependent plasticity of neurons |
CN105760930A (zh) * | 2016-02-18 | 2016-07-13 | 天津大学 | 用于aer的多层脉冲神经网络识别*** |
CN106503796A (zh) * | 2015-10-08 | 2017-03-15 | 上海兆芯集成电路有限公司 | 多运算神经网络单元 |
CN107844830A (zh) * | 2016-12-08 | 2018-03-27 | 上海兆芯集成电路有限公司 | 具有数据大小和权重大小混合计算能力的神经网络单元 |
TW201843904A (zh) * | 2017-05-03 | 2018-12-16 | 日商半導體能源硏究所股份有限公司 | 神經網路、蓄電系統、車輛及電子裝置 |
TW201939516A (zh) * | 2018-03-14 | 2019-10-01 | 美商超捷公司 | 用於程式化深度學習人工類神經網路中的類比神經記憶體之方法及設備 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107203808B (zh) * | 2017-05-08 | 2018-06-01 | 中国科学院计算技术研究所 | 一种二值卷积装置及相应的二值卷积神经网络处理器 |
US11256977B2 (en) * | 2017-12-29 | 2022-02-22 | Facebook, Inc. | Lowering hardware for neural networks |
CN108764467B (zh) * | 2018-04-04 | 2021-08-17 | 北京大学深圳研究生院 | 用于卷积神经网络卷积运算和全连接运算电路 |
CN110880038B (zh) * | 2019-11-29 | 2022-07-01 | 中国科学院自动化研究所 | 基于fpga的加速卷积计算的***、卷积神经网络 |
-
2021
- 2021-03-22 TW TW110203034U patent/TWM614073U/zh unknown
- 2021-03-22 WO PCT/CN2021/082078 patent/WO2021223528A1/zh active Application Filing
- 2021-03-22 TW TW110110149A patent/TWI751931B/zh active
- 2021-03-22 CN CN202110302412.0A patent/CN112836815A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8600919B2 (en) * | 2008-08-28 | 2013-12-03 | Massachusetts Institute Of Technology | Circuits and methods representative of spike timing dependent plasticity of neurons |
CN106503796A (zh) * | 2015-10-08 | 2017-03-15 | 上海兆芯集成电路有限公司 | 多运算神经网络单元 |
CN105760930A (zh) * | 2016-02-18 | 2016-07-13 | 天津大学 | 用于aer的多层脉冲神经网络识别*** |
CN107844830A (zh) * | 2016-12-08 | 2018-03-27 | 上海兆芯集成电路有限公司 | 具有数据大小和权重大小混合计算能力的神经网络单元 |
TW201843904A (zh) * | 2017-05-03 | 2018-12-16 | 日商半導體能源硏究所股份有限公司 | 神經網路、蓄電系統、車輛及電子裝置 |
TW201939516A (zh) * | 2018-03-14 | 2019-10-01 | 美商超捷公司 | 用於程式化深度學習人工類神經網路中的類比神經記憶體之方法及設備 |
Also Published As
Publication number | Publication date |
---|---|
CN112836815A (zh) | 2021-05-25 |
WO2021223528A1 (zh) | 2021-11-11 |
TW202143116A (zh) | 2021-11-16 |
TWM614073U (zh) | 2021-07-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11501109B2 (en) | Non-volatile memory die with on-chip data augmentation components for use with machine learning | |
US11687454B2 (en) | Memory circuit and cache circuit configuration | |
TWI766568B (zh) | 用於執行卷積神經網路運算的處理裝置與其操作方法 | |
TWI751931B (zh) | 用於執行卷積神經網路運算的處理裝置與處理方法 | |
US20200401344A1 (en) | Storage controller having data augmentation components for use with non-volatile memory die | |
US11107531B2 (en) | Search circuits, hammer address management circuits, and memory systems including the same | |
JPH1145590A (ja) | プロセス変量による多論理値記憶用メモリ回路及び方法 | |
CN114647372A (zh) | 存储器***及其操作方法 | |
CN116030858A (zh) | 存储设备以及用于控制行锤击的方法 | |
CN115985380A (zh) | 一种基于数字电路控制的FeFET阵列数据校验方法 | |
US11567690B2 (en) | Semiconductor memory device and electronic system the same | |
US11942137B2 (en) | Memory controller and memory system including the same | |
CN110085270B (zh) | 存储运算电路模块及处理器 | |
US20220277778A1 (en) | Nonvolatile memory device, operating method of nonvolatile memory device, and electronic device including nonvolatile memory device | |
CN116092547A (zh) | 存储器装置、存储器***及该存储器装置的操作方法 | |
US11380390B2 (en) | Memory device, and electronic device including the same | |
CN115910146A (zh) | 存储器装置和存储器装置的操作方法 | |
US11062773B2 (en) | Near-memory computation system for analog computing | |
JPH0419710B2 (zh) | ||
US20230395132A1 (en) | Sram cell configured to perform multiply-accumulate (mac) operation on multi-bit data based on charge sharing and method of operating the same | |
US20240071479A1 (en) | Sram including reference voltage generator and read method thereof | |
KR102689357B1 (ko) | 반도체 메모리 장치 및 이를 포함하는 전자 시스템 | |
US20230195327A1 (en) | Memory system and method of operating the same | |
US20240096391A1 (en) | Memory devices and methods thereof for managing row hammer events therein | |
KR102602695B1 (ko) | 고대역폭 메모리 및 시스템 |