KR20190016311A - Reconfigurable neuromorphic system and method of neural network configuration - Google Patents

Reconfigurable neuromorphic system and method of neural network configuration Download PDF

Info

Publication number
KR20190016311A
KR20190016311A KR1020170100384A KR20170100384A KR20190016311A KR 20190016311 A KR20190016311 A KR 20190016311A KR 1020170100384 A KR1020170100384 A KR 1020170100384A KR 20170100384 A KR20170100384 A KR 20170100384A KR 20190016311 A KR20190016311 A KR 20190016311A
Authority
KR
South Korea
Prior art keywords
neuron
array
unit
synapse
neural network
Prior art date
Application number
KR1020170100384A
Other languages
Korean (ko)
Other versions
KR102099242B1 (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 KR1020170100384A priority Critical patent/KR102099242B1/en
Publication of KR20190016311A publication Critical patent/KR20190016311A/en
Application granted granted Critical
Publication of KR102099242B1 publication Critical patent/KR102099242B1/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/04Architecture, e.g. interconnection topology

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • General Health & Medical Sciences (AREA)
  • General Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Computational Linguistics (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • Neurology (AREA)
  • Image Analysis (AREA)
  • Logic Circuits (AREA)

Abstract

Disclosed are a reconfigurable neuromorphic system and a neural network configuration method thereof which can expand the number of hidden layers on a single synapse array. According to embodiments of the present invention, the reconfigurable neuromorphic system comprises: a synapse array including synapse elements of which weights change in accordance with input signals and output signals; a first bidirectional neuron circuit to output input signals in a column direction to the synapse elements and receive output signals in the column direction from the synapse elements; a second bidirectional neuron circuit to output input signals in a row direction to the synapse elements and receive output signals in the row direction from the synapse elements; and a control unit to continuously and sequentially allocate array areas on the synapse array to configure a neural network.

Description

재구성 가능한 뉴로모픽 시스템 및 이의 신경망 구성 방법{RECONFIGURABLE NEUROMORPHIC SYSTEM AND METHOD OF NEURAL NETWORK CONFIGURATION}TECHNICAL FIELD [0001] The present invention relates to a reconfigurable neuromotor system and a method for constructing the neuron network,

본 발명은 뉴로모픽 시스템에 관한 것으로, 보다 상세하게는 단일 시냅스 어레이 상에서 심층 신경망의 은닉층을 확장할 수 있도록 구성되는 재구성 가능한 뉴로모픽 시스템(reconfigurable neuromorphic system) 및 이의 신경망 구성 방법에 관한 것이다.The present invention relates to a neurometric system, and more particularly to a reconfigurable neuromorphic system and method for constructing a neural network that is configured to extend a hidden layer of a neural network on a single synaptic array.

최근 인공 신경망(artificial neural network)을 기반으로 한 인공지능이 활발히 연구되고 있다. 인공 신경망은 신호를 집적하여 활성화 여부를 판단하는 뉴런층과 각각의 뉴런을 연결하는 시냅스로 구성된다. 뉴런층은 입력층과 출력층 및 이들 사이에 존재하는 은닉층으로 구성된다. 복잡한 문제를 해결하기 위해서는 많은 개수의 은닉층으로 구현된 심층 신경망(DNN; Deep Neural Network)을 필요로 한다. 심층 신경망을 기반으로 하는 딥러닝(deep learning)을 이용하면, 패턴인식, 음성인식, 상황판단, 자율주행 등 기존의 컴퓨터로는 하기 힘든 다양한 응용이 가능하다. 하지만, 신경망 계층 수를 늘리면 연산에 필요한 복잡도가 제곱 크기로 늘어나, 현재의 폰노이먼 기반의 컴퓨팅으로는 계산이 힘들어지게 된다.Recently, artificial intelligence based on artificial neural network has been actively studied. An artificial neural network consists of a neuron layer that accumulates a signal to determine whether it is activated and a synapse that connects each neuron. The neuron layer consists of an input layer, an output layer, and a hidden layer between them. To solve complex problems, we need Deep Neural Network (DNN) implemented with many hidden layers. Deep learning based on in-depth neural networks enables various applications that are difficult to achieve with conventional computers such as pattern recognition, speech recognition, situation judgment, and autonomous navigation. However, increasing the number of neural networks increases the complexity required for computation to a square magnitude, making computation more difficult with the current Von Neumann-based computing.

폰노이먼의 한계를 극복하고, 인공지능을 하드웨어적으로 구현하기 위하여, 뉴런(neuron)과 시냅스(synapse)를 모방하는 뉴로모픽 시스템(neuromorphic system)이 연구되고 있다. 뉴로모픽 시스템은 뉴런의 동작을 구현하기 위하여 CMOS 기반의 회로들로 개발되고 있으며, 시냅스 동작을 구현하기 위하여 다양한 메모리 소자들이 연구되고 있다. 도 1은 종래의 뉴로모픽 시스템을 보여주는 개념도이다. 종래의 뉴로모픽 시스템은 각 층별로 뉴런층(21~24, 41~44)과 시냅스 어레이(31~34)가 하나의 세트로 구성되어 있으며, 이들이 각 층 단위로 제어 유닛(50)과 연결된 형태로 배열되어 있다. 종래의 뉴로모픽 시스템은 뉴런층(21~24, 41~44)과 시냅스 어레이(31~34) 및 제어부(50) 간의 물리적 연결(routing)을 위하여 복잡한 배선이 필요하며, 전력 및 속도 측면에서 비효율적이다. 또한, 종래의 뉴로모픽 시스템은 구현 가능한 최대 은닉층의 개수가 고정되어 있으므로, 더 많은 은닉층이 필요한 응용에 대해서는 활용할 수 없다. 인공 신경망의 경우 목적과 기능에 따라 신경망 구조 및 은닉층 수가 달라지게 되는데, 이를 하드웨어적으로 고정시킬 경우 범용성 측면에서 굉장히 비효율적이다.In order to overcome the limitations of Von Neumann and to implement the artificial intelligence in hardware, a neuromorphic system that imitates neurons and synapses is being studied. The neuromotor system is being developed as CMOS based circuits to realize the operation of neurons, and various memory devices are being studied to implement the synaptic operation. 1 is a conceptual diagram showing a conventional Lomo pick system. In the conventional neuromotorpic system, the neuron layers 21 to 24 and 41 to 44 and the synapse arrays 31 to 34 are constituted by one set for each layer, and they are connected to the control unit 50 in units of layers . The conventional neurocomplex system requires complicated wiring for the physical connection between the neuron layers 21 to 24 and 41 to 44 and the synapse arrays 31 to 34 and the control unit 50, It is inefficient. In addition, since the conventional maximum number of hiding layers that can be implemented is fixed in the conventional Lomo pick system, it can not be utilized for applications requiring more hiding layers. In case of artificial neural network, the number of neural network structure and hidden layer depends on purpose and function. If hardware is fixed, it is very inefficient in terms of versatility.

본 발명은 단일 시냅스 어레이 상에서 은닉층(hidden layer)의 개수를 확장할 수 있는 재구성 가능한 뉴로모픽 시스템(reconfigureable neuromorphic system) 및 이의 신경망 구성 방법을 제공한다.The present invention provides a reconfigurable neuromorphic system capable of expanding the number of hidden layers on a single synaptic array and its neural network construction method.

본 발명이 해결하고자 하는 과제는 이상에서 언급된 과제로 제한되지 않는다. 언급되지 않은 다른 기술적 과제들은 이하의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.The problems to be solved by the present invention are not limited to the above-mentioned problems. Other technical subjects not mentioned will be apparent to those skilled in the art from the description below.

본 발명의 일 측면에 따른 재구성 가능한 뉴로모픽 시스템은 입력 신호들과 출력 신호들에 따라 가중치가 변화하는 시냅스 소자들로 이루어지는 시냅스 어레이; 행 방향의 입력 신호들을 상기 시냅스 소자들로 출력하고, 상기 시냅스 소자들로부터 행 방향의 출력 신호들을 전달받는 제1 양방향 뉴런 회로; 열 방향의 입력 신호들을 상기 시냅스 소자들로 출력하고, 상기 시냅스 소자들로부터 열 방향의 출력 신호들을 전달받는 제2 양방향 뉴런 회로; 및 상기 시냅스 어레이 상에서 어레이 영역들을 연속적으로 순차 할당하여 신경망을 구성하는 제어부;를 포함한다.According to an aspect of the present invention, there is provided a reconfigurable novel Lomographic system comprising: a synapse array consisting of synapse elements whose weights vary according to input signals and output signals; A first bidirectional neuron circuit for outputting input signals in the row direction to the synapse devices and receiving output signals in the row direction from the synapse devices; A second bidirectional neuron circuit for outputting column direction input signals to the synapse elements and receiving column direction output signals from the synapse elements; And a controller for sequentially allocating array areas on the synapse array to constitute a neural network.

상기 제어부는 상기 시냅스 어레이 상에 할당되는 어레이 영역들의 개수를 조절하여 상기 신경망의 은닉층의 개수를 조절할 수 있다.The controller may adjust the number of hidden layers of the neural network by adjusting the number of array areas allocated on the synapse array.

상기 제어부는 심층 신경망의 계층 순으로 상기 어레이 영역들을 순차적으로 활성화하도록 구성될 수 있다.The controller may be configured to sequentially activate the array areas in order of layering of the neural network.

상기 제1 양방향 뉴런 회로 및 상기 제2 양방향 뉴런 회로 중 적어도 하나는 상기 시냅스 소자들에 연결되는 복수 개의 단위 뉴런 회로를 포함하고, 상기 단위 뉴런 회로는, 상기 시냅스 소자들로부터 전달되는 행 방향 또는 열 방향의 출력 신호들에 따라 발화하는 뉴런부; 상기 뉴런부에 의해 발화되어 생성되는 행 방향 또는 열 방향의 입력 신호들을 저장하는 저장부; 및 상기 제어부에 의해, 상기 단위 뉴런 회로를 입력 뉴런 또는 출력 뉴런으로 활성화시키거나, 비활성화시키는 스위치부;를 포함할 수 있다.Wherein at least one of the first bidirectional neuron circuit and the second bidirectional neuron circuit includes a plurality of unit neuron circuits connected to the synapse elements, A neuron unit for generating an output signal in accordance with the output signals; A storage unit for storing input signals in row direction or column direction generated by the neuron unit; And a switch unit for activating or deactivating the unit neuron circuit by an input neuron or an output neuron by the control unit.

상기 제어부는 상기 심층 신경망의 계층 순으로 활성화되는 하나의 어레이 영역을 제외한 나머지 어레이 영역이 비활성화되도록 상기 복수 개의 단위 뉴런 회로를 제어할 수 있다.The controller may control the plurality of unit neuron circuits so that the remaining array regions other than the one array region activated in the layer order of the NN can be inactivated.

상기 제어부는 상기 제1 양방향 뉴런 회로 및 상기 제2 양방향 뉴런 회로 중 비활성화되는 어레이 영역에 대응하는 단위 뉴런 회로에 전류가 흐르지 않도록 상기 단위 뉴런 회로를 플로팅시키거나 상기 단위 뉴런 회로에 설정된 전압을 인가할 수 있다.Wherein the control unit floats the unit neuron circuit so that no current flows in the unit neuron circuit corresponding to the inactive area of the first bidirectional neuron circuit and the second bidirectional neuron circuit or applies the voltage set to the unit neuron circuit .

상기 제어부는 인접하는 두 개의 어레이 영역들 중 후행하는 어레이 영역의 입력 신호의 개수가 선행하는 어레이 영역의 출력 신호의 개수와 동일하도록, 상기 어레이 영역들을 할당할 수 있다.The controller may allocate the array areas such that the number of input signals of the array area following the adjacent two array areas is the same as the number of output signals of the preceding array area.

상기 제어부는 선행의 신경망 계층에서 출력 뉴런으로 활성화된 단위 뉴런 회로가 후행의 신경망 계층에서 입력 뉴런으로 활성화되도록 상기 스위치부를 제어할 수 있다.The control unit may control the switch unit so that the unit neuron circuit activated by the output neuron in the preceding neural network layer is activated to the input neuron in the following neural network layer.

상기 제어부는 초기 어레이 영역으로부터 행 방향 및 열 방향으로 번갈아 가면서 상기 어레이 영역들을 연속적으로 순차 할당할 수 있다.The controller may successively sequentially allocate the array areas from the initial array area alternately in the row direction and the column direction.

본 발명의 다른 측면에 따르면, 시냅스 어레이에 연결되는 복수 개의 단위 뉴런 회로를 포함하고, 상기 시냅스 어레이의 시냅스 소자들에 신호들을 전달하거나 전달받는 양방향 뉴런 회로로서, 상기 단위 뉴런 회로는, 시냅스 어레이의 시냅스 소자들로부터 전달되는 신호들에 따라 발화하는 뉴런부; 상기 뉴런부에 의해 발화되어 생성되는 신호들을 저장하는 저장부; 및 상기 단위 뉴런 회로를 입력 뉴런 또는 출력 뉴런으로 활성화시키거나, 상기 단위 뉴런 회로를 비활성화시키는 스위치부;를 포함하는 양방향 뉴런 회로가 제공된다.According to another aspect of the present invention there is provided a bi-directional neuron circuit comprising a plurality of unit neuron circuits connected to a synapse array, the bi-neuron circuits being adapted to transmit or receive signals to synaptic elements of the synapse array, A neuron that fires according to signals transmitted from synaptic elements; A storage unit for storing signals generated and generated by the neuron unit; And a switch unit for activating the unit neuron circuit to an input neuron or output neuron or for deactivating the unit neuron circuit.

상기 복수 개의 단위 뉴런 회로 중 심층 신경망의 계층 순으로 활성화되는 하나의 어레이 영역에 대응되는 단위 뉴런 회로들은 활성화되고, 활성화되는 상기 하나의 어레이 영역을 제외한 나머지 어레이 영역에 대응되는 단위 뉴런 회로들은 비활성화될 수 있다.Unit neuron circuits corresponding to one array area activated in order of the layer neural networks of the plurality of unit neuron circuits are activated and unit neuron circuits corresponding to the remaining array areas except for the one array area to be activated are deactivated .

비활성화되는 단위 뉴런 회로는 전류가 흐르지 않도록 플로팅되거나 설정된 전압이 인가될 수 있다.The deactivated unit neuron circuit may be floated or a set voltage applied so that no current flows.

상기 스위치부는 선행의 신경망 계층에서 출력 뉴런으로 활성화된 단위 뉴런 회로를 후행의 신경망 계층에서 입력 뉴런으로 활성화시킬 수 있다.The switch unit may activate the unit neuron circuit activated by the output neuron in the preceding neural network layer to the input neuron in the succeeding neural network layer.

상기 스위치부는 상기 선행의 신경망 계층에서 입력 뉴런으로 활성화된 단위 뉴런 회로를 상기 후행의 신경망 계층에서 비활성화시킬 수 있다.The switch unit may deactivate the unit neuron circuit activated by the input neuron in the preceding neural network layer in the succeeding neural network layer.

본 발명의 또 다른 측면에 따르면, 입력 신호들과 출력 신호들에 따라 가중치가 변화하는 시냅스 소자들로 이루어지는 단일 시냅스 어레이 상에서 어레이 영역들을 연속적으로 순차 할당하여 신경망을 구성하는 단계;를 포함하는 신경망 구성 방법이 제공된다.According to another aspect of the present invention, there is provided a neural network system including a neural network including consecutive sequential allocation of array areas on a single synapse array made up of synapse elements whose weights vary according to input signals and output signals. Method is provided.

상기 신경망을 구성하는 단계는 상기 시냅스 어레이 상에 할당되는 어레이 영역들의 개수를 조절하여 상기 신경망의 은닉층의 개수를 조절할 수 있다.The step of configuring the neural network may adjust the number of hidden layers of the neural network by adjusting the number of array areas allocated on the synapse array.

상기 신경망 구성 방법은 상기 신경망의 계층 순으로 상기 어레이 영역들을 순차적으로 활성화하고, 상기 신경망의 계층 별로 활성화되는 하나의 어레이 영역을 제외한 나머지 어레이 영역을 비활성화하는 단계;를 더 포함할 수 있다.The method may further include sequentially activating the array areas in order of the layer of the neural network and inactivating the remaining array areas excluding one array area activated for each layer of the neural network.

상기 신경망을 구성하는 단계는 인접하는 두 개의 어레이 영역들 중 후행하는 어레이 영역의 입력 신호의 개수가 선행하는 어레이 영역의 출력 신호의 개수와 동일하도록, 상기 어레이 영역들을 할당할 수 있다.The step of constructing the neural network may allocate the array regions so that the number of input signals of the succeeding array regions of the two neighboring array regions is equal to the number of output signals of the preceding array region.

상기 신경망을 구성하는 단계는 초기 어레이 영역으로부터 행 방향 및 열 방향으로 번갈아 가면서 상기 어레이 영역들을 연속적으로 순차 할당할 수 있다.The step of configuring the neural network may sequentially allocate the array areas sequentially from the initial array area alternately in the row direction and the column direction.

본 발명의 실시예에 의하면, 단일 시냅스 어레이 상에서 은닉층(hidden layer)의 개수를 확장할 수 있는 재구성 가능한 뉴로모픽 시스템(reconfigureable neuromorphic system) 및 이의 신경망 구성 방법이 제공된다.According to an embodiment of the present invention, a reconfigurable neuromorphic system capable of extending the number of hidden layers on a single synaptic array and a method for constructing the neural network are provided.

본 발명의 효과는 상술한 효과들로 제한되지 않는다. 언급되지 않은 효과들은 본 명세서 및 첨부된 도면으로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확히 이해될 수 있을 것이다.The effects of the present invention are not limited to the effects described above. Unless stated, the effects will be apparent to those skilled in the art from the description and the accompanying drawings.

도 1은 종래의 뉴로모픽 시스템을 보여주는 개념도이다.
도 2는 본 발명의 일 실시예에 따른 재구성 가능한 뉴로모픽 시스템의 구성도이다.
도 3 내지 도 6은 본 발명의 실시예에 따른 뉴로모픽 시스템의 동작을 심층 신경망의 계층 순서에 따라 나타낸 것이다.
도 7은 본 발명의 실시예에 따른 재구성 가능한 뉴로모픽 시스템을 구성하는 양방향 뉴런 회로의 구성도이다.
도 8은 본 발명의 실시예에 따른 재구성 가능한 뉴로모픽 시스템을 구성하는 양방향 뉴런 회로의 단위 뉴런 회로가 출력 뉴런으로 활성화된 경우의 동작을 나타낸다.
도 9는 본 발명의 실시예에 따른 재구성 가능한 뉴로모픽 시스템을 구성하는 양방향 뉴런 회로의 단위 뉴런 회로가 입력 뉴런으로 활성화된 경우의 동작을 나타낸다.
도 10 및 도 11은 본 발명의 실시예에 따른 재구성 가능한 뉴로모픽 시스템을 구성하는 양방향 뉴런 회로 중 비활성화된 단위 뉴런 회로의 동작을 나타낸 것이다.
도 12는 본 발명의 다른 실시예에 따른 재구성 가능한 뉴로모픽 시스템을 구성하는 양방향 뉴런 회로의 구성도이다.
도 13은 도 12의 실시예에 따른 재구성 가능한 뉴로모픽 시스템을 구성하는 양방향 뉴런 회로의 단위 뉴런 회로가 출력 뉴런으로 동작하는 경우를 보여주는 도면이다.
도 14는 도 12의 실시예에 따른 재구성 가능한 뉴로모픽 시스템을 구성하는 양방향 뉴런 회로의 단위 뉴런 회로가 입력 뉴런으로 동작하는 경우를 보여주는 도면이다.
도 15는 본 발명의 실시예에 따른 뉴로모픽 시스템에 적용 가능한 온칩 학습 알고리즘(on-chip learning algorithm)을 나타낸 것이다.
도 16 내지 도 19는 본 발명의 다양한 실시예들에 따라 재구성 가능한 뉴로모픽 시스템의 어레이 영역들을 할당하는 예를 보여주는 개념도이다.
1 is a conceptual diagram showing a conventional Lomo pick system.
Figure 2 is a block diagram of a reconfigurable novel Lomographic system in accordance with an embodiment of the present invention.
FIGS. 3-6 illustrate the operation of the novel Lomographic system according to an embodiment of the present invention in order of hierarchical layers of the neural network.
7 is a block diagram of a bidirectional neuron circuit constituting a reconfigurable tomographic system according to an embodiment of the present invention.
FIG. 8 shows an operation when the unit neuron circuit of the bidirectional neuron circuit constituting the reconfigurable tomographic system according to the embodiment of the present invention is activated as an output neuron.
FIG. 9 shows an operation when a unit neuron circuit of a bi-directional neuron circuit constituting a reconfigurable tomographic system according to an embodiment of the present invention is activated as an input neuron.
FIGS. 10 and 11 illustrate the operation of a deactivated unit neuron circuit among bi-directional neuron circuits constituting a reconfigurable tomographic system according to an embodiment of the present invention.
12 is a configuration diagram of a bi-directional neuron circuit constituting a reconfigurable tomographic system according to another embodiment of the present invention.
FIG. 13 is a diagram showing a case where a unit neuron circuit of a bi-directional neuron circuit constituting a reconfigurable tomographic system according to the embodiment of FIG. 12 operates as an output neuron.
FIG. 14 is a diagram showing a case where a unit neuron circuit of a bi-directional neuron circuit constituting a reconfigurable tomographic system according to the embodiment of FIG. 12 operates as an input neuron.
FIG. 15 shows an on-chip learning algorithm applicable to a novel Lomocopic system according to an embodiment of the present invention.
Figures 16-19 are conceptual diagrams illustrating an example of assigning array regions of a reconfigurable tomographic system in accordance with various embodiments of the present invention.

본 발명의 다른 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술하는 실시예를 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예에 한정되지 않으며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 만일 정의되지 않더라도, 여기서 사용되는 모든 용어들(기술 혹은 과학 용어들을 포함)은 이 발명이 속한 종래 기술에서 보편적 기술에 의해 일반적으로 수용되는 것과 동일한 의미를 갖는다. 공지된 구성에 대한 일반적인 설명은 본 발명의 요지를 흐리지 않기 위해 생략될 수 있다. 본 발명의 도면에서 동일하거나 상응하는 구성에 대하여는 가급적 동일한 도면부호가 사용된다. 본 발명의 이해를 돕기 위하여, 도면에서 일부 구성은 다소 과장되거나 축소되어 도시될 수 있다.Other advantages and features of the present invention and methods of achieving them will be apparent by referring to the embodiments described hereinafter in detail with reference to the accompanying drawings. However, the present invention is not limited to the embodiments disclosed below, and the present invention is only defined by the scope of the claims. Although not defined, all terms (including technical or scientific terms) used herein have the same meaning as commonly accepted by the generic art in the prior art to which this invention belongs. A general description of known configurations may be omitted so as not to obscure the gist of the present invention. In the drawings of the present invention, the same reference numerals are used as many as possible for the same or corresponding configurations. To facilitate understanding of the present invention, some configurations in the figures may be shown somewhat exaggerated or reduced.

본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다", "가지다" 또는 "구비하다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.The terminology used in this application is used only to describe a specific embodiment and is not intended to limit the invention. The singular expressions include plural expressions unless the context clearly dictates otherwise. In the present application, the terms "comprises", "having", or "having" are intended to specify the presence of stated features, integers, steps, operations, components, Steps, operations, elements, parts, or combinations thereof, whether or not explicitly described or implied by the accompanying claims.

본 명세서 전체에서 사용되는 '~부'는 적어도 하나의 기능이나 동작을 처리하는 단위로서, 예를 들어 소프트웨어, FPGA 또는 ASIC과 같은 하드웨어 구성요소를 의미할 수 있다. 그렇지만 '~부'가 소프트웨어 또는 하드웨어에 한정되는 의미는 아니다. '~부'는 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다.Used throughout this specification may refer to a hardware component such as, for example, software, FPGA or ASIC, as a unit for processing at least one function or operation. However, "to" is not meant to be limited to software or hardware. &Quot; to " may be configured to reside on an addressable storage medium and may be configured to play one or more processors.

일 예로서 '~부'는 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로 코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들 및 변수들을 포함할 수 있다. 구성요소와 '~부'에서 제공하는 기능은 복수의 구성요소 및 '~부'들에 의해 분리되어 수행될 수도 있고, 다른 추가적인 구성요소와 통합될 수도 있다.As an example, the term '~' includes components such as software components, object-oriented software components, class components and task components, and processes, functions, attributes, procedures, Routines, segments of program code, drivers, firmware, microcode, circuitry, data, databases, data structures, tables, arrays, and variables. The functions provided by the components and components may be performed separately by a plurality of components and components, or may be integrated with other additional components.

이하에서, 단일 시냅스 어레이(synapse array) 상에서 심층 신경망(DNN; Deep Neural Network)을 구현할 수 있으며, 심층 신경망의 은닉층(hidden layer)의 개수를 필요에 따라 다양하게 조절할 수 있는 재구성 가능한 뉴로모픽 시스템(reconfigurable neuromorphic system)의 실시예를 개시한다. 본 발명의 실시예에 따른 뉴로모픽 시스템은 뉴런층의 개수를 하드웨어적으로 고정시키지 않고, 재구성 가능하게 구성함으로써, 인공지능 시스템을 범용적으로 사용 가능하며 효율성을 향상시킬 수 있다.Hereinafter, it is assumed that a DNN (Deep Neural Network) can be implemented on a single synapse array, and a reconstructible new Lomopic system capable of variously controlling the number of hidden layers of a neural network discloses an embodiment of a reconfigurable neuromorphic system. The neuromotor system according to the embodiment of the present invention can be generalized and improved in efficiency by configuring the number of neuron layers so as to be reconfigurable without fixing hardware.

도 2는 본 발명의 일 실시예에 따른 재구성 가능한 뉴로모픽 시스템의 구성도이다. 도 2를 참조하면, 본 발명의 실시예에 따른 재구성 가능한 뉴로모픽 시스템(100)은 제1 양방향 뉴런 회로(bidirectional row neuron circuits)(110), 제2 양방향 뉴런 회로(120), 시냅스 어레이(130) 및 제어부(140)를 포함하여 구성된다.Figure 2 is a block diagram of a reconfigurable novel Lomographic system in accordance with an embodiment of the present invention. 2, a reconfigurable novel Lomographic system 100 according to an embodiment of the present invention includes first bidirectional neuron circuits 110, a second bidirectional neuron circuit 120, a synapse array 130 and a control unit 140. [

시냅스 어레이(130)는 입력 신호들과 출력 신호들에 따라 가중치(weight)가 변화하는 시냅스 소자들로 이루어질 수 있다. 시냅스 어레이(130)는 크로스바(cross-bar) 형태를 가지며, 각 교차점에 시냅스 소자가 존재한다. 시냅스 소자들은 복수의 행과 열을 이루어 격자 구조로 배열될 수 있다. 도면에서 시냅스 소자들의 도시는 생략되었다. 시냅스 소자는 양방향 전압 극성에서 모두 동작 가능한 소자로 제공될 수 있다.The synapse array 130 may consist of synapse elements that vary in weight according to input signals and output signals. The synapse array 130 has a cross-bar shape, and a synapse element exists at each intersection. The synapse elements can be arranged in a lattice structure in a plurality of rows and columns. The illustration of synapse elements in the figure is omitted. The synapse device can be provided as an element that is operable in both bidirectional voltage polarities.

일 실시예로, 시냅스 소자는 MRAM(Magnetic Random Access Memory), RRAM(Resistive Random Access Memory), PRAM(Phase-change Random Access Memory), FG 플래시 메모리(Floating-Gate Flash Memory), 차지-트랩 플래시 메모리(Charge-Trap Flash Memory), SRAM(Static Random Access Memory), DRAM(Dynamic Random Access Memory)과 같이 차세대 메모리를 기반으로 하는 멤리스터(memristor) 등의 다양한 정보 저장소자로 제공될 수 있다.In one embodiment, the synapse device may be a magnetic random access memory (MRAM), a resistive random access memory (RRAM), a phase-change random access memory (PRAM), a floating gate flash memory (FG) A memristor based on a next generation memory such as a charge-trap flash memory, a static random access memory (SRAM), and a dynamic random access memory (DRAM).

시냅스 어레이(130)에서 같은 행(row)에 배열된 시냅스 소자들의 일단은 제1 양방향 뉴런 회로(110) 중 대응하는 하나의 단위 뉴런과 전기신호적으로 연결되어 입력 신호를 제공받거나 출력 신호를 출력한다. 상이한 행에 배열된 시냅스 소자들의 일단은 제1 양방향 뉴런 회로(110) 중 서로 다른 단위 뉴런과 연결된다. 같은 행에 배열된 시냅스 소자들의 타단은 제2 양방향 뉴런 회로(120) 중 서로 다른 단위 뉴런과 전기신호적으로 연결되어 출력 신호를 출력하거나 입력 신호를 제공받는다.One end of the synapse elements arranged in the same row in the synapse array 130 is electrically connected to a corresponding unit neuron of the first bidirectional neuron circuit 110 to receive an input signal or output do. One end of the synaptic elements arranged in different rows are connected to different unit neurons of the first bidirectional neuron circuit 110. The other ends of the synapse devices arranged in the same row are electrically connected to different unit neurons of the second bidirectional neuron circuit 120 to output an output signal or receive an input signal.

같은 열(column)에 배열된 시냅스 소자들의 일단은 제1 양방향 뉴런 회로(110)의 서로 다른 단위 뉴런과 전기신호적으로 연결된다. 같은 열에 배열된 시냅스 소자들의 타단은 제2 양방향 뉴런 회로(120) 중 대응하는 하나의 단위 뉴런과 전기신호적으로 연결된다. 상이한 열에 배열된 시냅스 소자들의 타단은 제2 양방향 뉴런 회로(120) 중 서로 다른 단위 뉴런에 전기신호적으로 연결된다.One end of the synapse elements arranged in the same column is electrically connected to the different unit neurons of the first bidirectional neuron circuit 110. The other end of the synapse elements arranged in the same column is electrically connected to a corresponding unit neuron of the second bidirectional neuron circuit 120. The other ends of the synapse elements arranged in different columns are electrically connected to different unit neurons of the second bidirectional neuron circuit 120.

제1 양방향 뉴런 회로(110)는 시냅스 어레이(130)의 시냅스 소자들로 행 방향의 입력 신호들을 출력하고, 시냅스 소자들로부터 행 방향의 출력 신호들을 전달받는다. 제1 양방향 뉴런 회로(110)의 단위 뉴런 회로들은 심층 신경망의 계층 순서에 따라, 입력 뉴런 또는 출력 뉴런으로 활성화되거나, 비활성화될 수 있다.The first bidirectional neuron circuit 110 outputs input signals in the row direction to the synapse elements of the synapse array 130 and receives output signals in the row direction from the synapse elements. The unit neuron circuits of the first bidirectional neuron circuit 110 may be activated or deactivated with input neurons or output neurons, depending on the layer order of the neural network.

제2 양방향 뉴런 회로(120)는 시냅스 어레이(130)의 시냅스 소자들로 열 방향의 입력 신호들을 출력하고, 시냅스 소자들로부터 열 방향의 출력 신호들을 전달받는다. 제2 양방향 뉴런 회로(120)의 단위 뉴런 회로들은 심층 신경망의 계층 순서에 따라, 입력 뉴런 또는 출력 뉴런으로 활성화되거나, 비활성화될 수 있다.The second bidirectional neuron circuit 120 outputs the column direction input signals to the synapse elements of the synapse array 130 and receives the output signals in the column direction from the synapse elements. The unit neuron circuits of the second bidirectional neuron circuit 120 may be activated or deactivated with input neurons or output neurons, depending on the layer order of the neural network.

제어부(140)는 단일 시냅스 어레이(130) 상에서 어레이 영역들(131, 132, 133, 134)을 연속적으로 순차 할당하여 신경망을 구성한다. 제어부(140)는 시냅스 어레이(130) 상에 할당되는 어레이 영역들(131, 132, 133, 134)의 개수를 조절하여 신경망의 은닉층의 개수를 조절할 수 있다.The control unit 140 sequentially configures the neural network by sequentially allocating the array areas 131, 132, 133, and 134 on the single synapse array 130. The controller 140 may adjust the number of hidden layers of the neural network by adjusting the number of the array areas 131, 132, 133, and 134 allocated on the synapse array 130.

제어부(140)는 신경망 계층 순서에 따라 어레이 영역들(131, 132, 133, 134) 중 활성화되고 있는 하나의 어레이 영역을 제외한 나머지 어레이 영역은 비활성화할 수 있다. 제어부(140)는 심층 신경망의 계층 순으로 어레이 영역들(131, 132, 133, 134)을 순차적으로 활성화할 수 있다.The control unit 140 may deactivate the remaining array areas except for one active array area among the array areas 131, 132, 133, and 134 according to the neural network layer order. The controller 140 can sequentially activate the array areas 131, 132, 133, and 134 in order of the layer of the neural network.

제어부(140)는 어레이 영역(131, 132, 133, 134)의 활성화를 위해, 제1 양방향 뉴런 회로(110)와 제2 양방향 뉴런 회로(120) 중 심층 신경망의 계층 순으로 활성화되는 하나의 어레이 영역의 행과 열에 대응되는 단위 뉴런 회로들을 입력 뉴런 또는 출력 뉴런으로 활성화시키고, 나머지 어레이 영역이 비활성화되도록 제1 양방향 뉴런 회로(110) 및 제2 양방향 뉴런 회로(120)의 단위 뉴런 회로들을 제어할 수 있다.The control unit 140 controls one array of the first bidirectional neuron circuit 110 and the second bidirectional neuron circuit 120 in order of layering of the neural network for activation of the array regions 131, 132, 133, Unit neuron circuits of the first bidirectional neuron circuit 110 and the second bidirectional neuron circuit 120 are controlled so that the unit neuron circuits corresponding to the row and column of the region are activated by the input neuron or the output neuron and the remaining array region is deactivated .

제어부(140)는 인접하는 두 개의 시냅스 어레이 영역들 중 후행하는 시냅스 어레이 영역의 입력 신호의 개수가 선행하는 시냅스 어레이 영역의 출력 신호의 개수와 동일하도록, 시냅스 어레이 영역들(131, 132, 133, 134)을 할당할 수 있다.The controller 140 controls the number of the synapse array areas 131, 132, 133, and 133 so that the number of input signals of the following two synapse array areas is the same as the number of output signals of the preceding synapse array area. 134).

이를 위해, 제어부(140)는 미리 설정된 초기 어레이 영역(131)으로부터 행 방향 및 열 방향으로 번갈아 가면서 어레이 영역들(131, 132, 133, 134)을 순차 할당하도록 구성될 수 있다.For this, the controller 140 may be configured to sequentially allocate the array areas 131, 132, 133, and 134 from the predetermined initial array area 131 in the row direction and the column direction alternately.

제1 양방향 뉴런 회로(110) 및 제2 양방향 뉴런 회로(120) 중 비활성화되는 어레이 영역에 대응하는 단위 뉴런 회로들은 해당 시냅스 소자에 전류가 흐르지 않도록 플로팅(floating)되거나 설정된 전압이 인가된다.The unit neuron circuits corresponding to the inactive array regions of the first bidirectional neuron circuit 110 and the second bidirectional neuron circuit 120 are applied with a floating or set voltage so that current does not flow in the corresponding synapse element.

도 3 내지 도 6은 본 발명의 실시예에 따른 뉴로모픽 시스템의 동작을 심층 신경망의 계층 순서에 따라 나타낸 것이다. 도 3은 시냅스 어레이(130)의 첫 번째 어레이 영역(131)을 활성화하고 시냅스 어레이(130)의 나머지 영역을 비활성화하는 동작을 나타낸 것이다. 도 3을 참조하면, 제1 양방향 뉴런 회로(110) 중 첫 번째 어레이 영역(131)의 입력 뉴런에 해당하는 라인들만 활성화가 되며, 이를 통해 a개의 입력 신호가 시냅스 어레이(130)의 첫 번째 어레이 영역(131)의 a개의 시냅스 소자들로 들어가게 된다. 이때, 제1 양방향 뉴런 회로(110) 중 비활성화된 단위 뉴런 회로들에는 전류가 흐르지 않도록 플로팅(floating) 상태로 만들어주거나, 특정 전압(Vinhibit)을 인가할 수 있다.FIGS. 3-6 illustrate the operation of the novel Lomographic system according to an embodiment of the present invention in order of hierarchical layers of the neural network. Figure 3 illustrates the operation of activating the first array region 131 of the synapse array 130 and deactivating the remaining region of the synapse array 130. [ 3, only the lines corresponding to the input neurons of the first array area 131 of the first bidirectional neuron circuit 110 are activated so that the a input signals are input to the first array of synapse array 130 Lt; RTI ID = 0.0 > 131 < / RTI > At this time, the deactivated unit neuron circuits of the first bidirectional neuron circuit 110 may be made to be floating so as not to allow current to flow, or a specific voltage V inhibit may be applied.

활성화된 단위 뉴런 회로들을 통하여 첫 번째 어레이 영역(131)으로 들어간 신호들은 첫 번째 어레이 영역(131)의 시냅스 소자들을 지나면서 해당 가중치만큼 변경되어 제2 양방향 뉴런 회로(120)의 단위 뉴런 회로들로 출력된다. 이때, 제2 양방향 뉴런 회로(120) 중 첫 번째 어레이 영역(131)의 열 방향 개수와 동일한 b개의 단위 뉴런 회로들만 활성화되어 출력 뉴런으로 동작하게 된다. 제1 양방향 뉴런 회로(110)와 마찬가지로, 제2 양방향 뉴런 회로(120) 중 비활성화된 라인(단위 뉴런 회로들)에는 플로팅(floating) 상태 또는 전류가 흐르지 않도록 특정 전압(Vinhibit)이 인가된다.Signals input into the first array region 131 through the activated unit neuron circuits are changed by the corresponding weights passing through the synapse elements of the first array region 131 and are transmitted to the unit neuron circuits of the second bidirectional neuron circuit 120 . At this time, only b unit neuron circuits that are the same as the number of columns in the first array area 131 of the second bidirectional neuron circuit 120 are activated and operate as output neurons. Like the first bidirectional neuron circuit 110, a specific voltage V inhibit is applied to the deactivated line (unit neuron circuits) of the second bidirectional neuron circuit 120 so that no floating state or current flows.

도 4는 시냅스 어레이(130)의 두 번째 어레이 영역(132)을 활성화하고 시냅스 어레이(130)의 나머지 영역을 비활성화하는 동작을 나타낸 것이다. 첫 번째 어레이 영역(131)의 시냅스 소자들의 동작에 따라 b개의 출력 뉴런 결과 값들은 동일한 개수만큼 별도의 이동 없이 다음 계층의 입력 신호들로 활용되어, 곧바로 시냅스 어레이(130)의 두 번째 어레이 영역(132)으로 전달된다. 이때, 제2 양방향 뉴런 회로(120)의 단위 뉴런 회로들 중 첫 번째 어레이 영역(131)과 대응되는 b개의 단위 뉴런 회로가 입력 뉴런으로 활성화된다.Figure 4 illustrates the operation of activating the second array region 132 of the synapse array 130 and deactivating the remaining region of the synapse array 130. [ Depending on the operation of the synapse components of the first array region 131, the b output neuron results are utilized as the input signals of the next layer without the same number of separate movements, 132, respectively. At this time, b unit neuron circuits corresponding to the first array region 131 among the unit neuron circuits of the second bidirectional neuron circuit 120 are activated as input neurons.

입력 뉴런으로 활성화된 단위 뉴런 회로들로부터 출력되는 입력 신호들은 새롭게 할당된 두 번째 어레이 영역(132)의 시냅스 소자들로 들어가며, 이때 제1 양방향 뉴런 회로(110)의 단위 뉴런 회로들 중 c개의 단위 뉴런 회로가 출력 뉴런으로 활성화되어, 시냅스 연산이 이루어진다. 시냅스 어레이(130) 중 신경망 계층 순서에 부합되는 하나의 어레이 영역(132)만 동작하도록, 해당 어레이 영역(132)에 연결된 단위 뉴런 회로들만 활성화되고, 나머지는 비활성화된다.The input signals output from the unit neuron circuits activated by the input neuron enter into the synaptic elements of the newly allocated second array region 132 where c units of unit neuron circuits of the first bidirectional neuron circuit 110 The neuron circuit is activated by the output neuron, and a synapse operation is performed. Only the unit neuron circuits connected to the array region 132 are activated so that only one array region 132 corresponding to the neural network hierarchical order among the synapse arrays 130 is operated and the other is deactivated.

이후의 시냅스 어레이(130)의 세 번째 어레이 영역(133)과 네 번째 어레이 영역(134)의 동작은 앞선 동작들과 동일한 방식으로 이루어지며, 각각 도 5 및 도 6에 도시되었다. 계층별 신호가 이동될 때에 있어, 앞선 층의 출력 신호의 개수와 전달받는 뒤 층의 입력 신호 개수는 동일하게 유지된다.The operation of the third array region 133 and the fourth array region 134 of the subsequent synapse array 130 is done in the same manner as the preceding operations and is shown in Figures 5 and 6, respectively. When the layer-by-layer signal is moved, the number of output signals of the previous layer and the number of input signals of the backward layer are kept the same.

본 실시예에 따른 재구성 가능한 뉴로모픽 시스템(100)은 단일 시냅스 어레이(130)와, 양방향 동작이 가능한 뉴런 회로(110, 120)를 구성함으로써, 단일 시냅스 어레이(130) 내에서 복수 개의 신경망 층을 구현할 수 있다.The reconfigurable novel Lomographic system 100 according to the present embodiment includes a single synapse array 130 and a bi-directionally operable neuron circuit 110, Can be implemented.

본 실시예에 의하면, 행 방향 뉴런 회로와 열 방향 뉴런 회로가 입력 뉴런 동작과 출력 뉴런 동작이 모두 가능한 양방향 뉴런 회로로 구성된다. 이에 따라, 이전 층의 출력 뉴런으로부터 다음 층의 입력 뉴런으로의 데이터 이동에 따른 시간이나 전력을 획기적으로 줄일 수 있다.According to this embodiment, a row-directional neuron circuit and a column-directional neuron circuit are composed of bidirectional neuron circuits capable of both input neuron operation and output neuron operation. Thus, the time or power of data transfer from the output neuron of the previous layer to the input neuron of the next layer can be drastically reduced.

또한, 본 실시예에 의하면, 뉴런층의 개수가 하드웨어적으로 고정된 것이 아니라, 단일 시냅스 어레이(130)에서 각 층에 필요한 어레이 영역을 온칩(on-chip)으로 할당함으로써 뉴런층의 개수를 확장할 수 있다. 따라서, 본 실시예에 의하면, 단일 시냅스 어레이(130) 상에서 심층 신경망의 구현이 가능하며, 은닉층의 개수를 필요에 따라 다양하게 확장 가능하다.In addition, according to the present embodiment, the number of neuron layers is not fixed in hardware, but the number of neuron layers is increased by allocating an array area necessary for each layer on an on-chip in a single synapse array 130 can do. Thus, according to the present embodiment, a depth neural network can be implemented on a single synapse array 130, and the number of hidden layers can be variously expanded as needed.

도 7은 본 발명의 실시예에 따른 재구성 가능한 뉴로모픽 시스템을 구성하는 양방향 뉴런 회로의 구성도이다. 도 7은 제1 양방향 뉴런 회로(110) 또는 제2 양방향 뉴런 회로(120)를 보다 구체적으로 보여준다.7 is a block diagram of a bidirectional neuron circuit constituting a reconfigurable tomographic system according to an embodiment of the present invention. FIG. 7 shows the first bidirectional neuron circuit 110 or the second bidirectional neuron circuit 120 more specifically.

양방향 뉴런 회로(110, 120)는 입력 뉴런 또는 출력 뉴런으로 활성화 가능하여 양방향 동작이 가능하도록 구성된다. 양방향 뉴런 회로(110, 120)는 복수 개의 단위 뉴런 회로를 포함한다. 일 실시예에서, 단위 뉴런 회로는 뉴런부(N1), 저장부(L1) 및 스위치부(SW1, SW2, SW3)를 포함하여 구성될 수 있다.The bidirectional neuron circuits 110 and 120 are activated to be input neurons or output neurons so that bi-directional operation is possible. The bidirectional neuron circuits 110 and 120 include a plurality of unit neuron circuits. In one embodiment, the unit neuron circuit may be configured to include a neuron section N1, a storage section L1, and switch sections SW1, SW2, and SW3.

뉴런부(N1)는 시냅스 어레이(130) 중 어레이 영역에 해당하는 시냅스 소자들로부터 전달받은 행 방향 또는 열 방향의 출력 신호들을 합산(integrate)하고, 활성화 함수(activation function)에 따른 결과 신호를 생성(fire)하는 단위 뉴런으로 구성될 수 있다.The neuron unit N1 integrates the output signals in the row direction or the column direction received from the synaptic elements corresponding to the array region of the synapse array 130 and generates a result signal according to the activation function and a unit neuron that fires.

저장부(L1)는 뉴런부(N1)에 의해 발화되어 생성되는 행 방향 또는 열 방향의 신호(뉴런부의 출력 결과 값)을 임시 저장한다. 일 실시예로, 저장부(L1)는 래치(latch)로 구성될 수 있다. 단위 뉴런 회로에는 저장부(L1)와 함께 파형 생성기(waveform generator)가 구비될 수 있다. 파형 생성기는 뉴런부(N1)에서 발화된 신호를 원하는 전압이나 특정 파형으로 변환하여 다음 신경망 계층에 입력될 입력 신호를 생성할 수 있다.The storage unit L1 temporarily stores signals in the row direction or column direction (output result values of the neuron unit) generated by the neuron unit N1. In one embodiment, the storage unit L1 may be configured as a latch. The unit neuron circuit may be provided with a waveform generator together with the storage unit L1. The waveform generator may convert an ignited signal from the neuron N1 into a desired voltage or a specific waveform to generate an input signal to be input to the next neural network layer.

스위치부(SW1, SW2, SW3)는 단위 뉴런 회로를 입력 뉴런 또는 출력 뉴런으로 활성화시키거나, 단위 뉴런 회로를 비활성화시킬 수 있다. 스위치부(SW1, SW2, SW3)는 제어부(140)의 제어신호에 따라 시냅스 어레이(130)의 시냅스 소자들로부터 전달되는 행 방향 또는 열 방향의 출력 신호들을 뉴런부(N1)로 전달하거나 차단할 수 있다. 또한, 스위치부(SW1, SW2, SW3)는 제어부(140)의 제어신호에 따라 저장부(L1)에 저장된 행 방향 또는 열 방향의 입력 신호들을 시냅스 소자들로 전달하거나 차단할 수 있다.The switch units SW1, SW2, and SW3 may activate the unit neuron circuit as an input neuron or output neuron, or deactivate the unit neuron circuit. The switch units SW1, SW2 and SW3 may transmit or block the output signals in the row direction or column direction transmitted from the synapse elements of the synapse array 130 to the neuron unit N1 according to the control signal of the control unit 140 have. The switch units SW1, SW2 and SW3 may transmit or block the input signals in the row direction or the column direction stored in the storage unit L1 to or from the synapse devices according to the control signal of the control unit 140. [

일 실시예에서, 스위치부는 3개의 스위치들(SW1, SW2, SW3)과, 이 스위치들(SW1, SW2, SW3)을 제어하는 제어 회로(110a, 120a)로 구성될 수 있다. 제1 스위치(SW1)는 시냅스 소자들과 뉴런부(N1) 간을 연결 혹은 차단하거나, 시냅스 소자들과 저장부(L1) 간을 연결 혹은 차단시키도록 구성될 수 있다. 제1 스위치(SW1)는 SPDT(Single-Pole Double Throw)의 스위치 형태로 제공될 수 있다.In one embodiment, the switch portion may be composed of three switches SW1, SW2, SW3 and control circuits 110a, 120a for controlling the switches SW1, SW2, SW3. The first switch SW1 may be configured to connect or disconnect the synapse components and the neuron unit N1 or to connect or disconnect the synapse components and the storage unit L1. The first switch SW1 may be provided in the form of a switch of a single-pole double throw (SPDT).

제2 스위치(SW2)는 뉴런부(N1)와 저장부(L1) 간을 연결 혹은 차단시키도록 제공될 수 있다. 제3 스위치(SW3)는 시냅스 소자들과 저장부(L1) 간을 연결 혹은 차단시키도록 제공될 수 있다. 제2 스위치(SW2) 및 제3 스위치(SW3)는 SPST(Single pole single throw)의 형태로 제공될 수 있다.The second switch SW2 may be provided to connect or disconnect the neuron unit N1 and the storage unit L1. The third switch SW3 may be provided to connect or disconnect the synapse elements and the storage unit L1. The second switch SW2 and the third switch SW3 may be provided in the form of a single pole single throw (SPST).

스위치부(SW1, SW2, SW3)는 제어회로(110a, 120a)에 의해 온/오프 제어될 수 있다. 제어 회로(110a, 120a)는 제어부(140)에 설정된 신경망 계층 순서에 따라 제어될 수 있다.The switch portions SW1, SW2, and SW3 can be on / off controlled by the control circuits 110a and 120a. The control circuits 110a and 120a may be controlled according to the order of the neural network hierarchy set in the controller 140. [

제어부(140)는 선행의 신경망 계층에서 출력 뉴런으로 활성화된 단위 뉴런 회로가 후행의 신경망 계층에서 입력 뉴런으로 활성화되도록 스위치부(SW1, SW2, SW3)를 제어할 수 있다.The control unit 140 may control the switch units SW1, SW2, and SW3 so that the unit neuron circuits activated by the output neuron in the preceding neural network layer are activated to the input neuron in the succeeding neural network layer.

또한, 제어부(140)는 선행의 신경망 계층에서 입력 뉴런으로 활성화된 단위 뉴런 회로가 후행의 신경망 계층에서 비활성화되도록 스위치부(SW1, SW2, SW3)를 제어할 수 있다.In addition, the control unit 140 may control the switch units SW1, SW2, and SW3 so that the unit neuron circuit activated by the input neuron in the preceding neural network layer is deactivated in the neural network layer.

도 8은 본 발명의 실시예에 따른 재구성 가능한 뉴로모픽 시스템을 구성하는 양방향 뉴런 회로의 단위 뉴런 회로가 출력 뉴런으로 활성화된 경우의 동작을 나타낸다. 이 경우, 제1 스위치(SW1)는 단자 a(Na)와 연결되며, 제2 스위치(SW2)는 닫히고 제3 스위치(SW3)는 열리게 된다. 이에 따라, 시냅스 어레이(130) 중 어레이 영역에서 동작하는 시냅스 소자들에서 출력되는 출력 신호(O1)가 뉴런부(N1)로 전달되어 합산되어 발화되며, 뉴런부(N1)의 결과값은 제2 스위치(SW2)를 통해 전달되어 저장부(L1)에 임시 저장된다.FIG. 8 shows an operation when the unit neuron circuit of the bidirectional neuron circuit constituting the reconfigurable tomographic system according to the embodiment of the present invention is activated as an output neuron. In this case, the first switch SW1 is connected to the terminal a (Na), the second switch SW2 is closed, and the third switch SW3 is opened. Accordingly, the output signal O1 output from the synapse devices operating in the array area of the synapse array 130 is transferred to the neuron unit N1 to be summed and uttered, and the resultant value of the neuron unit N1 is the second Is transmitted via the switch SW2 and temporarily stored in the storage unit L1.

도 9는 본 발명의 실시예에 따른 재구성 가능한 뉴로모픽 시스템을 구성하는 양방향 뉴런 회로의 단위 뉴런 회로가 입력 뉴런으로 활성화된 경우의 동작을 나타낸다. 이 경우, 제1 스위치(SW1)는 단자 b(Nb)와 연결되고, 제2 스위치(SW2)가 열리고, 제3 스위치(SW3)는 닫히게 된다. 이후, 저장부(L1)에 저장되어 있는 결과 값을 참고하여 동작을 위한 전압 파형의 입력 신호(I1)가 생성되고, 제3 스위치(SW3)와 제1 스위치(SW1)를 통해 시냅스 어레이(130) 중 어레이 영역에 해당하는 시냅스 소자들로 입력된다.FIG. 9 shows an operation when a unit neuron circuit of a bi-directional neuron circuit constituting a reconfigurable tomographic system according to an embodiment of the present invention is activated as an input neuron. In this case, the first switch SW1 is connected to the terminal b (Nb), the second switch SW2 is opened, and the third switch SW3 is closed. Thereafter, an input signal I1 having a voltage waveform for operation is generated with reference to the result stored in the storage unit L1, and the input signal I1 is generated through the third switch SW3 and the first switch SW1, ) As the synaptic elements corresponding to the array area.

도 10 및 도 11은 본 발명의 실시예에 따른 재구성 가능한 뉴로모픽 시스템을 구성하는 양방향 뉴런 회로 중 비활성화된 단위 뉴런 회로의 동작을 나타낸 것이다. 비활성화되는 단위 뉴런 회로의 경우, 플로팅(floating) 되거나 특정 전압(Vinhibit)이 인가될 수 있다. 도 10은 플로팅이 된 경우로써, 제1 스위치(SW1)는 단자 b(Nb)와 연결되고, 제2 스위치(SW2)와 제3 스위치(SW3)는 모두 열려 있는 상태이다.FIGS. 10 and 11 illustrate the operation of a deactivated unit neuron circuit among bi-directional neuron circuits constituting a reconfigurable tomographic system according to an embodiment of the present invention. In the case of a deactivated unit neuron circuit, either floating or a specific voltage (V inhibit ) may be applied. 10 shows a state in which the first switch SW1 is connected to the terminal b (Nb), and the second switch SW2 and the third switch SW3 are both open.

도 11은 시냅스 소자로 전류가 흐르지 않도록 하는 특정 전압(Vinhibit)을 단위 뉴런 회로에 인가하는 경우를 나타낸 것이다. 이 경우, 파형 생성기(Waveform Generator)에서 생성된 특정 전압이 제3 스위치(SW3)와 제1 스위치(SW1)를 통하여 시냅스 어레이(130)의 시냅스 소자에 전달됨으로써, 어레이 영역에 해당하지 않은 나머지 시냅스 소자들을 비활성화하게 된다. 비활성화되는 시냅스 소자는 가중치가 변화하지 않게 될 것이다.FIG. 11 shows a case where a specific voltage (V inhibit ) is applied to the unit neuron circuit so that current does not flow to the synapse element. In this case, the specific voltage generated by the waveform generator is transmitted to the synapse element of the synapse array 130 through the third switch SW3 and the first switch SW1, so that the rest of the synapses The devices are deactivated. The deactivated synapse element will not change its weight.

도 12는 본 발명의 다른 실시예에 따른 재구성 가능한 뉴로모픽 시스템을 구성하는 양방향 뉴런 회로의 단위 뉴런 회로의 구성도이고, 도 13 내지 도 14는 각각 양방향 뉴런 회로의 단위 뉴런 회로가 출력 뉴런과 입력 뉴런으로 동작하는 경우를 보여주는 도면이다. 도 12 내지 도 14를 참조하면, 양방향 뉴런 회로(110, 120)의 스위치부는 1개의 스위치(SW1)로 구현되는 점에서 앞서 설명한 실시예와 차이가 있다.FIG. 12 is a block diagram of a unit neuron circuit of a bidirectional neuron circuit constituting a reconfigurable tomographic system according to another embodiment of the present invention, and FIGS. 13 to 14 are diagrams showing a unit neuron circuit of a bidirectional neuron circuit, Lt; RTI ID = 0.0 > input neuron. ≪ / RTI > Referring to FIGS. 12 to 14, the switch portion of the bidirectional neuron circuits 110 and 120 is different from the previously described embodiment in that it is implemented by one switch SW1.

저장부(L1)에 신호를 저장할 필요가 없거나, 파형 생성기(Waveform Generator)에서 별도의 저장 방식이 있을 경우, 도 12의 도시와 같이, 뉴런부(N1)와 저장부(L1)가 직접적으로 연결될 수 있다. 또한, 파형 생성기에서 발생하는 파형을 별도의 변형 없이 활용할 경우에도 별도의 스위치 없이 입력 뉴런으로 활용이 가능하다. 상기 설명한 두 방식 모두 양방향 뉴런 회로를 동작시키기 위한 실시예들 중의 일부로서, 다른 형태로 스위치부가 구현되는 것도 가능하다.If there is no need to store a signal in the storage unit L1 or if there is a separate storage method in the waveform generator, the neuron unit N1 and the storage unit L1 are directly connected . In addition, even if the waveform generated by the waveform generator is utilized without any modification, it can be used as an input neuron without a separate switch. As a part of the embodiments for operating the bidirectional neuron circuit in both of the above-described two methods, it is also possible that the switch part is implemented in another form.

딥러닝에서 문제가 주어졌을 때, 은닉층의 개수와 뉴런의 개수(각 층의 크기)를 몇 개로 설정해야 성공적으로 학습을 수행할 수 있는가를 미리 아는 것은 매우 힘들다. 따라서, 은닉층의 개수나 뉴런의 개수가 하드웨어적으로 고정되어 있는 상황에서 다양한 문제에 대응하는 것은 매우 어렵다. 하지만, 본 발명의 실시예에 의하면, 은닉층의 개수를 자유롭게 재구성 가능하며, 각 층에서의 뉴런 개수 또한 자유롭게 설정 가능하다.Given a problem in deep learning, it is very difficult to know in advance how many hidden neurons and number of neurons (size of each layer) should be set for successful learning. Therefore, it is very difficult to cope with various problems in a situation where the number of hidden layers or the number of neurons is fixed in hardware. However, according to the embodiment of the present invention, the number of hidden layers can be freely reconfigured, and the number of neurons in each layer can be freely set.

도 15는 본 발명의 실시예에 따른 뉴로모픽 시스템에 적용 가능한 온칩 학습 알고리즘(on-chip learning algorithm)을 나타낸 것이다. 도 15를 참조하면, 초기에 신경망의 계층 순에 따라 시냅스 어레이 영역들을 할당하고(S10), 시냅스 소자들에 초기 가중치를 설정하여(S20) 인공 신경망을 설정하고, 설정된 인공 신경망을 이용하여 학습을 수행한다(S30 내지 S50). 시냅스 소자의 학습은 입력 신호와 출력 신호의 타이밍 차이에 따라 가중치가 증감하여 업데이트되는 방식으로 이루어질 수 있으며, 설정한 학습 횟수(에포크)에 도달할 때까지 학습을 반복한다(S60).FIG. 15 shows an on-chip learning algorithm applicable to a novel Lomocopic system according to an embodiment of the present invention. Referring to FIG. 15, initially, synapse array regions are allocated according to the hierarchy of the neural network (S10), an initial weight is set for the synapse elements (S20), and an artificial neural network is set. (S30 to S50). The learning of the synapse device can be performed in such a manner that the weights are increased or decreased according to the timing difference between the input signal and the output signal, and the learning is repeated until the set learning number (epoch) is reached (S60).

바둑 학습을 예로 들면, 학습을 시키고자 하는 많은 개수의 기보들이 존재하는데, 이들을 한 번씩 학습을 시킬 때 1 에포크(epoch)가 진행되었다고 표현한다. 설정한 에포크 동안에 원하는 만큼의 성능(작은 에러)이 나오지 않을 경우에는 현재의 신경망 층의 개수로는 해당 문제를 해결하기가 힘든 것으로 판단할 수 있고, 새로운 층(layer)을 추가하게 된다(S70).For example, in the case of Go Bad Learning, there are a large number of notes to be learned, and it is said that one epoch is advanced when they are learned one by one. If a desired performance (small error) does not occur during the set epoch, it can be determined that the problem can not be solved by the current number of neural network layers, and a new layer is added (S70) .

이때, 단일 평면 시냅스 어레이에 새로운 주소를 할당함으로써 새로운 층을 추가할 수 있다. 이때, 추가되는 층의 크기(뉴런의 개수) 또한 자유롭게 설정이 가능하다. 따라서, 본 발명의 학습 알고리즘을 이용하게 되면, 좀 더 다양한 문제에 대해 유연하게 대처할 수 있는 뉴로모픽 시스템의 구현이 가능하다.At this time, a new layer can be added by assigning a new address to a single planar synapse array. At this time, the size of the added layer (the number of neurons) can be freely set. Accordingly, by using the learning algorithm of the present invention, it is possible to implement a novel Lomographic system capable of flexibly coping with a variety of problems.

예를 들어, 보유한 학습 샘플들에 대해 모두 2번씩 학습을 진행하면, 2 에포크 진행이 되는데, 보통 이 에포크, 즉 학습 반복 횟수가 늘어날수록 성능이 좋아지지만, 학습 성능이 수렴(saturation)되는 특성이 있다. 일반적으로는 100 ~ 200회 정도의 에포크에서 성능이 수렴하는 경우가 많다. 설정한 최대 에포크 동안 학습을 진행한 후 성능을 평가하였을 때, 기대 이하의, 또는 원하는 만큼의 성능(에러)이 나오지 않을 경우 신경망 계층을 추가한다.For example, if learning is carried out twice for all of the learning samples, 2 epochs are progressed. Normally, the performance increases as the number of learning repetitions increases, but the characteristic that the learning performance saturates have. Generally, performance is converged at about 100 ~ 200 epochs. When the performance is evaluated after learning during the set maximum epoch, a neural network layer is added if the performance (error) is not as expected or desired.

신경망은 층의 개수가 늘어나면 늘어날수록 성능이 좋아지지만, 무조건 많아진다고 계속 좋아지는 것은 아니며, 이 또한 수렴하는 형태를 띤다. 은닉층 필요 이상으로 많을 경우 시스템의 크기가 커져서 속도가 느려지거나 전력 소모가 커지는 단점이 따라오게 된다. 결국 원하는 정도의 성능을 얻기 위한 최소한의 층수 설정이 가장 중요한 부분 중 하나이다.As the number of layers increases, the performance of the neural network improves. However, it does not always improve as the number of layers increases, and this also takes the form of convergence. If the number of hidden layers is larger than necessary, the size of the system increases, which leads to a disadvantage of slowing down or increasing power consumption. Ultimately, the minimum number of floors to achieve the desired performance is one of the most important parts.

본 발명의 경우, 층 수 변경이 하드웨어 기반 시스템 내에서 자유자재로 가능하기 때문에 성능을 평가하고 그에 맞춰서 층 수를 늘려나갈 수 있다. 예를 들어, 사람 얼굴 인식을 진행한다고 하였을 때 최대 에포크 만큼 학습하였음에도 얼굴 인식률이 90% 수준이고 원하는 수준의 인식율은 97%라 한다면 층 수를 늘릴 수 있다.In the case of the present invention, since the number of layers can be changed freely within a hardware-based system, performance can be evaluated and the number of layers can be increased accordingly. For example, when human facial recognition is performed, the number of layers can be increased if the face recognition rate is 90% and the desired level of recognition rate is 97% even though the maximum epoch is learned.

다시 바둑 예시를 들면, 이 경우에도 최대 에포크 만큼 학습했지만 승률이 50% 에 불과하고 원하는 승률의 수준은 90%라면, 층 수를 늘릴 수 있다. 반대로, 최대 에포크 만큼 학습하였을 때 92%의 승률이 나오면 더 이상 층 수를 늘리지 않고 학습을 끝낼 수 있다.Again, for example, in this case, the number of layers can be increased if the winning percentage is only 50% and the desired winning percentage is 90% even though the maximum number of epochs has been learned. On the other hand, if the maximum epoch amount is 92%, the learning can be completed without increasing the number of layers.

도 16 내지 도 19는 본 발명의 다양한 실시예들에 따라 재구성 가능한 뉴로모픽 시스템의 어레이 영역들을 할당하는 예를 보여주는 개념도이다. 도 16 내지 도 19를 참조하면, 본 발명의 실시예에 따라 신경망의 계층들(A1~A6)이 확장되는 다양한 패턴들이 개시된다.Figures 16-19 are conceptual diagrams illustrating an example of assigning array regions of a reconfigurable tomographic system in accordance with various embodiments of the present invention. 16 to 19, various patterns are disclosed in which layers (A1 to A6) of a neural network are expanded according to an embodiment of the present invention.

도시된 신경망 구성 및 계층 확장 방법에서 공통되는 점은 다음 층의 입력의 개수가 이전 층의 출력의 개수와 같게 설정되며, 신경망의 계층 확장은 연속적으로 이루어지는 것이다. 즉, 초기 어레이 영역으로부터 행 방향 및 열 방향으로 번갈아 가면서 단일 사각 평면 상의 시냅스 어레이(130) 상에서 어레이 영역들(A1~A6)이 연속적으로 순차 할당된다.In the illustrated neural network configuration and hierarchical expansion method, the number of inputs of the next layer is set equal to the number of outputs of the previous layer, and the hierarchical expansion of the neural network is consecutive. That is, the array areas A1 to A6 are sequentially and sequentially allocated on the synapse array 130 on the single square plane alternately from the initial array area in the row direction and the column direction.

시냅스 어레이(130) 상에 할당되는 어레이 영역들(A1~A6)의 개수를 조절하여 신경망의 은닉층의 개수 조절이 가능하다. 예를 들어, 어레이 영역들(A1~A6)의 개수가 6개인 경우, 첫 번째 어레이 영역은 입력층, 마지막 어레이 영역은 출력층이 되고, 어레이 영역들의 개수 중 2개를 제외한 나머지 4개의 어레이 영역들이 은닉층이 된다.The number of hidden layers of the neural network can be adjusted by adjusting the number of array areas A1 to A6 allocated on the synapse array 130. [ For example, when the number of array areas A1 to A6 is six, the first array area is the input layer, the last array area is the output layer, and the remaining four array areas except for two of the array areas Becomes a hidden layer.

시냅스 어레이(130) 상에 어레이 영역들(A1~A6)이 할당되면, 신경망의 계층 순으로 어레이 영역들(A1~A6)의 시냅스 소자들이 순차적으로 활성화되어 학습이 수행된다. 각 계층에서 활성화되는 하나의 어레이 영역을 제외한 나머지 어레이 영역은 비활성화되며, 비활성되되는 어레이 영역의 시냅스 소자들은 학습이 수행되지 않는다.When the array areas A1 to A6 are allocated on the synapse array 130, the synapse elements of the array areas A1 to A6 are sequentially activated in order of the neural network to perform learning. The remaining array regions except one array region activated in each layer are inactivated, and the synapse elements of the inactive array region are not learned.

선행하는 계층에서 후행하는 계층으로의 확장은 한 방향으로만 가능한 것이 아니라, 매번 확장되었던 방향에 수직한 두 방향(도 17, 도 19의 도면부호 E1, E2) 중 어느 하나의 방향으로 선택이 가능하다. 단, 이미 형성되어 있는 어레이가 차지하고 있는 영역에 따라 한 방향의 방향 선택만 가능한 경우, 해당 방향으로 새로운 어레이 영역이 추가될 수도 있다.Extension from the preceding layer to the succeeding layer is not possible in one direction but can be selected in any one of two directions (E1 and E2 in Figs. 17 and 19) perpendicular to the direction in which it was expanded each time Do. However, if it is only possible to select the direction in one direction according to the area occupied by the already formed array, a new array area may be added in the corresponding direction.

본 발명의 실시예에 따른 방법은 예를 들어 컴퓨터에서 실행될 수 있는 프로그램으로 작성 가능하고, 컴퓨터로 읽을 수 있는 기록매체를 이용하여 상기 프로그램을 동작시키는 범용 디지털 컴퓨터에서 구현될 수 있다. 컴퓨터로 읽을 수 있는 기록매체는 SRAM(Static RAM), DRAM(Dynamic RAM), SDRAM(Synchronous DRAM) 등과 같은 휘발성 메모리, ROM(Read Only Memory), PROM(Programmable ROM), EPROM(Electrically Programmable ROM), EEPROM(Electrically Erasable and Programmable ROM), 플래시 메모리 장치, PRAM(Phase-change RAM), MRAM(Magnetic RAM), RRAM(Resistive RAM), FRAM(Ferroelectric RAM)과 같은 불휘발성 메모리, 플로피 디스크, 하드 디스크 또는 광학적 판독 매체 예를 들어 시디롬, 디브이디 등과 같은 형태의 저장매체일 수 있으나, 이에 제한되지는 않는다.The method according to an embodiment of the present invention can be realized in a general-purpose digital computer that can be created as a program that can be executed by a computer and operates the program using a computer-readable recording medium. The computer readable recording medium may be a volatile memory such as SRAM (Static RAM), DRAM (Dynamic RAM), SDRAM (Synchronous DRAM), ROM (Read Only Memory), PROM (Programmable ROM), EPROM (Electrically Programmable ROM) Non-volatile memory such as EEPROM (Electrically Erasable and Programmable ROM), flash memory device, Phase-change RAM (PRAM), Magnetic RAM (MRAM), Resistive RAM (RRAM), Ferroelectric RAM But are not limited to, optical storage media such as CD ROMs, DVDs, and the like.

이상의 실시예들은 본 발명의 이해를 돕기 위하여 제시된 것으로, 본 발명의 범위를 제한하지 않으며, 이로부터 다양한 변형 가능한 실시예들도 본 발명의 범위에 속하는 것임을 이해하여야 한다. 본 발명의 기술적 보호범위는 특허청구범위의 기술적 사상에 의해 정해져야 할 것이며, 본 발명의 기술적 보호범위는 특허청구범위의 문언적 기재 그 자체로 한정되는 것이 아니라 실질적으로는 기술적 가치가 균등한 범주의 발명까지 미치는 것임을 이해하여야 한다.It is to be understood that the above-described embodiments are provided to facilitate understanding of the present invention, and do not limit the scope of the present invention, and it is to be understood that various modified embodiments are also within the scope of the present invention. It is to be understood that the technical scope of the present invention should be determined by the technical idea of the claims and the technical scope of protection of the present invention is not limited to the literary description of the claims, Of the invention.

100: 재구성 가능한 뉴로모픽 시스템
110: 제1 양방향 뉴런 회로
120: 제2 양방향 뉴런 회로
130: 시냅스 어레이
131, 132, 133, 134: 어레이 영역
140: 제어부
N1: 뉴런부
L1: 저장부
SW1-3: 스위치부
100: Recomposable New Lomopic System
110: first bidirectional neuron circuit
120: second bidirectional neuron circuit
130: synapse array
131, 132, 133, 134: array region
140:
N1: Neuron part
L1:
SW1-3: Switch section

Claims (20)

입력 신호들과 출력 신호들에 따라 가중치가 변화하는 시냅스 소자들로 이루어지는 시냅스 어레이;
행 방향의 입력 신호들을 상기 시냅스 소자들로 출력하고, 상기 시냅스 소자들로부터 행 방향의 출력 신호들을 전달받는 제1 양방향 뉴런 회로;
열 방향의 입력 신호들을 상기 시냅스 소자들로 출력하고, 상기 시냅스 소자들로부터 열 방향의 출력 신호들을 전달받는 제2 양방향 뉴런 회로; 및
상기 시냅스 어레이 상에서 어레이 영역들을 연속적으로 순차 할당하여 신경망을 구성하는 제어부;를 포함하는 재구성 가능한 뉴로모픽 시스템.
A synapse array comprising synapse elements whose weights vary according to input signals and output signals;
A first bidirectional neuron circuit for outputting input signals in the row direction to the synapse devices and receiving output signals in the row direction from the synapse devices;
A second bidirectional neuron circuit for outputting column direction input signals to the synapse elements and receiving column direction output signals from the synapse elements; And
And a controller for sequentially allocating array regions on the synapse array to construct a neural network.
제 1 항에 있어서,
상기 제어부는 상기 시냅스 어레이 상에 할당되는 어레이 영역들의 개수를 조절하여 상기 신경망의 은닉층의 개수를 조절하는 재구성 가능한 뉴로모픽 시스템.
The method according to claim 1,
Wherein the controller adjusts the number of hidden layers of the neural network by adjusting the number of array areas allocated on the synapse array.
제 1 항에 있어서,
상기 제어부는 심층 신경망의 계층 순으로 상기 어레이 영역들을 순차적으로 활성화하도록 구성되는 재구성 가능한 뉴로모픽 시스템.
The method according to claim 1,
Wherein the controller is configured to sequentially activate the array areas in order of hierarchy of the neural network.
제 3 항에 있어서,
상기 제1 양방향 뉴런 회로 및 상기 제2 양방향 뉴런 회로 중 적어도 하나는 상기 시냅스 소자들에 연결되는 복수 개의 단위 뉴런 회로를 포함하고,
상기 단위 뉴런 회로는,
상기 시냅스 소자들로부터 전달되는 행 방향 또는 열 방향의 출력 신호들에 따라 발화하는 뉴런부;
상기 뉴런부에 의해 발화되어 생성되는 행 방향 또는 열 방향의 입력 신호들을 저장하는 저장부; 및
상기 제어부에 의해, 상기 단위 뉴런 회로를 입력 뉴런 또는 출력 뉴런으로 활성화시키거나, 비활성화시키는 스위치부;를 포함하는 재구성 가능한 뉴로모픽 시스템.
The method of claim 3,
Wherein at least one of the first bidirectional neuron circuit and the second bidirectional neuron circuit includes a plurality of unit neuron circuits connected to the synapse elements,
Wherein the unit neuron circuit comprises:
A neuron unit for generating a signal according to output signals in the row direction or the column direction transmitted from the synapse elements;
A storage unit for storing input signals in row direction or column direction generated by the neuron unit; And
And a switch unit for activating or deactivating the unit neuron circuit by an input neuron or an output neuron by the control unit.
제 4 항에 있어서,
상기 제어부는 상기 심층 신경망의 계층 순으로 활성화되는 하나의 어레이 영역을 제외한 나머지 어레이 영역이 비활성화되도록 상기 복수 개의 단위 뉴런 회로를 제어하는 재구성 가능한 뉴로모픽 시스템.
5. The method of claim 4,
Wherein the control unit controls the plurality of unit neuron circuits so that the remaining array regions other than the one array region activated in order of the layer of the neural network are deactivated.
제 5 항에 있어서,
상기 제어부는 상기 제1 양방향 뉴런 회로 및 상기 제2 양방향 뉴런 회로 중 비활성화되는 어레이 영역에 대응하는 단위 뉴런 회로에 전류가 흐르지 않도록 상기 단위 뉴런 회로를 플로팅시키거나 상기 단위 뉴런 회로에 설정된 전압을 인가하는 재구성 가능한 뉴로모픽 시스템.
6. The method of claim 5,
Wherein the control unit floats the unit neuron circuit so that no current flows in the unit neuron circuit corresponding to the inactive area of the first bidirectional neuron circuit and the second bidirectional neuron circuit or applies the voltage set to the unit neuron circuit A reconfigurable new Lomopic system.
제 4 항에 있어서,
상기 제어부는 인접하는 두 개의 어레이 영역들 중 후행하는 어레이 영역의 입력 신호의 개수가 선행하는 어레이 영역의 출력 신호의 개수와 동일하도록, 상기 어레이 영역들을 할당하는 재구성 가능한 뉴로모픽 시스템.
5. The method of claim 4,
Wherein the controller allocates the array regions such that the number of input signals of a succeeding array region of the two neighboring array regions is equal to the number of output signals of the preceding array region.
제 7 항에 있어서,
상기 제어부는 선행의 신경망 계층에서 출력 뉴런으로 활성화된 단위 뉴런 회로가 후행의 신경망 계층에서 입력 뉴런으로 활성화되도록 상기 스위치부를 제어하는 재구성 가능한 뉴로모픽 시스템.
8. The method of claim 7,
Wherein the control unit controls the switch unit such that a unit neuron circuit activated by an output neuron in a preceding neural network layer is activated to an input neuron in a following neural network layer.
제 1 항에 있어서,
상기 제어부는 초기 어레이 영역으로부터 행 방향 및 열 방향으로 번갈아 가면서 상기 어레이 영역들을 연속적으로 순차 할당하는 재구성 가능한 뉴로모픽 시스템.
The method according to claim 1,
Wherein the controller sequentially and sequentially allocates the array areas alternately in the row direction and the column direction from the initial array area.
시냅스 어레이에 연결되는 복수 개의 단위 뉴런 회로를 포함하고, 상기 시냅스 어레이의 시냅스 소자들에 신호들을 전달하거나 전달받는 양방향 뉴런 회로로서,
상기 단위 뉴런 회로는,
시냅스 어레이의 시냅스 소자들로부터 전달되는 신호들에 따라 발화하는 뉴런부;
상기 뉴런부에 의해 발화되어 생성되는 신호들을 저장하는 저장부; 및
상기 단위 뉴런 회로를 입력 뉴런 또는 출력 뉴런으로 활성화시키거나, 상기 단위 뉴런 회로를 비활성화시키는 스위치부;를 포함하는 양방향 뉴런 회로.
A bidirectional neuron circuit comprising a plurality of unit neuron circuits connected to a synapse array, the bi-directional neuron circuits transmitting or receiving signals to synaptic elements of the synapse array,
Wherein the unit neuron circuit comprises:
A neuron that fires according to signals transmitted from synaptic elements of the synapse array;
A storage unit for storing signals generated and generated by the neuron unit; And
And a switch unit for activating the unit neuron circuit to an input neuron or output neuron or for deactivating the unit neuron circuit.
제 10 항에 있어서,
상기 스위치부는 상기 시냅스 어레이 상에 할당된 어레이 영역들의 활성화 순서에 따라, 상기 단위 뉴런 회로를 입력 뉴런 또는 출력 뉴런으로 활성화시키거나 비활성화시키는 양방향 뉴런 회로.
11. The method of claim 10,
Wherein the switch unit activates or deactivates the unit neuron circuit to an input neuron or an output neuron according to an order of activation of array areas allocated on the synapse array.
제 11 항에 있어서,
상기 복수 개의 단위 뉴런 회로 중 심층 신경망의 계층 순으로 활성화되는 하나의 어레이 영역에 대응되는 단위 뉴런 회로들은 활성화되고, 활성화되는 상기 하나의 어레이 영역을 제외한 나머지 어레이 영역에 대응되는 단위 뉴런 회로들은 비활성화되는 양방향 뉴런 회로.
12. The method of claim 11,
Unit neuron circuits corresponding to one array area activated in order of the layer neural network among the plurality of unit neuron circuits are activated and unit neuron circuits corresponding to the remaining array areas except for the one array area to be activated are inactivated Bi-directional neuron circuit.
제 12 항에 있어서,
비활성화되는 단위 뉴런 회로는 전류가 흐르지 않도록 플로팅되거나 설정된 전압이 인가되는 양방향 뉴런 회로.
13. The method of claim 12,
A unit neuron circuit that is inactivated is a bi-directional neuron circuit that is floated or set to a voltage so that no current flows.
제 11 항에 있어서,
상기 스위치부는 선행의 신경망 계층에서 출력 뉴런으로 활성화된 단위 뉴런 회로를 후행의 신경망 계층에서 입력 뉴런으로 활성화시키는 양방향 뉴런 회로.
12. The method of claim 11,
Wherein the switch unit activates the unit neuron circuit activated by the output neuron in the preceding neural network layer to the input neuron in the subsequent neural network layer.
제 14 항에 있어서,
상기 스위치부는 상기 선행의 신경망 계층에서 입력 뉴런으로 활성화된 단위 뉴런 회로를 상기 후행의 신경망 계층에서 비활성화시키는 양방향 뉴런 회로.
15. The method of claim 14,
Wherein the switch unit deactivates the unit neuron circuit activated by the input neuron in the preceding neural network layer in the following neural network layer.
입력 신호들과 출력 신호들에 따라 가중치가 변화하는 시냅스 소자들로 이루어지는 단일 시냅스 어레이 상에서 어레이 영역들을 연속적으로 순차 할당하여 신경망을 구성하는 단계;를 포함하는 신경망 구성 방법.And constructing a neural network by successively allocating array areas on a single synapse array consisting of synaptic elements whose weights vary according to input signals and output signals. 제 16 항에 있어서,
상기 신경망을 구성하는 단계는 상기 시냅스 어레이 상에 할당되는 어레이 영역들의 개수를 조절하여 상기 신경망의 은닉층의 개수를 조절하는 신경망 구성 방법.
17. The method of claim 16,
Wherein configuring the neural network comprises adjusting the number of hidden layers of the neural network by adjusting the number of array areas allocated on the synapse array.
제 16 항에 있어서,
상기 신경망의 계층 순으로 상기 어레이 영역들을 순차적으로 활성화하고, 상기 신경망의 계층별로 활성화되는 하나의 어레이 영역을 제외한 나머지 어레이 영역을 비활성화하는 단계;를 더 포함하는 신경망 구성 방법.
17. The method of claim 16,
Sequentially activating the array areas in order of the layer of the neural network and deactivating the remaining array areas except for one array area activated for each layer of the neural network.
제 16 항에 있어서,
상기 신경망을 구성하는 단계는 인접하는 두 개의 어레이 영역들 중 후행하는 어레이 영역의 입력 신호의 개수가 선행하는 어레이 영역의 출력 신호의 개수와 동일하도록, 상기 어레이 영역들을 할당하는 신경망 구성 방법.
17. The method of claim 16,
Wherein the step of constructing the neural network allocates the array areas such that the number of input signals in a succeeding array area of the two adjacent array areas is equal to the number of output signals of the preceding array area.
제 16 항에 있어서,
상기 신경망을 구성하는 단계는 초기 어레이 영역으로부터 행 방향 및 열 방향으로 번갈아 가면서 상기 어레이 영역들을 연속적으로 순차 할당하는 신경망 구성 방법.
17. The method of claim 16,
Wherein the step of constructing the neural network sequentially allocates the array areas sequentially from the initial array area in the row direction and the column direction.
KR1020170100384A 2017-08-08 2017-08-08 Reconfigurable neuromorphic system and method of neural network configuration KR102099242B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170100384A KR102099242B1 (en) 2017-08-08 2017-08-08 Reconfigurable neuromorphic system and method of neural network configuration

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170100384A KR102099242B1 (en) 2017-08-08 2017-08-08 Reconfigurable neuromorphic system and method of neural network configuration

Publications (2)

Publication Number Publication Date
KR20190016311A true KR20190016311A (en) 2019-02-18
KR102099242B1 KR102099242B1 (en) 2020-04-10

Family

ID=65561437

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170100384A KR102099242B1 (en) 2017-08-08 2017-08-08 Reconfigurable neuromorphic system and method of neural network configuration

Country Status (1)

Country Link
KR (1) KR102099242B1 (en)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200116221A (en) * 2019-04-01 2020-10-12 삼성전자주식회사 Neuron network semiconductor device based on phase change material
KR20200134749A (en) * 2019-05-23 2020-12-02 포항공과대학교 산학협력단 Artificial Neural Network Hardware System using Fuse Device and Pruning Method Using the Same
KR20210004349A (en) * 2019-07-04 2021-01-13 한국과학기술연구원 Neuromodule device and signaling method performed on the same
WO2021029941A1 (en) * 2019-08-12 2021-02-18 Micron Technology, Inc. Artificial neural networks in memory
KR102344974B1 (en) * 2020-06-30 2021-12-29 연세대학교 산학협력단 Neuromorphic device and neuromorphic device array
US11630992B2 (en) 2019-07-05 2023-04-18 Electronics And Telecommunications Research Institute Neural network generation method for neuromorphic computing and apparatus for the same
KR102644026B1 (en) * 2023-06-16 2024-03-06 주식회사 킨스텍 Ai-based lonely death management system and control box included in the same

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH064504A (en) * 1992-06-18 1994-01-14 Matsushita Electric Ind Co Ltd Neural network circuit
KR100445264B1 (en) * 2002-11-06 2004-08-21 학교법인 인하학원 Hardware of reconfigurable and expandable neural networks
US20100241601A1 (en) * 2009-03-20 2010-09-23 Irvine Sensors Corporation Apparatus comprising artificial neuronal assembly
US20120317062A1 (en) * 2011-04-08 2012-12-13 International Business Machines Corporation Reconfigurable and customizable general-purpose circuits for neural networks
KR101701250B1 (en) * 2015-08-03 2017-02-01 서울대학교산학협력단 Multi-layered neuron array for deep belief network and neuron array operating method

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH064504A (en) * 1992-06-18 1994-01-14 Matsushita Electric Ind Co Ltd Neural network circuit
KR100445264B1 (en) * 2002-11-06 2004-08-21 학교법인 인하학원 Hardware of reconfigurable and expandable neural networks
US20100241601A1 (en) * 2009-03-20 2010-09-23 Irvine Sensors Corporation Apparatus comprising artificial neuronal assembly
US20120317062A1 (en) * 2011-04-08 2012-12-13 International Business Machines Corporation Reconfigurable and customizable general-purpose circuits for neural networks
KR101701250B1 (en) * 2015-08-03 2017-02-01 서울대학교산학협력단 Multi-layered neuron array for deep belief network and neuron array operating method

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200116221A (en) * 2019-04-01 2020-10-12 삼성전자주식회사 Neuron network semiconductor device based on phase change material
KR20200134749A (en) * 2019-05-23 2020-12-02 포항공과대학교 산학협력단 Artificial Neural Network Hardware System using Fuse Device and Pruning Method Using the Same
KR20210004349A (en) * 2019-07-04 2021-01-13 한국과학기술연구원 Neuromodule device and signaling method performed on the same
US11630992B2 (en) 2019-07-05 2023-04-18 Electronics And Telecommunications Research Institute Neural network generation method for neuromorphic computing and apparatus for the same
WO2021029941A1 (en) * 2019-08-12 2021-02-18 Micron Technology, Inc. Artificial neural networks in memory
US11054997B2 (en) 2019-08-12 2021-07-06 Micron Technology, Inc. Artificial neural networks in memory
US11593002B2 (en) 2019-08-12 2023-02-28 Micron Technology, Inc. Artificial neural networks in memory
KR102344974B1 (en) * 2020-06-30 2021-12-29 연세대학교 산학협력단 Neuromorphic device and neuromorphic device array
KR102644026B1 (en) * 2023-06-16 2024-03-06 주식회사 킨스텍 Ai-based lonely death management system and control box included in the same

Also Published As

Publication number Publication date
KR102099242B1 (en) 2020-04-10

Similar Documents

Publication Publication Date Title
KR20190016311A (en) Reconfigurable neuromorphic system and method of neural network configuration
KR102608248B1 (en) Neural network hardware accelerator architectures and operating method thereof
US9342780B2 (en) Systems and methods for modeling binary synapses
TWI509538B (en) Compact cognitive synaptic computing circuits
US11495289B2 (en) Neural network computation circuit including semiconductor memory element, and method of operation
EP0484506A1 (en) A learning machine synapse processor system apparatus
US10460237B2 (en) Neuron-centric local learning rate for artificial neural networks to increase performance, learning rate margin, and reduce power consumption
US20160321537A1 (en) Consolidating multiple neurosynaptic core circuits into one reconfigurable memory block
JPH01223559A (en) N-dimensional coulomb nerve network
KR102121562B1 (en) Neuromorphic device using 3d crossbar memory
JP2021518008A (en) Resistive processing unit architecture with separate weight update and inference circuits
US5353382A (en) Programmable synapse for neural network applications
KR20210069313A (en) Neural network with a synapse string array
KR20210151737A (en) Synapse string and synapse string array for neural networks
US20220138546A1 (en) Expandable neuromorphic circuit
CN112819134B (en) Memory device including neural network processing circuitry
EP3855366A1 (en) Neuromorphic architecture
KR102114356B1 (en) Neuromorphic device using 3d crossbar memory
US20220027712A1 (en) Neural mosaic logic unit
DE102005014323A1 (en) Field Programmable synapse Array and method for its programming
KR102314079B1 (en) Artificial Neural Network Hardware System using Fuse Device and Pruning Method Using the Same
CN117271435B (en) Memristor-based in-memory logic circuit and full-array parallel computing method
KR20230106484A (en) Spiking neural network device, nonvolatile memory device and operation method thereof
Doughan et al. Advanced Biomimetic Cells Architecture for Parallel Operations in Artificial Intelligence
TW202032433A (en) Method of analog computing

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
X091 Application refused [patent]
AMND Amendment
X701 Decision to grant (after re-examination)