TW202029065A - 積體電路、神經網路處理器與裝置以及資料處理方法 - Google Patents

積體電路、神經網路處理器與裝置以及資料處理方法 Download PDF

Info

Publication number
TW202029065A
TW202029065A TW108130337A TW108130337A TW202029065A TW 202029065 A TW202029065 A TW 202029065A TW 108130337 A TW108130337 A TW 108130337A TW 108130337 A TW108130337 A TW 108130337A TW 202029065 A TW202029065 A TW 202029065A
Authority
TW
Taiwan
Prior art keywords
data
neural network
circuit
feature map
extracted
Prior art date
Application number
TW108130337A
Other languages
English (en)
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 TW202029065A publication Critical patent/TW202029065A/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/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • G06F13/1673Details of memory controller using buffers
    • 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/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/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/044Recurrent networks, e.g. Hopfield 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/047Probabilistic or stochastic networks

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 Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Health & Medical Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Linguistics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • Neurology (AREA)
  • Image Analysis (AREA)

Abstract

一種積體電路、神經網路處理器、神經網路裝置以及資料處理方法。積體電路包含於用於執行神經網路運算的裝置中,所述積體電路包括:緩衝器,被配置成以各自包含至少一個特徵的胞元為單位來儲存特徵圖資料,其中所述特徵圖資料是在所述神經網路運算中使用;以及多工電路,被配置成從所述緩衝器接收所述特徵圖資料,並通過提取包含於所接收的所述特徵圖資料中多個胞元內的特徵中的一者的特徵資料來輸出所提取資料,所述特徵各自對應於相同座標值。

Description

積體電路、神經網路處理器與裝置以及資料處理方法
發明概念涉及積體電路(IC)、神經網路處理器及神經網路裝置,且更具體來說,涉及用於提取進行神經網路運算所必需的資料的IC、一種神經網路處理器及一種神經網路裝置。 [相關專利申請的交叉參考]
本發明主張2018年9月7日在韓國智慧財產權局提出申請的第10-2018-0107391號韓國專利申請的權利,所述韓國專利申請的公開內容全部併入本文中供參考。
神經網路是指類比生物大腦的計算架構。近來,隨著神經網路技術開發,正在積極地進行其中使各種電子系統利用神經網路裝置來分析輸入資料並提取有效資訊的研究,所述神經網路裝置使用一個或多個神經網路模型。
關於複雜的輸入資料,神經網路裝置需要進行數目巨大的運算。因此,為使得神經網路裝置能夠即時地分析輸入並提取資訊,需要可高效地處理神經網路運算的技術。
由於神經網路裝置需要對複雜的輸入資料執行運算,因此需要一種用於利用數目較小的資源及/或較小的功率消耗,從數量龐大的複雜輸入資料有效地提取進行神經網路運算所必需的資料的方法及設備。
本發明概念提供一種用於在積體電路(integrated circuit,IC)、神經網路處理器及神經網路裝置中利用數目較小的資源及/或較小的功率消耗來高效地提取進行神經網路運算所必需的資料的方法及設備。
根據本發明概念的方面,提供一種包含於用於執行神經網路運算的裝置中的積體電路,所述積體電路包括:緩衝器,被配置成以各自包含至少一個特徵的胞元為單位來儲存特徵圖資料,其中所述特徵圖資料是在所述神經網路運算中使用;以及多工電路,被配置成從所述緩衝器接收所述特徵圖資料,並通過提取包含於所接收的所述特徵圖資料中多個胞元內的特徵中的一者的特徵資料來輸出所提取資料,所述特徵各自對應於相同座標值。
所述多工電路可包括:第一多工電路,包括多工器,所述多工器用於提取包含於所述多個胞元中且各自與第一座標值對應的特徵中的一者的特徵資料且被配置成基於所提取的所述特徵資料來輸出第一資料;以及第二多工電路,包括多個多工器,所述多個多工器用於從所述第一多工電路接收所述第一資料並使所接收的所述第一資料沿垂直方向或水平方向旋轉。
根據本發明概念的另一方面,提供一種被配置成執行神經網路運算的神經網路處理器,所述神經網路處理器包括:內部記憶體,被配置成從所述神經網路處理器以外接收外部資料並基於所述外部資料來儲存資料及/或權重;資料提取電路,被配置成從所述內部記憶體接收資料,以胞元為單位將所接收的所述資料儲存為特徵圖資料,將所述特徵圖資料中所包含的特徵分類成多個群組,並通過從所述多個群組中的每一者提取一個特徵的特徵資料來輸出所提取資料,其中所述多個群組中的每一者包含被包含於所述特徵圖資料中所包含的多個胞元中的特徵,所述特徵各自對應於相同座標值;以及算術電路,被配置成利用由所述資料提取電路提供的所述所提取資料來執行所述神經網路運算。
根據本發明概念的另一方面,提供一種由被配置成執行神經網路運算的神經網路處理器執行的資料處理方法,所述資料處理方法包括:以各自包含至少一個特徵的胞元為單位來儲存用於所述神經網路運算的特徵圖資料;以及通過針對多個座標值提取包含於所述特徵圖資料中所包含的多個胞元中的特徵中的一者的特徵資料來產生具有矩陣形式的第一資料,所述特徵各自對應於相同座標值;通過對所述第一資料的列及/或行進行重新排列來產生供在所述神經網路運算中使用的所提取資料;以及通過利用所述所提取資料來執行所述神經網路運算,其中對所述神經網路運算的所述執行是由算術電路執行。
根據本發明概念的另一方面,提供一種被配置成執行神經網路運算的神經網路裝置,所述神經網路裝置包括:至少一個智慧財產權(Intellectual Property,IP);以及神經網路處理器,被配置成經由系統匯流排與所述至少一個IP進行通信且通過基於由所述至少一個IP提供的輸入資料執行包括卷積運算在內的所述神經網路運算來輸出資訊信號,其中所述神經網路處理器被配置成將所述輸入資料劃分成多個胞元,將所述輸入資料儲存為輸入特徵圖,並通過提取包含於所述多個胞元中的特徵中的一者的特徵資料來產生供在所述卷積運算中使用的所提取資料,所述特徵各自對應於第一座標值。
根據本發明概念的另一方面,提供一種包含於用於利用從特徵圖資料提取的所提取資料來執行神經網路運算的裝置中的積體電路,所述積體電路包括:緩衝器,被配置成以各自包含至少一個特徵的胞元為單位來儲存所述特徵圖資料;第一多工電路,被配置成利用數目小於或等於每一胞元中所包含的所述至少一個特徵的數目的多工器來從所述特徵圖資料提取第一資料,其中所述第一資料包含所述所提取資料中所包含的所有各條特徵資料;以及第二多工電路,被配置成通過利用數目小於或等於所述第一資料的列的數目與所述第一資料的行的數目之和的多工器對所述第一資料的所述列及/或所述行進行重新排列來產生所述所提取資料。
在下文中,將參照附圖更全面地闡述本發明概念,在附圖中示出本發明概念的示例性實施例。
圖1是根據本發明概念實施例的神經網路裝置10的方塊圖。神經網路裝置10可包括一個或多個智慧財產權(IP)及/或神經網路積體電路(IC)100。舉例來說,神經網路裝置10可包括第一IP IP1至第三IP IP3及神經網路IC 100。神經網路裝置10可被設計成在半導體系統中執行各種功能,且舉例來說,神經網路裝置10可為應用處理器。神經網路裝置10可基於神經網路來即時地分析輸入資料並提取有效資訊,且基於所提取的有效資訊,可確定情形或控制所述IP中的至少一者。舉例來說,神經網路裝置10可用於無人機、機器人設備(例如高級駕駛員輔助系統(advanced driver assistance system,ADAS))、智慧電視機(television,TV)、智慧型電話、醫療裝置、移動裝置、圖像顯示裝置、測量裝置、物聯網(Internet of Things,IoT)裝置等中,且另外,可用於各種電子裝置中的至少一種中。
神經網路裝置10可包括各種IP。舉例來說,所述IP可包括處理單元、所述處理單元中所包括的多個核心、多格式編碼器(Multi-Format Codec,MFC)、視頻模組(例如,照相機介面、聯合攝影專家組(Joint Photographic Experts Group,JPEG)處理器、視頻處理器、或混頻器)、三維(three-dimensional,3D)圖形核心、音訊系統、驅動器、顯示驅動器、揮發性記憶體、非揮發性記憶體、記憶體控制器、輸入與輸出介面塊、及/或高速緩衝記憶體。第一IP IP1至第三IP IP3中的每一者可包括各種IP中的至少一種。
用於連接各IP的技術的實例涉及基於系統匯流排的連接方法。舉例來說,可採用高級精簡指令集電腦機器(Advanced RISC(Reduced Instruction Set Computer)Machine,ARM)的高級微控制器匯流排架構(Advanced Microcontroller Bus Architecture,AMBA)協定來作為標準匯流排規範。AMBA協定的匯流排類型的實例可包括高級高性能匯流排(Advanced High-Performance Bus,AHB)、高級週邊匯流排(Advanced Peripheral Bus,APB)、高級可擴展介面(Advanced eXtensible Interface,AXI)、AXI4、及AXI一致性擴展(AXI Coherency Extensions,ACE)。上述匯流排類型中的AXI是各IP之間的介面協定,且可提供多未確認位址功能(multiple outstanding address function)、資料交錯功能(data interleaving function)等。除所述匯流排類型之外,其他類型的協議(例如索尼克公司(SONICs Inc.)的uNetwork、IBM的CoreConnect、及OCP-IP的開放核心協定(Open Core Protocol))也適用於系統匯流排。
神經網路IC 100可產生神經網路,可訓練(或學習)所述神經網路,可基於所接收的輸入資料來執行計算並基於所述計算的結果來產生資訊信號,或者可重新訓練所述神經網路。所述神經網路可包括各種類型的模型,例如卷積神經網路(convolution neural network,CNN)(例如,GoogleNet、AlexNet及VGG網路)、具有卷積神經網路的區域(a region with a convolution neural network,R-CNN)、區域提議網路(region proposal network,RPN)、迴圈神經網路(recurrent neural network,RNN)、基於堆疊的深度神經網路(stacking-based deep neural network,S-DNN)、狀態空間動態神經網路(state-space dynamic neural network,S-SDNN)、解卷積網路、深度信念網路(deep belief network,DBN)、受限玻耳茲曼機(restricted Boltzman machine,RBM)、完全卷積網路、長短期記憶體(long short-term memory,LSTM)網路、及分類網路,但各實施例並非僅限於此。神經網路IC 100可包括用於根據神經網路的模型來執行計算的一個或多個處理器。神經網路IC 100還可包括用於儲存與神經網路的模型對應的程式的專用記憶體(圖中未示出)。神經網路IC 100可被稱為神經網路處理裝置、神經網路處理器、神經網路處理單元(neural network processing unit,NPU)等。
神經網路IC 100可經由系統匯流排從所述一個或多個IP接收各種輸入資料,且可基於輸入資料來產生資訊信號。舉例來說,神經網路IC 100可通過對輸入資料執行神經網路運算來產生資訊信號,且神經網路運算可包括卷積運算。稍後將參照圖4A及圖4B來詳細闡述神經網路IC 100的卷積運算。由神經網路IC 100產生的資訊信號可包括例如以下各種識別信號中的一種:話音識別信號、物件識別信號、圖像識別信號、及/或生物資訊識別信號。舉例來說,神經網路IC 100可接收視頻流中所包含的幀資料作為輸入資料,且可依據所述幀資料而產生關於由所述幀資料表示的圖像中所包含的物件的識別信號。然而,各實施例並非僅限於此,並且神經網路IC 100可接收各種輸入資料且可根據所述輸入資料來產生識別信號。
在根據本發明概念實施例的神經網路裝置10中,神經網路IC 100可基於由所述一個或多個IP提供的輸入資料而以胞元(cell)為單位將輸入特徵圖資料儲存在緩衝器中。每一胞元可包含至少一個特徵。神經網路IC 100可通過提取各自與相同座標值對應且分別包含於輸入特徵圖資料中所包含的多個胞元中的特徵中的一者的特徵資料來產生輸入提取資料(input extracted data)。換句話說,神經網路IC 100可通過提取分別包含於所述多個胞元中且與輸入提取資料的第一座標值對應的特徵中的一者的特徵資料來產生與所述第一座標值對應的值。根據實施例,神經網路IC 100可基於所提取特徵資料來產生第一資料,且可通過使第一資料沿垂直方向及/或水平方向旋轉來產生輸入提取資料。神經網路IC 100可通過將輸入提取資料乘以權重值來執行卷積。如上所述,神經網路IC 100可利用小型多工器通過提取分別包含於所述多個胞元中的特徵中的一者的特徵資料來提取進行計算所必需的資料,所述特徵各自對應於相同座標值。因此,神經網路IC 100的資料提取速度可提高,且資料提取的功率消耗可降低。此外,神經網路裝置10的運行速度可提高,或者神經網路裝置10可消耗較少的功率。詳細地說,由於可利用與傳統技術相比小數目的多工器來實現神經網路IC 100,因此神經網路IC 100可在被實現為晶片時減少由多工器佔據的面積,且因此在設計方面為有益的。圖2是根據本發明概念實施例的神經網路裝置10的方塊圖。具體來說,圖2是圖1所示神經網路裝置10的示例性實施例。因此,本文不再對神經網路裝置10的與參照圖1所作說明相同的說明予以贅述。
神經網路裝置10可包括隨機存取記憶體(random access memory,RAM)200、處理器300、記憶體400、及/或感測器模組500。
根據實施例,神經網路IC 100可為NPU。
RAM 200可臨時儲存程式、資料或指令。舉例來說,在處理器300的控制下或視引導代碼(booting code)而定,記憶體400中所儲存的程式及/或資料可臨時儲存在RAM 200中。可利用動態隨機存取記憶體(dynamic random access memory,DRAM)或靜態隨機存取記憶體(static random access memory,SRAM)來實現RAM 200。
處理器300可控制神經網路裝置10的總體操作。舉例來說,處理器300可為中央處理單元(central processing unit,CPU)。處理器300可包括單個處理器核心或多個處理器核心。處理器300可處理或執行RAM 200及記憶體400中所儲存的程式及/或資料。舉例來說,處理器300可通過執行記憶體400中所儲存的程式來控制神經網路裝置10的功能。
記憶體400是用於儲存資料的儲存裝置,且可儲存例如作業系統(operating system,OS)、各種程式及各種資料。記憶體400可為但不限於DRAM。記憶體400可包括揮發性記憶體及非揮發性記憶體中的至少一者。非揮發性記憶體可包括唯讀記憶體(read only memory,ROM)、可程式設計ROM(programmable ROM,PROM)、電可程式設計ROM(electrically programmable ROM,EPROM)、電可擦除可程式設計ROM(electrically erasable and programmable ROM,EEPROM)、快閃記憶體、相變RAM(phase-change RAM,PRAM)、磁性RAM(magnetic RAM,MRAM)、電阻性RAM(resistive RAM,RRAM)、鐵電性RAM(ferroelectric RAM,FRAM)等。揮發性記憶體可包括DRAM、SRAM、同步DRAM(synchronous DRAM,SDRAM)、PRAM、MRAM、RRAM、鐵電性RAM(ferroelectric RAM,FeRAM)等。根據實施例,記憶體400可包括以下中的至少一者:硬碟驅動器(hard disk drive,HDD)、固態驅動器(solid state drive,SSD)、壓縮快閃記憶體(compact flash,CF)、安全數位(secure digital,SD)卡、微型安全數位(micro-secure digital,Micro-SD)卡、小型安全數位(mini-secure digital,Mini-SD)卡、極速數位(extreme digital,xD)卡、及儲存棒(memory Stick)。
感測器模組500可收集關於神經網路裝置10的附近的資訊。感測器模組500可從神經網路裝置10以外感測或接收圖像信號,並將所感測到或所接收到的圖像信號轉換成圖像資料,即圖像幀。為此,感測器模組500可包括感測設備,即,例如拍攝設備、圖像感測器、光檢測與測距(light detection and ranging,LIDAR)感測器、超聲波感測器及紅外感測器等各種感測設備中的至少一者,或者可從感測設備接收感測信號。根據實施例,感測器模組500可將圖像幀提供到神經網路IC 100。舉例來說,感測器模組500可包括圖像感測器,且可拍攝神經網路裝置10的外部環境以產生視頻流,並且可依序將視頻流的連續圖像幀提供到神經網路IC 100。
在根據本發明概念實施例的神經網路裝置10中,神經網路IC 100可基於由所述一個或多個IP提供的輸入資料而以胞元為單位將輸入特徵圖資料儲存在緩衝器中。每一胞元可包含至少一個特徵。神經網路IC 100可通過提取各自與相同座標值對應且包含於輸入特徵圖資料中所包含的多個胞元中的特徵中的一者的特徵資料來產生輸入提取資料。換句話說,神經網路IC 100可通過提取分別包含於所述多個胞元中且與輸入提取資料的第一座標值對應的特徵中的一者的特徵資料來產生與所述第一座標值對應的值。根據實施例,神經網路IC 100可基於所提取特徵資料來產生第一資料,且可通過使第一資料沿垂直方向及/或水平方向旋轉來產生輸入提取資料。神經網路IC 100可通過將輸入提取資料乘以權重值來執行卷積。如上所述,神經網路IC 100可利用小型多工器通過提取各自與相同座標值對應且分別包含於所述多個胞元中的特徵中的一者的特徵資料來提取進行計算所必需的資料。因此,神經網路IC 100的資料提取速度可提高,且資料提取的功率消耗可降低。此外,神經網路裝置10的運行速度可提高,或者神經網路裝置10可消耗較少的功率。詳細地說,由於可利用與傳統技術相比小數目的多工器來實現神經網路IC 100,因此神經網路IC 100可在被實現為晶片時減少由多工器佔據的面積,且因此在設計方面為有益的。
圖3示出卷積神經網路的結構作為神經網路結構的實例。神經網路NN可包括多個層L1至Ln。所述多個層L1至Ln中的每一者可為線性層或非線性層。根據實施例,至少一個線性層耦接到至少一個非線性層,且可通過一個層來表示耦接的結果。舉例來說,線性層可包括卷積層、完全連接層,且非線性層可包括池化層及啟動層。
舉例來說,第一層L1可為卷積層,第二層L2可為池化層,且第n層可為作為輸出層的完全連接層。神經網路NN可進一步包括啟動層,且可進一步包括被配置成執行其他種類的操作的層。
所述多個層L1至Ln中的每一者可接收從輸入資料(例如,圖像幀)或前一層產生的特徵圖作為輸入特徵圖,並對所述輸入特徵圖執行運算以產生輸出特徵圖或識別信號REC。在實施例中,所述特徵圖表示其中表達了輸入資料的各種特徵的資料。第一特徵圖FM1、第二特徵圖FM2、第三特徵圖FM3至第n特徵圖FMn可例如各自具有二維(two-dimensional,2D)矩陣形式或三維(three-dimensional,3D)矩陣(或被稱為張量(tensor))形式。第一特徵圖FM1、第二特徵圖FM2、第三特徵圖FM3至第n特徵圖FMn中的每一者可具有寬度W(或被稱為行)、高度H(或被稱為列)、及深度D。這些參數可分別對應於坐標系上的x軸、y軸及z軸。在實施例中,深度D可由通道的數目表示。
第一層L1可對第一特徵圖FM1與權重圖WM執行卷積,以產生第二特徵圖FM2。權重圖WM可對第一特徵圖FM1進行過濾,且可由篩檢程式或內核表示。權重圖WM的深度(即,權重圖WM的通道的數目)與第一特徵圖FM1的深度(即,通道的數目)相同,且可對權重圖WM與第一特徵圖FM1的相同的通道執行卷積。可利用第一輸入特徵圖FM1作為滑動窗(sliding window)而使權重圖WM以交叉方式移位元。移位量可由“步長(stride length)”或“步幅(stride)”表示。在每次移位期間,可將權重圖WM中所包含的權重與第一特徵圖FM1的與權重圖WM交疊的一部分的所有各條特徵資料相乘,並再進行相加。第一特徵圖FM1的所述一部分的與權重圖WM中所包含的權重值交疊的所述各條特徵資料可被稱為所提取資料。在對第一特徵圖FM1與權重圖WM執行卷積時,可產生第二特徵圖FM2的一個通道。雖然圖3示出一個權重圖WM,但實際上可對多個權重圖與第一特徵圖FM1執行卷積,且因此,可產生第二特徵圖FM2的多個通道。換句話說,第二特徵圖FM2的通道的數目可對應於權重圖WM的數目。
第二層L2可通過利用池化(pooling)來改變第二特徵圖FM2的空間大小而產生第三特徵圖FM3。池化可由採樣或下採樣(down-sampling)表示。可使2D池化窗PW在第二特徵圖FM2上以池化窗PW的大小為單位而移位元,且可選擇第二特徵圖FM2的與池化窗PW交疊的一部分的各條特徵資料中的最大值(或作為另一選擇,各條特徵資料的平均值)。因此,可從第二特徵圖FM2產生空間大小已改變的第三特徵圖FM3。第三特徵圖FM3的通道的數目與第二特徵圖FM2的通道的數目相同。
第n層Ln可將第n特徵圖FMn的各特徵組合,以分類出輸入資料的類別CL。第n層可產生與所述類別對應的識別信號REC。根據實施例,輸入資料可對應於視頻流中所包含的幀資料,且第n層Ln可通過基於從前一幀提供的第n特徵圖FMn提取與由所述幀資料表示的圖像中所包含的物件對應的類別,來識別所述物件並產生與所識別物件對應的識別信號REC。
圖4A及圖4B是用於解釋神經網路的卷積運算的示意圖。
參照圖4A,輸入特徵圖201可包含D個通道,且每一通道的輸入特徵圖可具有為H的行大小及為W的列大小(其中D、H及W為自然數)。內核202中的每一者可具有為R的行大小及為S的列大小,且內核202可包含數目與輸入特徵圖201的通道的數目D(或深度)對應的通道,其中R及S是自然數。輸出特徵圖203可通過輸入特徵圖201與內核202之間的3D卷積運算而被產生,且根據所述3D卷積運算而可包含Y個通道。
可參照圖4B來闡述通過一個輸入特徵圖與一個內核之間的2D卷積運算來產生輸出特徵圖的過程,且可對全部通道的輸入特徵圖201與全部通道的內核202執行圖4B所示2D卷積運算,並且因此可產生全部通道的輸出特徵圖203。
參照圖4B,為方便解釋,假設輸入特徵圖210具有6×6大小,原始內核220具有3×3大小,且輸出特徵圖230具有4×4大小,但各實施例並非僅限於此。可利用各種大小的特徵圖及各種大小的內核來實現神經網路。在輸入特徵圖210、原始內核220及輸出特徵圖230中所定義的值均為示例性值,且本發明概念的實施例並非僅限於此。
原始內核220可在以3×3大小的窗為單位而在輸入特徵圖210上滑動的同時執行卷積運算。所述卷積運算可表示通過以下來計算輸出特徵圖230的每一特徵資料的運算:首先將輸入特徵圖210的窗的各條特徵資料分別乘以原始內核220上與所述各條特徵資料對應的位置處的權重值,且接著將乘法的結果相加。輸入特徵圖210的窗中所包含的被乘以權重值的所述各條特徵資料可被稱為從輸入特徵圖210提取的所提取資料。詳細地說,原始內核220可首先與輸入特徵圖210的第一所提取資料211一起經歷卷積。換句話說,可將第一所提取資料211的各條特徵資料1、2、3、4、5、6、7、8及9分別乘以原始內核220的權重值-1、-3、4、7、-2、-1、-5、3及1,且因此,可獲得-1、-6、12、28、-10、-6、-35、24及9。接下來,可將所獲得的值-1、-6、12、28、-10、-6、-35、24及9相加以得到15,且可將輸出特徵圖230的第一列及第一行上的特徵資料231確定為15。輸出特徵圖230的第一列及第一行上的特徵資料231對應於第一所提取資料211。類似地,可對輸入特徵圖210的第二所提取資料212與原始內核220執行卷積,且因此,可將輸出特徵圖230的第一列及第二行上的特徵資料232確定為4。最終,可對第十六所提取資料213(其為輸入特徵圖210的最後一個所提取資料)與原始內核220執行卷積,且因此,可將輸出特徵圖230的第四列及第四行上的特徵資料233確定為11。
換句話說,可通過重複在輸入特徵圖210的所提取資料與原始內核220的權重值之間進行乘法,並將乘法的結果相加來實現對單個輸入特徵圖210與單個原始內核220的卷積,且作為卷積的結果,可產生輸出特徵圖230。
參照圖1、圖4A及圖4B,神經網路IC 100可基於從所述一個或多個IP接收的輸入資料來產生輸入特徵圖,且可從所述輸入特徵圖提取被直接乘以權重值的資料。為此,神經網路IC 100可包括至少一個多工器(multiplexer,MUX),且可利用所述至少一個多工器而從輸入特徵圖中所包含的各條輸入特徵圖資料提取被直接乘以權重值的資料。被直接乘以權重值的資料可被稱為所提取資料。為方便解釋,特徵圖中所包含的多個特徵的值中的每一者現在將被稱為特徵資料,且特徵圖中所包含的多條特徵資料現在將被稱為特徵圖資料。特徵的特徵資料被視為意指所述特徵的特徵值。現在將參照以下附圖來闡述根據本發明概念實施例的從特徵圖或特徵圖資料提取被直接用於計算中的所提取資料的設備及方法。
圖5是根據本發明概念實施例的神經網路IC 100的方塊圖。神經網路IC 100可包括內部記憶體120、資料提取電路140、及/或算術電路160。本文不再對圖5所示神經網路IC 100的與參照圖1及圖2所作說明相同的說明予以贅述。
內部記憶體120可從神經網路IC 100以外接收外部資料。所述外部資料也可被稱為輸入資料。內部記憶體120可儲存所述外部資料、進行計算所必需的各種資料及權重值。為此,內部記憶體120可包括儲存所述各種資料的資料記憶體122、及/或儲存所述權重值的權重記憶體124。資料記憶體122及權重記憶體124可被配置為獨立硬體,但各實施例並非僅限於此。舉例來說,資料記憶體122及權重記憶體124可表示與單個硬體內的不同區對應的記憶體。可使用各種類型的記憶體(例如DRAM、SRAM及SDRAM)來實現資料記憶體122及權重記憶體124中的每一者。
資料提取電路140可基於資料記憶體122中所儲存的資料Data來產生所提取資料Data_ext。資料Data可指示特徵圖資料,且所提取資料Data_ext可指示所述特徵圖資料中所包含的各條資料中進行計算所必需的資料。資料提取電路140可以以胞元為單位將資料Data儲存為特徵圖資料。舉例來說,資料提取電路140可包括以胞元為單位將資料Data儲存為特徵圖資料的緩衝器。每一胞元可包含至少一個特徵。舉例來說,胞元可具有四個特徵×四個特徵的大小。資料提取電路140可通過提取各自與相同座標值對應且分別包含於特徵圖資料中多個胞元內的特徵中的一者的特徵資料來產生所提取資料Data_ext。換句話說,資料提取電路140可提取分別包含於所述多個胞元中且與第一座標值對應的特徵中的一者的特徵資料,且可通過提取與所有座標值對應的各條特徵資料來產生第一資料。根據實施例,資料提取電路140可通過使第一資料沿垂直方向及/或水平方向旋轉來產生所提取資料Data_ext。舉例來說,資料提取電路140可通過改變第一資料的列的次序的至少一部分來使第一資料沿垂直方向旋轉,且可通過改變第一資料的行的次序的至少一部分來使第一資料沿水平方向旋轉。可基於所提取資料Data_ext在特徵圖資料上的位置來確定第一資料沿垂直方向及/或水平方向的旋轉量。換句話說,根據所提取資料Data_ext在特徵圖資料上的位置,資料提取電路140可不改變第一資料的列及行各自的次序。資料提取電路140可將所提取資料Data_ext提供到算術電路160。
算術電路160可從資料提取電路140接收所提取資料Data_ext,且可基於所提取資料Data_ext來執行計算。所述計算可包括例如乘法、加法及互斥或(XOR)運算等各種計算中的至少一種。根據實施例,算術電路160可通過將權重記憶體124中所儲存的權重值乘以與所述權重值對應的所提取資料Data_ext,並接著將乘法的結果相加來執行神經網路IC 100的卷積運算。算術電路160可通過至少一個計算將資訊信號IS輸出到神經網路IC 100以外。
圖6是根據本發明概念實施例的資料提取電路140的方塊圖。資料提取電路140可包括資料緩衝器141、多工電路142、及/或提取控制器149。本文不再對圖6所示資料提取電路140的與參照圖5所作說明相同的說明予以贅述。
資料緩衝器141可基於從資料提取電路140以外接收的資料Data來儲存特徵圖資料D_FM。根據實施例,資料緩衝器141可以以各自包含至少一個特徵的胞元為單位來儲存特徵圖資料D_FM。換句話說,資料緩衝器141可根據多個胞元對特徵圖資料D_FM進行分類並將特徵圖資料D_FM儲存為所述多個胞元。根據實施例,資料提取電路140可進一步包括處理器(圖中未示出)及記憶體(圖中未示出),且所述處理器執行所述記憶體中所儲存的指令以使得資料提取電路140可執行某一操作。舉例來說,資料提取電路140可將特徵圖資料D_FM中所包含的所述多個胞元中的每一者的位址資訊儲存在所述記憶體中,並通過基於所述記憶體中所儲存的位址資訊來存取所述多個胞元而獲得所述多個胞元中所包含的各條特徵資料。
多工電路142可通過從資料緩衝器141中所儲存的特徵圖資料D_FM提取進行計算所必需的各條資料來輸出所提取資料Data_ext。為此,多工電路142可包括至少一個MUX。根據實施例,多工電路142可包括第一多工電路143及/或第二多工電路144。
第一多工電路143可提取特徵圖資料D_FM中所包含的所述多個胞元中所包含的特徵(所述特徵各自對應於相同座標值)中的一者的特徵資料,且可通過提取與所有座標值對應的各條特徵資料來產生第一資料D1。由第一多工電路143執行的產生第一資料D1的操作可被稱為資料提取,且稍後可參照圖7A至圖7C來闡述資料提取。根據實施例,第一多工電路143可包括多個多工器,所述多個多工器中的每一者從數目與特徵圖資料D_FM中所包含的胞元的數目對應的輸入信號中選擇一個輸入信號。舉例來說,當特徵圖資料D_FM包含N(其中N是自然數)個胞元時,第一多工電路143可包括多個N:1多工器。根據實施例,第一多工電路143可包括數目與每一胞元中所包含的特徵的數目對應的“M”個多工器。舉例來說,當每一胞元包含M(其中M是自然數)個特徵時,第一多工電路143可包括M個多工器。換句話說,當特徵圖資料D_FM包含N個胞元且每一胞元包含M個特徵時,第一多工電路143可包括M個N:1多工器。
根據實施例,第一多工電路143可將特徵圖資料D_FM中所包含的特徵分類成多個群組。在實施例中,所述多個群組中的每一者可包含被包含於特徵圖資料D_FM中所包含的所述多個胞元中的特徵,所述特徵各自對應於相同座標值。第一多工電路143可從所述多個群組中的每一者提取一個特徵的特徵資料,且可基於所提取的各條特徵資料來產生第一資料D1。根據實施例,第一資料D1可為呈矩陣形式的資料。
第二多工電路144可基於由第一多工電路143提供的第一資料D1來產生所提取資料Data_ext。舉例來說,第二多工電路144可通過使第一資料D1沿垂直方向及/或水平方向旋轉來產生所提取資料Data_ext。舉例來說,第二多工電路144可通過改變第一資料D1的列的次序來使第一資料D1沿垂直方向旋轉,且可通過改變第一資料D1的行的次序來使第一資料D1沿水平方向旋轉。根據實施例,第二多工電路144可通過使第一資料D1沿垂直方向旋轉並接著使經過垂直旋轉的第一資料沿水平方向旋轉來產生所提取資料Data_ext。然而,各實施例並非僅限於此。根據實施例,第二多工電路144可通過使第一資料D1沿水平方向旋轉並接著使經過水平旋轉的第一資料沿垂直方向旋轉來產生所提取資料Data_ext。根據實施例,可使用單個硬體來實現第二多工電路144,所述單個硬體使第一資料沿垂直方向及水平方向旋轉。基於第一資料D1來產生所提取資料Data_ext的操作可被稱為資料旋轉運算,且稍後可參照圖8A至圖10來更詳細地闡述資料旋轉運算。根據實施例,第二多工電路144可包括數目與通過將第一資料D1的列數與第一資料D1的行數相加而獲得的值對應的多工器。舉例來說,當第一資料D1表示K×L(其中K及L為自然數)矩陣形式時,第二多工電路144可包括(K+L)個多工器。詳細地說,第二多工電路144可包括用於垂直旋轉的K個多工器及用於水平旋轉的L個多工器。
提取控制器149可產生用於控制多工電路142中所包括的至少一個多工器的至少一個多工器控制信號CTRL_Mul,且可將所述至少一個多工器控制信號CTRL_Mul提供到多工電路142。多工電路142中所包括的所述至少一個多工器可基於所述至少一個多工器控制信號CTRL_Mul來從多個輸入信號中選擇一個輸入信號。可使用專用硬體(例如類比電路)來實現提取控制器149,或者可通過資料提取電路140中所包括的處理器來執行提取控制器149的操作。
圖7A示出特徵圖資料D_FM及所提取資料Data_ext,以解釋根據本發明概念實施例的資料提取過程。為方便解釋,圖7A示出其中特徵圖資料D_FM包含各自包含16個特徵的16個胞元的實施例,但胞元的數目及特徵的數目僅為實例。因此,本發明概念的實施例並非僅限於此。現在將參照圖5及圖6來闡述圖7A。
當神經網路IC 100基於資料特徵圖來執行神經網路運算(例如,卷積)時,算術電路160可需要特徵圖資料D_FM中的所提取資料Data_ext。在實施例中,資料提取電路140可從特徵圖資料D_FM提取所提取資料Data_ext。根據實施例,所提取資料Data_ext的大小可小於或等於每一胞元的大小。
特徵圖資料D_FM可包含第一胞元Cell_1至第十六胞元Cell_16。特徵圖資料D_FM可作為第一胞元Cell_1至第十六胞元Cell_16儲存在資料緩衝器141中。為進行神經網路運算所必需的所提取資料Data_ext的一部分包含於第一胞元Cell_1中,所提取資料Data_ext的另一部分包含於第二胞元Cell_2中,所提取資料Data_ext的另一部分包含於第五胞元Cell_5中,且所提取資料Data_ext的另一部分包含於第六胞元Cell_6中。現在將參照圖7B及圖7C來闡述從圖7A所示特徵圖資料D_FM提取圖7A所示所提取資料Data_ext的過程。
圖7B示出胞元Cell_i的座標值,以解釋根據本發明概念實施例的資料提取過程。胞元Cell_i是圖7A所示第一胞元Cell_1至第十六胞元Cell_16的代表性實例。為方便解釋,圖7B示出其中胞元Cell_i包含16個特徵的實施例。然而,各實施例並非僅限於此。
胞元Cell_i可為包含多個列及多個行的矩陣形資料。胞元Cell_i可包含與各自是基於一列及一行而確定的座標值對應的多個特徵。在實施例中,為方便解釋,位於胞元Cell_i內的第i列及第j行上的特徵的座標值被表達為(i,j)(其中i及j是小於或等於4的自然數)。由於胞元Cell_i包含16個特徵,因此胞元Cell_i可包含與彼此不同的共16個座標值對應的特徵。
圖7C示出胞元及第一多工電路143,以解釋根據本發明概念實施例的資料提取過程。舉例來說,圖7C示出根據例如圖7A的實施例從特徵圖資料D_FM提取所提取資料Data_ext的第一多工電路143。現在將參照圖7A來闡述圖7C。
特徵圖資料D_FM中所包含的特徵可被分類成多個群組。舉例來說,(1,1)群組可包含與(1,1)座標值對應且分別包含於第一胞元Cell_1至第十六胞元Cell_16中的特徵。舉例來說,(1,2)群組可包含與(1,2)座標值對應且分別包含於第一胞元Cell_1至第十六胞元Cell_16中的特徵。舉例來說,(4,4)群組可包含與(4,4)座標值對應且分別包含於第一胞元Cell_1至第十六胞元Cell_16中的特徵。
第一多工電路143可通過從所述多個群組中的每一者提取一條資料來產生第一資料。為此,第一多工電路143可包括與所述多個群組對應的多個多工器。根據實施例,所述多個多工器中的每一者可為從數目與特徵圖資料D_FM中所包含的胞元的數目對應的輸入信號中選擇一個輸入信號的多工器。根據實施例,第一多工電路143可包括數目與每一胞元中所包含的特徵的數目對應的多工器。舉例來說,在圖7A所示實施例中,第一多工電路143可包括十六個16:1多工器。根據實施例,所述多個多工器中的每一者可基於所提取資料Data_ext在特徵圖資料D_FM上的位置來從所述多個胞元中的一者提取資料。
多工器MUX11可通過基於控制信號CTRL_11提取與(1,1)座標值對應的特徵中的一者的特徵資料來輸出與(1,1)座標值對應的第一資料D1_11。具體來說,在圖7A所示實施例中,多工器MUX11可通過從與(1,1)座標值對應的特徵中提取包含於第六胞元Cell_6中的特徵的特徵資料來輸出與(1,1)座標值對應的第一資料D1_11。可基於所提取資料Data_ext在特徵圖資料D_FM上的位置來確定控制信號CTRL_11。類似地,多工器MUX12可通過基於控制信號CTRL_12提取與(1,2)座標值對應的特徵中的一者的特徵資料來輸出與(1,2)座標值對應的第一資料D1_12。具體來說,在圖7A所示實施例中,多工器MUX12可通過從與(1,2)座標值對應的特徵中提取包含於第五胞元Cell_5中的特徵的特徵資料來輸出與(1,2)座標值對應的第一資料D1_12。可基於所提取資料Data_ext在特徵圖資料D_FM上的位置來確定控制信號CTRL_12。可由圖6所示提取控制器149提供控制信號CTRL_11、CTRL_12至CTRL_44。舉例來說,控制信號CTRL_11、CTRL_12至CTRL_44可包含於圖6所示多工器控制信號CTRL_Mul中。
第一多工電路143可基於各條所提取資料D1_11、D1_12至D1_44來輸出第一資料。
圖8A及圖8B示出呈矩陣形式的各條資料,以解釋對第一資料D1的旋轉。為方便解釋,圖8A及圖8B示出與圖7A所示實施例對應的各條資料。現在將參照圖6來闡述圖8A及圖8B。
參照圖8A,由第一多工電路143產生的第一資料D1包含進行計算所必需的所提取資料Data_ext中所包含的所有各條特徵資料,然而,第一資料D1的列及行各自的次序可不同於所提取資料Data_ext的列及行各自的次序。因此,第二多工電路144可通過對呈矩陣形式的第一資料D1的列及/或行進行重新排列來產生所提取資料Data_ext。換句話說,第二多工電路144可通過使第一資料D1沿垂直方向及/或水平方向旋轉來產生所提取資料Data_ext。
參照圖8B,第一資料D1可通過垂直旋轉及水平旋轉而變為所提取資料Data_ext。為方便解釋,圖8B示出其中在垂直旋轉之後執行水平旋轉的情況。然而,垂直旋轉與水平旋轉之間的次序並非僅限於此。舉例來說,與圖8B形成對比,可在水平旋轉之後執行垂直旋轉。第二多工電路144可通過使第一資料D1沿垂直方向旋轉來產生經過垂直旋轉的第一資料D1_VR。換句話說,第二多工電路144可通過改變第一資料D1的列的次序來產生經過垂直旋轉的第一資料D1_VR。此後,第二多工電路144可通過使經過垂直旋轉的第一資料D1_VR沿水平方向旋轉來產生所提取資料Data_ext。換句話說,第二多工電路144可通過改變經過垂直旋轉的第一資料D1_VR的行的次序來產生所提取資料Data_ext。為執行垂直旋轉及/或水平旋轉,第二多工電路144可包括至少一個多工器。現在將參照圖9A、圖9B及圖10來闡述關於第二多工電路144的配置的實施例。
圖9A及圖9B是根據本發明概念實施例的第二多工電路144a及144b的方塊圖。
參照圖9A,第二多工電路144a可包括垂直旋轉電路145a及/或水平旋轉電路146a。垂直旋轉電路145a可通過使第一資料D1沿垂直方向旋轉來產生經過垂直旋轉的第一資料D1_VR,且水平旋轉電路146a可通過使經過垂直旋轉的第一資料D1_VR沿水平方向旋轉來產生所提取資料Data_ext。為此,垂直旋轉電路145a及水平旋轉電路146a中的每一者可包括至少一個多工器。
參照圖9B,第二多工電路144b可包括水平旋轉電路146b及/或垂直旋轉電路145b。水平旋轉電路146b可通過使第一資料D1沿水平方向旋轉來產生經過水平旋轉的第一資料D1_HR,且垂直旋轉電路145b可通過使經過水平旋轉的第一資料D1_HR沿垂直方向旋轉來產生所提取資料Data_ext。為此,水平旋轉電路146b及垂直旋轉電路145b中的每一者可包括至少一個多工器。
根據實施例,可使用圖9A所示第二多工電路144a或圖9B所示第二多工電路144b來實現圖6所示第二多工電路144。然而,如以上參照圖6所述,圖6所示第二多工電路144並非僅限於圖9A或圖9B所示實施例。舉例來說,可使用單個硬體來實作圖6所示第二多工電路144,所述單個硬體通過使第一資料D1沿垂直方向及水平方向旋轉來產生所提取資料Data_ext。
圖10是根據本發明概念實施例的第二多工電路144的方塊圖。具體來說,圖10示出具有圖9A所示配置的第二多工電路144。相同的規則適用於圖9B所示實施例。現在將參照圖7A及圖9A來闡述圖10。
垂直旋轉電路145可通過改變第一資料D1的列的次序來產生經過垂直旋轉的第一資料D1_VR。為此,垂直旋轉電路145可包括數目與第一資料D1的列的數目對應的多工器。多工器MUX_R1可通過基於控制信號CTRL_R1選擇第一資料D1的列中的一者來輸出經過垂直旋轉的第一資料D1_VR的第一列。參照圖7A所示實施例,多工器MUX_R1可通過選擇與第一資料D1的列中的第二列對應的各條資料D1[2, 1:4]來輸出經過垂直旋轉的第一資料D1_VR的第一列。類似地,多工器MUX_R4可通過基於控制信號CTRL_R4選擇第一資料D1的列中的一者來輸出經過垂直旋轉的第一資料D1_VR的第四列。參照圖7A所示實施例,多工器MUX_R4可通過選擇與第一資料D1的列中的第一列對應的各條資料D1[1, 1:4]來輸出經過垂直旋轉的第一資料D1_VR的第四列。垂直旋轉電路145可基於由多工器MUX_R1至MUX_R4輸出的各條資料將經過垂直旋轉的第一資料D1_VR提供到水平旋轉電路146。
水平旋轉電路146可通過改變經過垂直旋轉的第一資料D1_VR的行的次序來產生所提取資料Data_ext。為此,水平旋轉電路146可包括數目與第一資料D1的行的數目對應的多工器。多工器MUX_C1可通過基於控制信號CTRL_C1選擇經過垂直旋轉的第一資料D1_VR的行中的一者來輸出所提取資料Data_ext的第一行。參照圖7A所示實施例,多工器MUX_C1可通過選擇與經過垂直旋轉的第一資料D1_VR的行中的第二行對應的各條資料D1_VR[1:4, 2]來輸出所提取資料Data_ext的第一行。類似地,多工器MUX_C4可通過基於控制信號CTRL_C4選擇經過垂直旋轉的第一資料D1_VR的行中的一者來輸出所提取資料Data_ext的第四行。參照圖7A所示實施例,多工器MUX_C4可通過選擇與經過垂直旋轉的第一資料D1_VR的行中的第一行對應的各條資料D1_VR[1:4, 1]來輸出所提取資料Data_ext的第四行。水平旋轉電路146可基於由多工器MUX_C1至MUX_C4選擇的各條資料來輸出所提取資料Data_ext。
圖11是根據本發明概念實施例由神經網路裝置執行的資料處理方法的流程圖。現在將參照圖5及圖6來闡述圖11。
在操作S100中,神經網路裝置10中所包括的神經網路IC 100可以以胞元為單位將特徵圖資料D_FM儲存在資料緩衝器141中。每一胞元可包含至少一個特徵。
在操作S200中,神經網路IC 100可通過提取包含於特徵圖資料D_FM中所包含的多個胞元中的特徵中的一者的特徵資料來產生第一資料D1,所述特徵各自對應於相同座標值。舉例來說,多工電路142中所包括的第一多工電路143可利用至少一個多工器來提取包含於所述多個胞元中且與相同座標值對應的特徵中的一者的特徵資料。
在操作S300中,神經網路IC 100可通過對第一資料D1的列及/或行進行重新排列來產生所提取資料Data_ext。舉例來說,多工電路142中所包括的第二多工電路144可通過利用至少一個多工器使第一資料D1沿垂直方向及/或水平方向旋轉來產生所提取資料Data_ext。在操作S400中,神經網路IC 100可利用所提取資料Data_ext來執行神經網路運算。舉例來說,算術電路160可通過將所提取資料Data_ext乘以與所提取資料Data_ext對應的權重值並將乘法的結果相加來執行卷積。圖12示出特徵圖資料D_FM及所提取資料Data_ext,以解釋根據本發明概念實施例的資料提取過程。具體來說,圖12示出各條資料來解釋其中進行計算所必需的窗大小小於每一胞元的大小的實施例。為方便解釋,圖12示出其中特徵圖資料D_FM包含各自包含16個特徵的16個胞元且進行計算所必需的窗大小為3×2大小的實施例,然而胞元的數目、特徵的數目及窗大小僅為實例。因此,本發明概念的實施例並非僅限於此。現在將參照圖5及圖6來闡述圖12。
當神經網路IC 100基於資料特徵圖執行神經網路運算(例如,卷積)時,算術電路160可需要特徵圖資料D_FM中的所提取資料Data_ext。在此種情形中,資料提取電路140可從特徵圖資料D_FM提取所提取資料Data_ext。
特徵圖資料D_FM可包含第一胞元Cell_1至第十六胞元Cell_16。特徵圖資料D_FM可作為第一胞元Cell_1至第十六胞元Cell_16儲存在資料緩衝器141中。進行神經網路運算所必需的所提取資料Data_ext的一部分包含於第一胞元Cell_1中,所提取資料Data_ext的另一部分包含於第二胞元Cell_2中,所提取資料Data_ext的另一部分包含於第五胞元Cell_5中,且所提取資料Data_ext的另一部分包含於第六胞元Cell_6中。現在將參照圖14A至圖14C來闡述從圖12所示特徵圖資料D_FM提取圖12所示所提取資料Data_ext的過程。
圖13A至圖13C是根據本發明概念實施例的多工電路142a、142b及142c的方塊圖。
參照圖13A,多工電路142a可包括第一多工電路143a、第二多工電路144a、及/或資料選擇電路147a。第一多工電路143a及第二多工電路144a可與圖6所示第一多工電路143及第二多工電路144實質上相同。第一多工電路143a可通過從特徵圖資料D_FM提取資料來產生第一資料D1。資料選擇電路147a可通過從第一資料D1僅選擇除進行計算非必需的資料之外的進行計算所必需的資料來產生所選第一資料D1_SEL。第二多工電路144a可通過使所選第一資料D1_SEL沿垂直方向及/或水平方向旋轉來產生所提取資料Data_ext。圖14A中示出與圖13A所示實施例對應的各條資料。
參照圖13B,多工電路142b可包括第一多工電路143b及/或第二多工電路144b,且第二多工電路144b可包括垂直旋轉電路145b、水平旋轉電路146b、第一資料選擇電路147b、及/或第二資料選擇電路148b。第一多工電路143b、垂直旋轉電路145b及水平旋轉電路146b可分別與以上參照前述附圖所述的第一多工電路143、垂直旋轉電路145及水平旋轉電路146實質上相同。第一多工電路143a可通過從特徵圖資料D_FM提取資料來產生第一資料D1。垂直旋轉電路145b可通過使第一資料D1沿垂直方向旋轉來產生經過垂直旋轉的第一資料D1_VR。第一資料選擇電路147b可通過從經過垂直旋轉的第一資料D1_VR僅選擇除進行計算非必需的列之外的進行計算所必需的列來產生所選第一資料D1_SEL。水平旋轉電路146b可通過使所選第一資料D1_SEL沿水平方向旋轉來產生經過水平旋轉的第一資料D1_HR。第二資料選擇電路148b可通過從經過水平旋轉的第一資料D1_HR僅選擇除進行計算非必需的行之外的進行計算所必需的行來產生所提取資料Data_ext。圖14B中示出與圖13B所示實施例對應的各條資料。
參照圖13C,多工電路142c可包括第一多工電路143c、第二多工電路144c、及/或資料選擇電路147c。第一多工電路143c及第二多工電路144c可分別與以上參照前述附圖所述的第一多工電路143及第二多工電路144實質上相同。第一多工電路143c可通過從特徵圖資料D_FM提取資料來產生第一資料D1。第二多工電路144c可通過使第一資料D1沿垂直方向及/或水平方向旋轉來產生經過旋轉的第一資料D1_R。資料選擇電路147c可通過從經過旋轉的第一資料D1_R僅選擇除進行計算非必需的資料之外的進行計算所必需的資料來產生所提取資料Data_ext。圖14C中示出與圖13C所示實施例對應的各條資料。
圖14A至圖14C示出呈矩陣形式的各條資料,以分別解釋根據本發明概念實施例由圖13A至圖13C所示多工電路142a、142b及142c執行的資料選擇與提取方法。
現在將參照圖13A來闡述圖14A。由第一多工電路142a產生的第一資料D1可包含進行計算非必需的各條資料(非陰影部分)。資料選擇電路147a可通過從第一資料D1僅選擇除進行計算非必需的各條資料D12、D13、D21、D22、D23、D24、D32、D33、D42及D43之外的進行計算所必需的各條資料D11、D14、D31、D34、D41及D44來產生所提取資料Data_ext。
現在將參照圖13B來闡述圖14B。由第一多工電路142b產生的第一資料D1可包含進行計算非必需的各條資料(非陰影部分)。垂直旋轉電路145b可通過使第一資料D1沿垂直方向旋轉來產生經過垂直旋轉的第一資料D1_VR。第一資料選擇電路147b可通過從經過垂直旋轉的第一資料D1_VR排除進行計算非必需的第一列來產生所選第一資料D1_SEL。水平旋轉電路146b可通過使所選第一資料D1_SEL沿水平方向旋轉來產生經過水平旋轉的第一資料D1_HR。第二資料選擇電路148b可通過從經過水平旋轉的第一資料D1_HR排除進行計算非必需的第二行及第三行來產生所提取資料Data_ext。現在將參照圖13C來闡述圖14C。由第一多工電路142c產生的第一資料D1可包含進行計算非必需的各條資料(非陰影部分)。第二多工電路143c可通過使第一資料D1沿垂直方向及/或水平方向旋轉來產生經過旋轉的第一資料D1_R。資料選擇電路147c可通過從經過旋轉的第一資料D1_R僅選擇除進行計算非必需的各條資料D12、D13、D21、D22、D23、D24、D32、D33、D42及D43之外的進行計算所必需的各條資料D11、D14、D31、D34、D41及D44來產生所提取資料Data_ext。
已參照本發明概念的示例性實施例具體示出並闡述了本發明概念。本文所使用的術語僅用於闡述示例性實施例而非旨在限制本發明概念。因此,應理解,可在不背離由所附申請專利範圍書界定的本發明概念的精神及範圍的條件下在形式及細節上對所述實施例作出各種改變。
10:神經網路裝置 100:神經網路積體電路、神經網路處理單元 120:內部記憶體 122:資料記憶體 124:權重記憶體 140:資料提取電路 141:資料緩衝器 142、142a、142b、142c、143、143a、143b、143c、144、144a、144b、144c:多工電路 145、145a、145b:垂直旋轉電路 146、146a、146b:水平旋轉電路 147a、147b、147c、148b:資料選擇電路 149:提取控制器 160:算術電路 200:隨機存取記憶體 201:輸入特徵圖 202:內核 203、230:輸出特徵圖 210:輸入特徵圖 211、212、213、Data_ext:所提取資料 220:原始內核 231、232、233:特徵資料 300:處理器 400:記憶體 500:感測器模組 CTRL_Mul:多工器控制信號 Cell_1~Cell_16、Cell_i:胞元 CTRL_11、CTRL_12、CTRL_44、CTRL_R1~CTRL_R4、CTRL_C1~CTRL_C4:控制信號 CL:類別 D1_11、D1_12、D1_44:所提取資料 Data、D1、D1_VR、D1_HR、D1_SEL、D11~D44:資料 D_FM:特徵圖資料 D:深度 FM1~FMn:特徵圖 H:高度 IP1~IP3:智慧財產權 IS:資訊信號 L1~Ln:層 MUX11、MUX12、MUX44、MUX_R1~MUX_R4、MUX_C1~MUX_C4:多工器 NN:神經網路 PW:池化窗 REC:識別信號 S100~S400:操作 W:寬度 WM:權重圖
結合附圖閱讀以下詳細說明,將更清晰地理解本發明概念的示例性實施例,附圖中: 圖1是根據本發明概念實施例的神經網路裝置的方塊圖。 圖2是根據本發明概念實施例的神經網路裝置的方塊圖。 圖3示出卷積神經網路的結構作為神經網路結構的實例。 圖4A及圖4B是用於解釋神經網路的卷積運算的示意圖。 圖5是根據本發明概念實施例的神經網路積體電路(IC)的方塊圖。 圖6是根據本發明概念實施例的資料提取電路的方塊圖。 圖7A示出特徵圖資料及所提取資料,以解釋根據本發明概念實施例的資料提取過程。 圖7B示出胞元的座標值,以解釋根據本發明概念實施例的資料提取過程。 圖7C示出胞元及第一多工電路,以解釋根據本發明概念實施例的資料提取過程。 圖8A及圖8B示出呈矩陣形式的各條資料,以解釋對第一資料的旋轉。 圖9A及圖9B是根據本發明概念實施例的第二多工電路的方塊圖。 圖10是根據本發明概念實施例的第二多工電路的方塊圖。 圖11是根據本發明概念實施例由神經網路裝置執行的資料處理方法的流程圖。 圖12示出特徵圖資料及所提取資料,以解釋根據本發明概念實施例的資料提取過程。 圖13A至圖13C是根據本發明概念實施例的多工電路的方塊圖。 圖14A至圖14C示出呈矩陣形式的各條資料,以分別解釋根據本發明概念實施例由圖13A至圖13C所示多工電路執行的資料選擇與提取方法。
140:資料提取電路
141:資料緩衝器
142、143、144:多工電路
149:提取控制器
CTRL_Mul:多工器控制信號
Data_ext:所提取資料
D1:資料
D_FM:特徵圖資料
Data:資料

Claims (25)

  1. 一種包含於用於執行神經網路運算的裝置中的積體電路,所述積體電路包括: 緩衝器,被配置成以各自包含至少一個特徵的胞元為單位來儲存特徵圖資料,其中所述特徵圖資料是在所述神經網路運算中使用;以及 多工電路,被配置成從所述緩衝器接收所述特徵圖資料,並通過提取包含於所接收的所述特徵圖資料中多個胞元內的特徵中的一者的特徵資料來輸出所提取資料,所述特徵各自對應於相同座標值。
  2. 如申請專利範圍第1項所述的積體電路,其中所述多工電路被配置成通過從所述多個胞元提取與第一資料的所有座標值對應的各條特徵資料來產生所述第一資料,並通過使所述第一資料沿垂直方向及水平方向中的至少一者旋轉來產生所述所提取資料。
  3. 如申請專利範圍第2項所述的積體電路,其中所述多工電路通過改變呈矩陣形式的所述第一資料的列的次序來使所述第一資料沿所述垂直方向旋轉,或者通過改變所述第一資料的行的次序來使所述第一資料沿所述水平方向旋轉。
  4. 如申請專利範圍第1項所述的積體電路,其中所述多工電路包括: 第一多工電路,包括多工器,所述多工器用於提取包含於所述多個胞元中且各自與第一座標值對應的特徵中的一者的特徵資料且被配置成基於所提取的所述特徵資料來輸出第一資料;以及 第二多工電路,包括多個多工器,所述多個多工器用於從所述第一多工電路接收所述第一資料並使所接收的所述第一資料沿垂直方向或水平方向旋轉。
  5. 如申請專利範圍第4項所述的積體電路,其中所述第一多工電路包括被配置成從數目與所述特徵圖資料中所包含的所述多個胞元的數目對應的輸入信號中選擇一個輸入信號的多個多工器。
  6. 如申請專利範圍第5項所述的積體電路,其中所述第一多工電路包括數目與每一胞元中所包含的所述至少一個特徵的數目對應的多工器。
  7. 如申請專利範圍第4項所述的積體電路,其中所述第二多工電路包括: 垂直旋轉電路,被配置成通過改變呈矩陣形式的所述第一資料的列的次序來使所述第一資料沿所述垂直方向旋轉,並產生經過垂直旋轉的第一資料;以及 水平旋轉電路,被配置成通過改變所述經過垂直旋轉的第一資料的行的次序來使所述經過垂直旋轉的第一資料沿所述水平方向旋轉,並產生所述所提取資料。
  8. 如申請專利範圍第7項所述的積體電路,其中 所述垂直旋轉電路包括數目與所述第一資料的所述列的數目對應的多工器,且 所述水平旋轉電路包括數目與所述第一資料的所述行的數目對應的多工器。
  9. 如申請專利範圍第8項所述的積體電路,其中 所述垂直旋轉電路中所包括的所述多工器被配置成分別選擇所述第一資料的所述列中不同的列,且 所述水平旋轉電路中所包括的所述多工器被配置成分別選擇所述第一資料的所述行中不同的行。
  10. 如申請專利範圍第4項所述的積體電路,其中所述第二多工電路包括: 水平旋轉電路,被配置成通過改變呈矩陣形式的所述第一資料的行的次序來使所述第一資料沿所述水平方向旋轉,並產生經過水平旋轉的第一資料;以及 垂直旋轉電路,被配置成通過改變所述經過水平旋轉的第一資料的列的次序來使所述經過水平旋轉的第一資料沿所述垂直方向旋轉,並產生所述所提取資料。
  11. 如申請專利範圍第1項所述的積體電路,其中 所述神經網路運算包括卷積運算, 所述特徵圖資料包括將被執行所述卷積運算的輸入特徵圖資料,且 所述所提取資料是將在所述卷積運算期間被直接乘以權重的資料。
  12. 一種被配置成執行神經網路運算的神經網路處理器,所述神經網路處理器包括: 內部記憶體,被配置成從所述神經網路處理器以外接收外部資料並基於所述外部資料來儲存資料及/或權重; 資料提取電路,被配置成從所述內部記憶體接收資料,以胞元為單位將所接收的所述資料儲存為特徵圖資料,將所述特徵圖資料中所包含的特徵分類成多個群組,並通過從所述多個群組中的每一者提取一個特徵的特徵資料來輸出所提取資料,其中所述多個群組中的每一者包含被包含於所述特徵圖資料中所包含的多個胞元中的特徵,所述特徵各自對應於相同座標值;以及 算術電路,被配置成利用由所述資料提取電路提供的所述所提取資料來執行所述神經網路運算。
  13. 如申請專利範圍第12項所述的神經網路處理器,其中所述算術電路進一步被配置成通過將所述所提取資料乘以由所述內部記憶體提供的所述權重來對所述特徵圖資料執行卷積運算。
  14. 如申請專利範圍第12項所述的神經網路處理器,其中所述資料提取電路包括: 緩衝器,被配置成以胞元為單位將所接收的所述資料儲存為所述特徵圖資料;以及 多工電路,被配置成通過從自所述緩衝器接收的所述特徵圖資料提取進行所述神經網路運算所必需的資料來輸出所述所提取資料。
  15. 如申請專利範圍第14項所述的神經網路處理器,其中所述多工電路包括第一多工電路,所述第一多工電路包括分別與所述多個群組對應的多個多工器,所述多個多工器中的每一者被配置成從所述多個群組中的每一者提取一個特徵的特徵資料。
  16. 如申請專利範圍第15項所述的神經網路處理器,其中 所述第一多工電路被配置成基於由所述多個多工器提取的各條特徵資料來輸出第一資料,且 所述多工電路進一步包括第二多工電路,所述第二多工電路被配置成通過沿水平方向及/或垂直方向對從所述第一多工電路接收的所述第一資料進行重新排列來產生所述所提取資料。
  17. 如申請專利範圍第15項所述的神經網路處理器,其中 所述第一多工電路被配置成基於由所述多個多工器提取的各條特徵資料來輸出第一資料,且 所述多工電路進一步包括: 垂直旋轉電路,被配置成改變呈矩陣形式的所述第一資料的列的次序且包括數目與所述第一資料的所述列的數目對應的多工器;以及 水平旋轉電路,被配置成改變所述第一資料的行的次序且包括數目與所述第一資料的所述行的數目對應的多工器。
  18. 如申請專利範圍第12項所述的神經網路處理器,其中所述所提取資料的大小等於或小於所述胞元的大小。
  19. 一種由被配置成執行神經網路運算的神經網路處理器執行的資料處理方法,所述資料處理方法包括: 以各自包含至少一個特徵的胞元為單位來儲存用於神經網路運算的特徵圖資料;以及 通過針對多個座標值提取包含於所述特徵圖資料中所包含的多個胞元中的特徵中的一者的特徵資料來產生具有矩陣形式的第一資料,所述特徵各自對應於相同座標值; 通過對所述第一資料的列及/或行進行重新排列來產生供在所述神經網路運算中使用的所提取資料;以及 通過利用所述所提取資料來執行所述神經網路運算,其中對所述神經網路運算的所述執行是由算術電路執行。
  20. 如申請專利範圍第19項所述的資料處理方法,其中產生所述第一資料包括通過利用與所述多個座標值對應的多個多工器提取所述特徵資料來產生所述第一資料。
  21. 如申請專利範圍第19項所述的資料處理方法,其中產生所述所提取資料包括: 通過利用多個多工器改變所述第一資料的列的次序來使所述第一資料沿垂直方向旋轉;以及 通過以下來產生所述所提取資料:通過利用所述多個多工器改變經過垂直旋轉的第一資料的行的次序來使所述經過垂直旋轉的第一資料沿水平方向旋轉。
  22. 如申請專利範圍第19項所述的資料處理方法,其中產生所述第一資料包括基於進行所述神經網路運算所必需的所述所提取資料在所述特徵圖資料上的位置來提取包含於所述多個胞元中的特徵中的一者的特徵資料,所述特徵各自對應於相同座標值。
  23. 一種被配置成執行神經網路運算的神經網路裝置,所述神經網路裝置包括: 至少一個智慧財產權;以及 神經網路處理器,被配置成經由系統匯流排與所述至少一個智慧財產權進行通信且通過基於由所述至少一個智慧財產權提供的輸入資料執行包括卷積運算在內的所述神經網路運算來輸出資訊信號, 其中所述神經網路處理器被配置成將所述輸入資料劃分成多個胞元,將所述輸入資料儲存為輸入特徵圖,並通過提取包含於所述多個胞元中的特徵中的一者的特徵資料來產生供在所述卷積運算中使用的所提取資料,所述特徵各自對應於第一座標值。
  24. 如申請專利範圍第23項所述的神經網路裝置,其中所述神經網路處理器被配置成通過提取所述特徵資料來產生第一資料並通過使所述第一資料沿水平方向及/或垂直方向旋轉來產生所述所提取資料。
  25. 一種包含於用於利用從特徵圖資料提取的所提取資料來執行神經網路運算的裝置中的積體電路,所述積體電路包括: 緩衝器,被配置成以各自包含至少一個特徵的胞元為單位來儲存所述特徵圖資料; 第一多工電路,被配置成利用數目小於或等於每一胞元中所包含的所述至少一個特徵的數目的多工器來從所述特徵圖資料提取第一資料,其中所述第一資料包含所述所提取資料中所包含的所有各條特徵資料;以及 第二多工電路,被配置成通過利用數目小於或等於所述第一資料的列的數目與所述第一資料的行的數目之和的多工器對所述第一資料的所述列及/或所述行進行重新排列來產生所述所提取資料。
TW108130337A 2018-09-07 2019-08-23 積體電路、神經網路處理器與裝置以及資料處理方法 TW202029065A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2018-0107391 2018-09-07
KR1020180107391A KR102633139B1 (ko) 2018-09-07 2018-09-07 데이터를 추출하는 집적 회로, 그것을 포함하는 뉴럴 네트워크 프로세서 및 뉴럴 네트워크 장치

Publications (1)

Publication Number Publication Date
TW202029065A true TW202029065A (zh) 2020-08-01

Family

ID=69719918

Family Applications (1)

Application Number Title Priority Date Filing Date
TW108130337A TW202029065A (zh) 2018-09-07 2019-08-23 積體電路、神經網路處理器與裝置以及資料處理方法

Country Status (4)

Country Link
US (2) US11694074B2 (zh)
KR (1) KR102633139B1 (zh)
CN (1) CN110889498A (zh)
TW (1) TW202029065A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI800226B (zh) * 2021-01-20 2023-04-21 新加坡商聯發科技(新加坡)私人有限公司 用於執行神經網路計算的類比電路的校準方法及裝置

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPWO2022054742A1 (zh) * 2020-09-14 2022-03-17
US11886973B2 (en) 2022-05-30 2024-01-30 Deepx Co., Ltd. Neural processing unit including variable internal memory

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7978914B2 (en) 2004-01-30 2011-07-12 Baumer Optronic Gmbh Image processing system
US7747070B2 (en) 2005-08-31 2010-06-29 Microsoft Corporation Training convolutional neural networks on graphics processing units
CA2944829C (en) * 2014-05-23 2022-10-25 Ting Chen Systems and methods for detection of biological structures and/or patterns in images
US9805303B2 (en) 2015-05-21 2017-10-31 Google Inc. Rotating data for neural network computations
US10614354B2 (en) 2015-10-07 2020-04-07 Altera Corporation Method and apparatus for implementing layers on a convolutional neural network accelerator
US11475269B2 (en) 2015-12-15 2022-10-18 Analog Devices, Inc. Convolutional neural network
US9665799B1 (en) 2016-01-29 2017-05-30 Fotonation Limited Convolutional neural network
GB201607713D0 (en) 2016-05-03 2016-06-15 Imagination Tech Ltd Convolutional neural network
CN106250103A (zh) 2016-08-04 2016-12-21 东南大学 一种卷积神经网络循环卷积计算数据重用的系统
US20180157940A1 (en) * 2016-10-10 2018-06-07 Gyrfalcon Technology Inc. Convolution Layers Used Directly For Feature Extraction With A CNN Based Integrated Circuit
US11003985B2 (en) * 2016-11-07 2021-05-11 Electronics And Telecommunications Research Institute Convolutional neural network system and operation method thereof
US10515302B2 (en) 2016-12-08 2019-12-24 Via Alliance Semiconductor Co., Ltd. Neural network unit with mixed data and weight size computation capability
KR20180073314A (ko) * 2016-12-22 2018-07-02 삼성전자주식회사 컨볼루션 신경망 시스템 및 그것의 동작 방법
CN107240102A (zh) * 2017-04-20 2017-10-10 合肥工业大学 基于深度学习算法的恶性肿瘤计算机辅助早期诊断方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI800226B (zh) * 2021-01-20 2023-04-21 新加坡商聯發科技(新加坡)私人有限公司 用於執行神經網路計算的類比電路的校準方法及裝置

Also Published As

Publication number Publication date
US20230289601A1 (en) 2023-09-14
CN110889498A (zh) 2020-03-17
KR20200028791A (ko) 2020-03-17
US11694074B2 (en) 2023-07-04
US20200082253A1 (en) 2020-03-12
KR102633139B1 (ko) 2024-02-02

Similar Documents

Publication Publication Date Title
US20230289601A1 (en) Integrated circuit that extracts data, neural network processor including the integrated circuit, and neural network
TWI834729B (zh) 神經網路處理器及其卷積操作方法
US20200364567A1 (en) Neural network device for selecting action corresponding to current state based on gaussian value distribution and action selecting method using the neural network device
CN111258495A (zh) 半导体存储器设备和操作该半导体存储器设备的方法
KR20190066473A (ko) 뉴럴 네트워크에서 컨볼루션 연산을 처리하는 방법 및 장치
US11562046B2 (en) Neural network processor using dyadic weight matrix and operation method thereof
US20200118249A1 (en) Device configured to perform neural network operation and method of operating same
US11651201B2 (en) Memory device including arithmetic circuit and neural network system including the same
CN111465943A (zh) 芯片上计算网络
CN111914989A (zh) 神经网络系统及其学习方法、以及迁移学习方法
US20200356844A1 (en) Neural network processor for compressing featuremap data and computing system including the same
JP7413549B2 (ja) 並列ロードストアを有する共有スクラッチパッドメモリ
US20230025626A1 (en) Method and apparatus for generating process simulation models
KR20200062014A (ko) 다이어딕 매트릭스 형태의 웨이트를 이용해 뉴럴 네트워크를 가속하는 장치 및 그것의 동작 방법
US20220188612A1 (en) Npu device performing convolution operation based on the number of channels and operating method thereof
TW202308374A (zh) 影像感測器模組及其操作方法
US20210311703A1 (en) Neural network device for neural network operation, operating method of the neural network device, and application processor including the same
US11842273B2 (en) Neural network processing
US11943557B2 (en) Image sensor module, image processing system, and operating method of image sensor module
KR20200132660A (ko) 가우시안 가치 분포에 기초하여 현재 상태에 대한 행동을 선택하는 뉴럴 네트워크 장치 및 이를 이용하는 행동 선택 방법
US12026617B2 (en) Neural network method and apparatus
KR20210124883A (ko) 뉴럴 네트워크 연산 수행을 위한 뉴럴 네트워크 장치, 뉴럴 네트워크 장치의 동작 방법 및 뉴럴 네트워크 장치를 포함하는 애플리케이션 프로세서