KR102574887B1 - 스파이크 뉴럴 네트워크를 사용하는 생성적 적대 신경망을 구현하기 위한 전자 회로 - Google Patents

스파이크 뉴럴 네트워크를 사용하는 생성적 적대 신경망을 구현하기 위한 전자 회로 Download PDF

Info

Publication number
KR102574887B1
KR102574887B1 KR1020180070466A KR20180070466A KR102574887B1 KR 102574887 B1 KR102574887 B1 KR 102574887B1 KR 1020180070466 A KR1020180070466 A KR 1020180070466A KR 20180070466 A KR20180070466 A KR 20180070466A KR 102574887 B1 KR102574887 B1 KR 102574887B1
Authority
KR
South Korea
Prior art keywords
signal
data
spike
generate
synaptic
Prior art date
Application number
KR1020180070466A
Other languages
English (en)
Other versions
KR20190143027A (ko
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 KR1020180070466A priority Critical patent/KR102574887B1/ko
Priority to US16/445,925 priority patent/US20190392291A1/en
Publication of KR20190143027A publication Critical patent/KR20190143027A/ko
Application granted granted Critical
Publication of KR102574887B1 publication Critical patent/KR102574887B1/ko

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
    • G06N3/049Temporal neural networks, e.g. delay elements, oscillating neurons or pulsed inputs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/047Probabilistic or stochastic networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/048Activation functions
    • 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
    • G06N3/065Analogue means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods

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

스파이크 뉴럴 네트워크를 사용하는 생성적 적대 신경망을 구현하기 위한 전자 회로{ELECTRONIC CIRCUIT FOR IMPLEMENTING GENERATIVE ADVERSARIAL NETWORK USING SPIKE NEURAL NETWORK}
본 발명은 전자 회로에 관한 것으로, 좀 더 상세하게는 생성적 적대 신경망을 구현하기 위한 전자 회로에 관한 것이다.
뉴럴 네트워크(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의 스파이크 분류기로 수신되는 실제 데이터 및 모조 데이터를 보여주는 그래프 이다.
이하, 첨부된 도면들을 참조하여 본 발명의 실시 예들이 상세하게 설명된다. 이하의 설명에서, 상세한 구성들 및 구조들과 같은 세부적인 사항들은 단순히 본 발명의 실시 예들의 전반적인 이해를 돕기 위하여 제공된다. 그러므로 본 발명의 기술적 사상 및 범위로부터의 벗어남 없이 본문에 기재된 실시 예들의 변형들은 통상의 기술자 의해 수행될 수 있다. 더욱이, 명확성 및 간결성을 위하여 잘 알려진 기능들 및 구조들에 대한 설명들은 생략된다. 본 명세서에서 사용된 용어들은 본 발명의 기능들을 고려하여 정의된 용어들이며, 특정 기능에 한정되지 않는다. 용어들의 정의는 상세한 설명에 기재된 사항을 기반으로 결정될 수 있다.
이하의 도면들 또는 상세한 설명에서의 모듈들은 도면에 도시되거나 또는 상세한 설명에 기재된 구성 요소 이외에 다른 것들과 연결될 수 있다. 모듈들 또는 구성 요소들 사이의 연결은 각각 직접적 또는 비직접적일 수 있다. 모듈들 또는 구성 요소들 사이의 연결은 각각 통신에 의한 연결이거나 또는 물리적인 접속일 수 있다.
다르게 정의되지 않는 한, 본문에서 사용되는 기술적 또는 과학적인 의미를 포함하는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 지닌 자에 의해 이해될 수 있는 의미를 갖는다. 일반적으로 사전에서 정의된 용어들은 관련된 기술 분야에서의 맥락적 의미와 동등한 의미를 갖도록 해석되며, 본문에서 명확하게 정의되지 않는 한, 이상적 또는 과도하게 형식적인 의미를 갖도록 해석되지 않는다. 본 명세서에서 “스파이크 신호”는, 짧은 시간 동안 급격하게 변하는 크기를 갖는 펄스 형태의 신호를 의미한다.
도 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: 이미지 분류기

Claims (11)

  1. 제 1 데이터와 관련되는 제 2 데이터에 기초하여 결정되는 개수의 스파이크 신호들을 기준 시간 길이 내에 포함하는 제 1 신호를 생성하도록 구성되는 스파이크 변환기;
    상기 제 1 신호의 상기 스파이크 신호들 중 가중치에 기초하여 선택되는 스파이크 신호들을 포함하는 제 2 신호를 생성하도록 구성되는 이미지 생성기;
    상기 제 2 신호의 상기 스파이크 신호들을 변환하여 아날로그 도메인에서 표현되는 제 3 데이터를 생성하도록 구성되는 이미지 변환기; 및
    상기 제 3 데이터의 값과 상기 제 1 데이터의 값 사이의 차이와 관련되는 결과 데이터를 상기 이미지 생성기로 제공하도록 구성되는 이미지 분류기를 포함하되,
    상기 이미지 생성기는 상기 결과 데이터에 더 기초하여 상기 가중치를 결정하도록 더 구성되고,
    상기 이미지 생성기는:
    상기 제 1 신호의 상기 스파이크 신호들에 기초하여 제 1 뉴럴 스파이크 신호를 생성하도록 구성되는 제 1 시냅틱 뉴런;
    상기 제 1 뉴럴 스파이크 신호 및 제 2 뉴럴 스파이크 신호에 기초하여 결정되는 레벨을 갖는 제 3 신호를 생성하도록 구성되는 시냅스 회로; 및
    상기 제 3 신호에 기초하여 상기 제 2 뉴럴 스파이크 신호를 생성하도록 구성되는 제 2 시냅틱 뉴런을 포함하는 생성적 적대 신경망을 구현하기 위한 전자 회로.
  2. 삭제
  3. 제 1 항에 있어서,
    상기 시냅스 회로는 상기 결과 데이터에 기초하여 결정되는 상기 가중치를 갖고, 상기 가중치에 기초하여 결정되는 크기를 갖는 상기 제 3 신호를 생성하도록 더 구성되는 생성적 적대 신경망을 구현하기 위한 전자 회로.
  4. 제 1 항에 있어서,
    상기 제 2 시냅틱 뉴런은, 상기 제 3 신호의 상기 레벨을 누적하고, 상기 제 3 신호의 상기 누적되는 레벨이 임계 값을 초과하는 경우 상기 제 2 뉴럴 스파이크 신호를 생성하도록 더 구성되는 생성적 적대 신경망을 구현하기 위한 전자 회로.
  5. 제 1 데이터와 관련되는 제 2 데이터에 기초하여 결정되는 개수의 스파이크 신호들을 기준 시간 길이 내에 포함하는 제 1 신호를 생성하도록 구성되는 스파이크 변환기;
    상기 제 1 신호의 상기 스파이크 신호들 중 가중치에 기초하여 선택되는 스파이크 신호들을 포함하는 제 2 신호를 생성하도록 구성되는 이미지 생성기;
    상기 제 2 신호의 상기 스파이크 신호들을 변환하여 아날로그 도메인에서 표현되는 제 3 데이터를 생성하도록 구성되는 이미지 변환기; 및
    상기 제 3 데이터의 값과 상기 제 1 데이터의 값 사이의 차이와 관련되는 결과 데이터를 상기 이미지 생성기로 제공하도록 구성되는 이미지 분류기를 포함하되,
    상기 이미지 생성기는 상기 결과 데이터에 더 기초하여 상기 가중치를 결정하도록 더 구성되고,
    상기 결과 데이터는 상기 제 1 데이터의 상기 값으로부터 상기 제 3 데이터의 상기 값을 빼서 얻어지는 값을 갖는 생성적 적대 신경망을 구현하기 위한 전자 회로.
  6. 제 1 데이터와 관련되는 제 2 데이터에 기초하여 결정되는 개수의 스파이크 신호들을 기준 시간 길이 내에 포함하는 제 1 신호를 생성하도록 구성되는 스파이크 변환기;
    상기 제 1 신호의 상기 스파이크 신호들 중 가중치에 기초하여 선택되는 스파이크 신호들을 포함하는 제 2 신호를 생성하도록 구성되는 이미지 생성기;
    상기 제 2 신호의 상기 스파이크 신호들을 변환하여 아날로그 도메인에서 표현되는 제 3 데이터를 생성하도록 구성되는 이미지 변환기; 및
    상기 제 3 데이터의 값과 상기 제 1 데이터의 값 사이의 차이와 관련되는 결과 데이터를 상기 이미지 생성기로 제공하도록 구성되는 이미지 분류기를 포함하되,
    상기 이미지 생성기는 상기 결과 데이터에 더 기초하여 상기 가중치를 결정하도록 더 구성되고,
    상기 제 1 데이터, 상기 제 2 데이터, 및 상기 제 3 데이터는 이미지와 관련되는 정보를 나타내는 생성적 적대 신경망을 구현하기 위한 전자 회로.
  7. 제 1 데이터와 관련되는 제 2 데이터로부터 변환되는 제 1 스파이크 신호들 중 가중치에 기초하여 선택되는 제 2 스파이크 신호들을 출력하도록 구성되는 이미지 생성기; 및
    상기 제 2 스파이크 신호들로부터 변환되는 제 3 데이터의 값과 상기 제 1 데이터의 값 사이의 차이와 관련되는 결과 데이터를 생성하도록 구성되는 이미지 분류기를 포함하되,
    상기 이미지 생성기는 상기 결과 데이터에 기초하여 결정되는 상기 가중치를 갖고,
    상기 이미지 생성기는, 상기 가중치에 기초하여 생성되는 시냅스 신호의 레벨을 누적하고, 상기 누적되는 레벨이 임계 값을 초과하는 경우 상기 제 2 스파이크 신호들을 출력하도록 구성되는 시냅틱 회로를 포함하는 생성적 적대 신경망을 구현하기 위한 전자 회로.
  8. 삭제
  9. 제 7 항에 있어서,
    상기 시냅틱 회로는,
    상기 시냅스 신호의 상기 레벨이 양수인 경우, 상기 시냅스 신호의 상기 레벨에 대응하는 레벨을 갖는 제 1 신호를 생성하도록 구성되는 강화 회로;
    상기 시냅스 신호의 상기 레벨이 음수인 경우, 상기 시냅스 신호의 상기 레벨에 대응하는 레벨을 갖는 제 2 신호를 생성하도록 구성되는 억제 회로를 포함하는 생성적 적대 신경망을 구현하기 위한 전자 회로.
  10. 제 9 항에 있어서,
    상기 시냅틱 회로는,
    상기 제 1 신호의 상기 레벨 및 상기 제 2 신호의 상기 레벨을 누적하고, 상기 누적되는 레벨이 상기 임계 값을 초과하는 경우 뉴럴 스파이크 신호를 생성하도록 구성되는 누적 회로; 및
    상기 뉴럴 스파이크 신호에 기초하여, 상기 제 2 스파이크 신호들을 생성하도록 구성되는 발화 회로를 더 포함하는 생성적 적대 신경망을 구현하기 위한 전자 회로.
  11. 제 1 데이터와 관련되는 제 2 데이터로부터 변환되는 제 1 스파이크 신호들 중 가중치에 기초하여 선택되는 제 2 스파이크 신호들을 출력하도록 구성되는 이미지 생성기; 및
    상기 제 2 스파이크 신호들로부터 변환되는 제 3 데이터의 값과 상기 제 1 데이터의 값 사이의 차이와 관련되는 결과 데이터를 생성하도록 구성되는 이미지 분류기를 포함하되,
    상기 이미지 생성기는 상기 결과 데이터에 기초하여 결정되는 상기 가중치를 갖고,
    상기 제 2 스파이크 신호들을 아날로그 도메인에서 표현되는 상기 제 3 데이터로 변환하도록 구성되는 이미지 변환기를 더 포함하는 생성적 적대 신경망을 구현하기 위한 전자 회로.
KR1020180070466A 2018-06-19 2018-06-19 스파이크 뉴럴 네트워크를 사용하는 생성적 적대 신경망을 구현하기 위한 전자 회로 KR102574887B1 (ko)

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 KR20190143027A (ko) 2019-12-30
KR102574887B1 true 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)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
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
KR102584868B1 (ko) * 2020-01-06 2023-10-04 서울대학교산학협력단 온칩 학습이 가능한 뉴로모픽 아키텍쳐

Citations (1)

* Cited by examiner, † Cited by third party
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

Family Cites Families (6)

* Cited by examiner, † Cited by third party
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
US9881252B2 (en) * 2014-09-19 2018-01-30 International Business Machines Corporation Converting digital numeric data to spike event data
KR20180048109A (ko) * 2016-11-02 2018-05-10 삼성전자주식회사 뉴럴 네트워크 변환 방법 및 이를 이용한 인식 장치

Patent Citations (1)

* Cited by examiner, † Cited by third party
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

Also Published As

Publication number Publication date
KR20190143027A (ko) 2019-12-30
US20190392291A1 (en) 2019-12-26

Similar Documents

Publication Publication Date Title
KR102603287B1 (ko) 뉴로모픽 시스템 및 그것의 동작 방법
US20070208678A1 (en) Parallel Pulse Signal Processing Apparatus, Pattern Recognition Apparatus, And Image Input Apparatus
WO2015112643A1 (en) Monitoring neural networks with shadow networks
US20150212861A1 (en) Value synchronization across neural processors
KR20170031695A (ko) 신경망들에서의 콘볼루션 동작의 분해
US9361545B2 (en) Methods and apparatus for estimating angular movement with a single two dimensional device
KR102574887B1 (ko) 스파이크 뉴럴 네트워크를 사용하는 생성적 적대 신경망을 구현하기 위한 전자 회로
US10147035B2 (en) Neural integrated circuit with biological behaviors
JPH07262158A (ja) 時系列学習神経回路素子およびそれを用いた時系列学習神経回路
KR20160125967A (ko) 일반적인 뉴런 모델들의 효율적인 구현을 위한 방법 및 장치
CA2921831A1 (en) Methods and apparatus for implementation of group tags for neural models
WO2015153150A2 (en) Probabilistic representation of large sequences using spiking neural network
WO2015148210A2 (en) Plastic synapse management
KR20160124791A (ko) 좌표 변환을 위한 위상 코딩
CN111027457A (zh) 基于门控的独立循环神经网络及骨架动作识别方法
US20150213356A1 (en) Method for converting values into spikes
Han et al. Modeling dynamic system by recurrent neural network with state variables
KR20180070196A (ko) 뉴로모픽 장치의 정보 인식 장치 및 방법
Gedeon Stochastic bidirectional training
Sahni et al. Implementation of boolean and and or logic gates with biologically reasonable time constants in spiking neural networks
US6625588B1 (en) Associative neuron in an artificial neural network
Xu et al. Opto-Electronic Neural Networks Based on Few-Mode Fiber
TW201537475A (zh) 藉由對突觸後電位進行整形來實現的等效延遲
Hayashi et al. A synaptic circuit of a pulse-type hardware neuron model with STDP
CN114943329A (zh) 基于忆阻器的可片上强化学习脉冲gan模型及设计方法

Legal Events

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