KR20190143027A - 스파이크 뉴럴 네트워크를 사용하는 생성적 적대 신경망을 구현하기 위한 전자 회로 - Google Patents
스파이크 뉴럴 네트워크를 사용하는 생성적 적대 신경망을 구현하기 위한 전자 회로 Download PDFInfo
- Publication number
- KR20190143027A KR20190143027A KR1020180070466A KR20180070466A KR20190143027A KR 20190143027 A KR20190143027 A KR 20190143027A KR 1020180070466 A KR1020180070466 A KR 1020180070466A KR 20180070466 A KR20180070466 A KR 20180070466A KR 20190143027 A KR20190143027 A KR 20190143027A
- Authority
- KR
- South Korea
- Prior art keywords
- signal
- spike
- data
- synaptic
- circuit
- Prior art date
Links
- 238000013528 artificial neural network Methods 0.000 title claims abstract description 32
- 230000000946 synaptic effect Effects 0.000 claims description 60
- 210000002569 neuron Anatomy 0.000 claims description 41
- 238000009825 accumulation Methods 0.000 claims description 30
- 230000001629 suppression Effects 0.000 claims description 18
- 238000000034 method Methods 0.000 claims description 12
- 230000002787 reinforcement Effects 0.000 claims description 12
- 230000001537 neural effect Effects 0.000 claims 7
- 230000001242 postsynaptic effect Effects 0.000 description 30
- 210000000225 synapse Anatomy 0.000 description 24
- 210000005215 presynaptic neuron Anatomy 0.000 description 19
- 238000010586 diagram Methods 0.000 description 8
- 230000020796 long term synaptic depression Effects 0.000 description 4
- 230000027928 long-term synaptic potentiation Effects 0.000 description 4
- 238000012549 training Methods 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 230000002708 enhancing effect Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 230000009466 transformation Effects 0.000 description 3
- 239000005557 antagonist Substances 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- 230000003042 antagnostic effect Effects 0.000 description 1
- 210000004556 brain Anatomy 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000001186 cumulative effect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/06—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
- G06N3/063—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/049—Temporal neural networks, e.g. delay elements, oscillating neurons or pulsed inputs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/047—Probabilistic or stochastic networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/0475—Generative networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/048—Activation functions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/06—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
- G06N3/063—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
- G06N3/065—Analogue means
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/088—Non-supervised learning, e.g. competitive learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/094—Adversarial learning
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)
- Probability & Statistics with Applications (AREA)
- Image Analysis (AREA)
- Image Processing (AREA)
Abstract
본 발명은 스파이크 변환기, 이미지 생성기, 이미지 변환기, 및 이미지 분류기를 포함한다. 스파이크 변환기는 제 1 데이터와 관련되는 제 2 데이터에 기초하여 결정되는 개수의 스파이크 신호들을 기준 시간 길이 내에 포함하는 제 1 신호를 생성한다. 이미지 생성기는 제 1 신호의 스파이크 신호들 중 가중치에 기초하여 선택되는 스파이크 신호들을 포함하는 제 2 신호를 생성한다. 이미지 변환기는 제 2 신호의 스파이크 신호들을 변환하여 아날로그 도메인에서 표현되는 제 3 데이터를 생성한다. 이미지 분류기는 제 3 데이터의 값과 제 1 데이터의 값 사이의 차이와 관련되는 결과 데이터를 이미지 생성기로 제공한다. 이미지 생성기는 결과 데이터에 더 기초하여 가중치를 결정한다.
Description
본 발명은 전자 회로에 관한 것으로, 좀 더 상세하게는 생성적 적대 신경망을 구현하기 위한 전자 회로에 관한 것이다.
뉴럴 네트워크(neural network)는 사람의 두뇌를 모델링하기 위한 알고리즘 및 그 알고리즘을 구현하기 위한 전자 장치를 의미한다. 뉴럴 네트워크는 수 많은 뉴런(neuron)들을 기본 단위로서 포함하고, 뉴런들은 시냅스들을 통해 다른 뉴런들로 신호들을 전달한다.
뉴럴 네트워크는 머신 러닝(Machine Learning)을 수행하기 위해 사용된다. 뉴럴 네트워크는 입력되는 훈련 데이터에 기초하여 학습을 수행할 수 있다. 예컨대, 뉴럴 네트워크는 입력되는 훈련 데이터의 특징 및 패턴을 학습할 수 있다. 뉴럴 네트워크는 수행된 학습에 기초하여 새롭게 입력되는 문제에 대한 답을 생성할 수 있다.
머신 러닝은 지도 학습 및 비지도 학습 등으로 분류될 수 있다. 뉴럴 네트워크가 지도 학습을 하기 위해, 설계자는 입력 값 및 입력 값에 대한 목표 값을 포함하는 훈련 데이터를 제공할 수 있다. 반면, 뉴럴 네트워크가 비지도 학습을 하기 위해, 설계자는 목표 값을 포함하지 않는 훈련 데이터를 제공할 수 있다.
본 발명은 스파이크 신호에 기초하여 동작하는 뉴럴 네트워크에 의해, 설계자에 의해 입력되는 데이터의 값과 유사한 값을 갖는 데이터를 생성하도록 구성되는 생성적 적대 신경망을 구현하기 위한 전자 회로를 제공할 수 있다.
본 발명의 실시 예에 따른 생성적 적대 신경망을 구현하기 위한 전자 회로는 스파이크 변환기, 이미지 생성기, 이미지 변환기, 및 이미지 분류기를 포함할 수 있다. 스파이크 변환기는 제 1 데이터와 관련되는 제 2 데이터에 기초하여 결정되는 개수의 스파이크 신호들을 기준 시간 길이 내에 포함하는 제 1 신호를 생성할 수 있다. 이미지 생성기는 제 1 신호의 스파이크 신호들 중 가중치에 기초하여 선택되는 스파이크 신호들을 포함하는 제 2 신호를 생성할 수 있다. 이미지 변환기는 제 2 신호의 스파이크 신호들을 변환하여 아날로그 도메인에서 표현되는 제 3 데이터를 생성할 수 있다. 이미지 분류기는 제 3 데이터의 값과 제 1 데이터의 값 사이의 차이와 관련되는 결과 데이터를 이미지 생성기로 제공할 수 있다. 이미지 생성기는 결과 데이터에 더 기초하여 가중치를 결정하도록 더 구성되는 생성적 적대 신경망을 구현할 수 있다.
본 발명의 실시 예에 따르면, 적은 시간 및 적은 전력을 소비하여 동작하는 생성적 적대 신경망을 구현하기 위한 전자 회로가 제공될 수 있다.
도 1은 본 발명의 실시 예에 따른, 생성적 적대 신경망을 구현하기 위한 전자 회로를 보여주는 블록도 이다.
도 2는 도 1의 시드 데이터 및 실제 데이터의 예시적인 픽셀 값들을 보여주는 그래프 이다.
도 3 및 도 4는 시드 데이터의 픽셀 값들로부터 변환되는 신호들을 보여주는 그래프들 이다.
도 5는 도 1의 스파이크 이미지 생성기의 예시적인 모델을 보여주는 블록도 이다.
도 6은 도 1의 스파이크 이미지 생성기의 예시적인 구성을 보여주는 블록도 이다.
도 7은 도 6의 포스트 시냅틱 뉴런의 구체적인 구성을 보여주는 블록도 이다.
도 8은 도 6의 시냅스 회로로 수신되는 스파이크 신호들을 보여주는 그래프 이다.
도 9는 도 7의 누적 회로에 의해 누적되는 전압의 예시적인 레벨을 보여주는 그래프 이다.
도 10은 도 1의 스파이크 이미지 생성기에 의해 생성되는 예시적인 신호를 보여주는 그래프 이다.
도 11은 도 1의 스파이크 분류기로 수신되는 실제 데이터 및 모조 데이터를 보여주는 그래프 이다.
도 2는 도 1의 시드 데이터 및 실제 데이터의 예시적인 픽셀 값들을 보여주는 그래프 이다.
도 3 및 도 4는 시드 데이터의 픽셀 값들로부터 변환되는 신호들을 보여주는 그래프들 이다.
도 5는 도 1의 스파이크 이미지 생성기의 예시적인 모델을 보여주는 블록도 이다.
도 6은 도 1의 스파이크 이미지 생성기의 예시적인 구성을 보여주는 블록도 이다.
도 7은 도 6의 포스트 시냅틱 뉴런의 구체적인 구성을 보여주는 블록도 이다.
도 8은 도 6의 시냅스 회로로 수신되는 스파이크 신호들을 보여주는 그래프 이다.
도 9는 도 7의 누적 회로에 의해 누적되는 전압의 예시적인 레벨을 보여주는 그래프 이다.
도 10은 도 1의 스파이크 이미지 생성기에 의해 생성되는 예시적인 신호를 보여주는 그래프 이다.
도 11은 도 1의 스파이크 분류기로 수신되는 실제 데이터 및 모조 데이터를 보여주는 그래프 이다.
이하, 첨부된 도면들을 참조하여 본 발명의 실시 예들이 상세하게 설명된다. 이하의 설명에서, 상세한 구성들 및 구조들과 같은 세부적인 사항들은 단순히 본 발명의 실시 예들의 전반적인 이해를 돕기 위하여 제공된다. 그러므로 본 발명의 기술적 사상 및 범위로부터의 벗어남 없이 본문에 기재된 실시 예들의 변형들은 통상의 기술자 의해 수행될 수 있다. 더욱이, 명확성 및 간결성을 위하여 잘 알려진 기능들 및 구조들에 대한 설명들은 생략된다. 본 명세서에서 사용된 용어들은 본 발명의 기능들을 고려하여 정의된 용어들이며, 특정 기능에 한정되지 않는다. 용어들의 정의는 상세한 설명에 기재된 사항을 기반으로 결정될 수 있다.
이하의 도면들 또는 상세한 설명에서의 모듈들은 도면에 도시되거나 또는 상세한 설명에 기재된 구성 요소 이외에 다른 것들과 연결될 수 있다. 모듈들 또는 구성 요소들 사이의 연결은 각각 직접적 또는 비직접적일 수 있다. 모듈들 또는 구성 요소들 사이의 연결은 각각 통신에 의한 연결이거나 또는 물리적인 접속일 수 있다.
다르게 정의되지 않는 한, 본문에서 사용되는 기술적 또는 과학적인 의미를 포함하는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 지닌 자에 의해 이해될 수 있는 의미를 갖는다. 일반적으로 사전에서 정의된 용어들은 관련된 기술 분야에서의 맥락적 의미와 동등한 의미를 갖도록 해석되며, 본문에서 명확하게 정의되지 않는 한, 이상적 또는 과도하게 형식적인 의미를 갖도록 해석되지 않는다. 본 명세서에서 “스파이크 신호”는, 짧은 시간 동안 급격하게 변하는 크기를 갖는 펄스 형태의 신호를 의미한다.
도 1은 본 발명의 실시 예에 따른, 생성적 적대 신경망을 구현하기 위한 전자 회로를 보여주는 블록도 이다.
도 1을 참조하면, 전자 회로(100)는 스파이크 변환기(110), 스파이크 이미지 생성기(120), 이미지 변환기(130), 및 이미지 분류기(140)를 포함할 수 있다. 스파이크 변환기(110)는 시드 데이터(10)를 수신할 수 있다. 예로서, 전자 회로(100)의 설계자는 실제 데이터(20)와 관련되는 시드 데이터(10)를 스파이크 변환기로 입력할 수 있다.
예로서, 시드 데이터(10) 및 실제 데이터(20)는 이미지와 관련되는 데이터일 수 있다. 본 명세서에서, 이미지의 명암을 나타내기 위한 시드 데이터(10)와 실제 데이터(20)의 실시 예가 설명될 것이나, 본 발명은 이미지와 관련되는 다양한 특성, 음성, 및 텍스트 등 다양한 정보를 나타내기 위한 시드 데이터(10) 및 실제 데이터(20)의 실시 예들을 포함할 수 있음이 이해될 것이다.
예로서, 실제 데이터(20)는 실제 이미지(예컨대, 카메라 등으로 촬영된 사진, 영상 등)를 표현하기 위한 픽셀들의 명암에 대응하는 값(이하, 픽셀 값)들을 나타낼 수 있다. 설계자는 실제 데이터(20)의 픽셀 값들에 기초하여 계산되는 값들을 갖는 시드 데이터(10)를 스파이크 변환기(110)로 입력할 수 있다. 예로서, 시드 데이터(10)는 실제 데이터(20)의 픽셀 값들의 중간 값들을 픽셀 값들로서 가질 수 있다. 시드 데이터(10)와 실제 데이터(20) 사이의 예시적인 관계는 도 2를 참조하여 좀 더 구체적으로 설명될 것이다.
스파이크 변환기(110)는 시드 데이터(10)를 설계자로부터 수신할 수 있다. 스파이크 변환기(110)는 수신되는 시드 데이터(10)에 기초하여 신호(S1)를 생성할 수 있다. 예로서, 스파이크 변환기(110)는 푸아송 분포(Poisson distribution)에 기초하여 시드 데이터(10)의 픽셀 값을 스파이크 신호들로 변환할 수 있다. 스파이크 변환기(110)는 변환되는 스파이크 신호들을 포함하는 신호(S1)를 스파이크 이미지 생성기(120)로 출력할 수 있다.
신호(S1)는 빈도 값을 가질 수 있다. 본 명세서에서 빈도 값은 단위 시간 길이의 시간 구간 내에 포함되는 스파이크 신호의 개수를 의미한다. 예컨대, 특정 신호가 단위 시간 길이를 갖는 시간 구간 내에 n 개의 스파이크 신호들을 포함하는 경우, 시간 도메인에서 특정 신호의 빈도 값은 “n”일 수 있다. 예로서, 시드 데이터(10)의 픽셀 값이 클수록 신호(S1)의 빈도 값은 클 수 있다. 도 3 및 도 4를 참조하여, 시드 데이터(10)의 픽셀 값에 따라 결정되는 신호(S1)의 빈도 값들이 좀 더 구체적으로 설명될 것이다.
스파이크 이미지 생성기(120)는 스파이크 변환기(110)로부터 신호(S1)를 수신할 수 있다. 스파이크 이미지 생성기(120)는 이미지 분류기(140)에 의해 생성되는 결과 데이터(40)를 수신할 수 있다. 스파이크 이미지 생성기(120)는 결과 데이터(40)에 기초하여 신호(S1)로부터 신호(S2)를 생성할 수 있다. 스파이크 이미지 생성기(120)는 신호(S2)를 이미지 변환기(130)로 출력할 수 있다.
스파이크 이미지 생성기(120)는 신호(S2)를 생성하기 위한 뉴럴 네트워크 형태의 전자 회로들을 포함할 수 있다. 스파이크 이미지 생성기(120)는 수신되는 결과 데이터(40)에 따라 변하는 특성(즉, 가소성)을 갖는 뉴럴 네트워크로서 구현될 수 있다. 스파이크 이미지 생성기(120)는, STDP(Spike-Timing-Dependent Plasticity) 기반의 학습을 통해 신호(S1)에 포함되는 스파이크 신호들 중 선택되는 스파이크 신호들을 포함하는 신호(S2)를 생성할 수 있다.
예로서, 스파이크 이미지 생성기(120)는 결과 데이터(40)에 기초하여 학습되는 뉴럴 네트워크에 의해 신호(S1)로부터 스파이크 신호들을 포함하는 신호(S2)를 생성할 수 있다. 도 5 내지 도 8을 참조하여 스파이크 이미지 생성기(120)의 예시적인 구성 및 동작들이 좀 더 구체적으로 설명될 것이다. 도 9를 참조하여 신호(S2)에 포함되는 예시적인 스파이크 신호들이 좀 더 구체적으로 설명될 것이다.
이미지 변환기(130)는 스파이크 이미지 생성기(120)로부터 신호(S2)를 수신할 수 있다. 이미지 변환기(130)는 신호(S2)에 기초하여 모조 데이터(30)를 생성할 수 있다. 좀 더 구체적으로, 이미지 변환기(130)는 신호(S2)에 포함되는 스파이크 신호들을 변환하여 생성되는 아날로그 값들을 갖는 모조 데이터(30)를 생성할 수 있다.
이미지 변환기(130)에 의해 수행되는 변환은 스파이크 변환기(110)에 의해 수행되는 변환에 대한 역변환일 수 있다. 예로서, 이미지 변환기(130)는 푸아송 분포에 기초하여 신호(S2)에 포함되는 스파이크 신호들을 모조 데이터(30)로 변환할 수 있다. 예로서, 모조 데이터(30)는 이미지의 명암을 나타내는 픽셀 값을 가질 수 있다. 이미지 변환기(130)는 모조 데이터(30)를 이미지 분류기(140)로 출력할 수 있다.
이미지 분류기(140)는 이미지 변환기(130)로부터 모조 데이터(30)를 수신할 수 있다. 이미지 분류기(140)는 실제 데이터(20)를 수신할 수 있다. 예로서, 이미지 분류기(140)는 전자 회로(100)의 설계자에 의해 입력되는 실제 데이터(20)를 수신할 수 있다. 이미지 분류기(140)는 실제 데이터(20)와 모조 데이터(30)에 기초하여 다양한 정보를 생성할 수 있다. 예로서, 이미지 분류기(140)는 실제 데이터(20)의 픽셀 값과 모조 데이터(30)의 픽셀 값의 차이와 관련되는 결과 데이터(40)를 생성할 수 있다.
이미지 분류기(140)는 결과 데이터(40)를 피드백하기 위해 결과 데이터(40)를 스파이크 이미지 생성기(120)로 출력할 수 있다. 스파이크 이미지 생성기(120)는 피드백 되는 결과 데이터(40)에 기초하여 학습된 뉴럴 네트워크를 통해 신호(S2)를 생성하기 때문에, 신호(S2)에 기초하여 생성되는 모조 데이터(30)의 픽셀 값은 피드백 되는 결과 데이터(40)에 기초하여 변할 수 있다.
더 나은 이해를 위해, 실제 데이터(20)의 픽셀 값으로부터 모조 데이터(30)의 픽셀 값을 빼서 얻어지는 값을 갖는 결과 데이터(40)의 예시가 설명될 것이다. 그러나, 본 발명은 스파이크 이미지 생성기(120)에 포함되는 뉴럴 네트워크의 학습을 위한 다양한 정보를 나타내는 결과 데이터(40)의 실시 예들을 포함함이 이해될 것이다. 도 10을 참조하여, 이미지 분류기(140)로 수신되는 실제 데이터(20) 및 모조 데이터(30)의 예시들이 좀 더 구체적으로 설명될 것이다.
이상 도 1을 참조하여 설명된 바와 같이, 시드 데이터(10)가 스파이크 변환기(110), 스파이크 이미지 생성기(120), 및 이미지 변환기(130)의 동작들에 의해 스파이크 신호들로 변환되고, 변환되는 스파이크 신호들이 처리될 수 있다. 특정 데이터가 아날로그 도메인에서 처리되는 경우 보다 불연속적인 신호들로 변환되어 처리되는 경우, 그 특정 데이터를 처리하기 위한 시간 및 전력은 감소할 수 있다. 따라서, 전자 회로(100)는 적은 시간 및 적은 전력을 소모하여 시드 데이터(10)로부터 모조 데이터(30)를 생성할 수 있다.
도 2는 도 1의 시드 데이터 및 실제 데이터의 예시적인 픽셀 값들을 보여주는 그래프 이다.
도 2의 예에서, x축은 특정 이미지를 표현하는 픽셀들을 나타내고 y축은 시드 데이터(10) 및 실제 데이터(20)의 픽셀 값들을 나타낸다. 도 2를 참조하면, 실제 데이터(20)의 픽셀 값들은 시드 데이터(10)의 픽셀 값들이 2배일 수 있다. 즉, 설계자는 실제 데이터(20)의 픽셀 값들의 중간 값들을 픽셀 값들로서 갖는 시드 데이터(10)를 스파이크 변환기(110)로 입력할 수 있다.
예로서, 픽셀 “PX1”에 대응하는 시드 데이터(10)의 픽셀 값은 “P1”이고 실제 데이터(20)의 픽셀 값은 “2P1”일 수 있다. 픽셀 “PX2”에 대응하는 시드 데이터(10)의 픽셀 값은 “P2”이고 실제 데이터(20)의 픽셀 값은 “2P2”일 수 있다. 예로서, 특정 이미지는, 픽셀 “PX1” 및 픽셀 “PX2”를 포함하는 복수의 픽셀에 의해 표현될 수 있다. 시드 데이터(10) 및 실제 데이터(20)를 표현하기 위한 복수의 픽셀의 픽셀 값들은 순차적으로 스파이크 변환기(110) 및 이미지 분류기(140)로 각각 입력될 수 있다.
도 3 및 도 4는 시드 데이터의 픽셀 값들로부터 변환되는 신호들을 보여주는 그래프들 이다.
도 3 및 도 4의 예에서, x축들은 시간을 나타내고, y축들은 신호(S1)의 크기를 나타낼 수 있다. 도 1을 참조하여 설명된 바와 같이, 스파이크 변환기(110)는 시드 데이터(10)로부터 변환되는 신호(S1)를 생성할 수 있다. 도 3을 참조하여, 도 2의 픽셀(PX1)의 픽셀 값 “P1”으로부터 변환되는 신호(S1)가 설명되고, 도 4를 참조하여, 도 2의 픽셀(PX2)의 픽셀 값 “P2”로부터 변환되는 신호(S1)가 설명될 것이다.
도 1을 참조하여 설명된 바와 같이, 픽셀(PX1)의 픽셀 값 “P1”과 픽셀(PX2)의 픽셀 값 “P2”는 스파이크 변환기(110)로 순차적으로 입력될 수 있다. 예로서, 픽셀(PX1)의 픽셀 값 “P1”이 스파이크 변환기(110)로 입력된 이후, 픽셀(PX2)의 픽셀 값 “P2”이 스파이크 변환기(110)로 입력될 수 있다.
신호(S1)는 특정 빈도 값을 가질 수 있다. 도 3의 예에서, 신호(S1)는 시간 길이 “TD”를 갖는 시간 구간에서 “m개의 스파이크 신호들을 포함할 수 있다. 도 4의 예에서 신호(S1)는 시간 길이 “TD”를 갖는 시간 구간에서 “n개의 스파이크 신호들을 포함할 수 있다. “n”은 “m” 보다 클 수 있다. 따라서, 시간 길이 “TD”동안 픽셀(PX2)의 픽셀 값 “P2”에 대응하는 신호(S1)는 픽셀(PX1)의 픽셀 값 “P1”에 대응하는 신호(S1)보다 많은 수의 스파이크 신호를 포함할 수 있다.
픽셀 값은 그 픽셀 값으로부터 변환되는 신호(S1)의 빈도 값과 관련될 수 있다. 예로서, 픽셀 값이 클수록 신호(S1)의 빈도 값은 클 수 있다. 도 2를 도 3및 도 4와 함께 참조하면, 픽셀 값 “P2”는 픽셀 값 “P1” 보다 클 수 있다. 따라서, 픽셀 값 “P2”에 대응하는 신호(S1)의 빈도 값은 픽셀 값 “P1”에 대응하는 신호(S1)의 빈도 값 보다 클 수 있다.
도 5는 도 1의 스파이크 이미지 생성기의 예시적인 모델을 보여주는 블록도 이다.
도 1을 참조하여 설명된 바와 같이, 스파이크 이미지 생성기(120)는 STDP 기반의 학습을 수행하도록 구성되는 뉴럴 네트워크를 통해 구현될 수 있다. 뉴럴 네트워크는 스파이크 신호에 응답하여 동작하도록 구성되는 다수의 뉴런들 및 뉴런들 사이에서 신호들 전달하도록 구성되는 시냅스들로 구성될 수 있다.
도 5를 참조하면, 스파이크 이미지 생성기(120)의 뉴럴 네크워크는 강화 네트워크(ENET) 및 억제 네트워크(INET)를 포함하는 것으로 모델링 될 수 있다. 좀 더 구체적으로, 스파이크 이미지 생성기(120)를 구현하기 위한 뉴럴 네트워크는 뉴런들 사이의 시냅스들의 특성을 변화시키기 위한 강화 네트워크(ENET) 및 억제 네트워크(INET)의 구성들을 포함할 수 있다.
강화 네트워크(ENET)는 이미지 분류기(140)로부터 수신되는 결과 데이터(40)에 기초하여, 뉴럴 네트워크에 포함되는 뉴런들 사이의 시냅스를 강화시키기 위한 구성들과 관련될 수 있다. 억제 네트워크(INET)는 이미지 분류기(140)로부터 수신되는 결과 데이터(40)에 기초하여, 뉴럴 네트워크에 포함되는 뉴런들 사이의 시냅스를 억제시키기 위한 구성들과 관련될 수 있다.
본 명세서에서, 시냅스가 “강화”된다는 것은, 시냅스에 의해 전달되는 신호의 크기가 커지도록 시냅스의 특성이 변하는 것을 의미한다. 시냅스가 “억제”된다는 것은 시냅스에 의해 전달되는 신호의 크기가 작아지도록 시냅스의 특성이 변하는 것을 의미한다. 도 6 내지 도 8을 참조하여, 강화 네트워크(ENET) 및 억제 네트워크(INET)로 모델링되는 스파이크 이미지 생성기(120)의 예시적인 구성 및 동작들이 좀 더 구체적으로 설명될 것이다.
도 6은 도 1의 스파이크 이미지 생성기의 예시적인 구성을 보여주는 블록도 이다.
도 6을 참조하면, 스파이크 이미지 생성기(120)는 프리 시냅틱 뉴런(121), 시냅스 회로(122), 및 포스트 시냅틱 뉴런(123)을 포함할 수 있다. 좀 더 나은 설명을 위해, 프리 시냅틱 뉴런(121), 시냅스 회로(122), 및 포스트 시냅틱 뉴런(123)의 예시적인 동작들이 설명될 것이나, 스파이크 이미지 생성기(120)는 프리 시냅틱 뉴런(121), 시냅스 회로(122), 및 포스트 시냅틱 뉴런(123)의 동작들과 유사한 동작들을 수행하도록 구성되는 다수의 프리 시냅틱 뉴런들, 포스트 시냅틱 뉴런들, 및 프리 시냅틱 뉴런들과 포스트 시냅틱 뉴런들 사이에서 신호들을 전달하도록 구성되는 시냅스 회로들을 포함할 수 있음이 이해될 것이다.
프리 시냅틱 뉴런(121)의 전단은 다른 시냅스 회로과 연결될 수 있다. 프리 시냅틱 뉴런(121)은 프리 시냅틱 뉴런(121)의 전단의 다른 시냅스 회로에 대해 포스트 시냅틱 뉴런으로서 동작할 수 있다. 또한, 포스트 시냅틱 뉴런(123)의 후단에 다른 시냅스 회로가 연결될 수 있다. 포스트 시냅틱 뉴런(123)은 포스트 시냅틱 뉴런(123)의 후단의 다른 시냅스 회로에 대해 프리 시냅틱 뉴런으로서 동작할 수 있다.
프리 시냅틱 뉴런(121)은 프리 시냅틱 뉴런(121)의 전단의 시냅스 회로로부터 전달되는 스파이크 신호에 기초하여 스파이크 신호(SK1)를 생성할 수 있다. 또는, 프리 시냅틱 뉴런(121)은 도 1의 스파이크 변환기(110)로부터 수신되는 신호(S1)의 스파이크 신호에 기초하여 스파이크 신호(SK1)를 생성할 수 있다. 프리 시냅틱 뉴런(121)에 의해 스파이크 신호(SK1)를 생성하기 위한 방법은 포스트 시냅틱 뉴런(123)에 의해 스파이크 신호(SK2)를 생성하기 위한 방법과 유사하므로 이하 설명은 생략된다.
프리 시냅틱 뉴런(121)은 스파이크 신호(SK1)를 시냅스 회로(122)로 출력할 수 있다. 포스트 시냅틱 뉴런(123)은 시냅스 회로(122)로부터 신호(Is)를 수신할 수 있다. 포스트 시냅틱 뉴런(123)은 수신되는 신호(Is)에 기초하여 스파이크 신호(SK2)를 생성할 수 있다. 포스트 시냅틱 뉴런(123)은 스파이크 신호(SK2)를 포스트 시냅틱 뉴런(123)의 후단에 연결되는 시냅스 회로 및 시냅스 회로(122)로 출력할 수 있다. 또는, 포스트 시냅틱 뉴런(123)은 스파이크 신호(SK2)를 신호(S2)로서 도 1의 이미지 변환기(130)로 출력할 수 있다.
시냅스 회로(122)는 프리 시냅틱 뉴런(121)으로부터 스파이크 신호(SK1)를 수신하고, 포스트 시냅틱 뉴런(123)으로부터 스파이크 신호(SK2)를 수신할 수 있다. 시냅스 회로(122)는 이미지 분류기(140)로부터 결과 데이터(40)를 수신할 수 있다. 시냅스 회로(122)는 스파이크 신호(SK1)가 수신되는 시간 및 스파이크 신호(SK2)가 수신되는 시간에 기초하여 결정되는 레벨 및 크기의 신호(Is)를 생성할 수 있다. 또한, 시냅스 회로(122)는 결과 데이터(40)에 기초하여 결정되는 가중치 “W”에 따른 크기를 갖는 신호(Is)를 생성할 수 있다. 시냅스 회로(122)는 신호(Is)를 포스트 시냅틱 뉴런(123)으로 출력할 수 있다.
시냅스 회로(122)는 스파이크 신호(SK1) 및 스파이크 신호(SK2)가 수신되는 시간들에 기초하여 결정되는 레벨의 신호(Is)를 생성할 수 있다. 예로서, 스파이크 신호(SK1)가 스파이크 신호(SK2)보다 먼저 수신되는 경우, 시냅스 회로(122)는 LTP(Long Term Potentiation)에 의해 양의 레벨을 갖는 신호(Is)를 생성할 수 있다. 스파이크 신호(SK2)가 스파이크 신호(SK1)보다 먼저 수신되는 경우, 시냅스 회로(122)는 LTD(Long Term Depression)에 의해 음의 레벨을 갖는 신호(Is)를 생성할 수 있다. 그러나, 스파이크 신호(SK1) 및 스파이크 신호(SK2)에 기초하여 신호(Is)의 레벨이 결정되는 방법은 본 발명의 개념으로부터 벗어나지 않도록 다양하게 변형 및 수정될 수 있음이 잘 이해될 것이다.
시냅스 회로(122)는 스파이크 신호(SK1) 및 스파이크 신호(SK2)가 수신되는 시간들 사이의 차이에 기초하여 결정되는 크기를 갖는 신호(Is)를 생성할 수 있다. 예로서, 스파이크 신호(SK1)가 수신되는 시간과 스파이크 신호(SK2)가 수신되는 시간 사이의 차이가 클수록, 출력되는 신호(Is)의 크기는 클 수 있다. 그러나, 스파이크 신호(SK1) 및 스파이크 신호(SK2)에 기초하여 신호(Is)의 크기가 결정되는 방법은 본 발명의 개념으로부터 벗어나지 않도록 다양하게 변형 및 수정될 수 있음이 잘 이해될 것이다. 도 8을 참조하여, 스파이크 신호(SK1) 및 스파이크 신호(SK2)에 기초하여 출력되는 신호(SE) 및 신호(SI)의 예시들이 좀 더 구체적으로 설명될 것이다.
시냅스 회로(122)는 결과 데이터(40)에 기초하여 결정되는 가중치 “W”를 가질 수 있다. 도 1을 참조하여 설명된 바와 같이, 결과 데이터(40)는 실제 데이터(20)의 픽셀 값과 모조 데이터(30)의 픽셀 값 사이의 차이 값을 가질 수 있다. 예로서, 결과 데이터(40)는 실제 데이터(20)의 픽셀 값으로부터 모조 데이터(30)의 픽셀 값을 빼서 얻어지는 값을 가질 수 있다. 결과 데이터(40)가 양의 값을 갖는 경우, 시냅스 회로(122)의 가중치 “W”는 증가할 수 있다. 결과 데이터(40)가 음의 값을 갖는 경우, 시냅스 회로(122)의 가중치 “W”는 감소할 수 있다. 그러나, 결과 데이터(40)에 기초하여 가중치 “W”가 결정되는 방법은 본 발명의 개념으로부터 벗어나지 않도록 다양하게 변형 및 수정될 수 있음이 잘 이해될 것이다.
시냅스 회로(122)는 가중치 “W”에 기초하여 결정되는 크기를 갖는 신호(Is)를 생성할 수 있다. 예로서, 특정 스파이크 신호들(SK1 및 SK2)에 대해(즉, 스파이크 신호(SK1)가 수신되는 시간과 스파이크 신호(SK2)가 수신되는 시간 사이의 차이가 고정되는 경우), 가중치 “W”가 클수록 출력되는 신호(Is)의 크기는 클 수 있다. 그러나, 결과 데이터(40)에 기초하여 신호(Is)의 크기가 결정되는 방법은 본 발명의 개념으로부터 벗어나지 않도록 다양하게 변형 및 수정될 수 있음이 잘 이해될 것이다.
도 5를 참조하여 설명된 바와 같이, 스파이크 이미지 생성기(120)는 강화 네트워크(ENET) 및 억제 네트워크(INET)로 모델링 될 수 있다. 강화 네트워크(ENET) 및 억제 네트워크(INET)에 의해 스파이크 이미지 생성기(120)에 포함되는 시냅스들을 강화 또는 억제 시키는 동작은, 피드백되는 결과 데이터(40)에 기초하여 시냅스 회로(122)의 가중치 “W”가 조정되는 동작에 대응할 수 있다. 예로서, 강화 네트워크(ENET)에 의해 시냅스가 강화되는 동작은 결과 데이터(40)에 기초하여 시냅스 회로(122)의 가중치 “W”가 증가하는 동작에 대응할 수 있다. 억제 네트워크(INET)에 의해 시냅스가 억제되는 동작은 결과 데이터(40)에 기초하여 시냅스 회로(122)의 가중치 “W”가 감소하는 동작에 대응할 수 있다.
포스트 시냅틱 뉴런(123)은 시냅스 회로(122)로부터 수신되는 신호(Is)의 레벨을 누적할 수 있다. 포스트 시냅틱 뉴런(123)은 누적되는 신호(Is)의 레벨이 임계 값을 초과하는 경우, 스파이크 신호(SK2)를 생성할 수 있다.
도 7은 도 6의 포스트 시냅틱 뉴런의 구체적인 구성을 보여주는 블록도 이다.
도 7을 참조하면, 포스트 시냅틱 뉴런(123)은 강화 회로(123_1), 억제 회로(123_2), 누적 회로(123_3), 및 발화 회로(123_4)를 포함할 수 있다. 강화 회로(123_1) 및 억제 회로(123_2)는 도 6의 시냅스 회로(122)로부터 신호(Is)를 수신할 수 있다.
신호(Is)의 레벨에 따라 강화 회로(123_1) 및 억제 회로(123_2) 중 하나가 동작할 수 있다. 신호(Is)가 양의 레벨을 갖는 경우, 강화 회로(123_1)는 신호(Is)의 레벨에 대응하는 양의 레벨을 갖는 신호(SE)를 생성할 수 있다. 신호(Is)가 음의 레벨을 갖는 경우, 억제 회로(123_2)는 신호(Is)의 레벨에 대응하는 음의 레벨을 갖는 신호(SI)를 생성할 수 있다. 예로서, 신호(Is)의 레벨과 신호(SE)의 레벨은 실질적으로 서로 동일할 수 있고, 또는, 신호(Is)의 레벨과 신호(SI)의 레벨은 실질적으로 서로 동일할 수 있다. 신호(Is)의 레벨이 “0”인 경우, 강화 회로(123_1) 및 억제 회로(123_2)는 동작하지 않을 수 있다.
강화 회로(123_1)는 신호(SE)를 누적 회로(123_3)로 출력할 수 있다. 억제 회로(123_2)는 신호(SI)를 누적 회로(123_3)로 출력할 수 있다. 신호(Is)의 레벨은 시냅스 회로(122)로 수신되는 스파이크 신호(SK1)와 스파이크 신호(SK2)가 수신되는 시간들에 기초하여 결정될 수 있다. 따라서, 신호(SE) 및 신호(SI)가 출력되는지 여부는 스파이크 신호(SK1)와 스파이크 신호(SK2)가 시냅스 회로(122)로 수신되는 시간들과 관련될 수 있다. 또한, 신호(SE) 및 신호(SI)의 크기들은 스파이크 신호(SK1)와 스파이크 신호(SK2)가 시냅스 회로(122)로 수신되는 시간들과 관련될 수 있다.
신호(SE) 및 신호(SI)의 크기들은 신호(Is)의 크기에 대응할 수 있다. 예로서, 신호(Is)의 크기가 클수록 신호(SE)의 크기 및 신호(SI)의 크기는 클 수 있다. 신호(Is)의 크기는 이미지 분류기(140)로부터 수신되는 결과 데이터(40) 및 결과 데이터(40)에 의존하는 시냅스회로(122)의 가중치 “W”에 기초하여 결정되므로, 신호(SE) 및 신호(SI)의 크기들은 결과 데이터(40) 및 시냅스회로(122)의 가중치 “W”와 관련될 수 있다.
누적 회로(123_3)는 강화 회로(123_1) 및 억제 회로(123_2)로부터 수신되는 신호(SE) 및 신호(SI)의 레벨들을 누적시킬 수 있다. 신호(SE)는 양의 레벨을 가지므로 누적 회로(123_3)는 신호(SE)의 크기를 양의 값으로 누적할 수 있다. 신호(SI)는 음의 레벨을 가지므로 누적 회로(123_3)는 신호(SI)의 크기를 음의 값으로 누적할 수 있다.
예로서, 누적 회로(123_3)는 신호(SE) 및 신호(SI)에 기초하여 전압의 레벨을 누적할 수 있다. 도 9를 참조하여, 누적 회로(123_3) 내에 누적되는 전압의 예시적인 레벨이 좀 더 구체적으로 설명될 것이다. 누적되는 전압의 레벨이 임계 값을 초과하는 경우, 누적 회로(123_3)는 신호(TR)를 생성할 수 있다. 누적 회로(123_3)는 신호(TR)를 발화 회로(123_4)로 출력할 수 있다.
발화 회로(123_4)는 누적 회로(123_3)로부터 신호(TR)를 수신할 수 있다. 발화 회로(123_4)는 수신되는 신호(TR)에 응답하여, 스파이크 신호(SK2)를 생성할 수 있다. 발화 회로(123_4)는 스파이크 신호(SK2)를 도 6의 시냅스 회로(122) 및 포스트 시냅틱 뉴런(123) 후단의 다른 시냅스 회로로 출력할 수 있다. 또는, 발화 회로(123_4)는 스파이크 신호(SK2)를 신호(S2)로서 출력할 수 있다.
도 7을 참조하여, 강화 회로(123_1) 및 억제 회로(123_2)로부터 출력되는 신호들(SE 및 SI)에 기초하여 누적 회로(123_3)의 레벨이 누적되는 실시 예가 설명되었으나, 본 발명은 스파이크 신호들(SK1 및 SK2) 및 가중치 “W”에 기초하여 생성되는 신호(Is)를 누적 회로(123_3)에 누적하기 위한 다양한 구성들로 구현될 수 있음이 이해될 것이다.
도 8은 도 6의 시냅스 회로로 수신되는 예시적인 스파이크 신호들을 보여주는 그래프 이다. 도 8의 예에서, x축은 시간을 나타내고, y축은 시냅스 회로(122)로 수신되는 스파이크 신호들(SK1 및 SK2)의 크기를 나타낸다.
시간 “ta”에서 시냅스 회로(122)는 프리 시냅틱 뉴런(121)으로부터 스파이크 신호(SK1)를 수신할 수 있다. 시간 “ta”로부터 시간 길이 “TI1” 후에 시간 “tb”에서 시냅스 회로(122)는 포스트 시냅틱 뉴런(123)으로부터 스파이크 신호(SK2)를 수신할 수 있다. 시냅스 회로(122)가 스파이크 신호(SK1)를 스파이크 신호(SK2) 보다 먼저 수신했기 때문에, 시냅스 회로(122)는 LTP에 의해 양의 레벨을 갖는 신호(Is)를 출력할 수 있다.
시간 “tb” 이후에 도래하는 시간 “tc”에서 시냅스 회로(122)는 프리 시냅틱 뉴런(121)으로부터 스파이크 신호(SK1)를 수신할 수 있다. 시간 “tc”로부터 시간 길이 “TI2” 후에 시간 “td”에서 시냅스 회로(122)는 포스트 시냅틱 뉴런(123)으로부터 스파이크 신호(SK2)를 수신할 수 있다. 시냅스 회로(122)가 스파이크 신호(SK1)를 스파이크 신호(SK2) 보다 먼저 수신했기 때문에, 시냅스 회로(122)는 LTP에 의해 양의 레벨을 갖는 신호(Is)를 출력할 수 있다.
시간 “td” 이후에 도래하는 시간 “te”에서 시냅스 회로(122)는 포스트 시냅틱 뉴런(123)으로부터 스파이크 신호(SK2)를 수신할 수 있다. 시간 “te”로부터 시간 길이 “TI3” 후에 시간 “tf”에서 시냅스 회로(122)는 프리 시냅틱 뉴런(121)으로부터 스파이크 신호(SK1)를 수신할 수 있다. 시냅스 회로(122)가 스파이크 신호(SK2)를 스파이크 신호(SK1) 보다 먼저 수신했기 때문에, 시냅스 회로(122)는 LTD에 의해 음의 레벨을 갖는 신호(Is)를 출력할 수 있다.
시간 “tf” 이후에 도래하는 시간 “tg”에서 시냅스 회로(122)는 포스트 시냅틱 뉴런(123)으로부터 스파이크 신호(SK2)를 수신할 수 있다. 시간 “tg”로부터 시간 길이 “TI4” 후에 시간 “th”에서 시냅스 회로(122)는 프리 시냅틱 뉴런(121)으로부터 스파이크 신호(SK1)를 수신할 수 있다. 시냅스 회로(122)가 스파이크 신호(SK2)를 스파이크 신호(SK1) 보다 먼저 수신했기 때문에, 시냅스 회로(122)는 LTD에 의해 음의 레벨을 갖는 신호(Is)를 출력할 수 있다.
도 8의 예에서, 시간 길이 “TI1”은 시간 길이 “TI2” 보다 길고, 시간 길이 “TI4”는 시간 길이 “TI3” 보다 길 수 있다. 도 6을 참조하여 설명된 바와 같이, 시간 길이들 “TI1”, “TI2”, “TI3”, 및 “TI4”는 신호(Is)의 크기와 관련될 수 있다.
예로서, 시간 “ta”에 수신되는 스파이크 신호(SK1)와 시간 “tb”에 수신되는 스파이크 신호(SK2)에 기초하여 출력되는 신호(Is)의 크기는, 시간 “tc”에 수신되는 스파이크 신호(SK1)와 시간 “td”에 수신되는 스파이크 신호(SK2)에 기초하여 출력되는 신호(Is)의 크기 보다 클 수 있다. 예로서, 시간 “tg”에 수신되는 스파이크 신호(SK2)와 시간 “th”에 수신되는 스파이크 신호(SK1)에 기초하여 출력되는 신호(Is)의 크기는, 시간 “te”에 수신되는 스파이크 신호(SK2)와 시간 “tf”에 수신되는 스파이크 신호(SK1)에 기초하여 출력되는 신호(Is)의 크기 보다 클 수 있다.
도 9는 도 7의 누적 회로에 의해 누적되는 전압의 예시적인 레벨을 보여주는 그래프 이다. 도 9의 예에서, x축은 시간을 나타내고, y축은 누적 회로(123_3)에 누적되는 전압의 레벨을 나타낸다.
시간 “t1” 이전, 누적 회로(123_3)에 누적되는 전압의 레벨은 “V1”일 수 있다. 시간 “t1”에서 누적 회로(123_3)는 강화 회로(123_1)로부터 수신되는 신호(SE)를 누적할 수 있다. 시간 “t1”에서 누적 회로(123_3)에 누적되는 전압의 레벨은 “V1”에서 “V3”로 증가할 수 있다.
시간 “t1”과 시간 “t2” 사이에서, 누적 회로(123_3)에 누적되는 전압의 레벨은 “V3”일 수 있다. 시간 “t2”에서 누적 회로(123_3)는 억제 회로(123_2)로부터 수신되는 신호(SI)를 누적할 수 있다. 시간 “t2”에서 누적 회로(123_3)에 누적되는 전압의 레벨은 “V3”에서 “V2”로 감소할 수 있다.
시간 “t2”과 시간 “t3” 사이에서, 누적 회로(123_3)에 누적되는 전압의 레벨은 “V2”일 수 있다. 시간 “t3”에서 누적 회로(123_3)는 강화 회로(123_1)로부터 수신되는 신호(SE)를 누적할 수 있다. 시간 “t3”에서 누적 회로(123_3)에 누적되는 전압의 레벨은 “V2”에서 “V5”로 증가할 수 있다.
임계 값 “Vt”는 “V2”보다 크고 “V5”보다 작을 수 있다. 따라서, 누적 회로의 전압의 크기는 시간 “t3”에서 임계 값을 초과할 수 있다. 도 7의 누적 회로(123_3)는 시간 “t3”에서 신호(TR)를 발화 회로(123_4)로 출력할 수 있다. 발화 회로(123_4)는 신호(TR)에 응답하여 스파이크 신호(SK2)를 출력할 수 있다.
시간 “t3”과 시간 “t4” 사이에서, 누적 회로(123_3)에 누적되는 전압의 레벨은 “V5”일 수 있다. 시간 “t4”에서 누적 회로(123_3)는 억제 회로(123_2)로부터 수신되는 신호(SI)를 누적할 수 있다. 시간 “t4”에서 누적 회로(123_3)에 누적되는 전압의 레벨은 “V5”에서 “V4”로 감소할 수 있다.
“V5”과 “V2” 사이의 차이(시간 “t3”에서 누적되는 전압의 레벨의 증가량)는 “V3”과 “V1”의 차이(시간 “t1”에서 누적되는 전압의 레벨의 증가량)보다 클 수 있다. 예로서, 시간 “t1”에서 수신되는 신호(SE)가 “Δt1”의 시간 간격으로 수신되는 스파이크 신호(SK1) 및 스파이크 신호(SK2)에 기초하여 생성되고, 시간 “t3”에서 수신되는 신호(SE)가 “Δt2”의 시간 간격으로 수신되는 스파이크 신호(SK1) 및 스파이크 신호(SK2)에 기초하여 생성되는 경우, “Δt2”는 “Δt1”보다 클 수 있다.
“V3”과 “V2” 사이의 차이(시간 “t2”에서 누적되는 전압의 레벨의 감소량)는 “V5”과 “V4”의 차이(시간 “t4”에서 누적되는 전압의 레벨의 감소량)보다 클 수 있다. 예로서, 시간 “t2”에서 수신되는 신호(SI)가 “Δt3”의 시간 간격으로 수신되는 스파이크 신호(SK1) 및 스파이크 신호(SK2)에 기초하여 생성되고, 시간 “t4”에서 수신되는 신호(SI)가 “Δt4”의 시간 간격으로 수신되는 스파이크 신호(SK1) 및 스파이크 신호(SK2)에 기초하여 생성되는 경우, “Δt4”는 “Δt3”보다 클 수 있다.
도 10은 도 1의 스파이크 이미지 생성기에 의해 생성되는 예시적인 신호를 보여주는 그래프 이다. 도 10의 예에서, x축은 시간을 나타내고, y축은 신호(S2)의 크기를 나타낸다.
도 6을 참조하여 설명된 바와 같이, 스파이크 이미지 생성기(120)에 포함되는 포스트 시냅틱 뉴런들은 스파이크 신호를 신호(S2)로서 출력할 수 있다. 예로서, 도 6의 포스트 시냅틱 뉴런(123)은 스파이크 신호(SK2)를 신호(S2)로서 출력할 수 있다. 예로서, 도 10에 도시된 신호(S2)의 스파이크 신호들은 도 4에 도시된 신호(S1)의 스파이크 신호들에 기초하여 생성될 수 있다.
도 5 내지 도 9를 참조하여 설명된 바와 같이, 스파이크 이미지 생성기(120)는 포스트 시냅틱 뉴런을 통해 특정한 조건에서 스파이크 신호를 생성한다. 따라서, 신호(S2)의 빈도 값은 신호(S1)의 빈도 값보다 작을 수 있다. 예로서, 도 4의 신호(S2)는 시간 길이 “TD”동안 “n”개의 스파이크 신호들을 포함하고, 도 10의 신호(S2)는 시간 길이 “TD” 동안 “n-k”개의 스파이크 신호들을 포함할 수 있다. 즉, 스파이크 이미지 생성기(120)에 의해, 신호(S1)에 포함되는 “n”개의 스파이크 신호들 중 선택되는 “n-k”개의 스파이크 신호들이 신호(S2)로서 출력될 수 있다.
도 11은 도 1의 스파이크 분류기로 수신되는 실제 데이터 및 모조 데이터를 보여주는 그래프 이다. 도 11의 예에서, x축은 시간을 나타내고, y축은 픽셀 값을 나타낼 수 있다. 실선의 그래프들은 실제 데이터(20)의 픽셀 값들을 나타내고, 점선의 그래프들은 모조 데이터(30)의 픽셀 값들을 나타낸다.
시간 구간들 “LP1”, “LP2”, 및 ”LP3”에서, 이미지 분류기(140)는 실제 데이터(20)의 픽셀 값들과 모조 데이터(30)의 픽셀 값들을 수신할 수 있다. 시간 구간들 “LP1”, “LP2”, 및 ”LP3”에서 수신되는 실제 데이터(20)는 도 2를 참조하여 설명된 실제 데이터(20)일 수 있다.
스파이크 이미지 생성기(120)는 피드백되는 결과 데이터(40)에 기초하여 변하는 특성(예컨대, 가중치)을 갖는 뉴럴 네트워크에 의해 신호(S2)를 출력할 수 있다. 결과 데이터(40)는 실제 데이터(20)에 기초하여 생성되고, 스파이크 이미지 생성기(120)는 결과 데이터(40)에 기초하여 학습되는 뉴럴 네트워크에 의해 신호(S2)를 출력하기 때문에, 신호(S2)에 기초하여 출력되는 모조 데이터(30)의 픽셀 값들은 실제 데이터(20)의 픽셀 값들과 관련될 수 있다. 실제 데이터(20)의 픽셀 값들과 모조 데이터(30)의 픽셀 값들 사이의 차이가 신호(S2)에 계속적으로 반영됨에 따라 모조 데이터(30)의 픽셀 값들 사이의 차이는 감소할 수 있다.
예로서, 시간 “ti”, “tj”, 및 “tk”에서 이미지 분류기(140)는 도 2의 픽셀(PX2)의 픽셀 값들을 수신할 수 있다. 시간 “ti”에서, 이미지 분류기(140)는 시간 구간 “LP1”에서 수신되는 모조 데이터(30)에 의해 나타나는 픽셀(PX2)의 픽셀 값과 실제 데이터(20)에 의해 나타나는 픽셀(PX2)의 픽셀 값 사이의 차이 값 “PD1”을 획득할 수 있다. 이미지 분류기(140)는 “PD1”을 갖는 결과 데이터(40)를 스파이크 이미지 생성기(120)로 피드백 할 수 있다.
스파이크 이미지 생성기(120)는 결과 데이터(40)에 의해 학습된, 즉, 결과 데이터(40) 기초하여 결정되는 가중치 “W”에 기초하여 신호(S3)를 생성할 수 있다. 이미지 변환기(130)는 “PD1”을 갖는 결과 데이터(40)에 기초하여 생성되는 신호(S3)를 변환하여 시간 구간 “LP2”에서 모조 데이터(30)를 출력할 수 있다.
시간 “tj”에서, 이미지 분류기(140)는 모조 데이터(30)에 의해 나타나는 픽셀(PX2)의 픽셀 값과 실제 데이터(20)에 의해 나타나는 픽셀(PX2)의 픽셀 값 사이의 차이 값 “PD2”를 획득할 수 있다. 이미지 분류기(140)는 “PD2”를 갖는 결과 데이터(40)를 스파이크 이미지 생성기(120)로 피드백 할 수 있다.
스파이크 이미지 생성기(120)는 결과 데이터(40)에 의해 학습된, 즉, 결과 데이터(40) 기초하여 결정되는 가중치 “W”에 기초하여 신호(S3)를 생성할 수 있다. 이미지 변환기(130)는 “PD2”를 갖는 결과 데이터(40)에 기초하여 생성되는 신호(S3)를 변환하여 시간 구간 “LP3”에서 모조 데이터(30)를 출력할 수 있다.
시간 “tk”에서, 이미지 분류기(140)는 모조 데이터(30)에 의해 나타나는 픽셀(PX2)의 픽셀 값과 실제 데이터(20)에 의해 나타나는 픽셀(PX2)의 픽셀 값 사이의 차이 값 “PD3”를 획득할 수 있다. 이미지 분류기(140)는 “PD3”을 갖는 결과 데이터(40)를 스파이크 이미지 생성기(120)로 피드백 할 수 있다.
“PD2”는 “PD1”보다 작고, “PD3”는 “PD2”보다 작을 수 있다. 결과 데이터(40)가 계속적으로 피드백 되고, 모조 데이터(30)의 픽셀 값들과 실제 데이터(20)의 데이터 값들 사이의 차이들은 감소할 수 있다. 즉, 도 1의 전자 회로(100)는 피드백 되는 결과 데이터(40)를 통해 STDP 기반의 학습을 반복적으로 수행하여 실제 데이터(20)와 유사한 특성을 갖는 모조 데이터(30)를 생성할 수 있다.
상술된 내용은 본 발명을 실시하기 위한 구체적인 실시 예들이다. 본 발명은 상술된 실시 예들뿐만 아니라, 단순하게 설계 변경되거나 용이하게 변경할 수 있는 실시 예들 또한 포함할 것이다. 또한, 본 발명은 실시 예들을 이용하여 용이하게 변형하여 실시할 수 있는 기술들도 포함될 것이다. 따라서, 본 발명의 범위는 상술된 실시 예들에 국한되어 정해져서는 안되며 후술하는 특허청구범위뿐만 아니라 이 발명의 특허청구범위와 균등한 것들에 의해 정해져야 할 것이다.
10: 시드 데이터
20: 실제 데이터
30: 모조 데이터
40: 결과 데이터
100: 전자 회로
110: 스파이크 변환기
120: 스파이크 이미지 생성기
130: 이미지 변환기
140: 이미지 분류기
20: 실제 데이터
30: 모조 데이터
40: 결과 데이터
100: 전자 회로
110: 스파이크 변환기
120: 스파이크 이미지 생성기
130: 이미지 변환기
140: 이미지 분류기
Claims (11)
- 제 1 데이터와 관련되는 제 2 데이터에 기초하여 결정되는 개수의 스파이크 신호들을 기준 시간 길이 내에 포함하는 제 1 신호를 생성하도록 구성되는 스파이크 변환기;
상기 제 1 신호의 상기 스파이크 신호들 중 가중치에 기초하여 선택되는 스파이크 신호들을 포함하는 제 2 신호를 생성하도록 구성되는 이미지 생성기;
상기 제 2 신호의 상기 스파이크 신호들을 변환하여 아날로그 도메인에서 표현되는 제 3 데이터를 생성하도록 구성되는 이미지 변환기; 및
상기 제 3 데이터의 값과 상기 제 1 데이터의 값 사이의 차이와 관련되는 결과 데이터를 상기 이미지 생성기로 제공하도록 구성되는 이미지 분류기를 포함하되,
상기 이미지 생성기는 상기 결과 데이터에 더 기초하여 상기 가중치를 결정하도록 더 구성되는 생성적 적대 신경망을 구현하기 위한 전자 회로. - 제 1 항에 있어서,
상기 이미지 생성기는,
상기 제 1 신호의 상기 스파이크 신호들에 기초하여 제 1 뉴럴 스파이크 신호를 생성하도록 구성되는 제 1 시냅틱 뉴런;
상기 제 1 뉴럴 스파이크 신호 및 제 2 뉴럴 스파이크 신호에 기초하여 결정되는 레벨을 갖는 제 3 신호를 생성하도록 구성되는 시냅스 회로; 및
상기 제 3 신호에 기초하여 상기 제 2 뉴럴 스파이크 신호를 생성하도록 구성되는 제 2 시냅틱 뉴런을 포함하는 생성적 적대 신경망을 구현하기 위한 전자 회로. - 제 2 항에 있어서,
상기 시냅스 회로는 상기 결과 데이터에 기초하여 결정되는 상기 가중치를 갖고, 상기 가중치에 기초하여 결정되는 크기를 갖는 상기 제 3 신호를 생성하도록 더 구성되는 생성적 적대 신경망을 구현하기 위한 전자 회로. - 제 2 항에 있어서,
상기 제 2 시냅틱 뉴런은, 상기 제 3 신호의 상기 레벨을 누적하고, 상기 제 3 신호의 상기 누적되는 레벨이 임계 값을 초과하는 경우 상기 제 2 뉴럴 스파이크 신호를 생성하도록 더 구성되는 생성적 적대 신경망을 구현하기 위한 전자 회로. - 제 1 항에 있어서,
상기 결과 데이터는 상기 제 1 데이터의 상기 값으로부터 상기 제 3 데이터의 상기 값을 빼서 얻어지는 값을 갖는 생성적 적대 신경망을 구현하기 위한 전자 회로. - 제 1 항에 있어서,
상기 제 1 데이터, 상기 제 2 데이터, 및 상기 제 3 데이터는 이미지와 관련되는 정보를 나타내는 생성적 적대 신경망을 구현하기 위한 전자 회로. - 제 1 데이터와 관련되는 제 2 데이터로부터 변환되는 제 1 스파이크 신호들 중 가중치에 기초하여 선택되는 제 2 스파이크 신호들을 출력하도록 구성되는 이미지 생성기; 및
상기 제 2 스파이크 신호들로부터 변환되는 제 3 데이터의 값과 상기 제 1 데이터의 값 사이의 차이와 관련되는 결과 데이터를 생성하도록 구성되는 이미지 분류기를 포함하되,
상기 이미지 생성기는 상기 결과 데이터에 기초하여 결정되는 상기 가중치를 갖는 생성적 적대 신경망을 구현하기 위한 전자 회로. - 제 7 항에 있어서,
상기 이미지 생성기는, 상기 가중치에 기초하여 생성되는 시냅스 신호의 레벨을 누적하고, 상기 누적되는 레벨이 임계 값을 초과하는 경우 상기 제 2 스파이크 신호들을 출력하도록 구성되는 시냅틱 회로를 포함하는 생성적 적대 신경망을 구현하기 위한 전자 회로. - 제 8 항에 있어서,
상기 시냅틱 회로는,
상기 시냅스 신호의 상기 레벨이 양수인 경우, 상기 시냅스 신호의 상기 레벨에 대응하는 레벨을 갖는 제 1 신호를 생성하도록 구성되는 강화 회로;
상기 시냅스 신호의 상기 레벨이 음수인 경우, 상기 시냅스 신호의 상기 레벨에 대응하는 레벨을 갖는 제 2 신호를 생성하도록 구성되는 억제 회로를 포함하는 생성적 적대 신경망을 구현하기 위한 전자 회로. - 제 9 항에 있어서,
상기 시냅틱 회로는,
상기 제 1 신호의 상기 레벨 및 상기 제 2 신호의 상기 레벨을 누적하고, 상기 누적되는 레벨이 상기 임계 값을 초과하는 경우 뉴럴 스파이크 신호를 생성하도록 구성되는 누적 회로; 및
상기 뉴럴 스파이크 신호에 기초하여, 상기 제 2 스파이크 신호들을 생성하도록 구성되는 발화 회로를 더 포함하는 생성적 적대 신경망을 구현하기 위한 전자 회로. - 제 7 항에 있어서,
상기 제 2 스파이크 신호들을 아날로그 도메인에서 표현되는 상기 제 3 데이터로 변환하도록 구성되는 이미지 변환기를 더 포함하는 생성적 적대 신경망을 구현하기 위한 전자 회로.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020180070466A KR102574887B1 (ko) | 2018-06-19 | 2018-06-19 | 스파이크 뉴럴 네트워크를 사용하는 생성적 적대 신경망을 구현하기 위한 전자 회로 |
US16/445,925 US20190392291A1 (en) | 2018-06-19 | 2019-06-19 | Electronic circuit for implementing generative adversarial network using spike neural network |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020180070466A KR102574887B1 (ko) | 2018-06-19 | 2018-06-19 | 스파이크 뉴럴 네트워크를 사용하는 생성적 적대 신경망을 구현하기 위한 전자 회로 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20190143027A true KR20190143027A (ko) | 2019-12-30 |
KR102574887B1 KR102574887B1 (ko) | 2023-09-07 |
Family
ID=68981953
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020180070466A KR102574887B1 (ko) | 2018-06-19 | 2018-06-19 | 스파이크 뉴럴 네트워크를 사용하는 생성적 적대 신경망을 구현하기 위한 전자 회로 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20190392291A1 (ko) |
KR (1) | KR102574887B1 (ko) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20210088444A (ko) * | 2020-01-06 | 2021-07-14 | 서울대학교산학협력단 | 온칩 학습이 가능한 뉴로모픽 아키텍쳐 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
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 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130151448A1 (en) * | 2011-12-07 | 2013-06-13 | Filip Ponulak | Apparatus and methods for implementing learning for analog and spiking signals in artificial neural networks |
US9881252B2 (en) * | 2014-09-19 | 2018-01-30 | International Business Machines Corporation | Converting digital numeric data to spike event data |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5167006A (en) * | 1989-12-29 | 1992-11-24 | Ricoh Company, Ltd. | Neuron unit, neural network and signal processing method |
US9189730B1 (en) * | 2012-09-20 | 2015-11-17 | Brain Corporation | Modulated stochasticity spiking neuron network controller apparatus and methods |
US20150170027A1 (en) * | 2013-12-13 | 2015-06-18 | Qualcomm Incorporated | Neuronal diversity in spiking neural networks and pattern classification |
US9652711B2 (en) * | 2014-03-12 | 2017-05-16 | Qualcomm Incorporated | Analog signal reconstruction and recognition via sub-threshold modulation |
KR20180048109A (ko) * | 2016-11-02 | 2018-05-10 | 삼성전자주식회사 | 뉴럴 네트워크 변환 방법 및 이를 이용한 인식 장치 |
-
2018
- 2018-06-19 KR KR1020180070466A patent/KR102574887B1/ko active IP Right Grant
-
2019
- 2019-06-19 US US16/445,925 patent/US20190392291A1/en not_active Abandoned
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130151448A1 (en) * | 2011-12-07 | 2013-06-13 | Filip Ponulak | Apparatus and methods for implementing learning for analog and spiking signals in artificial neural networks |
US9881252B2 (en) * | 2014-09-19 | 2018-01-30 | International Business Machines Corporation | Converting digital numeric data to spike event data |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20210088444A (ko) * | 2020-01-06 | 2021-07-14 | 서울대학교산학협력단 | 온칩 학습이 가능한 뉴로모픽 아키텍쳐 |
Also Published As
Publication number | Publication date |
---|---|
KR102574887B1 (ko) | 2023-09-07 |
US20190392291A1 (en) | 2019-12-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102603287B1 (ko) | 뉴로모픽 시스템 및 그것의 동작 방법 | |
US7707128B2 (en) | Parallel pulse signal processing apparatus with pulse signal pulse counting gate, pattern recognition apparatus, and image input apparatus | |
Matsubara et al. | A generalized rotate-and-fire digital spiking neuron model and its on-FPGA learning | |
WO2015112643A1 (en) | Monitoring neural networks with shadow networks | |
Maassa et al. | On the computational power of circuits of spiking neurons | |
KR20170031695A (ko) | 신경망들에서의 콘볼루션 동작의 분해 | |
US9361545B2 (en) | Methods and apparatus for estimating angular movement with a single two dimensional device | |
KR20160010477A (ko) | 스파이킹 네트워크들의 효율적인 하드웨어 구현 | |
US20150212861A1 (en) | Value synchronization across neural processors | |
JPH07262158A (ja) | 時系列学習神経回路素子およびそれを用いた時系列学習神経回路 | |
US10147035B2 (en) | Neural integrated circuit with biological behaviors | |
KR102574887B1 (ko) | 스파이크 뉴럴 네트워크를 사용하는 생성적 적대 신경망을 구현하기 위한 전자 회로 | |
JP2019537792A (ja) | 神経形態学的回路のための記憶学習 | |
WO2015153150A2 (en) | Probabilistic representation of large sequences using spiking neural network | |
US20200302267A1 (en) | Spiking synaptic elements for spiking neural networks | |
Krithivasan et al. | Dynamic spike bundling for energy-efficient spiking neural networks | |
EP3108413A2 (en) | Dynamic spatial target selection | |
KR20160124791A (ko) | 좌표 변환을 위한 위상 코딩 | |
Rossello et al. | Chaos-based mixed signal implementation of spiking neurons | |
CN113614729A (zh) | 算术装置和乘法累加系统 | |
US11507819B2 (en) | Apparatus and method for recognizing information of neuromorphic device with signal extracting circuits for selecting output nodes corresponding to recognition signal having maximum value | |
Plank et al. | Reducing the size of spiking convolutional neural networks by trading time for space | |
Kaynak | Sliding mode algorithm for online learning in analog multilayer feedforward neural networks | |
US20150213356A1 (en) | Method for converting values into spikes | |
US20140365413A1 (en) | Efficient implementation of neural population diversity in neural system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right |