WO2022102912A1 - Snn 모델 파라미터를 기반으로 모델 수행을 위한 뉴로모픽 아키텍처 동적 선택 방법, 이를 수행하기 위한 기록 매체 및 장치 - Google Patents
Snn 모델 파라미터를 기반으로 모델 수행을 위한 뉴로모픽 아키텍처 동적 선택 방법, 이를 수행하기 위한 기록 매체 및 장치 Download PDFInfo
- Publication number
- WO2022102912A1 WO2022102912A1 PCT/KR2021/010092 KR2021010092W WO2022102912A1 WO 2022102912 A1 WO2022102912 A1 WO 2022102912A1 KR 2021010092 W KR2021010092 W KR 2021010092W WO 2022102912 A1 WO2022102912 A1 WO 2022102912A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- neuromorphic
- model
- snn
- naa
- architecture
- Prior art date
Links
- 238000010187 selection method Methods 0.000 title claims abstract description 24
- 238000012549 training Methods 0.000 claims abstract description 28
- 210000002569 neuron Anatomy 0.000 claims abstract description 24
- 238000000034 method Methods 0.000 claims description 27
- 238000004891 communication Methods 0.000 claims description 19
- 230000006870 function Effects 0.000 claims description 18
- 238000000605 extraction Methods 0.000 claims description 6
- 239000000284 extract Substances 0.000 claims description 4
- 238000004590 computer program Methods 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 11
- 238000005516 engineering process Methods 0.000 description 8
- 238000013473 artificial intelligence Methods 0.000 description 6
- 238000013528 artificial neural network Methods 0.000 description 6
- 230000001537 neural effect Effects 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 238000004422 calculation algorithm Methods 0.000 description 4
- 238000012546 transfer Methods 0.000 description 4
- 210000004556 brain Anatomy 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 3
- 238000011156 evaluation Methods 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 238000012421 spiking Methods 0.000 description 2
- 210000000225 synapse Anatomy 0.000 description 2
- 241000408659 Darpa Species 0.000 description 1
- 235000011034 Rubus glaucus Nutrition 0.000 description 1
- 244000235659 Rubus idaeus Species 0.000 description 1
- 235000009122 Rubus idaeus Nutrition 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 210000000653 nervous system Anatomy 0.000 description 1
- 238000003062 neural network model Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
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/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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/04—Inference or reasoning models
Definitions
- the present invention relates to a method for dynamically selecting a neuromorphic architecture for performing a model based on SNN model parameters, a recording medium and an apparatus for performing the same, and more particularly, to an appropriate neuromorphic platform for intelligent IoT. It's about the technology you choose.
- IoT Internet of Things
- AI artificial intelligence
- IoT devices In general, battery-powered IoT devices have limited computing power compared to general-purpose computers. Therefore, in order to implement various intelligent IoT services, IoT devices must be able to support AI technology with low power.
- the low-power neuromorphic architecture enables resource-constrained IoT devices to provide intelligent IoT services based on AI technology.
- Integrating high-performance computing platforms such as GPUs with high-power consuming hardware into IoT devices is not suitable because typical IoT devices are small, resource-constrained computing environments and in most cases use limited power. Therefore, several recent studies have begun to study how to use deep learning neural networks in resource-constrained systems.
- neuromorphic architectures are much smaller and more energy efficient than GPU architectures, they can benefit from machine learning capabilities, including simple neural networks, when applied to resource-constrained IoT devices.
- Neuromorphic architecture is known as a novel computing architecture that uses hardware and software with the structural and functional characteristics of the neurobiological brain existing in the nervous system to emulate human training capabilities by implementing artificial neural networks.
- Neuromorphic architecture is a next-generation neural network model specialized for Spiking Neural Networks (SNN) algorithms.
- Neuromorphic architectures include Intel's recently announced Loihi chip and FPGA-based neuromorphic architecture board, Terasic's De1-SoC and Xilinx's PYNQ-Z1.
- TrueNorth is a form of 4096 interconnected cores for 256 neurons. Although it showed ultra-low power performance of 1/10,000 level, it only supports linear IF (integration-and-fire) model, which is the simplest form.
- Intel's Loihi represents the most recently released hardware that supports Leaky Integrate-and-Fire (LIF) neurons. Loihi has 128 cores and 130,000 neurons per chip, for a total of 16 million neurons and 130 million synapses.
- Existing neuromorphic architectures mainly support neurons based on non-LIF linear models, but LIF-based Loihi is evaluated as a model much closer to biological neurons than conventional neuromorphic architectures.
- Nepes sells the NM500 as a neuromorphic chip, but it is not a neuromorphic chip based on a spiking neural network, and only supports RBF (Radial Basis Function) neural networks and K-Nearest Neighbor models. It has 576 neurons per chip, and has the feature of stacking chips in parallel to increase neurons.
- RBF Random Basis Function
- each neuromorphic architecture has different performance, different hardware characteristics, different supported SNN models, different memory sizes, and different maximum number of neurons, a neuromorphic architecture suitable for a specific IoT device or IoT service environment. cannot be selected, training may not be performed normally and a fatal error may occur. Therefore, there is a need for a technology that can dynamically select an appropriate neuromorphic architecture according to the learning model, learning target, and IoT environment.
- Patent Document 1 KR 10-2018-0070196 A
- Patent Document 2 KR 10-2020-0068051 A
- Patent Document 3 10-2020-0098308 A
- Non-Patent Document 1 Steve K Esser, Rathinakumar Appuswamy, Paul Merolla, John V Arthur, and Dharmendra S Modha, Backpropagation for energy-efficient neuromorphic computing, In Advances in neural information processing systems, 1117-1125, 2015.
- an object of the present invention is to provide a method for dynamically selecting a neuromorphic architecture for performing a model based on SNN model parameters.
- Another object of the present invention is to provide a recording medium in which a computer program for performing a neuromorphic architecture dynamic selection method for performing a model based on the SNN model parameters is recorded.
- Another object of the present invention is to provide an apparatus for performing a neuromorphic architecture dynamic selection method for performing a model based on the SNN model parameters.
- the method for dynamically selecting a neuromorphic architecture for performing a model based on SNN model parameters is an NPZ file delivered from an IoT application through NAA (Neuromorphic Architecture Abstraction) HOST. extracting information of the SNN model from; selecting at least one neuromorphic architecture capable of performing the SNN model based on the number of input and output dimensions of the SNN model and the maximum number of neurons that can be used; If there are two or more selected neuromorphic architectures, calculating the execution time required for learning and reasoning of the neuromorphic architecture; and finally selecting a neuromorphic architecture having the shortest execution time required for the learning and inference.
- NAA Neuromorphic Architecture Abstraction
- the step of selecting at least one neuromorphic architecture capable of performing the SNN model includes a given SNN model for a neuromorphic architecture that can be used to select an appropriate neuromorphic architecture in NAA. may include; sequentially checking whether or not the performance is suitable.
- the step of selecting at least one neuromorphic architecture capable of performing the SNN model is based on the neuromorphic architecture information to check the size of the parameters of the requested SNN model and whether it can be performed, the SNN You can use the Parameter Check function to check whether the neuromorphic architecture is suitable for model execution.
- the step of selecting at least one neuromorphic architecture capable of performing the SNN model includes an execution check ( Execution Check) function can be used.
- execution check Execution Check
- the step of calculating the execution time required for learning and reasoning of the neuromorphic architecture may include performing one-time learning and reasoning to obtain the execution time.
- the step of calculating the execution time required for learning and inference of the neuromorphic architecture is arranged as much as the learning and inference data size of the input layer of the SNN model within the execution check function.
- generating (send_data); Transmitting the randomly generated training and inference data to the NAA NA through the NAA execution function; and measuring learning and inference execution times in a neuromorphic architecture; may further include.
- the step of finally selecting a neuromorphic architecture having the shortest execution time for learning and reasoning is that the learning and inference execution time in the neuromorphic architecture is the minimum of the previous neuromorphic architecture. If it is shorter than the execution time, changing the optimal neuromorphic architecture; may further include.
- the neuromorphic architecture dynamic selection method for performing a model based on the SNN model parameters is a first communication channel used for NAA NA to transmit parameters necessary to perform SNN model learning and inference.
- NAA HOST is a second communication channel for the control of NAA NA; and a third communication channel for transferring the results of learning and inference of the SNN model from the NAA NA to the NAA HOST; it is possible to use three communication channels including.
- a computer program for performing a neuromorphic architecture dynamic selection method for performing a model based on the SNN model parameter has been
- the neuromorphic architecture dynamic selection device for performing a model based on SNN model parameters is received from an IoT application through NAA (Neuromorphic Architecture Abstraction) HOST.
- NAA Neuromorphic Architecture Abstraction
- an information extraction unit for extracting information of the SNN model from the NPZ file
- an architecture selection unit for selecting at least one neuromorphic architecture capable of performing the SNN model based on the number of input and output dimensions of the SNN model and the maximum number of neurons that can be used
- a time calculator for calculating the execution time required for learning and inference of the neuromorphic architecture
- a final selection unit that finally selects a neuromorphic architecture having the shortest execution time for the learning and inference.
- the neuromorphic architecture dynamic selection device for performing a model based on the SNN model parameter may be an NAA NA.
- the NAA NA and the NAA HOST include: a first communication channel used by the NAA NA to transmit parameters necessary for performing SNN model learning and inference;
- NAA HOST is a second communication channel for the control of NAA NA; and a third communication channel for transferring the results of learning and inference of the SNN model from the NAA NA to the NAA HOST; it is possible to use three communication channels including.
- NAA enables efficient learning by using a neuromorphic chipset with a small size and low power consumption without the support of high-performance hardware.
- NAA selects a neuromorphic architecture suitable for the IoT service environment. It is possible to create a small, low-power IoT environment without connecting and using high-performance hardware, enabling learning even in resource-constrained environments.
- 1 is a diagram showing an abstraction structure for supporting the heterogeneous neuromorphic architecture of the present invention.
- FIG. 2 is a block diagram of an apparatus for dynamically selecting a neuromorphic architecture for performing a model based on SNN model parameters according to an embodiment of the present invention.
- FIG. 3 is a diagram showing a scenario for executing a neuromorphic architecture dynamic selection according to the present invention.
- FIG. 4 is a diagram showing a process of learning and inferring an SNN model by NAA for an intelligent IoT device according to the present invention.
- FIG. 5 is a diagram showing an example of an algorithm of a neuromorphic architecture dynamic selection method for performing a model based on SNN model parameters according to an embodiment of the present invention.
- FIG. 6 is a diagram showing the results of classifying numeric images using the MNIST data set in the NAA platform.
- FIG. 7 is a graph showing the execution time of the random selection method and the NAA and SNN parameter-based selection method of the present invention.
- FIG. 8 is a graph showing the success rate of training and inference according to the neuromorphic architecture selection method.
- 1 is a diagram showing an abstraction structure for supporting the heterogeneous neuromorphic architecture of the present invention.
- NAA Neuromorphic Architecture Abstraction
- NAA HOST Raspberry Pi, local PC, etc.
- FPGA-based neuromorphic architecture board PYNQ-Z1, DE1-SoC, Loihi, etc.
- the NAA model proposed in the present invention dynamically selects an appropriate neuromorphic architecture according to various learning characteristics to increase learning speed and learning success rate.
- NAA provides an abstraction of neuromorphic architectures for applications running on different neuromorphic architectures to use different hardware features with the same interface.
- NAA makes the different machine training execution methods of each neuromorphic architecture the same machine training execution method. It also gives IoT devices the ability to emulate on a neuromorphic architecture and debug hardware functions through an abstracted software interface.
- NAA can choose an appropriate neuromorphic architecture that supports a particular SNN model based on parameters such as the weight values or bias values of the SNN training model.
- NAA consists of NAA HOST, an abstraction of IoT devices, and NAA NA, an abstraction of neuromorphic architecture.
- NAA NA includes an emulator that can debug the process of learning and recognizing IoT applications and SNN models on neuromorphic architectures.
- NAA HOST provides an API for sending and receiving training data between NAA HOST and NAA NA for training and inference of the SNN model, and an API for dynamically selecting an NAA NA suitable for SNN model execution among multiple NAA NAs.
- FIG. 2 is a block diagram of an apparatus for dynamically selecting a neuromorphic architecture for performing a model based on SNN model parameters according to an embodiment of the present invention.
- the apparatus 20 includes an information extraction unit 110 , an architecture selection unit 130 , a time calculation unit 150 , and a final selection unit 170 .
- the device 20 of the present invention may be the NAA NA of FIG. 1 or may be a part of the NAA NA.
- the configuration of the information extraction unit 110 , the architecture selection unit 130 , the time calculation unit 150 , and the final selection unit 170 may be formed as an integrated module or may include one or more modules. However, on the contrary, each configuration may be formed of a separate module.
- the device 20 may be movable or stationary.
- the apparatus 20 may be in the form of a server or an engine, and may be a device, an application, a terminal, a user equipment (UE), a mobile station (MS), or a wireless device. (wireless device), may be called other terms such as a handheld device (handheld device).
- the information extraction unit 110 extracts information of the SNN model from the NPZ file received from the IoT application through the NAA (Neuromorphic Architecture Abstraction) HOST.
- NAA Neuromorphic Architecture Abstraction
- the architecture selector 130 is configured to perform at least one neuromorphic capable of performing the SNN model based on the number of input and output dimensions of the SNN model and the maximum number of neurons that can be used. Choose an architecture.
- the time calculation unit 150 calculates an execution time required for learning and inference of the neuromorphic architecture, and the final selection unit 170 takes the learning and reasoning. Finally, the neuromorphic architecture with the shortest execution time is selected.
- FIG. 3 is a diagram showing a scenario for executing a neuromorphic architecture dynamic selection according to the present invention.
- the NAA proposed in the present invention basically uses three communication channels to learn and infer an SNN model.
- the first communication channel is used to transmit parameters such as bias and weight required for NAA NA to perform SNN model training and inference.
- parameters such as bias and weight required for NAA NA to perform SNN model training and inference.
- the npz binary format supported by Numpy is used, and to transmit data from NAA HOST to NAA NA, Secure File Transfer Protocol (SFTP) is used.
- SFTP Secure File Transfer Protocol
- the communication channel is used by NAA HOST for the purpose of controlling NAA NA.
- TCP protocol TCP protocol
- FIG. 4 is a diagram showing a process of learning and inferring an SNN model by NAA for an intelligent IoT device according to the present invention.
- the process of learning and inferring the SNN model by the NAA proposed for the intelligent IoT device is as follows. First, data to be trained or inferred along with NAA NA control commands and SNN model parameter information required for SNN model learning and recognition in IoT applications are delivered to NAA HOST. Table 1 below shows the parameter types and descriptions required to train and infer an SNN model.
- the NAA HOST transfers the system initialization control command received from the IoT application to the NAA NA using the Secure File Transfer Protocol (SFTP) described above.
- SFTP Secure File Transfer Protocol
- NAA HOST compresses each parameter and each value specified in Table 1 into an npz format file and delivers it to NAA NA for each parameter and corresponding value required for the SNN model received from the intelligent IoT application.
- NAA NA extracts SNN model parameters and corresponding values from the npz format file received from NAA HOST, and performs hardware and software-related settings for operation necessary for SNN model operation in NAA NA.
- NAA NA NA notifies NAA HOST by sending an ACK message that the SNN model is in a state where learning or inference is possible when the setting for operation for driving the SNN model is completed.
- the NAA HOST waits until it receives an ACK message from the NAA NA indicating that the SNN model can be performed.
- the NAA HOST transfers the learning and inference request received from the intelligent IoT application and the corresponding data to the NAA NA.
- NAA NA delivers the results of learning and inference using the SNN model to NAA HOST. Finally, NAA HOST checks whether the execution result received from NAA NA is normal and delivers it to intelligent IoT applications.
- the present invention enables efficient learning by using a neuromorphic chipset with a small size and low power consumption without the support of high-performance hardware.
- NAA selects a neuromorphic architecture suitable for the IoT service environment. It is possible to create a small, low-power IoT environment without connecting and using high-performance hardware, enabling learning even in resource-constrained environments.
- FIG. 5 is a diagram showing an example of an algorithm of a neuromorphic architecture dynamic selection method for performing a model based on SNN model parameters according to an embodiment of the present invention.
- the NAA proposed in the present invention can support various neuromorphic architectures that can be used for IoT applications. Each neuromorphic architecture supports a different SNN model and number of neurons.
- the performance of training and inference also differs from architecture to architecture.
- To increase the overall performance of intelligent IoT applications it is necessary to select an appropriate neural architecture to train and infer an SNN model for IoT applications.
- the FPGA-based neuromorphic architecture used in an embodiment of the present invention supports up to 32k neurons and DE-1 SoC supports up to 16k neurons. Therefore, it is necessary to select an appropriate neuromorphic architecture based on the parameter scale analysis results of the SNN model.
- the NAA of the present invention extracts SNN model information corresponding to Table 1 from the npz file received from the IoT application. Then, based on the input and output dimensions of the SNN model and the maximum number of neurons that can be used, we choose an appropriate neuromorphic architecture to perform the SNN model.
- the time required for training is taken into account and selected by reasoning to minimize the processing time.
- Figure 5 shows the procedure and method for minimizing the time required for training and inference by selecting an appropriate neuromorphic architecture in NAA.
- the symbols used in the algorithm and their meanings are shown in Table 2 below.
- NAA In order to select an appropriate neuromorphic architecture in NAA, NAA first uses the PARAMETERCHECK function to sequentially check whether the SNN model is suitable for execution. This function finds an appropriate architecture based on the given SNN model based on the requested SNN model's parameter size and neuromorphic architecture information.
- the EXECUTIONCHECK function creates an array (send_data) as much as the training and inference data size of the input layer of a given SNN model, sends the randomly generated data to NAA NA through the NAAexecution function, and measures the training and inference time.
- sending_data an array as much as the training and inference data size of the input layer of a given SNN model
- NAA NA the training and inference data size of the input layer of a given SNN model
- NAA NA NAAexecution function
- the neuromorphic architecture to be tested is suitable for running the given SNN model. If the neuromorphic architecture is suitable for running the SNN model, training and inference are executed through the EXECUTIONCHECK function. If the execution time of the identified neuromorphic architecture is less than the existing minimum execution time, another neuromorphic architecture is selected as an appropriate neuromorphic architecture.
- the proposed NAA was implemented in a Raspberry Pi4 intelligent IoT device and performance evaluation was performed.
- Table 3 shows the hardware platform environment for evaluation.
- the neuromorphic architectures used for performance evaluation are FPGA-based neuromorphic computing enabled devices, DE1-SoC and PYNQ-Z1.
- Table 4 shows the maximum number of neurons supported by each neuromorphic architecture.
- the MNIST data set was used as a data set for training and inferring an SNN model for image classification.
- the 28x28 image data set was transformed to 14x14 to fit the neuron scale supported by DE1-SoC and PYNQ-Z1 supporting native MNIST data for the implemented NAA.
- FIG. 6 shows the results of classifying numeric images using the MNIST data set on the NAA platform.
- the performance of the two methods was compared. One is to randomly select a neural architecture, and the other is to select an appropriate neural architecture in consideration of SNN parameters. The success rate of training and reasoning and the total execution time are checked and compared to evaluate performance.
- the NAA proposed in the present invention shows that the required training and reasoning time is reduced by 24% compared to the random selection method.
- the present invention proposes NAA to provide hardware abstraction to several neuromorphic architectures for intelligent IoT devices and intelligent IoT applications.
- IoT applications can train and infer intelligent services based on SNN models operating on neuromorphic architectures.
- NAA can also dynamically choose an appropriate neuromorphic architecture taking into account the parameters of a given SNN model.
- time overhead required for training and reasoning of the NAA proposed in the present invention was reduced by 24%, and the success rate was increased by 20% compared to the random selection method.
- Such a neuromorphic architecture dynamic selection method for model performance based on SNN model parameters is implemented as an application or implemented in the form of program instructions that can be executed through various computer components to be recorded in a computer-readable recording medium.
- the computer-readable recording medium may include program instructions, data files, data structures, etc. alone or in combination.
- the program instructions recorded in the computer-readable recording medium are specially designed and configured for the present invention, and may be known and available to those skilled in the computer software field.
- Examples of the computer-readable recording medium include hard disks, magnetic media such as floppy disks and magnetic tapes, optical recording media such as CD-ROMs and DVDs, and magneto-optical media such as floppy disks. media), and hardware devices specially configured to store and execute program instructions, such as ROM, RAM, flash memory, and the like.
- Examples of program instructions include not only machine language codes such as those generated by a compiler, but also high-level language codes that can be executed by a computer using an interpreter or the like.
- the hardware device may be configured to operate as one or more software modules for carrying out the processing according to the present invention, and vice versa.
- NAA selects an optimal executable neuromorphic architecture in a specific IoT device or IoT service environment.
- the present invention makes it possible to create an IoT environment with a small size and low power without connecting and using high-performance hardware, so that learning is possible even in a resource-constrained environment. Therefore, it can be usefully applied to the rapidly developing Internet of Things (IoT) field.
- IoT Internet of Things
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Data Mining & Analysis (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Computational Linguistics (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Neurology (AREA)
- Stored Programmes (AREA)
Abstract
SNN 모델 파라미터를 기반으로 모델 수행을 위한 뉴로모픽 아키텍처 동적 선택 방법은, NAA(Neuromorphic Architecture Abstraction) HOST를 통해 IoT 응용에서 전달받은 NPZ 파일에서 SNN 모델의 정보를 추출하는 단계; SNN 모델의 입력 차원(input dimension) 수 및 출력 차원(out dimension) 수 및 사용할 수 있는 최대 뉴런의 수를 기반으로, SNN 모델의 수행이 가능한 적어도 하나의 뉴로모픽 아키텍처를 선택하는 단계; 선택된 뉴로모픽 아키텍처가 2개 이상인 경우, 뉴로모픽 아키텍처의 학습과 추론에 소요되는 수행시간을 계산하는 단계; 및 상기 학습과 추론에 소요되는 수행시간이 가장 짧은 뉴로모픽 아키텍처를 최종적으로 선택하는 단계;를 포함한다. 이에 따라, SNN 모델을 최적의 실행 가능한 뉴로모픽 아키텍처를 동적으로 선택할 수 있다.
Description
본 발명은 SNN 모델 파라미터를 기반으로 모델 수행을 위한 뉴로모픽 아키텍처 동적 선택 방법, 이를 수행하기 위한 기록 매체 및 장치에 관한 것으로서, 더욱 상세하게는 지능형 IoT를 위한 적절한 뉴로모픽(Neuromorphic) 플랫폼을 선택하는 기술에 관한 것이다.
사물 인터넷(IoT) 및 AI 기술의 급속한 발전으로 인공 지능(AI) 기술을 기반으로 하는 IoT 서비스가 점점 더 지능화되고 있다. 이러한 지능형 IoT 서비스를 제공하려면 IoT 하드웨어와 IoT 소프트웨어가 AI 기술을 지원해야 한다.
일반적으로, 배터리 구동 IoT 장치는 범용 컴퓨터에 비해 컴퓨팅 성능이 제한적이다. 따라서, 다양한 지능형 IoT 서비스를 구현하기 위해서는 IoT 기기에 저전력으로 AI 기술을 지원할 수 있어야 한다. 저전력 뉴로모픽 아키텍처는 리소스가 제한된 IoT 장치가 AI 기술을 기반으로 하는 지능형 IoT 서비스를 제공할 수 있도록 한다.
최근 인공 지능(AI) 기술을 기반으로 한 IoT 기기가 스스로 훈련하고 추론할 수 있는 지능형 서비스에 대한 연구가 큰 주목을 받고 있다. 그러나, 일반적인 IoT 기기에서 수집한 대량의 데이터를 학습시키기 위해서는 고성능 컴퓨팅 파워를 갖춘 하드웨어, 효율적으로 추론할 수 있는 기계 학습 플랫폼이 필요하다.
일반적인 IoT 장치는 크기가 작고 리소스가 제한된 컴퓨팅 환경이며 대부분의 경우 제한된 전력을 사용하기 때문에 고전력 소비 하드웨어가 있는 GPU와 같은 고성능 컴퓨팅 플랫폼을 IoT 장치에 통합하는 것은 적합하지 않다. 따라서, 최근 여러 연구에서 자원이 제한된 시스템에서 딥 러닝 신경망을 사용하는 방법을 연구하기 시작했다.
특히, 훈련된 패턴과 연관성에 대응하여 스스로 조직화하고 결정을 내릴 수 있는 제한된 자원으로 뇌의 뉴런이 어떻게 소통하고, 행위자 모델링을 하고, 뉴로모픽 아키텍처를 IoT 장치에 접목하는지에 대한 연구도 시작되었다. 뉴로모픽 아키텍처는 GPU 아키텍처보다 훨씬 작고 에너지 효율적이므로 리소스가 제한된 IoT 장치에 적용하면 간단한 신경망을 포함한 기계 학습 기능의 이점을 누릴 수 있기 때문이다.
뉴로모픽 아키텍처는 인공 신경망을 구현하여 인간의 훈련 능력을 모방하기 위해 신경계에 존재하는 신경 생물학적 뇌의 구조와 기능적 특성을 가진 하드웨어와 소프트웨어를 사용하는 새로운 컴퓨팅 아키텍처로 알려져 있다. 뉴로모픽 아키텍처는 Spiking Neural Networks(SNN) 알고리즘에 특화된 차세대 신경망 모델이다. 뉴로모픽 아키텍처에는 Intel에서 최근 발표한 Loihi 칩 및 FPGA 기반 뉴로모픽 아키텍처 보드, Terasic의 De1-SoC 및 Xilinx의 PYNQ-Z1 등이 포함된다.
IBM은 2008년 DARPA의 SyNAPSE 프로젝트를 기반으로 2014년에 TrueNorth라는 Neuromorphic 칩을 개발했다. 인간 뇌 뉴런의 구조와 기능을 모방한 TrueNorth는 256 개의 뉴런에 대해 4096 개의 상호 연결된 코어의 한 형태이다. 10,000 분의 1 수준의 초 저전력 성능을 보였지만 가장 단순한 형태인 linear의 IF(integration-and-fire) 모델만 지원한다.
Intel의 Loihi는 가장 최근에 출시 된 LIF(Leaky Integrate-and-Fire) 뉴런을 지원하는 하드웨어를 대표한다. Loihi는 칩당 128 개의 코어와 130,000 개의 뉴런을 갖추고 있어 총 1600 만 개의 뉴런과 1 억 3 천만 개의 시냅스를 구성할 수 있다. 기존 뉴로모픽 아키텍처는 주로 LIF가 아닌 선형 모델을 기반으로 하는 뉴런을 지원하지만 LIF 기반 Loihi는 기존 뉴로모픽 아키텍처보다 생물학적 뉴런에 훨씬 더 가까운 모델로 평가된다.
최근에 32 개의 Loihi 칩셋이 있는 Nahuku 보드가 출시되었다. Nepes는 NM500을 뉴로모픽 칩으로 판매하지만 스파이킹 신경망을 기반으로 하는 뉴로모픽 칩이 아니며 RBF(Radial Basis Function) 신경망과 K-Nearest Neighbor 모델만 지원한다. 칩당 576 개의 뉴런을 가지고 있으며 칩을 병렬로 쌓아 뉴런을 증가시키는 특징이 있다.
현재의 뉴로모픽 아키텍처의 성능이 매우 열악하지만, 조만간 우수한 성능의 새로운 뉴로모픽 아키텍처가 출시될 것으로 예상되며, 이를 통해 뉴로모픽 아키텍처를 포함하는 IoT 장치가 등장하고 궁극적으로 지능형 IoT 서비스를 제공할 수 있을 것으로 예상된다.
그러나, 각 뉴로모픽 아키텍처는 서로 다른 성능, 서로 다른 하드웨어 특성, 서로 다른 지원되는 SNN 모델, 서로 다른 메모리 크기 및 서로 다른 최대 뉴런 수를 갖기 때문에 특정 IoT 장치 또는 IoT 서비스 환경에 적합한 뉴로모픽 아키텍처를 선택할 수 없는 경우, 훈련이 정상적으로 수행되지 않고 치명적인 오류가 발생할 수 있다. 따라서, 학습 모델, 학습 대상, IoT 환경에 따라 적절한 뉴로모픽 아키텍처를 동적으로 선택할 수 있는 기술이 필요하다.
[선행기술문헌]
[특허문헌]
(특허문헌 1) KR 10-2018-0070196 A
(특허문헌 2) KR 10-2020-0068051 A
(특허문헌 3) 10-2020-0098308 A
[비특허문헌]
(비특허문헌 1) Steve K Esser, Rathinakumar Appuswamy, Paul Merolla, John V Arthur, and Dharmendra S Modha, Backpropagation for energy-efficient neuromorphic computing, In Advances in neural information processing systems, 1117-1125, 2015.
이에, 본 발명의 기술적 과제는 이러한 점에서 착안된 것으로 본 발명의 목적은 SNN 모델 파라미터를 기반으로 모델 수행을 위한 뉴로모픽 아키텍처 동적 선택 방법을 제공하는 것이다.
본 발명의 다른 목적은 상기 SNN 모델 파라미터를 기반으로 모델 수행을 위한 뉴로모픽 아키텍처 동적 선택 방법을 수행하기 위한 컴퓨터 프로그램이 기록된 기록 매체를 제공하는 것이다.
본 발명의 또 다른 목적은 상기 SNN 모델 파라미터를 기반으로 모델 수행을 위한 뉴로모픽 아키텍처 동적 선택 방법을 수행하기 위한 장치를 제공하는 것이다.
상기한 본 발명의 목적을 실현하기 위한 일 실시예에 따른 SNN 모델 파라미터를 기반으로 모델 수행을 위한 뉴로모픽 아키텍처 동적 선택 방법은, NAA(Neuromorphic Architecture Abstraction) HOST를 통해 IoT 응용에서 전달받은 NPZ 파일에서 SNN 모델의 정보를 추출하는 단계; SNN 모델의 입력 차원(input dimension) 수 및 출력 차원(out dimension) 수 및 사용할 수 있는 최대 뉴런의 수를 기반으로, SNN 모델의 수행이 가능한 적어도 하나의 뉴로모픽 아키텍처를 선택하는 단계; 선택된 뉴로모픽 아키텍처가 2개 이상인 경우, 뉴로모픽 아키텍처의 학습과 추론에 소요되는 수행시간을 계산하는 단계; 및 상기 학습과 추론에 소요되는 수행시간이 가장 짧은 뉴로모픽 아키텍처를 최종적으로 선택하는 단계;를 포함한다.
본 발명의 실시예에서, 상기 SNN 모델의 수행이 가능한 적어도 하나의 뉴로모픽 아키텍처를 선택하는 단계는, NAA에서 적절한 뉴로모픽 아키텍처를 선택하기 위하여 사용 가능한 뉴로모픽 아키텍처를 대상으로 주어진 SNN 모델의 수행 적합 여부를 순차적으로 확인하는 단계;를 포함할 수 있다.
본 발명의 실시예에서, 상기 SNN 모델의 수행이 가능한 적어도 하나의 뉴로모픽 아키텍처를 선택하는 단계는, 요청된 SNN 모델의 파라미터 규모와 수행 가능여부를 확인할 뉴로모픽 아키텍처 정보를 기반으로, SNN 모델의 수행에 적합한 뉴로모픽 아키텍처인지를 확인하는 파라미터 체크(Parameter Check) 함수를 사용할 수 있다.
본 발명의 실시예에서, 상기 SNN 모델의 수행이 가능한 적어도 하나의 뉴로모픽 아키텍처를 선택하는 단계는, 파라미터 체크에서 적합하다고 판단된 뉴로모픽 아키텍처의 학습 및 추론 수행시간을 확인하는 실행 체크(Execution Check) 함수를 사용할 수 있다.
본 발명의 실시예에서, 상기 뉴로모픽 아키텍처의 학습과 추론에 소요되는 수행시간을 계산하는 단계는, 수행시간을 구하기 위해 한번의 학습 및 추론을 수행하는 단계;를 포함할 수 있다.
본 발명의 실시예에서, 상기 뉴로모픽 아키텍처의 학습과 추론에 소요되는 수행시간을 계산하는 단계는, 상기 실행 체크(Execution Check) 함수 내에서 SNN 모델의 입력 레이어의 학습 및 추론 데이터 크기만큼 배열(send_data)을 생성하는 단계; 랜덤으로 생성된 학습 및 추론 데이터를 NAA 실행 함수를 통해 NAA NA에 전송하는 단계; 및 뉴로모픽 아키텍처에서의 학습 및 추론 수행시간을 측정하는 단계;를 더 포함할 수 있다.
본 발명의 실시예에서, 상기 학습과 추론에 소요되는 수행시간이 가장 짧은 뉴로모픽 아키텍처를 최종적으로 선택하는 단계는, 뉴로모픽 아키텍처에서의 학습 및 추론 수행시간이 이전 뉴로모픽 아키텍처의 최소 수행시간보다 짧은 경우, 최적의 뉴로모픽 아키텍처를 변경하는 단계;를 더 포함할 수 있다.
본 발명의 실시예에서, 상기 SNN 모델 파라미터를 기반으로 모델 수행을 위한 뉴로모픽 아키텍처 동적 선택 방법은, NAA NA가 SNN 모델 학습과 추론을 수행하기 위해 필요한 파라미터를 전송하는데 사용되는 제1 통신 채널; NAA HOST가 NAA NA의 제어를 위한 제2 통신 채널; 및 SNN 모델의 학습과 추론을 결과를 NAA NA에서 NAA HOST로 전달하기 위한 제3 통신 채널;을 포함하는 3개의 통신 채널을 사용할 수 있다.
상기한 본 발명의 다른 목적을 실현하기 위한 일 실시예에 따른 컴퓨터로 판독 가능한 저장 매체에는, 상기 SNN 모델 파라미터를 기반으로 모델 수행을 위한 뉴로모픽 아키텍처 동적 선택 방법을 수행하기 위한 컴퓨터 프로그램이 기록되어 있다.
상기한 본 발명의 또 다른 목적을 실현하기 위한 일 실시예에 따른 SNN 모델 파라미터를 기반으로 모델 수행을 위한 뉴로모픽 아키텍처 동적 선택 장치는, NAA(Neuromorphic Architecture Abstraction) HOST를 통해 IoT 응용에서 전달받은 NPZ 파일에서 SNN 모델의 정보를 추출하는 정보 추출부; SNN 모델의 입력 차원(input dimension) 수 및 출력 차원(out dimension) 수 및 사용할 수 있는 최대 뉴런의 수를 기반으로, SNN 모델의 수행이 가능한 적어도 하나의 뉴로모픽 아키텍처를 선택하는 아키텍처 선택부; 선택된 뉴로모픽 아키텍처가 2개 이상인 경우, 뉴로모픽 아키텍처의 학습과 추론에 소요되는 수행시간을 계산하는 시간 계산부; 및 상기 학습과 추론에 소요되는 수행시간이 가장 짧은 뉴로모픽 아키텍처를 최종적으로 선택하는 최종 선택부;를 포함한다.
본 발명의 실시예에서, 상기 SNN 모델 파라미터를 기반으로 모델 수행을 위한 뉴로모픽 아키텍처 동적 선택 장치는, NAA NA일 수 있다.
본 발명의 실시예에서, 상기 NAA NA와 상기 NAA HOST는, NAA NA가 SNN 모델 학습과 추론을 수행하기 위해 필요한 파라미터를 전송하는데 사용되는 제1 통신 채널; NAA HOST가 NAA NA의 제어를 위한 제2 통신 채널; 및 SNN 모델의 학습과 추론을 결과를 NAA NA에서 NAA HOST로 전달하기 위한 제3 통신 채널;을 포함하는 3개의 통신 채널을 이용할 수 있다.
이와 같은 SNN 모델 파라미터를 기반으로 모델 수행을 위한 뉴로모픽 아키텍처 동적 선택 방법에 따르면, NAA는 고성능 하드웨어의 지원 없이 크기가 작고 전력소비가 적은 뉴로모픽 칩셋을 사용하여 효율적인 학습이 가능하게 한다.
또한, NAA는 IoT 서비스 환경에 적합한 뉴로모픽 아키텍처를 선택한다. 고성능 하드웨어를 연결해서 쓰지 않고도 크기가 작고 저전력인 IoT 환경을 만들 수 있어 자원 제약적인 환경에서도 학습이 가능하게 한다.
도 1은 본 발명의 이기종 뉴로모픽 아키텍처를 지원하기 위한 추상화 구조를 보여주는 도면이다.
도 2는 본 발명의 일 실시예에 따른 SNN 모델 파라미터를 기반으로 모델 수행을 위한 뉴로모픽 아키텍처 동적 선택 장치의 블록도이다.
도 3은 본 발명에 따른 뉴로모픽 아키텍처 동적 선택을 실행하는 시나리오를 보여주는 도면이다.
도 4는 본 발명에 따라 지능형 IoT 디바이스를 위해 NAA가 SNN 모델을 학습과 추론하는 과정을 보여주는 도면이다.
도 5는 본 발명의 일 실시예에 따른 SNN 모델 파라미터를 기반으로 모델 수행을 위한 뉴로모픽 아키텍처 동적 선택 방법의 알고리즘의 예시를 보여주는 도면이다.
도 6은 NAA 플랫폼에서 MNIST 데이터 세트를 사용하여 숫자 이미지를 분류한 결과를 보여주는 도면이다.
도 7은 랜덤 선택 방법과 본 발명의 NAA, SNN 파라미터 기반 선택 방법의 실행 시간을 보여주는 그래프이다.
도 8은 뉴로모픽 아키텍처 선택 방법에 따른 훈련 및 추론의 성공률을 보여주는 그래프이다.
후술하는 본 발명에 대한 상세한 설명은, 본 발명이 실시될 수 있는 특정 실시예를 예시로서 도시하는 첨부 도면을 참조한다. 이들 실시예는 당업자가 본 발명을 실시할 수 있기에 충분하도록 상세히 설명된다. 본 발명의 다양한 실시예는 서로 다르지만 상호 배타적일 필요는 없음이 이해되어야 한다. 예를 들어, 여기에 기재되어 있는 특정 형상, 구조 및 특성은 일 실시예에 관련하여 본 발명의 정신 및 범위를 벗어나지 않으면서 다른 실시예로 구현될 수 있다. 또한, 각각의 개시된 실시예 내의 개별 구성요소의 위치 또는 배치는 본 발명의 정신 및 범위를 벗어나지 않으면서 변경될 수 있음이 이해되어야 한다. 따라서, 후술하는 상세한 설명은 한정적인 의미로서 취하려는 것이 아니며, 본 발명의 범위는, 적절하게 설명된다면, 그 청구항들이 주장하는 것과 균등한 모든 범위와 더불어 첨부된 청구항에 의해서만 한정된다. 도면에서 유사한 참조부호는 여러 측면에 걸쳐서 동일하거나 유사한 기능을 지칭한다.
이하, 도면들을 참조하여 본 발명의 바람직한 실시예들을 보다 상세하게 설명하기로 한다.
도 1은 본 발명의 이기종 뉴로모픽 아키텍처를 지원하기 위한 추상화 구조를 보여주는 도면이다.
본 발명은 NN모델을 최적의 실행 가능한 뉴로모픽(Neuromorphic) 아키텍처를 동적으로 선택하는 NAA(Neuromorphic Architecture Abstraction) 모델을 제안한다. NAA는 뉴로모픽 아키텍처 실행환경으로 하드웨어적으로 NAA HOST(라즈베리파이, 로컬PC 등)와 FPGA 기반 뉴로모픽 아키텍처 보드(PYNQ-Z1, DE1-SoC, Loihi 등)로 구분된다.
본 발명에서 제안된 NAA 모델은 학습 속도와 학습 성공률을 높이기 위해 다양한 학습 특성에 따라 적절한 뉴로모픽 아키텍처를 동적으로 선택한다.
도 1을 참조하면, 소프트웨어 방식으로 다양한 이기종 뉴로모픽 아키텍처를 제어하기 위해 뉴로모픽 아키텍처를 추상화하는 방법을 설명한다. NAA는 서로 다른 하드웨어 기능을 동일한 인터페이스로 사용하기 위해 다양한 뉴로모픽 아키텍처에서 실행되는 애플리케이션에 대해 뉴로모픽 아키텍처의 추상화를 제공한다.
추상화된 인터페이스를 통해 NAA는 각 뉴로모픽 아키텍처의 서로 다른 기계 훈련 실행 방법을 동일한 기계 훈련 실행 방법으로 만든다. 또한, IoT 장치에 뉴로모픽 아키텍처에서 에뮬레이션하고 추상화된 소프트웨어 인터페이스를 통해 하드웨어 기능을 디버그할 수 있는 기능을 제공한다.
각 뉴로모픽 아키텍처는 서로 다른 SNN 모델을 지원하므로 NAA는 SNN 훈련 모델의 가중치 값 또는 바이어스 값과 같은 매개 변수를 기반으로 특정 SNN 모델을 지원하는 적절한 뉴로모픽 아키텍처를 선택할 수 있다. NAA는 IoT 장치의 추상화인 NAA HOST와 뉴로모픽 아키텍처의 추상화인 NAA NA로 구성되어 있다.
NAA NA에는 뉴로모픽 아키텍처에서 IoT 애플리케이션 및 SNN 모델을 학습하고 인식하는 프로세스를 디버깅 할 수 있는 에뮬레이터가 포함되어 있다. NAA HOST는 SNN 모델의 학습 및 추론을 위해 NAA HOST와 NAA NA간에 학습 데이터를 송수신하기 위한 API와 다수의 NAA NA 중 SNN 모델 실행에 적합한 NAA NA를 동적으로 선택하기 위한 API를 제공한다.
도 2는 본 발명의 일 실시예에 따른 SNN 모델 파라미터를 기반으로 모델 수행을 위한 뉴로모픽 아키텍처 동적 선택 장치의 블록도이다.
도 2를 참조하면, 본 발명에 따른 장치(20)는 정보 추출부(110), 아키텍처 선택부(130), 시간 계산부(150) 및 최종 선택부(170)를 포함한다.
본 발명의 상기 장치(20)는 도 1의 NAA NA이거나 NAA NA의 일부일 수 있다. 상기 정보 추출부(110), 상기 아키텍처 선택부(130), 상기 시간 계산부(150) 및 상기 최종 선택부(170)의 구성은 통합 모듈로 형성되거나, 하나 이상의 모듈로 이루어 질 수 있다. 그러나, 이와 반대로 각 구성은 별도의 모듈로 이루어질 수도 있다.
상기 장치(20)는 이동성을 갖거나 고정될 수 있다. 상기 장치(20)는, 서버(server) 또는 엔진(engine) 형태일 수 있으며, 디바이스(device), 기구(apparatus), 단말(terminal), UE(user equipment), MS(mobile station), 무선기기(wireless device), 휴대기기(handheld device) 등 다른 용어로 불릴 수 있다.
상기 정보 추출부(110)는 NAA(Neuromorphic Architecture Abstraction) HOST를 통해 IoT 응용에서 전달받은 NPZ 파일에서 SNN 모델의 정보를 추출한다.
상기 아키텍처 선택부(130)는 SNN 모델의 입력 차원(input dimension) 수 및 출력 차원(out dimension) 수 및 사용할 수 있는 최대 뉴런의 수를 기반으로, SNN 모델의 수행이 가능한 적어도 하나의 뉴로모픽 아키텍처를 선택한다.
상기 시간 계산부(150)는 선택된 뉴로모픽 아키텍처가 2개 이상인 경우, 뉴로모픽 아키텍처의 학습과 추론에 소요되는 수행시간을 계산하고, 상기 최종 선택부(170)는 상기 학습과 추론에 소요되는 수행시간이 가장 짧은 뉴로모픽 아키텍처를 최종적으로 선택한다.
도 3은 본 발명에 따른 뉴로모픽 아키텍처 동적 선택을 실행하는 시나리오를 보여주는 도면이다.
도 3을 참조하면, 본 발명에서 제안한 NAA는 SNN 모델을 학습과 추론하기 위해 기본적으로 3개의 통신 채널을 사용한다.
첫 번째 통신 채널은 NAA NA가 SNN 모델 학습과 추론을 수행하기 위해 필요한 bias, weight와 같은 파라미터를 전송하는데 사용된다. 전송되는 데이터를 위해 Numpy에서 지원하는 npz 바이너리 포맷을 사용하고, NAA HOST에서 NAA NA로 데이터를 송신하기 위해 Secure File Transfer Protocol(SFTP)을 사용한다.
두 번째로 통신 채널은 NAA HOST가 NAA NA의 제어를 목적으로 사용한다. TCP 프로토콜을 사용하는 이 채널을 통해 NAA NA에서 동작하는 SNN모델의 loading, stop, inferencing request, training request 등의 제어가 가능하다.
마지막으로, SNN 모델의 학습과 추론 결과를 NAA NA에서 NAA HOST로 전달하기 위한 통신 채널이 있다. 이 채널은 NAA HOST가 학습 및 인식 요청을 NAA NA로 non-blocking하게 보낼 수 있게 UDP 프로토콜을 사용한다.
도 4는 본 발명에 따라 지능형 IoT 디바이스를 위해 NAA가 SNN 모델을 학습과 추론하는 과정을 보여주는 도면이다.
도 4를 참조하면, 지능형 IoT 디바이스를 위해 제안한 NAA가 SNN 모델을 학습과 추론하는 과정은 다음과 같다. 먼저, IoT 응용에서 SNN 모델 학습과 인식을 위해 필요한 NAA NA 제어 명령과 SNN 모델 파라미터 정보와 함께 학습이나 추론을 수행할 데이터를 NAA HOST로 전달한다. 아래의 표 1은 SNN 모델을 학습하고 추론하는데 필요한 매개 변수 유형과 설명을 보여준다.
[표 1]
다음으로, NAA HOST는 IoT 응용으로부터 전달 받은 시스템 초기화 제어 명령을 앞에서 설명한 Secure File Transfer Protocol(SFTP)을 이용하여 NAA NA로 전달한다. 이를 통해, NAA NA는 SNN 모델을 수신할 준비를 한다.
이후, NAA HOST는 지능형 IoT 응용에서 전달받은 SNN 모델에 필요한 각 파라미터와 해당 값을 표 1에 지정된 각 매개변수와 각 값을 npz 포맷 파일로 압축하여 NAA NA로 전달한다. NAA NA는 NAA HOST로부터 전달받은 npz 포맷 파일에 존재하는 SNN 모델 파라미터와 해당 값을 추출하고 NAA NA에서 SNN 모델 동작에 필요한 동작을 위한 하드웨어 및 소프트웨어 관련 설정을 수행한다.
NAA NA는 SNN 모델 구동을 위한 동작을 위한 설정이 완료되면 NAA HOST에게 SNN 모델이 학습이나 추론이 가능한 상태라는 것을 ACK 메시지를 전달하여 알린다.
이 과정에서 NAA HOST는 SNN 모델의 수행이 가능한 상태임을 의미하는 ACK 메시지를 NAA NA로부터 수신하기 전까지 대기한다. NAA HOST는 NAA NA가 SNN 모델이 수행 가능한 상태라고 알리는 ACK를 수신하면 지능형 IoT 응용에서 수신한 학습 및 추론 요청과 해당 데이터를 NAA NA로 전달한다.
NAA NA는 SNN 모델을 이용하여 학습 및 추론한 결과를 NAA HOST에 전달한다. 마지막으로, NAA HOST는 NAA NA로부터 받은 수행 결과가 정상적인지 확인하고 이를 지능형 IoT 응용에 전달한다.
본 발명은 NAA는 고성능 하드웨어의 지원 없이 크기가 작고 전력소비가 적은 뉴로모픽 칩셋을 사용하여 효율적인 학습이 가능하게 한다. 또한, NAA는 IoT 서비스 환경에 적합한 뉴로모픽 아키텍처를 선택한다. 고성능 하드웨어를 연결해서 쓰지 않고도 크기가 작고 저전력인 IoT 환경을 만들 수 있어 자원 제약적인 환경에서도 학습이 가능하게 한다.
도 5는 본 발명의 일 실시예에 따른 SNN 모델 파라미터를 기반으로 모델 수행을 위한 뉴로모픽 아키텍처 동적 선택 방법의 알고리즘의 예시를 보여주는 도면이다.
이하에서는, IoT 응용에서 요청한 SNN 모델에 가장 적합한 신경 모형 아키텍처를 선택하는 방법을 설명한다. 본 발명에서 제안된 NAA는 IoT 응용에 사용할 수 있는 다양한 뉴로모픽 아키텍처를 지원할 수 있다. 각 뉴로모픽 아키텍처는 서로 다른 SNN 모델과 뉴런 수를 지원한다.
학습 및 추론의 성능도 아키텍처마다 다르다. 지능형 IoT 응용의 전체 성능을 높이려면 IoT 응용을 위한 SNN 모델을 학습하고 추론할 적절한 신경형 아키텍처를 선택해야 한다. 지능형 IoT 응용을 훈련하기 위한 IoT 장치를 위한 여러 개의 뉴로모픽 아키텍처가 있다고 가정하면 뉴로모픽 아키텍처 중 하나를 무작위로 선택하면 IoT 애플리케이션에 필요한 특정 SNN 모델을 훈련하고 추론할 수 없다는 문제가 있다.
또한, 특정 SNN 모델을 수행하는 데 필요한 자원이 더 많은 뉴로모픽 아키텍처를 선택하면 전체 자원 활용 측면에서 비효율적인 사용이 발생할 수 있다. 이는 각 뉴로모픽 아키텍처에 대해 지원되는 최대 뉴런 수가 다르기 때문이다.
본 발명의 일 실시예에서 사용된 FPGA 기반 뉴로모픽 아키텍처인 PYNQ는 최대 32k 뉴런을 지원하고 DE-1 SoC는 최대 16k 뉴런을 지원한다. 따라서, SNN 모델의 매개 변수 척도 분석 결과를 바탕으로 적절한 뉴로모픽 아키텍처를 선택해야 한다.
본 발명의 NAA는 IoT 응용에서 수신한 npz 파일에서 표 1에 해당하는 SNN 모델 정보를 추출한다. 그런 다음 SNN 모델의 입력 및 출력 차원과 사용할 수 있는 최대 뉴런 수를 기반으로 SNN 모델을 수행 할 수 있는 적절한 뉴로모픽 아키텍처를 선택한다.
SNN 매개 변수에 의해 선택된 뉴로모픽 아키텍처가 두 개 이상인 경우 훈련에 필요한 시간을 고려하고 처리 시간을 최소화하기 위해 추론하여 선택한다.
도 5는 NAA에서 적절한 뉴로모픽 아키텍처를 선택하여 훈련 및 추론에 필요한 시간을 최소화하는 절차와 방법을 보여준다. 알고리즘에 사용된 기호와 그 의미는 아래의 표 2와 같다.
[표 2]
NAA에서 적절한 뉴로모픽 아키텍처를 선택하기 위해 먼저 NAA는 PARAMETERCHECK 함수를 사용하여 SNN 모델이 실행에 적합한지 여부를 순차적으로 확인한다. 이 함수는 요청된 SNN 모델의 매개 변수 크기 및 뉴로모픽 아키텍처 정보를 기반으로 주어진 SNN 모델을 기반으로 적절한 아키텍처를 찾는다.
EXECUTIONCHECK 함수는 주어진 SNN 모델의 입력 계층의 훈련 및 추론 데이터 크기만큼 배열(send_data)을 생성하고, 무작위로 생성된 데이터를 NAAexecution 함수를 통해 NAA NA로 전송하고, 훈련 및 추론 시간을 측정한다. 도 5의 10번째 라인에서 해당 뉴로모픽 아키텍처에서의 학습 및 추론 수행 시간이 반환된다.
PARAMETERCHECK 함수를 통해 검사할 뉴로모픽 아키텍처가 주어진 SNN 모델을 실행하는데 적합한지 확인한다. 뉴로모픽 아키텍처가 SNN 모델을 실행하기에 적합하다면 EXECUTIONCHECK 함수를 통해 훈련 및 추론이 실행된다. 확인된 뉴로모픽 아키텍처의 실행 시간이 기존 최소 실행 시간보다 적으면 적절한 뉴로모픽 아키텍처로 다른 뉴로모픽 아키텍처가 선택된다.
본 발명의 NAA의 성능을 검증하기 위해 제안된 NAA를 Raspberry Pi4 지능형 IoT 장치에 구현하여 성능 평가를 수행했다. 평가를 위한 하드웨어 플랫폼 환경은 표 3과 같다.
[표 3]
성능 평가에 사용되는 뉴로모픽 아키텍처는 FPGA 기반 뉴로모픽 컴퓨팅 지원 장치, DE1-SoC 및 PYNQ-Z1이다. 각 뉴로모픽 아키텍처에서 지원하는 최대 뉴런 수는 표 4와 같다.
[표 4]
본 발명에서 제안된 NAA의 성능 평가를 위해 이미지 분류가 가능한 IoT 서비스를 테스트한다. MNIST 데이터 세트는 이미지 분류를 위한 SNN 모델을 학습하고 추론하기 위한 데이터 세트로 사용되었다. 28x28 크기의 이미지 데이터 세트는 구현된 NAA에 대한 기본 MNIST 데이터를 지원하는 DE1-SoC 및 PYNQ-Z1에서 지원하는 뉴런 스케일에 맞게 14x14로 변환되었다.
도 6은 NAA 플랫폼에서 MNIST 데이터 세트를 사용하여 숫자 이미지를 분류한 결과를 보여준다. 두 방법의 성능을 비교하였는데, 하나는 신경형 아키텍처를 무작위로 선택하는 방법이고, 다른 하나는 SNN 매개 변수를 고려하여 적절한 신경형 아키텍처 방법을 선택하는 방법이다. 훈련 및 추론의 성공률과 총 실행 시간을 확인하여 비교하여 성능을 평가한다.
도 7은 랜덤 선택 방법과 본 발명의 NAA, SNN 파라미터 기반 선택 방법의 실행 시간을 보여준다. 본 발명에서 제안된 NAA는 무작위 선택 방법에 비해 필요한 훈련 및 추론 시간이 24 % 단축되었음을 보여준다.
도 8은 뉴로모픽 아키텍처 선택 방법에 따른 훈련 및 추론의 성공률을 보여준다. 뉴로모픽 아키텍처를 무작위로 선택하는 방법은 SNN 모델이 작동할 수 없는 뉴로모픽 아키텍처를 선택할 수 있기 때문에 성공률이 낮다. 반면, 본 발명에 따른 NAA는 SNN 모델의 매개 변수 척도 분석 결과를 기반으로 하기 때문에 훈련 및 추론의 성공률은 100 %임을 확인하였다.
본 발명은 지능형 IoT 장치 및 지능형 IoT 응용 프로그램을 위한 여러 뉴로모픽 아키텍처에 하드웨어 추상화를 제공하는 NAA를 제안하였다. 제안된 NAA에서 IoT 애플리케이션은 뉴로모픽 아키텍처에서 작동하는 SNN 모델을 기반으로 지능형 서비스를 훈련하고 추론할 수 있다.
NAA는 또한 주어진 SNN 모델의 매개 변수를 고려하여 적절한 뉴로모픽 아키텍처를 동적으로 선택할 수 있다. 실험 결과, 본 발명에서 제안된 NAA의 훈련 및 추론에 소요되는 시간 오버 헤드가 24 % 감소하고, 무작위 선택 방법에 비해 성공률이 20 % 증가한 것으로 나타났다.
이와 같은, SNN 모델 파라미터를 기반으로 모델 수행을 위한 뉴로모픽 아키텍처 동적 선택 방법은 애플리케이션으로 구현되거나 다양한 컴퓨터 구성요소를 통하여 수행될 수 있는 프로그램 명령어의 형태로 구현되어 컴퓨터 판독 가능한 기록 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능한 기록 매체는 프로그램 명령어, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다.
상기 컴퓨터 판독 가능한 기록 매체에 기록되는 프로그램 명령어는 본 발명을 위하여 특별히 설계되고 구성된 것들이거니와 컴퓨터 소프트웨어 분야의 당업자에게 공지되어 사용 가능한 것일 수도 있다.
컴퓨터 판독 가능한 기록 매체의 예에는, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM, DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 ROM, RAM, 플래시 메모리 등과 같은 프로그램 명령어를 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다.
프로그램 명령어의 예에는, 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드도 포함된다. 상기 하드웨어 장치는 본 발명에 따른 처리를 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상에서는 실시예들을 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.
[산업상 이용가능성]
본 발명은 NAA는 특정 IoT 장치 또는 IoT 서비스 환경에서 최적의 실행 가능한 뉴로모픽 아키텍처를 선택한다. 본 발명은 고성능 하드웨어를 연결해서 쓰지 않고도 크기가 작고 저전력인 IoT 환경을 만들 수 있어 자원 제약적인 환경에서도 학습이 가능하게 한다. 따라서, 급속한 발전을 하고 있는 사물 인터넷(IoT) 분야에 유용하게 적용할 수 있다.
[부호의 설명]
20: 뉴로모픽 아키텍처 동적 선택 장치
110: 정보 추출부
130: 아키텍처 선택부
150: 시간 계산부
170: 최종 선택부
Claims (12)
- NAA(Neuromorphic Architecture Abstraction) HOST를 통해 IoT 응용에서 전달받은 NPZ 파일에서 SNN 모델의 정보를 추출하는 단계;SNN 모델의 입력 차원(input dimension) 수 및 출력 차원(out dimension) 수 및 사용할 수 있는 최대 뉴런의 수를 기반으로, SNN 모델의 수행이 가능한 적어도 하나의 뉴로모픽 아키텍처를 선택하는 단계;선택된 뉴로모픽 아키텍처가 2개 이상인 경우, 뉴로모픽 아키텍처의 학습과 추론에 소요되는 수행시간을 계산하는 단계; 및상기 학습과 추론에 소요되는 수행시간이 가장 짧은 뉴로모픽 아키텍처를 최종적으로 선택하는 단계;를 포함하는, SNN 모델 파라미터를 기반으로 모델 수행을 위한 뉴로모픽 아키텍처 동적 선택 방법.
- 제1항에 있어서, 상기 SNN 모델의 수행이 가능한 적어도 하나의 뉴로모픽 아키텍처를 선택하는 단계는,NAA에서 적절한 뉴로모픽 아키텍처를 선택하기 위하여 사용 가능한 뉴로모픽 아키텍처를 대상으로 주어진 SNN 모델의 수행 적합 여부를 순차적으로 확인하는 단계;를 포함하는, SNN 모델 파라미터를 기반으로 모델 수행을 위한 뉴로모픽 아키텍처 동적 선택 방법.
- 제1항에 있어서, 상기 SNN 모델의 수행이 가능한 적어도 하나의 뉴로모픽 아키텍처를 선택하는 단계는,요청된 SNN 모델의 파라미터 규모와 수행 가능여부를 확인할 뉴로모픽 아키텍처 정보를 기반으로, SNN 모델의 수행에 적합한 뉴로모픽 아키텍처인지를 확인하는 파라미터 체크(Parameter Check) 함수를 사용하는, SNN 모델 파라미터를 기반으로 모델 수행을 위한 뉴로모픽 아키텍처 동적 선택 방법.
- 제3항에 있어서, 상기 SNN 모델의 수행이 가능한 적어도 하나의 뉴로모픽 아키텍처를 선택하는 단계는,파라미터 체크에서 적합하다고 판단된 뉴로모픽 아키텍처의 학습 및 추론 수행시간을 확인하는 실행 체크(Execution Check) 함수를 사용하는, SNN 모델 파라미터를 기반으로 모델 수행을 위한 뉴로모픽 아키텍처 동적 선택 방법.
- 제4항에 있어서, 상기 뉴로모픽 아키텍처의 학습과 추론에 소요되는 수행시간을 계산하는 단계는,수행시간을 구하기 위해 한번의 학습 및 추론을 수행하는 단계;를 포함하는, SNN 모델 파라미터를 기반으로 모델 수행을 위한 뉴로모픽 아키텍처 동적 선택 방법.
- 제5항에 있어서, 상기 뉴로모픽 아키텍처의 학습과 추론에 소요되는 수행시간을 계산하는 단계는,상기 실행 체크(Execution Check) 함수 내에서 SNN 모델의 입력 레이어의 학습 및 추론 데이터 크기만큼 배열(send_data)을 생성하는 단계;랜덤으로 생성된 학습 및 추론 데이터를 NAA 실행 함수를 통해 NAA NA에 전송하는 단계; 및뉴로모픽 아키텍처에서의 학습 및 추론 수행시간을 측정하는 단계;를 더 포함하는, SNN 모델 파라미터를 기반으로 모델 수행을 위한 뉴로모픽 아키텍처 동적 선택 방법.
- 제6항에 있어서, 상기 학습과 추론에 소요되는 수행시간이 가장 짧은 뉴로모픽 아키텍처를 최종적으로 선택하는 단계는,뉴로모픽 아키텍처에서의 학습 및 추론 수행시간이 이전 뉴로모픽 아키텍처의 최소 수행시간보다 짧은 경우, 최적의 뉴로모픽 아키텍처를 변경하는 단계;를 더 포함하는, SNN 모델 파라미터를 기반으로 모델 수행을 위한 뉴로모픽 아키텍처 동적 선택 방법.
- 제1항에 있어서,NAA NA가 SNN 모델 학습과 추론을 수행하기 위해 필요한 파라미터를 전송하는데 사용되는 제1 통신 채널;NAA HOST가 NAA NA의 제어를 위한 제2 통신 채널; 및SNN 모델의 학습과 추론을 결과를 NAA NA에서 NAA HOST로 전달하기 위한 제3 통신 채널;을 포함하는 3개의 통신 채널을 사용하는, SNN 모델 파라미터를 기반으로 모델 수행을 위한 뉴로모픽 아키텍처 동적 선택 방법.
- 제1항에 따른, 상기 SNN 모델 파라미터를 기반으로 모델 수행을 위한 뉴로모픽 아키텍처 동적 선택 방법을 수행하기 위한 컴퓨터 프로그램이 기록된 컴퓨터로 판독 가능한 저장 매체.
- NAA(Neuromorphic Architecture Abstraction) HOST를 통해 IoT 응용에서 전달받은 NPZ 파일에서 SNN 모델의 정보를 추출하는 정보 추출부;SNN 모델의 입력 차원(input dimension) 수 및 출력 차원(out dimension) 수 및 사용할 수 있는 최대 뉴런의 수를 기반으로, SNN 모델의 수행이 가능한 적어도 하나의 뉴로모픽 아키텍처를 선택하는 아키텍처 선택부;선택된 뉴로모픽 아키텍처가 2개 이상인 경우, 뉴로모픽 아키텍처의 학습과 추론에 소요되는 수행시간을 계산하는 시간 계산부; 및상기 학습과 추론에 소요되는 수행시간이 가장 짧은 뉴로모픽 아키텍처를 최종적으로 선택하는 최종 선택부;를 포함하는, SNN 모델 파라미터를 기반으로 모델 수행을 위한 뉴로모픽 아키텍처 동적 선택 장치.
- 제10항에 있어서,상기 SNN 모델 파라미터를 기반으로 모델 수행을 위한 뉴로모픽 아키텍처 동적 선택 장치는, NAA NA인, SNN 모델 파라미터를 기반으로 모델 수행을 위한 뉴로모픽 아키텍처 동적 선택 장치.
- 제11항에 있어서, 상기 NAA NA와 상기 NAA HOST는,NAA NA가 SNN 모델 학습과 추론을 수행하기 위해 필요한 파라미터를 전송하는데 사용되는 제1 통신 채널;NAA HOST가 NAA NA의 제어를 위한 제2 통신 채널; 및SNN 모델의 학습과 추론을 결과를 NAA NA에서 NAA HOST로 전달하기 위한 제3 통신 채널;을 포함하는 3개의 통신 채널을 이용하는, SNN 모델 파라미터를 기반으로 모델 수행을 위한 뉴로모픽 아키텍처 동적 선택 장치.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2020-0152194 | 2020-11-13 | ||
KR1020200152194A KR102535007B1 (ko) | 2020-11-13 | 2020-11-13 | Snn 모델 파라미터를 기반으로 모델 수행을 위한 뉴로모픽 아키텍처 동적 선택 방법, 이를 수행하기 위한 기록 매체 및 장치 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2022102912A1 true WO2022102912A1 (ko) | 2022-05-19 |
Family
ID=81601434
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/KR2021/010092 WO2022102912A1 (ko) | 2020-11-13 | 2021-08-03 | Snn 모델 파라미터를 기반으로 모델 수행을 위한 뉴로모픽 아키텍처 동적 선택 방법, 이를 수행하기 위한 기록 매체 및 장치 |
Country Status (2)
Country | Link |
---|---|
KR (1) | KR102535007B1 (ko) |
WO (1) | WO2022102912A1 (ko) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190347548A1 (en) * | 2018-05-10 | 2019-11-14 | Microsoft Technology Licensing, Llc. | Selecting a neural network architecture for a supervised machine learning problem |
KR20200080296A (ko) * | 2017-11-21 | 2020-07-06 | 아마존 테크놀로지스, 인크. | 종단 장치에서의 기계 학습을 위한 패키지 생성 및 배포 |
US20200257961A1 (en) * | 2017-11-30 | 2020-08-13 | Google Llc | Neural architecture search using a performance prediction neural network |
US20200302272A1 (en) * | 2019-03-19 | 2020-09-24 | Cisco Technology, Inc. | Systems and methods for auto machine learning and neural architecture search |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102702184B1 (ko) | 2016-12-16 | 2024-09-04 | 에스케이하이닉스 주식회사 | 뉴로모픽 장치의 정보 인식 장치 및 방법 |
US20210209468A1 (en) * | 2018-06-05 | 2021-07-08 | Mitsubishi Electric Corporatio | Learning device, inference device, method, and program |
KR102464490B1 (ko) | 2018-11-26 | 2022-11-09 | 한국전자기술연구원 | 스파이킹 뉴럴 네트워크 장치 및 이를 포함하는 지능형 장치 |
KR102288075B1 (ko) | 2019-02-12 | 2021-08-11 | 서울대학교산학협력단 | 스파이킹 뉴럴 네트워크를 이용한 추론 방법 및 장치 |
-
2020
- 2020-11-13 KR KR1020200152194A patent/KR102535007B1/ko active IP Right Grant
-
2021
- 2021-08-03 WO PCT/KR2021/010092 patent/WO2022102912A1/ko active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20200080296A (ko) * | 2017-11-21 | 2020-07-06 | 아마존 테크놀로지스, 인크. | 종단 장치에서의 기계 학습을 위한 패키지 생성 및 배포 |
US20200257961A1 (en) * | 2017-11-30 | 2020-08-13 | Google Llc | Neural architecture search using a performance prediction neural network |
US20190347548A1 (en) * | 2018-05-10 | 2019-11-14 | Microsoft Technology Licensing, Llc. | Selecting a neural network architecture for a supervised machine learning problem |
US20200302272A1 (en) * | 2019-03-19 | 2020-09-24 | Cisco Technology, Inc. | Systems and methods for auto machine learning and neural architecture search |
Non-Patent Citations (1)
Title |
---|
PARK KICHEOL, LEE YENA, HONG JIMAN, AN JAE-HOON, KIM BONGJAE: "Selecting a Proper Neuromorphic Platform for the Intelligent IoT", PROCEEDINGS OF THE INTERNATIONAL CONFERENCE ON RESEARCH IN ADAPTIVE AND CONVERGENT SYSTEMS, ACM, NEW YORK, NY, USA, 13 October 2020 (2020-10-13), New York, NY, USA, pages 255 - 260, XP055930572, ISBN: 978-1-4503-8025-6, DOI: 10.1145/3400286.3418264 * |
Also Published As
Publication number | Publication date |
---|---|
KR20220065549A (ko) | 2022-05-20 |
KR102535007B1 (ko) | 2023-05-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2021221242A1 (ko) | 연합 학습 시스템 및 방법 | |
WO2020189844A1 (ko) | 인공 신경망을 처리하는 방법 및 이를 위한 전자 장치 | |
WO2022163996A1 (ko) | 자기주의 기반 심층 신경망 모델을 이용한 약물-표적 상호작용 예측 장치 및 그 방법 | |
WO2022146080A1 (ko) | 딥러닝 네트워크의 동적 양자화 정밀도 가변 알고리즘 및 방법 | |
WO2018212584A2 (ko) | 딥 뉴럴 네트워크를 이용하여 문장이 속하는 클래스를 분류하는 방법 및 장치 | |
WO2023014041A1 (ko) | 테스트 벤치 생성 방법, 테스트 벤치 생성 장치, 및 테스트 벤치 생성 시스템 | |
WO2022102912A1 (ko) | Snn 모델 파라미터를 기반으로 모델 수행을 위한 뉴로모픽 아키텍처 동적 선택 방법, 이를 수행하기 위한 기록 매체 및 장치 | |
WO2024143913A1 (ko) | 강화학습 기반의 면적 및 매크로 배치 최적화를 위한 설계 시스템 및 방법 | |
WO2023224205A1 (ko) | 인공 신경망 모델 학습 결과 합성을 통한 공통 모델 생성 방법 | |
WO2023022406A1 (ko) | 학습 실력 평가 방법, 학습 실력 평가 장치 및 학습 실력 평가 시스템 | |
WO2022107910A1 (ko) | 재학습 가능한 모바일 딥러닝 하드웨어 장치 | |
WO2022260392A1 (ko) | 단말에서 동작하는 이미지 프로세싱 인공 신경망 모델 생성 방법 및 시스템 | |
WO2023033194A1 (ko) | 가지치기 기반 심층 신경망 경량화에 특화된 지식 증류 방법 및 시스템 | |
WO2022154586A1 (ko) | 화합물의 타겟 단백질을 결정하는 방법 및 상기 방법을 수행하는 타겟 단백질 결정 장치 | |
WO2023017884A1 (ko) | 디바이스에서 딥러닝 모델의 레이턴시를 예측하는 방법 및 시스템 | |
WO2021020848A2 (ko) | 인공 신경망을 위한 행렬 연산기 및 행렬 연산 방법 | |
WO2024177219A1 (ko) | 인공 신경망을 위한 양자 행렬 연산기 및 양자 행렬 연산 방법 | |
WO2021002523A1 (ko) | 뉴로모픽 장치 | |
WO2022005057A1 (ko) | 행렬 인덱스 정보 생성 방법, 행렬 인덱스 정보를 이용하는 행렬 처리 방법, 장치 | |
WO2023214608A1 (ko) | 양자 회로 시뮬레이션 하드웨어 | |
WO2023120788A1 (ko) | Snn/cnn 동시 구동이 가능한 데이터 처리 시스템 및 방법 | |
KR102477971B1 (ko) | 뉴로모픽 아키텍처를 지원하기 위한 방법, 이를 수행하기 위한 기록 매체 및 호스트 장치 | |
WO2024135870A1 (ko) | 효율적인 객체 감지를 위한 입력 단위 네트워크 양자화 방법을 수행하는 영상인식장치 | |
WO2023128654A1 (ko) | 타겟 장치를 위한 학습 모델 최적화 방법 및 이를 위한 시스템 | |
WO2022102860A1 (ko) | 행렬곱 연산량 감소 방법 및 장치 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 21892082 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
32PN | Ep: public notification in the ep bulletin as address of the adressee cannot be established |
Free format text: NOTING OF LOSS OF RIGHTS PURSUANT TO RULE 112(1) EPC (EPO FORM 1205A DATED 180923) |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 21892082 Country of ref document: EP Kind code of ref document: A1 |