KR20210004813A - Method for generating neural network for neuromorphic system and apparatus for the same - Google Patents

Method for generating neural network for neuromorphic system and apparatus for the same Download PDF

Info

Publication number
KR20210004813A
KR20210004813A KR1020200047906A KR20200047906A KR20210004813A KR 20210004813 A KR20210004813 A KR 20210004813A KR 1020200047906 A KR1020200047906 A KR 1020200047906A KR 20200047906 A KR20200047906 A KR 20200047906A KR 20210004813 A KR20210004813 A KR 20210004813A
Authority
KR
South Korea
Prior art keywords
neural network
brain
information
neurons
graph
Prior art date
Application number
KR1020200047906A
Other languages
Korean (ko)
Other versions
KR102545066B1 (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 한국전자통신연구원
Priority to US16/894,276 priority Critical patent/US11630992B2/en
Publication of KR20210004813A publication Critical patent/KR20210004813A/en
Application granted granted Critical
Publication of KR102545066B1 publication Critical patent/KR102545066B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/063Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods

Abstract

The described embodiment of the present invention relates to a technique for constructing a neuromorphic system, which is an artificial intelligence system for mimicking the human brain. A method for generating a neural network for neuromorphic computing comprises the steps of: selecting at least one part of the brain corresponding to a neural network function requested by an application; determining whether an existing neural network corresponding to the at least one part of the brain exists in a neural network database; generating configuration information of a novel neural network corresponding to the part of the brain based on a brain information database when there is no existing neural network; generating a novel neural network by mapping the configuration information to neuromorphic hardware based on the configuration information of the novel neural network; and storing the novel neural network in the neural network database.

Description

뉴로모픽 컴퓨팅을 위한 신경망 생성 방법 및 이를 위한 장치{METHOD FOR GENERATING NEURAL NETWORK FOR NEUROMORPHIC SYSTEM AND APPARATUS FOR THE SAME}A method of generating a neural network for neuromorphic computing, and an apparatus therefor {METHOD FOR GENERATING NEURAL NETWORK FOR NEUROMORPHIC SYSTEM AND APPARATUS FOR THE SAME}

본 발명은 인간의 두뇌를 모사한 인공지능 시스템인 뉴로모픽(Neuromorphic) 시스템을 구성하는 기술에 관한 것이다. The present invention relates to a technology for constructing a neuromorphic system, which is an artificial intelligence system that simulates a human brain.

현재의 인공지능 분야는 약인공지능과 강인공지능으로 세분화할 수 있다. 약인공지능은 어떤 특정한 한가지 분야의 주어진 일을 인간의 지시에 따라 수행하는 인공지능을 말하는데 요즘 많이 연구되고 있는 DNN(Deep Neural Network)는 약인공지능의 한 방식이다. The current field of artificial intelligence can be subdivided into weak artificial intelligence and strong artificial intelligence. Weak artificial intelligence refers to artificial intelligence that performs a given task in a specific field according to human instructions, and DNN (Deep Neural Network), which is widely studied these days, is a method of weak artificial intelligence.

강인공지능의 대표적인 연구분야로 뉴로모픽 컴퓨팅이 있다. 뉴로모픽 컴퓨팅은 뉴런과 시냅스로 이루어진 뇌의 동작 방식을 하드웨어 형태로 모방한 회로를 만들어 인간의 뇌 기능을 모사하려는 공학 분야이다. 상기 모방한 회로를 뉴로모픽 회로라고 하며, 상기 뉴로모픽 회로를 사용하여 인공지능을 만드는 것을 뉴로모픽 컴퓨팅이라고 부른다. 이 방식은 회로 자체가 뉴런과 시냅스 만으로 구성되기 때문에 기존의 머신러닝 방법보다 적은 면적에서 저전력으로 높은 인공지능 시스템을 구성할 수 있다. 머신러닝은 뇌의 동작을 추상화시켜 CPU나 GPU에서 전체를 동작시키는 것에 반해, 뉴로모픽 컴퓨팅은 뇌의 뉴런 세포 각각을 흉내내어 입력 신호에 반응하는 뉴런 부분만 동작시키면 되기 때문에 머신러닝 방식에 비해 전력소모가 훨씬 적다는 장점이 있다. Neuromorphic computing is a representative research field of strong artificial intelligence. Neuromorphic computing is an engineering field that attempts to simulate human brain functions by creating circuits that mimic the behavior of the brain consisting of neurons and synapses in the form of hardware. The mimicked circuit is called a neuromorphic circuit, and creating artificial intelligence using the neuromorphic circuit is called neuromorphic computing. In this method, since the circuit itself is composed of only neurons and synapses, it is possible to construct a high artificial intelligence system with low power in a smaller area than the existing machine learning method. Machine learning abstracts the behavior of the brain and operates the whole in the CPU or GPU, whereas neuromorphic computing mimics each neuron cell in the brain and only operates the part of the neuron that responds to the input signal. It has the advantage of much less power consumption.

뉴로모픽 컴퓨팅 시스템은 현재 다양한 형태의 하드웨어 시스템으로 만들어지고 있다. 상기 하드웨어 시스템은 두뇌를 최대한 비슷하게 모사하면서도 전력 소모와 성능 관점에서 효율적으로 동작하도록 구현하는 것으로, 현재 기술분야는 단순히 뉴런과 시냅스를 하드웨어적으로 잘 구현하는데만 집중하고 있다. Neuromorphic computing systems are currently being made into various types of hardware systems. The hardware system simulates the brain as closely as possible, while implementing efficient operation in terms of power consumption and performance, and the current technical field is only focusing on implementing neurons and synapses well in hardware.

그러나, 뇌를 구성하는 뉴런과 시냅스는 실제로 다양한 형태로 나타난다. 뇌를 구성하는 연합 뉴런(중추신경계)은 그 모양에 따라 피라미드형 세포, 별모양 세포, 바구니 세포, 샹들리에 세포 등의 다양한 형태로 구분할 수 있다. 또한, 뉴런 종류마다 그 뉴런을 구성하는 축삭돌기(액손, Axon)의 길이, 가지돌기(덴드라이트, Dendrite)의 위치등도 다양하다. 예를 들어, 뉴런과 뉴런을 연결하는 축삭돌기의 길이는 1μm에서 1m까지 다양하다. 그리고 축삭돌기에서 다른 뉴런과 연결이 되는 시냅스는 신호 전달 방식으로 전기적 전도현상으로 정보를 전달할 수도 있고 신경전달 물질을 이동시켜 화학적으로 정보를 전달할 수도 있다. 이상과 같이 뉴런과 시냅스는 뇌의 파트에 따라 주로 구성되는 종류과 개수, 연결 형태들이 다르다. 따라서 두뇌를 최대한 비슷하게 모사하기 위해서는, 필요로 하는 기능이 두뇌의 어떤 부분으로 구성되고 어떠한 뉴런들로 구성되는지를 먼저 결정할 필요가 있다. However, neurons and synapses that make up the brain actually appear in various forms. The associated neurons (central nervous system) that make up the brain can be classified into various types, such as pyramid-shaped cells, star-shaped cells, basket cells, and chandelier cells, depending on their shape. In addition, the length of the axon (axon, Axon) constituting the neuron and the location of the branch projections (dendrite) vary for each neuron type. For example, the length of the axon that connects the neuron to the neuron varies from 1 μm to 1 m. In addition, synapses that are connected to other neurons in the axon can transmit information through electrical conduction through a signal transmission method, or can transmit information chemically by moving neurotransmitters. As described above, neurons and synapses are mainly composed of different types, numbers, and connection types according to brain parts. Therefore, in order to simulate the brain as closely as possible, it is necessary to first determine what parts of the brain are composed of and which neurons the required function is composed of.

이에 본 발명에서는 단순히 뉴런과 시냅스를 두뇌와 최대한 비슷하게 구현하는 기술이 아니라 뉴로모픽 컴퓨팅 시스템을 사용하는 상황과 목적에 따라 두뇌를 최대한 비슷하게 모사한 최적의 형태로 구성할 수 있는 기술을 제안하고자 한다. Therefore, in the present invention, it is not a technology that simply implements neurons and synapses as similar to the brain as possible, but proposes a technology that can configure the brain in an optimal form that simulates the brain as closely as possible according to the situation and purpose of using the neuromorphic computing system. .

한국공개특허 제 10-2019-0051766호(2019. 5. 15.)Korean Patent Publication No. 10-2019-0051766 (2019. 5. 15.)

본 발명의 목적은 뇌의 뉴런의 구성 형태를 뇌의 파트에 따라 정보를 저장하고, 상기 정보를 기반으로 뉴로모픽 컴퓨팅 시스템이 사용되는 상황과 목적에 따라 두뇌를 최대한 비슷하게 모사한 최적의 형태로 구성한 뉴로모픽 컴퓨팅을 위한 신경망 생성 방법 및 장치를 제공함에 있다.The object of the present invention is to store information according to the brain part of the configuration of neurons in the brain, and based on the information, in an optimal form that simulates the brain as closely as possible according to the situation and purpose in which the neuromorphic computing system is used. It is to provide a method and apparatus for generating a neural network for the constructed neuromorphic computing.

또한, 본 발명의 목적은 응용이 요청한 기능을 수행하는 신경망을 뉴로모픽 하드웨어의 리소스 자원을 고려하여 구성할 수 있는 방법을 제공함에 있다. In addition, it is an object of the present invention to provide a method for configuring a neural network that performs a function requested by an application in consideration of resource resources of neuromorphic hardware.

실시예에 따른 뉴로모픽 컴퓨팅을 위한 신경망 생성 방법은 응용이 생성 요청한 신경망 기능에 상응하는 적어도 하나 이상의 뇌의 파트(Part)를 선택하는 단계; 상기 적어도 하나 이상의 뇌의 파트에 상응하는 기존 신경망이 신경망 데이터베이스에 있는지 여부를 판단하는 단계; 상기 기존 신경망이 없는 경우, 뇌 정보 데이터베이스를 기반으로 상기 뇌의 파트에 상응하는 새로운 신경망의 구성 정보를 생성하는 단계; 상기 새로운 신경망의 구성 정보를 기반으로 뉴로모픽(Neuromorphic) 하드웨어에 매핑(Mapping)하여 새로운 신경망을 생성하는 단계; 및상기 신경망 데이터베이스에 상기 새로운 신경망을 저장하는 단계를 포함한다. A method of generating a neural network for neuromorphic computing according to an embodiment includes the steps of selecting at least one brain part corresponding to a neural network function requested by an application; Determining whether an existing neural network corresponding to the at least one brain part exists in a neural network database; Generating configuration information of a new neural network corresponding to a part of the brain based on a brain information database when there is no existing neural network; Creating a new neural network by mapping it to neuromorphic hardware based on the configuration information of the new neural network; And storing the new neural network in the neural network database.

이 때, 상기 뇌 정보 데이터베이스는 상기 뇌의 파트를 구성하는 뇌의 세부 파트간 연결 정보, 상기 뇌의 세부 파트의 구성 정보, 뉴런의 구조 정보, 및 뉴런간 연결 정보를 포함하는 것일 수 있다. In this case, the brain information database may include connection information between detailed parts of the brain constituting the brain parts, configuration information of the detailed parts of the brain, structure information of neurons, and connection information between neurons.

이 때, 상기 새로운 신경망의 구성 정보를 생성하는 단계는 상기 뇌의 세부 파트간 연결 정보를 기반으로 상기 뇌의 세부 파트들을 구성하는 단계; 상기 뇌의 세부 파트의 구성 정보를 기반으로 상기 뇌의 세부 파트를 구성하는 뉴런 집합을 구성하는 단계; 및 상기 뉴런의 구조 정보, 뉴런간 연결 정보를 기반으로 상기 뉴런 집합을 구성하는 뉴런들을 구성하는 단계를 포함할 수 있다. In this case, generating the configuration information of the new neural network may include configuring the detailed parts of the brain based on connection information between the detailed parts of the brain; Constructing a set of neurons constituting the detailed parts of the brain based on configuration information of the detailed parts of the brain; And configuring neurons constituting the neuron set based on the structure information of the neurons and connection information between neurons.

이 때, 상기 새로운 신경망을 생성하는 단계는 상기 새로운 신경망의 구성 정보에 상응하는 신경망 그래프를 생성하는 단계; 상기 하드웨어의 리소스 자원 정보에 상응하는 리소스 자원 그래프를 생성하는 단계; 및 그래프 매핑 알고리즘을 이용하여 상기 리소스 자원 그래프에 상기 신경망 그래프를 매핑하는 단계를 포함할 수 있다. In this case, generating the new neural network may include generating a neural network graph corresponding to the configuration information of the new neural network; Generating a resource resource graph corresponding to resource resource information of the hardware; And mapping the neural network graph to the resource resource graph using a graph mapping algorithm.

이 때, 상기 새로운 신경망을 생성하는 단계는 상기 리소스 자원 그래프와 상기 신경망 그래프를 비교하는 단계; 및 상기 신경망 그래프를 상기 리소스 그래프에 맞게 비율적으로 조절하는 단계를 더 포함할 수 있다. In this case, generating the new neural network may include comparing the resource resource graph with the neural network graph; And proportionally adjusting the neural network graph to fit the resource graph.

이 때, 상기 뇌의 세부 파트간 연결 정보는 상기 뇌의 세부 파트간 연결 형태, 상기 뇌의 세부 파트간 연결 신호의 흐름 방향, 또는 상기 연결되는 부분의 신경망의 크기를 포함하는 것일 수 있다. In this case, the connection information between sub-parts of the brain may include a connection type between sub-parts of the brain, a flow direction of a connection signal between sub-parts of the brain, or a size of a neural network of the connected part.

이 때, 상기 뇌의 세부 파트의 구성 정보는 상기 세부 파트를 구성하는 뉴런의 양, 상기 뉴런의 종류, 또는 상기 종류별 구성 비율을 포함하는 것일 수 있다. In this case, the configuration information of the detailed parts of the brain may include an amount of neurons constituting the detailed part, a type of the neuron, or a configuration ratio for each type.

이 때, 상기 뉴런의 구조 정보는 상기 뉴런을 구성하는 소마(신경세포체), 덴드라이트(가지돌기), 시냅스의 크기 및 길이를 포함하는 것일 수 있다. In this case, the structure information of the neuron may include the size and length of a soma (nerve cell body), dendrites (branches), and synapses constituting the neuron.

이 때, 상기 뉴런간 연결 정보는 자극 전달 방식을 포함하고, 상기 자극 전달 방식은 전기 자극 전달 방식 또는 화학 자극 전달 방식 중 어느 하나인 것일 수 있다. In this case, the connection information between neurons includes a stimulation delivery method, and the stimulation delivery method may be either an electrical stimulation delivery method or a chemical stimulation delivery method.

이 때, 상기 기존 신경망이 있는 경우, 상기 기존 신경망을 상기 신경망 데이터베이스로부터 가져오는 단계를 더 포함할 수 있다. In this case, when there is the existing neural network, the step of importing the existing neural network from the neural network database may be further included.

실시예에 따른 뉴로모픽 컴퓨팅을 위한 신경망 구성 장치는 응용이 생성 요청한 신경망 기능에 상응하는 적어도 하나 이상의 뇌의 파트(Part)를 선택하고, 상기 적어도 하나 이상의 뇌의 파트에 상응하는 기존 신경망이 신경망 데이터베이스에 있는 여부를 판단하고, 상기 기존 신경망이 없는 경우, 뇌 정보 데이터베이스를 기반으로 상기 뇌의 파트에 상응하는 새로운 신경망의 구성 정보를 생성하는 프로세서; 및 상기 새로운 신경망의 구성 정보를 저장하는 메모리를 포함할 수 있다. The apparatus for configuring a neural network for neuromorphic computing according to an embodiment selects at least one brain part corresponding to a neural network function requested by an application, and an existing neural network corresponding to the at least one brain part is a neural network. A processor that determines whether there is a database, and when there is no existing neural network, generates configuration information of a new neural network corresponding to the part of the brain based on the brain information database; And a memory for storing configuration information of the new neural network.

이 때, 상기 뇌 정보 데이터베이스는 상기 뇌의 파트를 구성하는 뇌의 세부 파트간 연결 정보, 상기 뇌의 세부 파트의 구성 정보, 뉴런의 구조 정보, 뉴런간 연결 정보를 포함하는 것일 수 있다. In this case, the brain information database may include connection information between detailed parts of the brain constituting the brain parts, configuration information of the detailed parts of the brain, structure information of neurons, and connection information between neurons.

이 때, 상기 프로세서는 상기 뇌의 세부 파트간 연결 정보를 기반으로 상기 뇌의 세부 파트들을 구성하고, 상기 뇌의 세부 파트의 구성 정보를 기반으로 상기 뇌의 세부 파트를 구성하는 뉴런 집합을 구성하고, 상기 뉴런의 구조 정보, 뉴런간 연결 정보를 기반으로 상기 뉴런 집합을 구성하는 뉴런들을 구성하는 것일 수 있다.At this time, the processor configures the detailed parts of the brain based on connection information between the detailed parts of the brain, and configures a set of neurons constituting the detailed parts of the brain based on the configuration information of the detailed parts of the brain, , It may constitute neurons constituting the neuron set based on the structure information of the neurons and the connection information between neurons.

이 때, 상기 뇌의 세부 파트간 연결 정보는 상기 뇌의 세부 파트간 연결 형태, 상기 뇌의 세부 파트간 연결 신호의 흐름 방향, 또는 상기 연결되는 부분의 신경망의 크기를 포함하는 것일 수 있다.In this case, the connection information between sub-parts of the brain may include a connection type between sub-parts of the brain, a flow direction of a connection signal between sub-parts of the brain, or a size of a neural network of the connected part.

이 때, 상기 뇌의 세부 파트의 구성 정보는 상기 세부 파트를 구성하는 뉴런의 양, 상기 뉴런의 종류, 또는 상기 종류별 구성 비율을 포함하는 것일 수 있다.In this case, the configuration information of the detailed parts of the brain may include an amount of neurons constituting the detailed part, a type of the neuron, or a configuration ratio for each type.

이 때, 상기 뉴런의 구조 정보는 상기 뉴런을 구성하는 소마(신경세포체), 덴드라이트(가지돌기), 시냅스의 크기 및 길이를 포함하는 것일 수 있다.In this case, the structure information of the neuron may include the size and length of a soma (nerve cell body), dendrites (branches), and synapses constituting the neuron.

이 때, 상기 뉴런간 연결 정보는 자극 전달 방식을 포함하고, 상기 자극 전달 방식은 전기 자극 전달 방식 또는 화학 자극 전달 방식 중 어느 하나인 것일 수 있다. In this case, the connection information between neurons includes a stimulation delivery method, and the stimulation delivery method may be either an electrical stimulation delivery method or a chemical stimulation delivery method.

실시예에 따른 뉴로모픽 컴퓨팅을 위한 신경망 생성 장치는 신경망 구성 장치로부터 뇌 정보 데이터 베이스 기반으로 생성된 새로운 신경망의 구성 정보를 받고, 상기 신경망의 구성 정보를 기반으로 뉴로모픽 하드웨어에 매핑하여 새로운 신경망을 생성하고, 신경망 데이터베이스로부터 기존 신경망을 가져오는 프로세서; 및 상기 새로운 신경망을 저장하는 메모리를 포함할 수 있다. The neural network generation device for neuromorphic computing according to the embodiment receives configuration information of a new neural network generated based on a brain information database from the neural network configuration device, maps it to neuromorphic hardware based on the configuration information of the neural network, A processor for generating a neural network and fetching an existing neural network from a neural network database; And a memory for storing the new neural network.

이 때, 상기 프로세서는 상기 새로운 신경망의 구성 정보에 상응하는 신경망 그래프를 생성하고, 상기 하드웨어의 리소스 자원 정보에 상응하는 리소스 자원 그래프를 생성하고, 그래프 매핑 알고리즘을 이용하여 상기 리소스 자원 그래프에 상기 신경망 그래프를 매핑하는 것일 수 있다. At this time, the processor generates a neural network graph corresponding to the configuration information of the new neural network, generates a resource resource graph corresponding to the resource resource information of the hardware, and uses a graph mapping algorithm to add the neural network to the resource resource graph. It could be mapping a graph.

이 때, 상기 프로세서는 상기 리소스 자원 그래프와 상기 신경망 그래프를 비교하고, 상기 신경망 그래프를 상기 리소스 그래프에 맞게 비율적으로 조절하는 것일 수 있다.In this case, the processor may compare the resource resource graph with the neural network graph and proportionally adjust the neural network graph to fit the resource graph.

본 발명은 뇌의 뉴런의 구성 형태를 뇌의 파트에 따라 정보를 저장하고, 상기 정보를 기반으로 뉴로모픽 컴퓨팅 시스템이 사용되는 상황과 목적에 따라 두뇌를 최대한 비슷하게 모사한 최적의 형태로 구성한 뉴로모픽 컴퓨팅을 위한 신경망 생성 방법 및 장치를 제공할 수 있다. The present invention stores information about the configuration of neurons in the brain according to the parts of the brain, and based on the information, the neuromorphic computing system is configured in an optimal form that simulates the brain as closely as possible depending on the situation and purpose in which it is used. A method and apparatus for generating a neural network for lomorphic computing may be provided.

또한, 본 발명은 응용이 요청한 기능을 수행하는 신경망을 뉴로모픽 하드웨어의 리소스 자원을 고려하여 구성할 수 있는 방법을 제공할 수 있다. In addition, the present invention can provide a method of configuring a neural network that performs a function requested by an application in consideration of resource resources of neuromorphic hardware.

도 1은 실시예에 따른 뉴로모픽 컴퓨팅 시스템을 나타낸 블록도이다.
도 2는 도 1에 도시된 뉴로모픽 컴퓨팅을 위한 신경망 생성 시스템(100)의 일 예를 나타낸 블록도이다.
도 3은 도 2에 도시된 뇌 정보 DB(220)의 일 예를 나타낸 도면이다.
도 4는 본 발명상의 실시예에 따라 생성된 뇌의 시각처리 기능에 상응하는 신경망을 나타낸 도면이다.
도 5는 실시예에 따른 뉴로모픽 컴퓨팅을 위한 신경망 생성 방법의 동작 흐름도를 나타낸 도면이다.
도 6은 실시예에 따른 컴퓨터 시스템 구성을 나타낸 도면이다.
1 is a block diagram illustrating a neuromorphic computing system according to an embodiment.
FIG. 2 is a block diagram illustrating an example of a neural network generation system 100 for neuromorphic computing shown in FIG. 1.
3 is a diagram illustrating an example of the brain information DB 220 shown in FIG. 2.
4 is a diagram showing a neural network corresponding to the visual processing function of the brain generated according to an embodiment of the present invention.
5 is a diagram illustrating an operation flowchart of a method for generating a neural network for neuromorphic computing according to an embodiment.
6 is a diagram showing the configuration of a computer system according to an embodiment.

본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 것이며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하며, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.Advantages and features of the present invention, and a method of achieving them will become apparent with reference to the embodiments described below in detail together with the accompanying drawings. However, the present invention is not limited to the embodiments disclosed below, but will be implemented in various forms different from each other, and only these embodiments make the disclosure of the present invention complete, and common knowledge in the technical field to which the present invention belongs It is provided to completely inform the scope of the invention to those who have it, and the invention is only defined by the scope of the claims. The same reference numerals refer to the same components throughout the specification.

비록 "제1" 또는 "제2" 등이 다양한 구성요소를 서술하기 위해서 사용되나, 이러한 구성요소는 상기와 같은 용어에 의해 제한되지 않는다. 상기와 같은 용어는 단지 하나의 구성요소를 다른 구성요소와 구별하기 위하여 사용될 수 있다. 따라서, 이하에서 언급되는 제1 구성요소는 본 발명의 기술적 사상 내에서 제2 구성요소일 수도 있다.Although "first" or "second" is used to describe various elements, these elements are not limited by the terms as described above. The terms as described above may be used only to distinguish one component from another component. Accordingly, the first component mentioned below may be a second component within the technical idea of the present invention.

본 명세서에서 사용된 용어는 실시예를 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 "포함한다(comprises)" 또는 "포함하는(comprising)"은 언급된 구성요소 또는 단계가 하나 이상의 다른 구성요소 또는 단계의 존재 또는 추가를 배제하지 않는다는 의미를 내포한다.The terms used in this specification are for explaining examples and are not intended to limit the present invention. In this specification, the singular form also includes the plural form unless specifically stated in the phrase. As used herein, “comprises” or “comprising” is implied that the recited component or step does not exclude the presence or addition of one or more other components or steps.

다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어는 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 공통적으로 이해될 수 있는 의미로 해석될 수 있다. 또한, 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다.Unless otherwise defined, all terms used in the present specification may be interpreted as meanings that can be commonly understood by those of ordinary skill in the art to which the present invention belongs. In addition, terms defined in a commonly used dictionary are not interpreted ideally or excessively unless explicitly defined specifically.

이하에서는, 도 1 내지 도 6을 참조하여 실시예에 따른 뉴로모픽 컴퓨팅을 위한 신경망 생성 방법 및 이를 위한 장치가 상세히 설명된다.Hereinafter, a method of generating a neural network for neuromorphic computing and an apparatus therefor will be described in detail with reference to FIGS. 1 to 6.

도 1은 실시예에 따른 뉴로모픽 컴퓨팅 시스템을 나타낸 블록도이다. 1 is a block diagram illustrating a neuromorphic computing system according to an embodiment.

도 1을 참조하면, 뉴로모픽 컴퓨팅 시스템은 뉴로모픽 시스템의 응용(110)과 신경망 생성 시스템(100)을 포함한다. 그리고 상기 신경망 생성 시스템(100)은 신경망 구성 장치(120)와 신경망 생성 장치(130)를 포함할 수 있다. Referring to FIG. 1, a neuromorphic computing system includes an application 110 of a neuromorphic system and a neural network generation system 100. In addition, the neural network generation system 100 may include a neural network configuration device 120 and a neural network generation device 130.

상기 뉴로모픽 컴퓨팅 시스템은 뉴로모픽 시스템의 응용(110)이 상기 신경망 생성 시스템(100)에게 뉴로모픽 신경망 생성 요청을 보내고, 상기 신경망 생성 시스템(100)은 상기 요청을 받아 신경망을 구성 및 생성하여 생성된 신경망을 상기 응용(110)에 보낼 수 있다. In the neuromorphic computing system, the application 110 of the neuromorphic system sends a request to create a neuromorphic neural network to the neural network generation system 100, and the neural network generation system 100 receives the request and configures a neural network. The generated neural network may be transmitted to the application 110.

신경망 구성 장치(120)는 상기 신경망 생성 요청을 받게 되면 상기 응용에서 사용하고자 하는 신경망 기능을 찾고, 상기 신경망 기능에 상응하는 적어도 하나 이상의 뇌의 파트(Part)를 선택할 수 있다. 여기서 뇌의 파트는 시각처리 파트, 청각처리 파트 등을 포함할 수 있다. 예를 들어 영상을 판별하는 것을 요청받았다고 하면, 뇌의 파트 중 시각 처리 파트를 선택하게 되고, 음성과 영상을 동시에 판별하는 것을 요청받았다면, 뇌의 파트 중 시각 처리 파트와 청각 처리 파트가 선택될 수 있다. When receiving the neural network generation request, the neural network configuration device 120 may search for a neural network function to be used in the application and select at least one brain part corresponding to the neural network function. Here, the brain part may include a visual processing part, an auditory processing part, and the like. For example, if you were asked to identify an image, you would select a visual processing part among the brain parts, and if you were asked to discriminate both audio and video at the same time, the visual processing part and the auditory processing part would be selected among the brain parts. I can.

또한 상기 신경망 구성 장치(120)는 상기 적어도 하나 이상의 뇌의 파트에 상응하는 기존 신경망이 신경망 데이터베이스(또는 신경망 DB)에 있는지 확인할 수 있다. 상기 신경망 데이터베이스는 상기 신경망 생성 시스템(100)이 이전에 생성한 신경망들을 저장해놓은 데이터베이스를 말한다. 상기 응용이 요구하는 기능을 수행할 수 있는 기존 신경망이 있다고 하면, 굳이 새롭게 신경망을 구성 및 생성할 필요가 없으므로 상기 신경망 구성 장치(120)는 먼저 신경망 데이터베이스를 확인하여 기존 신경망이 없는 경우에만 상기 신경 생성 시스템은 새로운 신경망을 생성하게 된다. In addition, the neural network configuration device 120 may check whether an existing neural network corresponding to the at least one brain part is in a neural network database (or neural network DB). The neural network database refers to a database in which neural networks previously generated by the neural network generation system 100 are stored. If there is an existing neural network capable of performing the functions required by the application, since it is not necessary to construct and create a new neural network, the neural network configuration device 120 first checks the neural network database and checks the neural network only when there is no existing neural network. The generation system creates a new neural network.

따라서 상기 신경망 구성 장치(120)는 상기 기존 신경망이 있는 경우 상기 기존 신경망을 상기 신경망 데이터베이스로부터 가져올 수 있다. 그리고 상기 신경망 구성 장치(120)는 상기 기존 신경망이 없는 경우 뇌 정보 데이터베이스(또는 뇌 정보 DB)를 기반으로 상기 뇌의 파트에 상응하는 새로운 신경망의 구성 정보를 생성할 수 있다. Therefore, the neural network configuration device 120 may import the existing neural network from the neural network database when there is the existing neural network. In addition, when there is no existing neural network, the neural network configuration device 120 may generate configuration information of a new neural network corresponding to a part of the brain based on a brain information database (or brain information DB).

뉴로모픽 컴퓨팅 시스템을 구성하는 뉴런과 시냅스는 실제로 다양한 형태로 나타난다. 뇌를 구성하는 연합 뉴런(중추신경계)은 그 모양에 따라 피라미드형 세포(Pyramidal cell), 별모양 세포(Stellate Cell), 바구니 세포(Basket Cell), 샹들리에 세포(Chandelier cell) 등의 다양한 형태로 구분할 수 있다. 그리고 뉴런의 종류마다 그 뉴런을 구성하는 축삭돌기의 길이, 가지돌기의 위치 등도 다양하다. 축삭돌기에서 다른 뉴런과 연결이 되는 시냅스는 신호 전달 방식으로 전기적 전도 현상으로 정보를 전달할 수도 있고 신경전달 물질을 이동시켜 화학적으로 정보를 전달할 수도 있다. 이와 같이 뉴런과 시냅스는 뇌의 파트에 따라 주로 구성되는 종류과 개수들이 다르게 나타난다. 따라서 이렇게 뇌의 파트를 구성되는 뉴런과 시냅스의 정보를 저장한 데이터베이스가 바로 뇌 정보 데이터베이스이다. Neurons and synapses that make up a neuromorphic computing system actually appear in various forms. The associated neurons (central nervous system) that make up the brain can be classified into various types, such as pyramidal cells, star cells, basket cells, and chandelier cells. I can. And for each type of neuron, the length of the axon that makes up the neuron and the location of the branch process vary. Synapses that are connected to other neurons in axons can transmit information through electrical conduction by means of signal transmission, or can transmit information chemically by moving neurotransmitters. In this way, neurons and synapses are mainly composed of different types and numbers depending on the part of the brain. Therefore, the database that stores neurons and synapses that make up the brain parts is the brain information database.

상기 뇌 정보 데이터베이스는 상기 뇌의 파트를 구성하는 뇌의 세부 파트간 연결 정보, 상기 뇌의 세부 파트의 구성 정보, 뉴런의 구조 정보, 뉴런간 연결 정보를 포함할 수 있다. 따라서 상기 신경망 구성 장치(120)는 상기 뇌의 세부 파트간 연결 정보를 기반으로 상기 뇌의 세부 파트들을 구성하고, 상기 뇌의 세부 파트의 구성 정보를 기반으로 상기 뇌의 세부 파트를 구성하는 뉴런 집합을 구성하며, 상기 뉴런의 구조 정보, 뉴런간 연결 정보를 기반으로 상기 뉴런 집합을 구성하는 뉴런들을 구성하는 동작을 수행할 수 있다. The brain information database may include connection information between detailed parts of the brain constituting the brain parts, configuration information of the detailed parts of the brain, structure information of neurons, and connection information between neurons. Therefore, the neural network configuration device 120 configures the detailed parts of the brain based on connection information between the detailed parts of the brain, and a set of neurons constituting the detailed parts of the brain based on the configuration information of the detailed parts of the brain. And, based on the structure information of the neurons and the connection information between neurons, an operation of configuring neurons constituting the neuron set may be performed.

그리고 상기 뇌의 세부 파트간 연결 정보는 상기 뇌의 세부 파트간 연결 형태, 상기 뇌의 세부 파트간 연결 신호의 흐름 방향, 또는 상기 연결되는 부분의 신경망의 크기를 포함하는 것일 수 있다. 상기 뇌의 세부 파트의 구성 정보는 상기 세부 파트를 구성하는 뉴런의 양, 상기 뉴런의 종류, 또는 상기 종류별 구성 비율을 포함하는 것일 수 있다. 상기 뉴런의 구조 정보는 상기 뉴런을 구성하는 소마(신경세포체), 덴드라이트(가지돌기), 시냅스의 크기 및 길이를 포함하는 것일 수 있다. 상기 뉴런간 연결 정보는 자극 전달 방식을 포함하고, 상기 자극 전달 방식은 전기 자극 전달 방식 또는 화학 자극 전달 방식 중 어느 하나인 것일 수 있다. In addition, the connection information between detailed parts of the brain may include a connection type between the detailed parts of the brain, a flow direction of a connection signal between the detailed parts of the brain, or a size of a neural network of the connected part. The configuration information of the detailed parts of the brain may include an amount of neurons constituting the detailed part, a type of the neuron, or a configuration ratio for each type. The structure information of the neuron may include the size and length of a soma (neural cell body), a dendrite (branch process), and a synapse constituting the neuron. The connection information between neurons includes a stimulation delivery method, and the stimulation delivery method may be one of an electrical stimulation delivery method or a chemical stimulation delivery method.

즉, 새로운 신경망을 구성하기 위해 상기 뇌 정보 DB에서 상기 뇌의 파트를구성하는 뇌의 세부 파트 및 뉴런의 정보를 가져온다. 뇌 정보 DB에서 뇌의 세부 파트간의 연결 정보을 사용하여 상기 세부 파트들을 구성하고, 상기 세부 파트의 구성 정보를 사용하여 뉴런 집합을 배정하고 뉴런의 구조 정보와 뉴런간 연결 정보를 사용하여 각 뉴런들을 하나 하나 세부 세팅해주는 것이다. That is, to construct a new neural network, detailed brain parts and neurons constituting the brain parts are obtained from the brain information DB. In the brain information DB, the detailed parts are constructed using the connection information between the detailed parts of the brain, the neuron set is allocated using the configuration information of the detailed parts, and each neuron is united using the structure information of the neurons and the connection information between the neurons. One is to set details.

예를 들어, 응용이 '카메라 입력 영상에서 물체를 판별하기 위한 신경망'의 생성을 요청하였다고 가정하자. 상기 신경망의 기능에 상응하는 뇌의 파트는 뇌의 시각 처리 파트가 된다. 그리고 뇌의 시각 처리를 구성하는 세부 파트들을 선택할 수 있다. 상기 세부 파트를 구성하는 뉴런의 양과 종류, 뉴런의 구성 비율, 연결 구조 등의 정보를 뇌 정보 DB로부터 가져온다. 또한 상기 세부 파트들이 어떤 형태로 연결되어 있는 지에 대한 정보를 가져온다. 그리고 다양한 뉴런의 종류중에서 상기 세부 파트들에 속해 있는 뉴런들의 구조 정보를 가져와서 뉴로모픽 하드웨어에서 해당 뉴런들에 대하여 정확히 구조를 세팅하여 사용할 수 있도록 한다. 즉, 뇌 정보 DB로부터 구성 정보를 사용하여 요청받은 기능을 처리할 수 있는 신경망을 생성하는 것이다. For example, suppose that an application requests the creation of a'neural network for discriminating objects from camera input images'. The part of the brain corresponding to the function of the neural network becomes the part of visual processing of the brain. And you can select detailed parts that make up the brain's visual processing. Information such as the amount and type of neurons constituting the detailed part, the composition ratio of neurons, and the connection structure is obtained from the brain information DB. Also, information on how the detailed parts are connected is obtained. In addition, among various types of neurons, structure information of neurons belonging to the detailed parts is obtained so that the neuromorphic hardware can accurately set and use the structures for the neurons. In other words, it creates a neural network that can process the requested function by using the configuration information from the brain information DB.

상기 시각 처리 파트를 구성하는 예의 경우, 색을 감지하는 V1, 형태를 감지하는 V2, 색의 변화를 감지하는 V3, 형태의 변화를 감지하는 V4의 세부 파트들이 선택될 수 있다. 그리고 세부 파트들의 연결 정보에 기반하여 V1은 V3와 연결되고, V2는 V4와 연결되고 V3와 V4가 연결될 수 있다. 그리고 V1, V2, V3, V4의 세부 파트를 구성하는 뉴런 집합이 선택된다. 상기 뉴런 집합은 뉴런의 총 개수, 뉴런의 연결 방법, 그리고 뉴런의 종류(타입)별 비율과 각 뉴런의 구조 등을 포함할 수 있다. 예를 들어 V1을 구성하는 뉴런 집합은 뉴런 100개가 직렬로 연결되고, 상기 뉴런 100개가 피라미드형 세포와 별 세포가 1:1의 비율로 구성될 수도 있고, 상기 100개의 뉴런들 중 일부 특정한 뉴런들은 소마(신경세포체), 덴드라이트(가지 돌기) 및 시냅스의 크기나 길이가 보통의 뉴런들의 2배일 수 있으며, 각 뉴런들을 연결하는 방식이 전기 자극 전달 방식으로만 정해질 수 있다. In the case of an example of configuring the visual processing part, detailed parts of V1 detecting a color, V2 detecting a shape, V3 detecting a change in color, and V4 detecting a change in shape may be selected. And based on the connection information of the detailed parts, V1 may be connected to V3, V2 may be connected to V4, and V3 and V4 may be connected. Then, a set of neurons constituting the detailed parts of V1, V2, V3, and V4 are selected. The neuron set may include a total number of neurons, a connection method of neurons, a ratio of each neuron type (type) and a structure of each neuron. For example, the set of neurons constituting V1 may include 100 neurons connected in series, and the 100 neurons may be composed of a pyramidal cell and a star cell in a ratio of 1:1, and some specific neurons among the 100 neurons The size or length of the soma (neural cell body), dendrites (branches) and synapses can be twice that of ordinary neurons, and the method of connecting each neuron can be determined only by the electrical stimulation delivery method.

결국 상기 신경망 구성 장치(120)는 각 파트를 구성하는 뉴런 집합 및 뉴런들의 정보를 뇌 정보 DB로부터 수집하여 새로운 신경망의 구성 정보를 구성하는 것이다. 따라서 뉴로모픽 컴퓨팅 시스템을 구현하기 위해 이러한 뇌 정보 DB를 구축하는 과정이 선행되어야 한다. 그리고 상기 시스템이 사용자와 사용 환경에 따라 상기 뇌 정보 DB는 다르게 구축될 수 있다. As a result, the neural network configuration device 120 collects the neuron set and information of the neurons constituting each part from the brain information DB to configure the configuration information of a new neural network. Therefore, in order to implement a neuromorphic computing system, the process of constructing such a brain information DB must be preceded. In addition, the brain information DB may be constructed differently according to the user and the use environment of the system.

상기 신경망 구성 장치(120)가 이상과 같은 동작을 수행하여 새로운 신경망의 구성 정보를 얻게 되면, 상기 신경망 생성 장치(130)는 상기 새로운 신경망의 구성 정보를 기반으로 뉴로모픽(Neuromorphic) 하드웨어에 매핑(Mapping)하여 새로운 신경망을 생성할 수 있다. When the neural network configuration device 120 performs the above operation to obtain the configuration information of a new neural network, the neural network generation device 130 maps to the neuromorphic hardware based on the configuration information of the new neural network. A new neural network can be created by (Mapping).

상기 신경망 생성 장치(130)는 상기 새로운 신경망의 구성 정보에 상응하는 신경망 그래프를 생성하고, 상기 하드웨어의 리소스 자원 정보에 상응하는 리소스 자원 그래프를 생성할 수 있다. 그리고 상기 장치는 그래프 매핑 알고리즘을 이용하여 상기 리소스 자원 그래프에 상기 신경망 그래프를 매핑할 수 있다. 이렇게 함으로써 상기 신경망 생성 장치(130)는 새로운 신경망을 뉴로모픽 하드웨어에서 생성하게 되는 것이다. 그리고 상기 신경망 생성 장치(130)는 상기 리소스 자원 그래프와 상기 신경망 그래프를 비교하고, 상기 신경망 그래프를 상기 리소스 그래프에 맞게 비율적으로 조절하는 동작을 더 수행할 수 있다. The neural network generating device 130 may generate a neural network graph corresponding to the configuration information of the new neural network and generate a resource resource graph corresponding to the resource resource information of the hardware. Further, the device may map the neural network graph to the resource resource graph using a graph mapping algorithm. By doing this, the neural network generating device 130 generates a new neural network in neuromorphic hardware. In addition, the neural network generating apparatus 130 may further perform an operation of comparing the resource resource graph with the neural network graph and proportionally adjusting the neural network graph to fit the resource graph.

즉, 생성된 신경망은 뉴로모픽 하드웨어의 자원 정보에 맞춰서 뉴로모픽 하드웨어에 매핑할 수 있다. 이 때 사용하는 매핑 알고리즘은 기존에 존재하는 그래프 매핑 알고리즘으로, 리소스 자원 그래프에 신경망 그래프를 매핑하는 것이다. 각 목적에 맞는 신경망은 뇌의 세부 파트마다 필요한 뉴런의 종류와 수량 등이 정해져 있는데 제공하는 하드웨어의 리소스 자원이 그에 맞지 않을 경우, 매핑 과정에서 신경망을 리소스에 맞게 비율적으로 조절하여야 할 필요가 있다. 특히 상기 리소스 자원이 부족한 경우, 신경망을 축소하여 매핑하여야 한다. That is, the generated neural network can be mapped to the neuromorphic hardware according to the resource information of the neuromorphic hardware. The mapping algorithm used at this time is an existing graph mapping algorithm, which maps a neural network graph to a resource resource graph. For neural networks suitable for each purpose, the type and quantity of neurons required for each detailed part of the brain are determined, but if the resource resources of the provided hardware are not suitable, it is necessary to proportionally adjust the neural network to suit the resource during the mapping process. . In particular, if the resource resource is insufficient, the neural network must be reduced and mapped.

이렇게 하드웨어에 생성된 새로운 신경망은 상기 신경망 데이터베이스에 저장될 수 있다. 즉, 상기 새로운 신경망은 뉴로모픽 시스템의 응용에서의 사용이 종료되거나 응용이 요구하는 신경망이 다른 것으로 바뀔 경우, 변화한 내부 파라미터값과 같이 신경망 DB에 저장되고, 추후 다시 필요한 경우를 대비하게 되는 것이다.The new neural network generated in the hardware may be stored in the neural network database. That is, the new neural network is stored in the neural network DB with the changed internal parameter value when the use of the neuromorphic system is terminated or the neural network required by the application is changed to another one, and is prepared in case it is needed again later. will be.

도 2는 도 1에 도시된 뉴로모픽 컴퓨팅을 위한 신경망 생성 시스템(100)의 일 예를 나타낸 블록도이다. FIG. 2 is a block diagram illustrating an example of a neural network generation system 100 for neuromorphic computing shown in FIG. 1.

도 2를 참조하면, 뉴로모픽 컴퓨팅을 위한 신경망 생성 시스템(100)은 신경망 구성 장치(120)와 신경망 생성 장치(130)를 포함한다. 상기 신경망 구성 장치(120)는 뉴로모픽 시스템의 응용으로부터 뉴로모픽 신경망 생성 요청(210)을 받아, 새로운 신경망의 구성 정보를 생성하고, 상기 신경망 생성 장치(130)는 상기 새로운 신경망의 구성 정보를 수신하여 뉴로모픽 하드웨어에 매핑하여 새로운 신경망을 생성하여 생성된 신경망(290)을 내보낸다. Referring to FIG. 2, a neural network generation system 100 for neuromorphic computing includes a neural network configuration device 120 and a neural network generation device 130. The neural network configuration device 120 receives the neuromorphic neural network generation request 210 from the application of the neuromorphic system, generates configuration information of a new neural network, and the neural network generation device 130 generates configuration information of the new neural network. Is received and mapped to neuromorphic hardware to generate a new neural network, and the generated neural network 290 is exported.

신경망 구성 장치(120)는 뇌 구성부(230), 신경망 DB 확인부(240), 신경망 구성부(250) 및 뇌 정보 DB(220)를 포함할 수 있다. 상기 뇌 구성부(230)는 응용이 생성 요청한 신경망 기능에 상응하는 적어도 하나 이상의 뇌의 파트를 선택할 수 있다. 상기 신경망 DB 확인부(240)는 상기 적어도 하나 이상의 뇌의 파트에 상응하는 기존 신경망이 신경망 데이터베이스(280)에 있는지 여부를 판단할 수 있다. 그리고 상기 신경망 구성부(250)는 상기 기존 신경망이 상기 신경망 데이터베이스에 없는 경우, 뇌 정보 데이터베이스(220)를 기반으로 상기 뇌의 파트에 상응하는 새로운 신경망의 구성 정보를 생성할 수 있다.The neural network configuration device 120 may include a brain configuration unit 230, a neural network DB verification unit 240, a neural network configuration unit 250, and a brain information DB 220. The brain construction unit 230 may select at least one or more brain parts corresponding to the neural network function requested by the application. The neural network DB verification unit 240 may determine whether an existing neural network corresponding to the at least one brain part exists in the neural network database 280. In addition, when the existing neural network is not in the neural network database, the neural network configuration unit 250 may generate configuration information of a new neural network corresponding to a part of the brain based on the brain information database 220.

뇌 구성부(230)는 상기 신경망 생성 요청(210)을 받게 되면 상기 응용에서 사용하고자 하는 신경망 기능을 찾고, 상기 신경망 기능에 상응하는 적어도 하나 이상의 뇌의 파트(Part)를 선택할 수 있다. 이 때, 뇌 정보 데이터베이스(220)의 정보를 참고하여 뇌의 파트를 선택할 수도 있다. 여기서 뇌의 파트는 시각처리 파트, 청각처리 파트 등을 포함할 수 있다. 예를 들어 영상을 판별하는 것을 요청 받았다고 하면, 뇌의 파트 중 시각 처리 파트를 선택하게 되고, 음성과 영상을 동시에 판별하는 것을 요청 받았다면, 뇌의 파트 중 시각 처리 파트와 청각 처리 파트가 선택될 수 있다. When receiving the neural network generation request 210, the brain configuration unit 230 may search for a neural network function to be used in the application and select at least one brain part corresponding to the neural network function. In this case, a brain part may be selected by referring to information in the brain information database 220. Here, the brain part may include a visual processing part, an auditory processing part, and the like. For example, if a request is made to determine an image, the visual processing part is selected among the brain parts, and if a request is made to discriminate both audio and image at the same time, the visual processing part and the auditory processing part among the brain parts will be selected. I can.

신경망 DB 확인부(240)는 상기 적어도 하나 이상의 뇌의 파트에 상응하는 기존 신경망이 신경망 데이터베이스(280)에 있는지 확인할 수 있다. 상기 신경망 데이터베이스(280)는 신경망 생성 장치(130)가 이전에 생성한 신경망들을 저장해놓은 데이터베이스를 말한다. 상기 응용이 요구하는 기능을 수행할 수 있는 기존 신경망이 있다고 하면, 굳이 새롭게 신경망을 구성 및 생성할 필요가 없으므로, 먼저 신경망 데이터베이스를 확인하여 기존 신경망이 없는 경우에만 새로운 신경망을 생성하면 되는 것이다. 따라서 신경망 DB 확인부(240)는 상기 기존 신경망이 없는 경우 신경망 구성부(250)에 새로운 신경망을 구성하라는 신호를 보내고, 상기 기존 신경망이 있는 경우 상기 신경망 DB(280)에 상기 기존 신경망을 로드(Load)하라는 신호를 보낼 수 있다. The neural network DB check unit 240 may check whether an existing neural network corresponding to the at least one brain part is in the neural network database 280. The neural network database 280 refers to a database in which neural networks previously generated by the neural network generating device 130 are stored. Assuming that there is an existing neural network capable of performing the functions required by the application, it is not necessary to construct and create a new neural network, so it is necessary to first check the neural network database and create a new neural network only when there is no existing neural network. Therefore, the neural network DB confirmation unit 240 sends a signal to configure a new neural network to the neural network configuration unit 250 when the existing neural network does not exist, and loads the existing neural network into the neural network DB 280 when the existing neural network exists ( Load) can be signaled.

신경망 구성부(250)는 상기 신경망 DB 확인부(240)로부터 새로운 신경망을 구성하라는 신호를 받으면, 뇌 정보 데이터베이스(220)를 기반으로 상기 뇌의 파트에 상응하는 새로운 신경망의 구성 정보를 생성할 수 있다. When the neural network configuration unit 250 receives a signal to configure a new neural network from the neural network DB verification unit 240, based on the brain information database 220, the neural network configuration unit 250 may generate configuration information of a new neural network corresponding to the part of the brain. have.

상기 뇌 정보 데이터베이스(220)는 상기 뇌의 파트를 구성하는 뇌의 세부 파트간 연결 정보, 상기 뇌의 세부 파트의 구성 정보, 뉴런의 구조 정보, 뉴런간 연결 정보를 포함할 수 있다. 따라서 상기 신경망 구성부(250)는 상기 뇌의 세부 파트간 연결 정보를 기반으로 상기 뇌의 세부 파트들을 구성하고, 상기 뇌의 세부 파트의 구성 정보를 기반으로 상기 뇌의 세부 파트를 구성하는 뉴런 집합을 구성하며, 상기 뉴런의 구조 정보, 뉴런간 연결 정보를 기반으로 상기 뉴런 집합을 구성하는 뉴런들을 구성하는 동작을 수행할 수 있다. The brain information database 220 may include connection information between detailed parts of the brain constituting the brain parts, configuration information of the detailed parts of the brain, structure information of neurons, and connection information between neurons. Therefore, the neural network construction unit 250 configures the detailed parts of the brain based on connection information between the detailed parts of the brain, and a set of neurons constituting the detailed parts of the brain based on the configuration information of the detailed parts of the brain. And, based on the structure information of the neurons and the connection information between neurons, an operation of configuring neurons constituting the neuron set may be performed.

그리고 상기 뇌의 세부 파트간 연결 정보는 상기 뇌의 세부 파트간 연결 형태, 상기 뇌의 세부 파트간 연결 신호의 흐름 방향, 또는 상기 연결되는 부분의 신경망의 크기를 포함하는 것일 수 있다. 상기 뇌의 세부 파트의 구성 정보는 상기 세부 파트를 구성하는 뉴런의 양, 상기 뉴런의 종류, 또는 상기 종류별 구성 비율을 포함하는 것일 수 있다. 상기 뉴런의 구조 정보는 상기 뉴런을 구성하는 소마(신경세포체), 덴드라이트(가지돌기), 시냅스의 크기 및 길이를 포함하는 것일 수 있다. 상기 뉴런간 연결 정보는 자극 전달 방식을 포함하고, 상기 자극 전달 방식은 전기 자극 전달 방식 또는 화학 자극 전달 방식 중 어느 하나인 것일 수 있다. In addition, the connection information between detailed parts of the brain may include a connection type between the detailed parts of the brain, a flow direction of a connection signal between the detailed parts of the brain, or a size of a neural network of the connected part. The configuration information of the detailed parts of the brain may include an amount of neurons constituting the detailed part, a type of the neuron, or a configuration ratio for each type. The structure information of the neuron may include the size and length of a soma (neural cell body), a dendrite (branch process), and a synapse constituting the neuron. The connection information between neurons includes a stimulation delivery method, and the stimulation delivery method may be one of an electrical stimulation delivery method or a chemical stimulation delivery method.

즉, 상기 신경망 구성부(250)는 새로운 신경망을 구성하기 위해 상기 뇌 정보 DB에서 상기 뇌의 파트를 구성하는 뇌의 세부 파트 및 뉴런의 정보를 가져온다. 뇌 정보 DB에서 뇌의 세부 파트간의 연결 정보을 사용하여 상기 세부 파트들을 구성하고, 상기 세부 파트의 구성 정보를 사용하여 뉴런 집합을 배정하고 뉴런의 구조 정보와 뉴런간 연결 정보를 사용하여 각 뉴런들을 하나 하나 세부 세팅해주는 것이다. That is, the neural network construction unit 250 fetches detailed parts of the brain and neurons constituting the brain parts from the brain information DB in order to construct a new neural network. In the brain information DB, the detailed parts are constructed using the connection information between the detailed parts of the brain, the neuron set is allocated using the configuration information of the detailed parts, and each neuron is united using the structure information of the neurons and the connection information between the neurons. One is to set details.

예를 들어, 응용이 '카메라 입력 영상에서 물체를 판별하기 위한 신경망'의 생성을 요청하였다면, 상기 신경망의 기능에 상응하는 뇌의 파트는 뇌의 시각 처리 파트가 된다. 그리고 뇌의 시각 처리를 구성하는 세부 파트들을 선택할 수 있다. 상기 세부 파트는 색을 감지하는 V1, 형태를 감지하는 V2, 색의 변화를 감지하는 V3, 형태의 변화를 감지하는 V4의 세부 파트들이 선택될 수 있다. 그리고 세부 파트들의 연결 정보에 기반하여 V1은 V3와 연결되고, V2는 V4와 연결되고 V3와 V4가 연결될 수 있다. 그리고 V1, V2, V3, V4의 세부 파트를 구성하는 뉴런 집합이 선택된다. 상기 뉴런 집합은 뉴런의 총 개수, 뉴런의 연결 방법, 그리고 뉴런의 종류(타입)별 비율과 각 뉴런의 구조 등을 포함할 수 있다. 예를 들어 V2를 구성하는 뉴런 집합은 뉴런 50개가 병렬로 연결되고, 상기 뉴런 50개가 바구니 세포와 샹들리에 세포가 2:1의 비율로 구성될 수도 있고, 상기 50개의 뉴런들 중 일부 특정한 뉴런들은 소마(신경세포체), 덴드라이트(가지 돌기) 및 시냅스의 크기나 길이가 보통의 뉴런들의 1/2배일 수 있으며, 각 뉴런들을 연결하는 방식이 화학 자극 전달 방식으로만 정해질 수 있다. 그리고 나머지 V1, V3, V4도 앞서 V2를 구성한 방식과 같이 구성될 수 있지만, 그 구성 형태는 유사하거나 상이할 수 있다. For example, if an application requests the creation of a'neural network for discriminating an object from a camera input image', the part of the brain corresponding to the function of the neural network becomes the visual processing part of the brain. And you can select detailed parts that make up the brain's visual processing. As the detailed part, detailed parts of V1 detecting a color, V2 detecting a shape, V3 detecting a change in color, and V4 detecting a change in a shape may be selected. And based on the connection information of the detailed parts, V1 may be connected to V3, V2 may be connected to V4, and V3 and V4 may be connected. Then, a set of neurons constituting the detailed parts of V1, V2, V3, and V4 are selected. The neuron set may include a total number of neurons, a connection method of neurons, a ratio of each neuron type (type) and a structure of each neuron. For example, the set of neurons constituting V2 may consist of 50 neurons connected in parallel, and the 50 neurons may consist of a basket cell and a chandelier cell in a ratio of 2:1, and some specific neurons among the 50 neurons (Neural cell body), dendrites (branches), and synapses can be 1/2 times the size or length of normal neurons, and the method of connecting each neuron can be determined only by the method of transmitting chemical stimulation. In addition, the remaining V1, V3, and V4 may be configured in the same manner as the previous configuration of V2, but the configuration may be similar or different.

결국 상기 신경망 구성부(250)는 뇌의 파트를 구성하는 뉴런 집합 및 뉴런들의 정보를 뇌 정보 DB로부터 수집하여 새로운 신경망의 구성 정보를 생성하게 된다. 그리고 이러한 뇌 정보 DB는 그 구축 과정이 신경망 구성 및 생성보다 선행되어야 하고, 상기 뇌 정보 DB는 사용자와 사용 환경에 따라 다르게 구축될 수 있다. Eventually, the neural network configuration unit 250 generates a new neural network configuration information by collecting information on a set of neurons and neurons constituting a part of the brain from the brain information DB. In addition, the brain information DB needs to be constructed prior to the neural network configuration and creation, and the brain information DB may be constructed differently according to the user and the use environment.

상기 신경망 구성부(250)에서 생성한 상기 새로운 신경망의 구성 정보는 신경망 생성 장치(130)로 전달된다. 상기 신경망 생성 장치(130)는 상기 새로운 신경망의 구성 정보를 기반으로 뉴로모픽(Neuromorphic) 하드웨어에 매핑(Mapping)하여 새로운 신경망을 생성할 수 있다. The configuration information of the new neural network generated by the neural network configuration unit 250 is transmitted to the neural network generating device 130. The neural network generating apparatus 130 may generate a new neural network by mapping it to neuromorphic hardware based on the configuration information of the new neural network.

상기 신경망 생성 장치(130)는 비율 조절부(260), 하드웨어 매핑부(270) 및신경망 DB(280)을 포함할 수 있다. 상기 하드웨어 매핑부(270)는 상기 새로운 신경망의 구성 정보에 상응하는 신경망 그래프를 생성하고, 상기 하드웨어의 리소스 자원 정보에 상응하는 리소스 자원 그래프를 생성할 수 있다. 그리고 상기 하드웨어 매핑부(270)는 그래프 매핑 알고리즘을 이용하여 상기 리소스 자원 그래프에 상기 신경망 그래프를 매핑할 수 있다. 이렇게 함으로써 상기 하드웨어 매핑부(270)는 새로운 신경망을 뉴로모픽 하드웨어에서 생성하게 되는 것이다. 그리고 상기 비율 조절부(260)는 상기 리소스 자원 그래프와 상기 신경망 그래프를 비교하고, 상기 신경망 그래프를 상기 리소스 그래프에 맞게 비율적으로 조절하는 동작을 더 수행할 수 있다. The neural network generating device 130 may include a ratio adjusting unit 260, a hardware mapping unit 270, and a neural network DB 280. The hardware mapping unit 270 may generate a neural network graph corresponding to the configuration information of the new neural network, and may generate a resource resource graph corresponding to the resource resource information of the hardware. In addition, the hardware mapping unit 270 may map the neural network graph to the resource resource graph using a graph mapping algorithm. By doing so, the hardware mapping unit 270 generates a new neural network in neuromorphic hardware. In addition, the ratio adjuster 260 may further perform an operation of comparing the resource resource graph with the neural network graph and proportionally adjusting the neural network graph to fit the resource graph.

즉, 생성된 신경망은 뉴로모픽 하드웨어의 자원 정보에 맞춰서 뉴로모픽 하드웨어에 매핑할 수 있다. 이 때 사용하는 매핑 알고리즘은 기존에 존재하는 그래프 매핑 알고리즘으로, 리소스 자원 그래프에 신경망 그래프를 매핑하는 것이다. That is, the generated neural network can be mapped to the neuromorphic hardware according to the resource information of the neuromorphic hardware. The mapping algorithm used at this time is an existing graph mapping algorithm, which maps a neural network graph to a resource resource graph.

각 목적이나 기능에 맞는 신경망은 뇌의 세부 파트마다 필요한 뉴런의 종류와 수량 등이 정해져 있지만, 시스템이 제공하는 하드웨어의 리소스 자원이 그에 맞지 않을 수 있다. 따라서 상기 신경망 생성 장치(130)는 하드웨어 매핑 과정에서 신경망을 리소스에 맞게 비율적으로 조절하여야 할 필요가 있다. 특히 상기 리소스 자원이 부족한 경우, 신경망을 축소하여 매핑하여야 한다. For a neural network suitable for each purpose or function, the type and quantity of neurons required for each detailed part of the brain are determined, but the hardware resources provided by the system may not be appropriate. Therefore, the neural network generating device 130 needs to proportionally adjust the neural network to suit the resource in the hardware mapping process. In particular, if the resource resource is insufficient, the neural network must be reduced and mapped.

상기 하드웨어 매핑부(270)에서 생성된 새로운 신경망은 상기 신경망 데이터베이스에 저장될 수 있다. 즉, 상기 새로운 신경망은 뉴로모픽 시스템의 응용에서의 사용이 종료되거나 응용이 요구하는 신경망이 다른 것으로 바뀔 경우, 변화한 내부 파라미터값과 같이 신경망 DB에 저장되고, 추후 다시 필요한 경우를 대비하게 되는 것이다. The new neural network generated by the hardware mapping unit 270 may be stored in the neural network database. That is, the new neural network is stored in the neural network DB with the changed internal parameter value when the use of the neuromorphic system is terminated or the neural network required by the application is changed to another one, and is prepared in case it is needed again later. will be.

그리고 신경망 DB 확인부(240)에서 기존 신경망이 상기 신경망 DB(280)에 존재하는 것으로 확인한 경우, 기존 신경망을 로드하라는 요청을 보내고, 상기 요청에 맞춰, 신경망 DB(280)는 기존 신경망을 하드웨어 매핑부(270)에 로드하게 된다. And when the neural network DB verification unit 240 determines that the existing neural network exists in the neural network DB 280, it sends a request to load the existing neural network, and according to the request, the neural network DB 280 hardware mapping the existing neural network It is loaded into the unit 270.

이상과 같은 방법으로 하드웨어 매핑부(270)는 응용이 생성 요청한 신경망 기능에 상응하는 기존 신경망 또는 새로운 신경망을 뉴로모픽 하드웨어에 매핑하여 생성된 신경망(290)을 출력할 수 있게 되는 것이다.In the above manner, the hardware mapping unit 270 may output the neural network 290 generated by mapping an existing neural network or a new neural network corresponding to the neural network function requested by the application to the neuromorphic hardware.

도 3은 도 2에 도시된 뇌 정보 DB(220)의 일 예를 나타낸 도면이다. 3 is a diagram illustrating an example of the brain information DB 220 shown in FIG. 2.

도 3을 참조하면, 뇌 정보 DB(220)는 뇌의 세부 파트간 연결정보(310), 뇌의 세부 파트의 구성 정보(320), 뉴런의 구조 정보(330), 뉴런간 연결 정보(340)를 포함할 수 있다. Referring to FIG. 3, the brain information DB 220 includes connection information 310 between detailed parts of the brain, configuration information 320 of detailed parts of the brain, structure information 330 of neurons, and connection information 340 between neurons. It may include.

뉴로모픽 컴퓨팅 시스템을 구성하는 뉴런과 시냅스는 실제로 다양한 형태로 나타난다. 뉴런의 종류는 그 모양에 따라 피라미드형 세포(Pyramidal cell), 별모양 세포(Stellate Cell), 바구니 세포(Basket Cell), 샹들리에 세포(Chandelier cell) 등의 다양한 형태로 구분할 수 있다. 또한 상기 뉴런의 종류마다 그 뉴런을 구성하는 축삭돌기의 길이, 가지돌기의 위치 등 그 구조가 다양하다. 그리고 축삭돌기에서 다른 뉴런과 연결이 되는 시냅스는 신호 전달 방식이 전기적 전도 현상으로 정보를 전달할 수도 있고 신경전달 물질을 이동시켜 화학적으로 정보를 전달할 수도 있다. 이상과 같이 뉴런과 시냅스는 뇌의 파트에 따라 주로 구성되는 종류과 개수들이 다르게 나타난다. 따라서 이렇게 뇌의 파트를 구성되는 뉴런과 시냅스의 정보를 저장한 데이터베이스가 바로 뇌 정보 데이터베이스(220)이고, 상기 뇌 정보 데이터베이스(220)에 있는 정보들을 기반으로 뇌의 구성과 최대한 비슷하게 신경망을 구성할 수 있는 것이다.Neurons and synapses that make up a neuromorphic computing system actually appear in various forms. Depending on their shape, neurons can be classified into various types such as pyramidal cells, star cells, basket cells, and chandelier cells. In addition, for each type of neuron, the structure of the axons constituting the neuron varies, such as the length of the axon and the position of the branch. In addition, synapses that are connected to other neurons in the axon can transmit information through electrical conduction as a signal transmission method, or can transmit information chemically by moving neurotransmitters. As described above, neurons and synapses are mainly composed of different types and numbers depending on the part of the brain. Therefore, the database storing the information of neurons and synapses constituting the brain part is the brain information database 220, and based on the information in the brain information database 220, a neural network can be configured as close as possible to the configuration of the brain. It can be.

우선 뇌의 세부 파트간 연결 정보(310)는 상기 뇌의 세부 파트간 연결 형태, 상기 뇌의 세부 파트간 연결 신호의 흐름 방향, 또는 상기 연결되는 부분의 신경망의 크기를 포함하는 것일 수 있다. 상기 뇌의 세부 파트간 연결 정보(310)는 뇌의 세부 파트들을 연결하는 연결 정보를 말한다. 만약 A1, A2, A3라는 세부 파트들이 있는 경우를 가정하면, A1-A2-A3의 직렬 형태로만 연결되고, 신호의 흐름도 A1-A2-A3으로만 진행될 수 있다. 그리고 A1-A2를 연결하는 신경망의 크기는 A1과 A2의 크기의 1/4정도로 정해질 수도 있다. First, the connection information 310 between sub-parts of the brain may include a connection type between sub-parts of the brain, a flow direction of a connection signal between sub-parts of the brain, or a size of a neural network of the connected part. The connection information 310 between the detailed parts of the brain refers to connection information that connects the detailed parts of the brain. Assuming that there are detailed parts A1, A2, and A3, they are connected only in the serial form of A1-A2-A3, and the signal flow can only proceed to A1-A2-A3. In addition, the size of the neural network connecting A1 to A2 may be set to about 1/4 of the size of A1 and A2.

뇌의 세부 파트의 구성 정보(320)는 상기 세부 파트를 구성하는 뉴런의 양, 상기 뉴런의 종류, 또는 상기 종류별 구성 비율을 포함하는 것일 수 있다. 상기 뇌의 세부 파트의 구성 정보(320)는 상기 세부 파트의 크기를 포함할 수 있다. 즉, 상기 세부 파트를 구성하는 뉴런의 양이나 시냅스의 양을 포함할 수 있다. 그리고 상기 뇌의 세부 파트의 구성 정보(320)는 각 세부 파트를 구성하는 뉴런의 타입(종류), 그리고 각 타입(종류)별 구성 비율 등을 포함할 수 있다. The configuration information 320 of the detailed part of the brain may include an amount of neurons constituting the detailed part, a type of the neuron, or a configuration ratio for each type. The configuration information 320 of the detailed part of the brain may include the size of the detailed part. That is, the amount of neurons or synapses constituting the detailed part may be included. In addition, the configuration information 320 of the detailed parts of the brain may include a type (type) of neurons constituting each detailed part, and a configuration ratio for each type (type).

뉴런의 구조 정보(330)는 상기 뉴런을 구성하는 소마(신경세포체), 덴드라이트(가지돌기), 시냅스의 크기 및 길이를 포함하는 것일 수 있다. 뉴런은 일반적으로 세포핵이 들어 있는 소마(Soma, 신경세포체)와 입력의 역할을 하는 덴드라이트(Dendrite, 가지돌기), 출력의 역할을 하는 액손(Axon, 축삭돌기), 그리고 뉴런 사이의 연결부분인 시냅스(Synapse)로 이루어져 있다. 그리고 뉴런의 타입(종류)도 피라미드형 세포(Pyramidal cell), 별모양 세포(Stellate Cell), 바구니 세포(Basket Cell), 샹들리에 세포(Chandelier cell) 등이 있다. 그리고 상기 뉴런의 종류별로 각 뉴런을 구성하는 부분들의 크기나 길이 등의 특징들이 다르다. 이러한 특징들을 상기 뉴런의 구조 정보(330)가 포함하게 되는 것이다.The neuron structure information 330 may include the size and length of a soma (nerve cell body), dendrites (branches), and synapses constituting the neuron. Neurons are generally the soma (neural cell body) containing the cell nucleus, dendrite (dendrite) that acts as an input, axon (axon) that acts as an output, and the connection between neurons. It consists of Synapse. In addition, there are also types (types) of neurons, such as pyramidal cells, star cells, basket cells, and chandelier cells. In addition, characteristics such as the size and length of parts constituting each neuron are different for each type of neuron. These features are included in the neuron structure information 330.

그리고 뉴런간 연결 정보(340)는 자극 전달 방식을 포함하고, 상기 자극 전달 방식은 전기 자극 전달 방식 또는 화학 자극 전달 방식 중 어느 하나인 것일 수 있다.In addition, the connection information 340 between neurons includes a stimulation delivery method, and the stimulation delivery method may be one of an electrical stimulation delivery method or a chemical stimulation delivery method.

도 4는 본 발명상의 실시예에 따라 생성된 뇌의 시각처리 기능에 상응하는 신경망을 나타낸 도면이다. 4 is a diagram showing a neural network corresponding to the visual processing function of the brain generated according to an embodiment of the present invention.

도 4를 참조하여, 본 발명상의 뉴로모픽 컴퓨팅을 위한 신경망 생성 방법을이용하여 뇌의 시각처리 기능을 모사하는 신경망을 생성한 예를 설명한다. With reference to FIG. 4, an example of generating a neural network that simulates the visual processing function of the brain will be described using the method of generating a neural network for neuromorphic computing according to the present invention.

우선 응용이 '카메라 입력 영상에서 물체를 판별하기 위한 신경망'의 생성을 요청하였다고 하면, 상기 신경망의 기능에 상응하는 뇌의 파트는 뇌의 시각 처리 파트(400)를 포함하고, 망막(RETINA, 410), 외측슬상핵(LGN, 420)을 더 포함하게 된다. 상기 망막(410)을 통해 들어온 시각 정보는 외측슬상핵(420)을 거쳐 뇌의 시각 처리 파트(400)로 들어가 상기 시각 정보가 무엇이고, 어디에 있는지 등을 확인하게 되는 것이다. 따라서 본 발명상의 상기 신경망 생성 방법을 통해 구성 및 생성되어야 하는 부분은 바로 상기 뇌의 시각 처리 파트(400)이다.First of all, suppose that the application requested the creation of a'neural network for discriminating an object from a camera input image', the part of the brain corresponding to the function of the neural network includes the visual processing part 400 of the brain, and the retina (RETINA, 410). ), it will further include the lateral patellar nucleus (LGN, 420). The visual information entered through the retina 410 passes through the lateral patellar nucleus 420 and enters the visual processing part 400 of the brain to check what the visual information is and where it is. Therefore, the part to be constructed and generated through the neural network generation method according to the present invention is the visual processing part 400 of the brain.

우선 뇌의 세부 파트의 연결 정보를 기반으로 상기 뇌의 시각 처리 파트(400)를 구성하는 세부 파트들을 선택할 수 있다. 상기 세부 파트는 색을 감지하는 V1(430), 형태를 감지하는 V2(440), 형태의 변화를 감지하는 V3(450), 동작을 감지하는 V4(460)의 세부 파트들이 선택될 수 있다. 그리고 역시 상기 뇌의 세부 파트의 연결 정보에 기반하여 각 세부파트들은 V1-V2-V3-V4, V2-V4, V3-V4가 연결이 되게 도 4와 같이 배열이 된다. 그리고 V1, V3, V4의 값들이 기계학습하는 MT(Machine Training, 470)과 연결되어 신경망의 출력을 계산하게 된다. First, detailed parts constituting the visual processing part 400 of the brain may be selected based on connection information of the detailed parts of the brain. The detailed parts may be selected from V1 430 for detecting a color, V2 440 for detecting a shape, a V3 450 for detecting a change in shape, and a V4 460 for detecting a motion. Also, based on the connection information of the detailed parts of the brain, each of the detailed parts is arranged as shown in FIG. 4 such that V1-V2-V3-V4, V2-V4, and V3-V4 are connected. In addition, the values of V1, V3, and V4 are connected to MT (Machine Training, 470) for machine learning to calculate the output of the neural network.

그리고 뇌의 세부 파트인 V1, V2, V3, V4의 구성 정보를 기반으로 상기 세부 파트를 구성하는 뉴런 집합이 선택될 수 있다. 예를 들어 V1을 구성하는 뉴런 집합은 뉴런 100개가 직렬로 연결되고, 피라미드형 세포와 별 세포가 1:1의 비율로 구성되며, 상기 100개의 뉴런들 중 일부 특정한 뉴런들은 소마(신경세포체), 덴드라이트(가지 돌기) 및 시냅스의 크기나 길이가 보통의 뉴런들의 2배이고, 각 뉴런들을 연결하는 방식이 전기 자극 전달 방식으로만 정해질 수 있다. 또한, V2를 구성하는 뉴런 집합은 뉴런 50개가 병렬로 연결되고, 바구니 세포와 샹들리에 세포가 2:1의 비율로 구성될 수도 있고, 상기 50개의 뉴런들 중 일부 특정한 뉴런들은 소마, 덴드라이트 및 시냅스의 크기나 길이가 보통의 뉴런들의 1/2배일 수 있으며, 각 뉴런들을 연결하는 방식이 화학 자극 전달 방식으로만 정해질 수 있다. 그리고 나머지 V3과 V4는 앞서 V1과 V2를 구성한 방식과 동일한 방식으로 구성할 수 있지만, 그 구성 형태는 V1과 V2와 유사하거나 전혀 상이할 수도 있다. In addition, a set of neurons constituting the detailed part may be selected based on configuration information of the detailed parts V1, V2, V3, and V4 of the brain. For example, the set of neurons constituting V1 consists of 100 neurons connected in series, pyramidal cells and star cells at a ratio of 1:1, and some specific neurons among the 100 neurons are soma (neuronal cell body), The size or length of dendrites (branches) and synapses is twice that of normal neurons, and the method of connecting each neuron can only be determined by the method of transmitting electrical stimulation. In addition, the set of neurons constituting V2 may consist of 50 neurons connected in parallel, and a basket cell and a chandelier cell in a ratio of 2:1, and some specific neurons among the 50 neurons are soma, dendrite, and synapse. The size or length of can be 1/2 times that of normal neurons, and the way each neuron is connected can be determined only by the method of transmitting chemical stimuli. In addition, the remaining V3 and V4 may be configured in the same manner as the previous configuration of V1 and V2, but their configuration may be similar to or completely different from V1 and V2.

이렇게 해서 응용이 요구한 시각 처리 기능을 담당하는 신경망이 도 4와 같이 구성되고, 상기 신경망의 구성 정보가 신경망 생성 장치로 전달되어, 상기 신경망 생성 장치에서 뉴로모픽 하드웨어에 매핑되어 신경망이 생성되는 것이다. In this way, the neural network responsible for the visual processing function requested by the application is configured as shown in FIG. 4, and the configuration information of the neural network is transmitted to the neural network generation device, and the neural network is mapped to the neuromorphic hardware in the neural network generation device. will be.

도 5는 실시예에 따른 뉴로모픽 컴퓨팅을 위한 신경망 생성 방법의 동작 흐름도를 나타낸 도면이다.5 is a diagram illustrating an operation flowchart of a method for generating a neural network for neuromorphic computing according to an embodiment.

도 5를 참조하면, 우선 응용이 신경망 구성 장치에 신경망 생성 요청을 한다(S510). 그리고 상기 신경망 구성 장치는 상기 생성 요청한 신경망 기능에 상응하는 적어도 하나 이상의 뇌의 파트를 선택한다(S520). Referring to FIG. 5, first, an application makes a neural network generation request to a neural network configuration device (S510). In addition, the neural network configuration device selects at least one brain part corresponding to the neural network function requested to be generated (S520).

상기 신경망 구성 장치는 상기 신경망 생성 요청을 받게 되면 상기 응용에서 사용하고자 하는 신경망 기능을 찾고, 상기 신경망 기능에 상응하는 적어도 하나 이상의 뇌의 파트를 선택할 수 있다. 여기서 뇌의 파트는 시각처리 파트, 청각처리 파트 등을 포함할 수 있다. 예를 들어 영상을 판별하는 것을 요청 받았다고 하면, 뇌의 파트 중 시각 처리 파트를 선택하게 되고, 음성과 영상을 동시에 판별하는 것을 요청 받았다면, 뇌의 파트 중 시각 처리 파트와 청각 처리 파트가 선택될 수 있다.When receiving the neural network generation request, the neural network configuration device may search for a neural network function to be used in the application and select at least one or more brain parts corresponding to the neural network function. Here, the brain part may include a visual processing part, an auditory processing part, and the like. For example, if a request is made to determine an image, the visual processing part is selected among the brain parts, and if a request is made to discriminate both audio and image at the same time, the visual processing part and the auditory processing part among the brain parts will be selected. I can.

상기 신경망 구성 장치는 상기 적어도 하나 이상의 뇌의 파트에 상응하는 기존 신경망이 신경망 데이터베이스에 있는지 여부를 판단한다(S530). The neural network configuration device determines whether an existing neural network corresponding to the at least one brain part exists in the neural network database (S530).

상기 신경망 구성 장치는 상기 적어도 하나 이상의 뇌의 파트에 상응하는 기존 신경망이 신경망 데이터베이스(또는 신경망 DB)에 있는지 확인할 수 있다. 상기 신경망 데이터베이스는 상기 신경망 생성 시스템이 이전에 생성한 신경망들을 저장해놓은 데이터베이스를 말한다. 상기 응용이 요구하는 기능을 수행할 수 있는 기존 신경망이 있다고 하면, 굳이 새롭게 신경망을 구성 및 생성할 필요가 없으므로, 먼저 신경망 데이터베이스를 확인하여 기존 신경망이 없는 경우에만 상기 신경 생성 시스템은 새로운 신경망을 생성하게 된다. The neural network configuration device may check whether an existing neural network corresponding to the at least one brain part is in a neural network database (or neural network DB). The neural network database refers to a database in which neural networks previously generated by the neural network generation system are stored. If there is an existing neural network capable of performing the functions required by the application, it is not necessary to construct and create a new neural network, so the neural generation system first checks the neural network database and creates a new neural network only when there is no existing neural network Is done.

상기 신경망 구성 장치는 상기 기존 신경망이 있는 경우, 상기 기존 신경망을 상기 신경망 데이터베이스로부터 가져올 수 있다(S570). 그러나, 상기 기존 신경망이 없는 경우 상기 신경망 구성 장치는 뇌 정보 데이터베이스(또는 뇌 정보 DB)를 기반으로 상기 뇌의 파트에 상응하는 새로운 신경망의 구성 정보를 생성할 수 있다(S540). When there is the existing neural network, the neural network configuration device may import the existing neural network from the neural network database (S570). However, when there is no existing neural network, the neural network configuration device may generate configuration information of a new neural network corresponding to the part of the brain based on a brain information database (or brain information DB) (S540).

상기 뇌 정보 데이터베이스는 상기 뇌의 파트를 구성하는 뇌의 세부 파트간 연결 정보, 상기 뇌의 세부 파트의 구성 정보, 뉴런의 구조 정보, 뉴런간 연결 정보를 포함할 수 있다. 따라서 상기 신경망 구성 장치는 상기 뇌의 세부 파트간 연결 정보를 기반으로 상기 뇌의 세부 파트들을 구성하고, 상기 뇌의 세부 파트의 구성 정보를 기반으로 상기 뇌의 세부 파트를 구성하는 뉴런 집합을 구성하며, 상기 뉴런의 구조 정보, 뉴런간 연결 정보를 기반으로 상기 뉴런 집합을 구성하는 뉴런들을 구성하는 동작을 수행할 수 있다. The brain information database may include connection information between detailed parts of the brain constituting the brain parts, configuration information of the detailed parts of the brain, structure information of neurons, and connection information between neurons. Therefore, the neural network configuration device configures the detailed parts of the brain based on connection information between the detailed parts of the brain, and configures a set of neurons constituting the detailed parts of the brain based on the configuration information of the detailed parts of the brain. , An operation of configuring neurons constituting the neuron set may be performed based on the structure information of the neurons and connection information between neurons.

그리고 상기 뇌의 세부 파트간 연결 정보는 상기 뇌의 세부 파트간 연결 형태, 상기 뇌의 세부 파트간 연결 신호의 흐름 방향, 또는 상기 연결되는 부분의 신경망의 크기를 포함하는 것일 수 있다. 상기 뇌의 세부 파트의 구성 정보는 상기 세부 파트를 구성하는 뉴런의 양, 상기 뉴런의 종류, 또는 상기 종류별 구성 비율을 포함하는 것일 수 있다. 상기 뉴런의 구조 정보는 상기 뉴런을 구성하는 소마(신경세포체), 덴드라이트(가지돌기), 시냅스의 크기 및 길이를 포함하는 것일 수 있다. 상기 뉴런간 연결 정보는 자극 전달 방식을 포함하고, 상기 자극 전달 방식은 전기 자극 전달 방식 또는 화학 자극 전달 방식 중 어느 하나인 것일 수 있다. In addition, the connection information between detailed parts of the brain may include a connection type between the detailed parts of the brain, a flow direction of a connection signal between the detailed parts of the brain, or a size of a neural network of the connected part. The configuration information of the detailed parts of the brain may include an amount of neurons constituting the detailed part, a type of the neuron, or a configuration ratio for each type. The structure information of the neuron may include the size and length of a soma (neural cell body), a dendrite (branch process), and a synapse constituting the neuron. The connection information between neurons includes a stimulation delivery method, and the stimulation delivery method may be either an electrical stimulation delivery method or a chemical stimulation delivery method.

결국 상기 신경망 구성 장치는 뇌의 파트를 구성하는 뉴런 집합 및 뉴런들의 정보를 뇌 정보 DB로부터 수집하여 새로운 신경망의 구성 정보를 구성하는 것이다. 따라서 뉴로모픽 컴퓨팅 시스템을 구현하기 위해 이러한 뇌 정보 DB를 구축하는 과정이 선행되어야 한다. 그리고 상기 시스템이 사용자와 사용 환경에 따라 상기 뇌 정보 DB는 다르게 구축될 수 있다. Eventually, the neural network configuration device collects the neuron set and the information of the neurons constituting the brain part from the brain information DB to construct the new neural network configuration information. Therefore, in order to implement a neuromorphic computing system, the process of constructing such a brain information DB must be preceded. In addition, the brain information DB may be constructed differently according to a user and a use environment of the system.

그리고 상기 새로운 신경망의 구성 정보를 기반으로 뉴로모픽 하드웨어에 매핑하여 새로운 신경망을 생성한다(S550). Then, based on the configuration information of the new neural network, a new neural network is generated by mapping it to neuromorphic hardware (S550).

생성된 신경망은 뉴로모픽 하드웨어의 자원 정보에 맞춰서 뉴로모픽 하드웨어에 매핑할 수 있다. 이 때 사용하는 매핑 알고리즘은 기존에 존재하는 그래프 매핑 알고리즘으로, 리소스 자원 그래프에 신경망 그래프를 매핑하는 것이다. 각 목적에 맞는 신경망은 뇌의 세부 파트마다 필요한 뉴런의 종류와 수량 등이 정해져 있는데 제공하는 하드웨어의 리소스 자원이 그에 맞지 않을 경우, 매핑 과정에서 신경망을 리소스에 맞게 비율적으로 조절하여야 할 필요가 있다. 특히 상기 리소스 자원이 부족한 경우, 신경망을 축소하여 매핑하여야 한다. The generated neural network may be mapped to the neuromorphic hardware according to the resource information of the neuromorphic hardware. The mapping algorithm used at this time is an existing graph mapping algorithm, which maps a neural network graph to a resource resource graph. For neural networks suitable for each purpose, the type and quantity of neurons required for each detailed part of the brain are determined, but if the resource resources of the provided hardware are not suitable, it is necessary to proportionally adjust the neural network to suit the resource during the mapping process. . In particular, if the resource resource is insufficient, the neural network must be reduced and mapped.

그리고 상기 새로운 신경망을 상기 신경망 데이터 베이스에 저장한다(S560).이렇게 하드웨어에 생성된 새로운 신경망은 상기 신경망 데이터베이스에 저장될 수 있다. 즉, 상기 새로운 신경망은 뉴로모픽 시스템의 응용에서의 사용이 종료되거나 응용이 요구하는 신경망이 다른 것으로 바뀔 경우, 변화한 내부 파라미터값과 같이 신경망 DB에 저장되고, 추후 다시 필요한 경우를 대비하게 되는 것이다. Then, the new neural network is stored in the neural network database (S560). The new neural network generated in the hardware may be stored in the neural network database. That is, the new neural network is stored in the neural network DB with the changed internal parameter value when the use of the neuromorphic system is terminated or the neural network required by the application is changed to another one, and is prepared in case it is needed again later. will be.

도 6은 실시예에 따른 컴퓨터 시스템 구성을 나타낸 도면이다.6 is a diagram showing the configuration of a computer system according to an embodiment.

실시예에 따른 뉴로모픽 컴퓨팅을 위한 신경망 구성 장치 또는 뉴로모픽 컴퓨팅을 위한 신경망 생성 장치는 컴퓨터로 읽을 수 있는 기록매체와 같은 컴퓨터 시스템(600)에서 구현될 수 있다.The apparatus for constructing a neural network for neuromorphic computing or the apparatus for generating a neural network for neuromorphic computing according to an embodiment may be implemented in a computer system 600 such as a computer-readable recording medium.

컴퓨터 시스템(600)은 버스(620)를 통하여 서로 통신하는 하나 이상의 프로세서(610), 메모리(630), 사용자 인터페이스 입력 장치(640), 사용자 인터페이스 출력 장치(650) 및 스토리지(660)를 포함할 수 있다. 또한, 컴퓨터 시스템(600)은 네트워크(680)에 연결되는 네트워크 인터페이스(670)를 더 포함할 수 있다. 프로세서(610)는 중앙 처리 장치 또는 메모리(630)나 스토리지(660)에 저장된 프로그램 또는 프로세싱 인스트럭션들을 실행하는 반도체 장치일 수 있다. 메모리(630) 및 스토리지(660)는 휘발성 매체, 비휘발성 매체, 분리형 매체, 비분리형 매체, 통신 매체, 또는 정보 전달 매체 중에서 적어도 하나 이상을 포함하는 저장 매체일 수 있다. 예를 들어, 메모리(630)는 ROM(631)이나 RAM(632)을 포함할 수 있다.The computer system 600 may include one or more processors 610, memory 630, user interface input device 640, user interface output device 650, and storage 660 in communication with each other via bus 620. I can. Further, the computer system 600 may further include a network interface 670 connected to the network 680. The processor 610 may be a central processing unit or a semiconductor device that executes programs or processing instructions stored in the memory 630 or the storage 660. The memory 630 and the storage 660 may be a storage medium including at least one of a volatile medium, a nonvolatile medium, a removable medium, a non-removable medium, a communication medium, or an information transmission medium. For example, the memory 630 may include a ROM 631 or a RAM 632.

이상에서 설명된 실시예에 따르면, 본 발명은 뇌의 뉴런의 구성 형태를 뇌의 파트에 따라 정보를 저장하고, 상기 정보를 기반으로 뉴로모픽 컴퓨팅 시스템이 사용되는 상황과 목적에 따라 두뇌를 최대한 비슷하게 모사한 최적의 형태로 구성한 뉴로모픽 컴퓨팅을 위한 신경망 생성 방법 및 장치를 제공할 수 있다. According to the above-described embodiment, the present invention stores information according to brain parts in the configuration form of neurons in the brain, and maximizes the brain according to the situation and purpose in which the neuromorphic computing system is used based on the information. A method and apparatus for generating a neural network for neuromorphic computing configured in a similarly simulated optimal form can be provided.

또한, 본 발명은 응용이 요청한 기능을 수행하는 신경망을 뉴로모픽 하드웨어의 리소스 자원을 고려하여 구성할 수 있는 방법을 제공할 수 있다. In addition, the present invention can provide a method of configuring a neural network that performs a function requested by an application in consideration of resource resources of neuromorphic hardware.

이상에서 첨부된 도면을 참조하여 본 발명의 실시예들을 설명하였지만, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다.Although the embodiments of the present invention have been described with reference to the accompanying drawings above, those of ordinary skill in the art to which the present invention pertains can be implemented in other specific forms without changing the technical spirit or essential features. You can understand that there is. Therefore, it should be understood that the embodiments described above are illustrative in all respects and not limiting.

120: 신경망 구성 장치
130: 신경망 생성 장치
210: 신경망 생성 요청
220: 뇌 정보 DB
230: 뇌 구성부
240: 신경망 DB 확인부
250: 신경망 구성부
260: 비율 조절부
270: 하드웨어 매핑부
280: 신경망 DB
290: 생성된 신경망
120: neural network configuration device
130: neural network generator
210: Request to create a neural network
220: brain information DB
230: brain components
240: neural network DB verification unit
250: neural network component
260: ratio control unit
270: hardware mapping unit
280: neural network DB
290: generated neural network

Claims (20)

응용이 생성 요청한 신경망 기능에 상응하는 적어도 하나 이상의 뇌의 파트(Part)를 선택하는 단계;
상기 적어도 하나 이상의 뇌의 파트에 상응하는 기존 신경망이 신경망 데이터베이스에 있는지 여부를 판단하는 단계;
상기 기존 신경망이 없는 경우, 뇌 정보 데이터베이스를 기반으로 상기 뇌의 파트에 상응하는 새로운 신경망의 구성 정보를 생성하는 단계;
상기 새로운 신경망의 구성 정보를 기반으로 뉴로모픽(Neuromorphic) 하드웨어에 매핑(Mapping)하여 새로운 신경망을 생성하는 단계; 및
상기 신경망 데이터베이스에 상기 새로운 신경망을 저장하는 단계를 포함하는, 뉴로모픽 컴퓨팅을 위한 신경망 생성 방법.
Selecting at least one brain part corresponding to the neural network function requested by the application;
Determining whether an existing neural network corresponding to the at least one brain part exists in a neural network database;
Generating configuration information of a new neural network corresponding to a part of the brain based on a brain information database when there is no existing neural network;
Creating a new neural network by mapping it to neuromorphic hardware based on the configuration information of the new neural network; And
A method of generating a neural network for neuromorphic computing, comprising the step of storing the new neural network in the neural network database.
제1 항에 있어서,
상기 뇌 정보 데이터베이스는
상기 뇌의 파트를 구성하는 뇌의 세부 파트간 연결 정보, 상기 뇌의 세부 파트의 구성 정보, 뉴런의 구조 정보, 및 뉴런간 연결 정보를 포함하는 것인, 뉴로모픽 컴퓨팅을 위한 신경망 생성 방법.
The method of claim 1,
The brain information database
A method of generating a neural network for neuromorphic computing that includes connection information between detailed parts of the brain constituting the brain parts, configuration information of the detailed parts of the brain, structure information of neurons, and connection information between neurons.
제2 항에 있어서,
상기 새로운 신경망의 구성 정보를 생성하는 단계는
상기 뇌의 세부 파트간 연결 정보를 기반으로 상기 뇌의 세부 파트들을 구성하는 단계;
상기 뇌의 세부 파트의 구성 정보를 기반으로 상기 뇌의 세부 파트를 구성하는 뉴런 집합을 구성하는 단계; 및
상기 뉴런의 구조 정보, 뉴런간 연결 정보를 기반으로 상기 뉴런 집합을 구성하는 뉴런들을 구성하는 단계를 포함하는, 뉴로모픽 컴퓨팅을 위한 신경망 생성 방법.
The method of claim 2,
Generating the configuration information of the new neural network
Configuring the detailed parts of the brain based on connection information between the detailed parts of the brain;
Constructing a set of neurons constituting the detailed parts of the brain based on configuration information of the detailed parts of the brain; And
Comprising the step of configuring neurons constituting the set of neurons based on the structure information of the neurons and connection information between neurons, a neural network generation method for neuromorphic computing.
제3 항에 있어서,
상기 새로운 신경망을 생성하는 단계는
상기 새로운 신경망의 구성 정보에 상응하는 신경망 그래프를 생성하는 단계;
상기 하드웨어의 리소스 자원 정보에 상응하는 리소스 자원 그래프를 생성하는 단계; 및
그래프 매핑 알고리즘을 이용하여 상기 리소스 자원 그래프에 상기 신경망 그래프를 매핑하는 단계를 포함하는, 뉴로모픽 컴퓨팅을 위한 신경망 생성 방법.
The method of claim 3,
Creating the new neural network
Generating a neural network graph corresponding to the configuration information of the new neural network;
Generating a resource resource graph corresponding to resource resource information of the hardware; And
Mapping the neural network graph to the resource resource graph using a graph mapping algorithm, and a neural network generation method for neuromorphic computing.
제4 항에 있어서,
상기 새로운 신경망을 생성하는 단계는
상기 리소스 자원 그래프와 상기 신경망 그래프를 비교하는 단계; 및
상기 신경망 그래프를 상기 리소스 그래프에 맞게 비율적으로 조절하는 단계를 더 포함하는, 뉴로모픽 컴퓨팅을 위한 신경망 생성 방법.
The method of claim 4,
Creating the new neural network
Comparing the resource resource graph with the neural network graph; And
The method of generating a neural network for neuromorphic computing, further comprising the step of proportionally adjusting the neural network graph to fit the resource graph.
제2 항에 있어서,
상기 뇌의 세부 파트간 연결 정보는
상기 뇌의 세부 파트간 연결 형태, 상기 뇌의 세부 파트간 연결 신호의 흐름 방향, 또는 상기 연결되는 부분의 신경망의 크기를 포함하는 것인, 뉴로모픽 컴퓨팅을 위한 신경망 생성 방법.
The method of claim 2,
The connection information between the detailed parts of the brain
The method of generating a neural network for neuromorphic computing, including a connection type between the detailed parts of the brain, a flow direction of a connection signal between the detailed parts of the brain, or a size of a neural network of the connected parts.
제2 항에 있어서,
상기 뇌의 세부 파트의 구성 정보는
상기 세부 파트를 구성하는 뉴런의 양, 상기 뉴런의 종류, 또는 상기 종류별 구성 비율을 포함하는 것인, 뉴로모픽 컴퓨팅을 위한 신경망 생성 방법.
The method of claim 2,
The configuration information of the detailed parts of the brain
The method of generating a neural network for neuromorphic computing, including the amount of neurons constituting the detailed part, the type of neuron, or the composition ratio for each type.
제2 항에 있어서,
상기 뉴런의 구조 정보는
상기 뉴런을 구성하는 소마(신경세포체), 덴드라이트(가지돌기), 시냅스의 크기 및 길이를 포함하는 것인, 뉴로모픽 컴퓨팅을 위한 신경망 생성 방법.
The method of claim 2,
The neuron structure information
A method for generating a neural network for neuromorphic computing, including the size and length of the soma (neural cell body), dendrites (branches), and synapses constituting the neuron.
제2 항에 있어서,
상기 뉴런간 연결 정보는
자극 전달 방식을 포함하고,
상기 자극 전달 방식은 전기 자극 전달 방식 또는 화학 자극 전달 방식 중 어느 하나인 것인, 뉴로모픽 컴퓨팅을 위한 신경망 생성 방법.
The method of claim 2,
The neuron connection information
Including the mode of delivery of stimuli,
The stimulation delivery method is any one of an electrical stimulation delivery method or a chemical stimulation delivery method, a neural network generation method for neuromorphic computing.
제1 항에 있어서,
상기 기존 신경망이 있는 경우, 상기 기존 신경망을 상기 신경망 데이터베이스로부터 가져오는 단계를 더 포함하는, 뉴로모픽 컴퓨팅을 위한 신경망 생성 방법.
The method of claim 1,
If the existing neural network exists, the method further comprising the step of importing the existing neural network from the neural network database, neural network generation method for neuromorphic computing.
응용이 생성 요청한 신경망 기능에 상응하는 적어도 하나 이상의 뇌의 파트(Part)를 선택하고,
상기 적어도 하나 이상의 뇌의 파트에 상응하는 기존 신경망이 신경망 데이터베이스에 있는 여부를 판단하고,
상기 기존 신경망이 없는 경우, 뇌 정보 데이터베이스를 기반으로 상기 뇌의 파트에 상응하는 새로운 신경망의 구성 정보를 생성하는 프로세서; 및
상기 새로운 신경망의 구성 정보를 저장하는 메모리를 포함하는, 뉴로모픽 컴퓨팅을 위한 신경망 구성 장치.
Select at least one brain part corresponding to the neural network function requested by the application, and
It is determined whether an existing neural network corresponding to the at least one brain part is in a neural network database,
A processor for generating configuration information of a new neural network corresponding to a part of the brain based on a brain information database when there is no existing neural network; And
A neural network configuration device for neuromorphic computing, including a memory for storing configuration information of the new neural network.
제11 항에 있어서,
상기 뇌 정보 데이터베이스는
상기 뇌의 파트를 구성하는 뇌의 세부 파트간 연결 정보, 상기 뇌의 세부 파트의 구성 정보, 뉴런의 구조 정보, 뉴런간 연결 정보를 포함하는 것인, 뉴로모픽 컴퓨팅을 위한 신경망 구성 장치.
The method of claim 11,
The brain information database
A neural network configuration device for neuromorphic computing that includes connection information between detailed parts of the brain constituting the brain parts, configuration information of the detailed parts of the brain, structure information of neurons, and connection information between neurons.
제12 항에 있어서,
상기 프로세서는
상기 뇌의 세부 파트간 연결 정보를 기반으로 상기 뇌의 세부 파트들을 구성하고,
상기 뇌의 세부 파트의 구성 정보를 기반으로 상기 뇌의 세부 파트를 구성하는 뉴런 집합을 구성하고,
상기 뉴런의 구조 정보, 뉴런간 연결 정보를 기반으로 상기 뉴런 집합을 구성하는 뉴런들을 구성하는 것인, 뉴로모픽 컴퓨팅을 위한 신경망 구성 장치.
The method of claim 12,
The processor is
Configure the detailed parts of the brain based on connection information between the detailed parts of the brain,
Construct a set of neurons constituting the detailed parts of the brain based on the configuration information of the detailed parts of the brain,
To configure neurons constituting the set of neurons based on the structure information of the neurons and the connection information between neurons, a neural network construction apparatus for neuromorphic computing.
제12 항에 있어서,
상기 뇌의 세부 파트간 연결 정보는
상기 뇌의 세부 파트간 연결 형태, 상기 뇌의 세부 파트간 연결 신호의 흐름 방향, 또는 상기 연결되는 부분의 신경망의 크기를 포함하는 것인, 뉴로모픽 컴퓨팅을 위한 신경망 구성 장치.
The method of claim 12,
The connection information between the detailed parts of the brain
The neural network configuration apparatus for neuromorphic computing, including a connection type between the detailed parts of the brain, a flow direction of a connection signal between the detailed parts of the brain, or the size of a neural network of the connected parts.
제12 항에 있어서,
상기 뇌의 세부 파트의 구성 정보는
상기 세부 파트를 구성하는 뉴런의 양, 상기 뉴런의 종류, 또는 상기 종류별 구성 비율을 포함하는 것인, 뉴로모픽 컴퓨팅을 위한 신경망 구성 장치.
The method of claim 12,
The configuration information of the detailed parts of the brain
The neural network configuration apparatus for neuromorphic computing, including the amount of neurons constituting the detailed part, the type of neuron, or the composition ratio for each type.
제12 항에 있어서,
상기 뉴런의 구조 정보는
상기 뉴런을 구성하는 소마(신경세포체), 덴드라이트(가지돌기), 시냅스의 크기 및 길이를 포함하는 것인, 뉴로모픽 컴퓨팅을 위한 신경망 생성 장치.
The method of claim 12,
The neuron structure information
Neural network generation apparatus for neuromorphic computing, including the size and length of the soma (neural cell body), dendrites (branches), and synapses constituting the neuron.
제12 항에 있어서,
상기 뉴런간 연결 정보는
자극 전달 방식을 포함하고,
상기 자극 전달 방식은 전기 자극 전달 방식 또는 화학 자극 전달 방식 중 어느 하나인 것인, 뉴로모픽 컴퓨팅을 위한 신경망 구성 장치.
The method of claim 12,
The neuron connection information
Including the mode of delivery of stimuli,
The stimulation delivery method is any one of an electrical stimulation delivery method or a chemical stimulation delivery method, a neural network configuration device for neuromorphic computing.
신경망 구성 장치로부터 뇌 정보 데이터 베이스 기반으로 생성된 새로운 신경망의 구성 정보를 받고,
상기 신경망의 구성 정보를 기반으로 뉴로모픽 하드웨어에 매핑하여 새로운 신경망을 생성하고,
신경망 데이터베이스로부터 기존 신경망을 가져오는 프로세서; 및
상기 새로운 신경망을 저장하는 메모리를 포함하는, 뉴로모픽 컴퓨팅을 위한 신경망 생성 장치.
Receives the configuration information of a new neural network generated based on the brain information database from the neural network configuration device,
A new neural network is created by mapping it to neuromorphic hardware based on the configuration information of the neural network,
A processor for importing an existing neural network from a neural network database; And
A neural network generation apparatus for neuromorphic computing, including a memory for storing the new neural network.
제18 항에 있어서,
상기 프로세서는
상기 새로운 신경망의 구성 정보에 상응하는 신경망 그래프를 생성하고,
상기 하드웨어의 리소스 자원 정보에 상응하는 리소스 자원 그래프를 생성하고,
그래프 매핑 알고리즘을 이용하여 상기 리소스 자원 그래프에 상기 신경망 그래프를 매핑하는 것인, 뉴로모픽 컴퓨팅을 위한 신경망 생성 장치.
The method of claim 18,
The processor is
Generate a neural network graph corresponding to the configuration information of the new neural network,
Generate a resource resource graph corresponding to the resource resource information of the hardware,
Mapping the neural network graph to the resource resource graph by using a graph mapping algorithm, a neural network generation apparatus for neuromorphic computing.
제19 항에 있어서,
상기 프로세서는
상기 리소스 자원 그래프와 상기 신경망 그래프를 비교하고,
상기 신경망 그래프를 상기 리소스 그래프에 맞게 비율적으로 조절하는 것인, 뉴로모픽 컴퓨팅을 위한 신경망 생성 장치.
The method of claim 19,
The processor is
Compare the resource resource graph with the neural network graph,
The neural network generation apparatus for neuromorphic computing, which proportionally adjusts the neural network graph to fit the resource graph.
KR1020200047906A 2019-07-05 2020-04-21 Method for generating neural network for neuromorphic system and apparatus for the same KR102545066B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US16/894,276 US11630992B2 (en) 2019-07-05 2020-06-05 Neural network generation method for neuromorphic computing and apparatus for the same

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20190081141 2019-07-05
KR1020190081141 2019-07-05

Publications (2)

Publication Number Publication Date
KR20210004813A true KR20210004813A (en) 2021-01-13
KR102545066B1 KR102545066B1 (en) 2023-06-20

Family

ID=74142251

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200047906A KR102545066B1 (en) 2019-07-05 2020-04-21 Method for generating neural network for neuromorphic system and apparatus for the same

Country Status (1)

Country Link
KR (1) KR102545066B1 (en)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003288598A (en) * 1999-11-08 2003-10-10 Takafumi Terasawa Method for generating pattern structure of input information and analyzing apparatus for the input information
JP2013047972A (en) * 2012-10-19 2013-03-07 A Visel Thomas Method for inclusion of psychological temperament in electronic emulation of human brain
KR101326914B1 (en) * 2005-11-15 2013-11-11 베르나데트 가너 Method for training neural networks
US20150339570A1 (en) * 2014-05-22 2015-11-26 Lee J. Scheffler Methods and systems for neural and cognitive processing
KR20180027628A (en) * 2011-08-16 2018-03-14 퀄컴 인코포레이티드 Method and apparatus for neural temporal coding, learning and recognition
US20180349508A1 (en) * 2016-02-05 2018-12-06 Sas Institute Inc. Automated transfer of neural network definitions among federated areas
KR20190051766A (en) 2017-11-06 2019-05-15 삼성전자주식회사 Neuron Circuit, system and method for synapse weight learning

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003288598A (en) * 1999-11-08 2003-10-10 Takafumi Terasawa Method for generating pattern structure of input information and analyzing apparatus for the input information
KR101326914B1 (en) * 2005-11-15 2013-11-11 베르나데트 가너 Method for training neural networks
KR20180027628A (en) * 2011-08-16 2018-03-14 퀄컴 인코포레이티드 Method and apparatus for neural temporal coding, learning and recognition
JP2013047972A (en) * 2012-10-19 2013-03-07 A Visel Thomas Method for inclusion of psychological temperament in electronic emulation of human brain
US20150339570A1 (en) * 2014-05-22 2015-11-26 Lee J. Scheffler Methods and systems for neural and cognitive processing
US20180349508A1 (en) * 2016-02-05 2018-12-06 Sas Institute Inc. Automated transfer of neural network definitions among federated areas
KR20190051766A (en) 2017-11-06 2019-05-15 삼성전자주식회사 Neuron Circuit, system and method for synapse weight learning

Also Published As

Publication number Publication date
KR102545066B1 (en) 2023-06-20

Similar Documents

Publication Publication Date Title
Medina et al. Computer simulation of cerebellar information processing
JP5963315B2 (en) Methods, devices, and circuits for neuromorphic / synaptronic spiking neural networks with synaptic weights learned using simulation
US9330355B2 (en) Computed synapses for neuromorphic systems
US9886663B2 (en) Compiling network descriptions to multiple platforms
KR20160076533A (en) Methods and apparatus for tagging classes using supervised learning
CN107924487A (en) Processing system and program
CN109165730A (en) State quantifies network implementation approach in crossed array neuromorphic hardware
KR20140092881A (en) Methods and apparatus for unsupervised neural replay, learning refinement, association and memory transfer: neural component replay
CN110070188A (en) A kind of increment type cognitive development system and method merging interactive intensified learning
CN108154109A (en) A kind of construction method, device and the intelligent teaching recorded broadcast method of intelligence recorded broadcast model
CN105122278B (en) Neural network and method of programming
KR101825937B1 (en) Plastic synapse management
Dell et al. Connectionist models of aphasia and other language impairments
CN112365359A (en) Training method, device, equipment and storage medium for planting decision determination model
CN113869505A (en) Pulse neural network optimization method and system based on brain glial cells
KR20210004813A (en) Method for generating neural network for neuromorphic system and apparatus for the same
Thieu et al. Effects of noise on leaky integrate-and-fire neuron models for neuromorphic computing applications
Venkatesh et al. Intelligent tutoring systems using reinforcement learning to teach autistic students
Pavlou et al. Simulating the effects of cortical feedback in the superior colliculus with topographic maps
US11630992B2 (en) Neural network generation method for neuromorphic computing and apparatus for the same
CN115328786A (en) Automatic testing method and device based on block chain and storage medium
CN109635942A (en) A kind of imitative brain excitement state and aepression working condition nerve network circuit structure and method
Zhang et al. Determination of verb similarity in computational verb theory [J]
KR20210146002A (en) Method and apparatus for training multi-layer spiking neural network
Eilbert et al. Modeling neural networks in Scheme

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant