KR20220075025A - 뉴로모픽 컴퓨팅 장치 - Google Patents

뉴로모픽 컴퓨팅 장치 Download PDF

Info

Publication number
KR20220075025A
KR20220075025A KR1020200161286A KR20200161286A KR20220075025A KR 20220075025 A KR20220075025 A KR 20220075025A KR 1020200161286 A KR1020200161286 A KR 1020200161286A KR 20200161286 A KR20200161286 A KR 20200161286A KR 20220075025 A KR20220075025 A KR 20220075025A
Authority
KR
South Korea
Prior art keywords
neuron
excitatory
neuromorphic computing
excitatory neuron
inhibitory
Prior art date
Application number
KR1020200161286A
Other languages
English (en)
Other versions
KR102535635B1 (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 KR1020200161286A priority Critical patent/KR102535635B1/ko
Publication of KR20220075025A publication Critical patent/KR20220075025A/ko
Application granted granted Critical
Publication of KR102535635B1 publication Critical patent/KR102535635B1/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
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

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

Abstract

뉴로모픽 컴퓨팅(Neuromorphic Computing) 장치는 입력 데이터를 소정의 개선된 Spiking Neural Networks (SNN) 알고리즘 모델에 적용하여 결과를 추론하는 뉴로모픽 컴퓨팅 모듈; 및 상기 뉴로모픽 컴퓨팅과 관련된 정보를 저장하는 메모리를 포함하되, 상기 입력 데이터에 대해 뉴런들에 결과에 대응하는 각 라벨이 할당되어 있고, 상기 뉴로모픽 컴퓨팅 모듈은 상기 소정의 개선된 SNN 알고리즘 모델에서 베이즈(Bayesian) 추론에 기초하여, 라벨 각각에 대한 확률을 각각 계산하여 확률이 더 가장 높은 라벨을 결과로서 추론할 수 있다.

Description

뉴로모픽 컴퓨팅 장치{NEUROMORPHIC COMPUTING DEVICE}
본 발명은 뉴로모픽 컴퓨팅 장치에 관한 것으로, 보다 자세하게는 개선된 SNN 알고리즘 모델을 이용하는 뉴로모픽 컴퓨팅 장치에 관한 것이다.
여러 분야에서 인공 신경망을 사용한 딥 러닝이 기존 다른 알고리즘의 성능을 크게 뛰어 넘으면서 큰 관심을 받고 있다. 하지만, 현재 주로 사용되는 딥 러닝 방식은 전력 소모 요구량이 크기 때문에 제한적인 자원을 갖고 있는 모바일 분야에 적용되기 어렵다. 이에 따라 저 전력으로 동작할 수 있는 spiking neural networks (SNN)에 대한 관심이 커지고 있다. SNN은 시냅스 전과 후의 스파이크 시간
관계에 따라 시냅스 가중치가 조절되는 STDP 알고리즘을 사용하여 시냅스 가중치를 학습한다. 따라서 SNN은 학습에 사용하는 스파이크의 수에 따른 STDP 알고리즘과 스파이크 간의 시간적 상호 작용에 따라 다양한 구성으로 학습할 수 있다.
SNN(Spiking Neural Network)이란 3세대 인공지능 신경망으로써, 2세대인 딥 러닝과 달리 뉴런의 생물학적 매커니즘을 모방하는 뇌과학에 기반을 둔 AI 기술이다. 뉴로모픽 하드웨어와 동시에 연구되고 있는 분야이며 기존의 컴퓨터가 아닌 뉴로모픽 하드웨어에 이 SNN을 적용한다면 저전력, 고성능으로 동작할 수 있을 것으로 예상된다.
이러한 SNN의 단점으로는 일반 컴퓨터에 알고리즘을 적용 시 기존 신경망 대비 매우 느리게 연산을 진행한다는 것이다. 따라서 보다 적은 수의 데이터를 학습하더라도 높은 정확도를 가질 수 있게 하는 개선된 SNN 알고리즘 모델이 필요하다. 그러나, 아직까지 이러한 개선된 SNN 알고리즘 모델과 이를 적용하는 뉴로모픽 컴퓨팅 장치에 대해 연구되거나 제안된 바가 거의 없다.
본 발명에서 이루고자 하는 기술적 과제는 뉴로모픽 컴퓨팅 장치를 제공하는 데 있다.
본 발명에서 이루고자 하는 다른 기술적 과제는 뉴로모픽 컴퓨팅을 위한 학습 장치를 제공하는 데 있다.
본 발명에서 이루고자 하는 또 다른 기술적 과제는 뉴로모픽 컴퓨팅 방법을 제공하는 데 있다.
본 발명에서 이루고자 하는 또 다른 기술적 과제는 뉴로모픽 컴퓨팅을 위한 학습 방법을 제공하는 데 있다.
본 발명에서 이루고자 하는 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급하지 않은 또 다른 기술적 과제들은 아래의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
상기의 기술적 과제를 달성하기 위한, 뉴로모픽 컴퓨팅(Neuromorphic Computing) 장치는 입력 데이터를 소정의 개선된 Spiking Neural Networks (SNN) 알고리즘 모델에 적용하여 결과를 추론하는 뉴로모픽 컴퓨팅 모듈; 및 상기 뉴로모픽 컴퓨팅과 관련된 정보를 저장하는 메모리를 포함하되, 상기 입력 데이터에 대해 뉴런들에 결과에 대응하는 각 라벨이 할당되어 있고, 상기 뉴로모픽 컴퓨팅 모듈은 상기 소정의 개선된 SNN 알고리즘 모델에서 베이즈(Bayesian) 추론에 기초하여, 라벨 각각에 대한 확률을 각각 계산하여 확률이 더 가장 높은 라벨을 결과로서 추론하는 것을 특징으로 한다.
상기 라벨 각각에 대한 확률은 라벨 별로 상기 라벨에 할당된 뉴런들에 발화된 스파이스 수와 상기 뉴런들의 수에 기초하여 계산될 수 있다. 상기 입력 데이터는 손 글씨 데이터에 해당할 수 있다.
상기의 다른 기술적 과제를 달성하기 위한, 뉴로모픽 컴퓨팅(Neuromorphic Computing)을 위한 학습 장치는 개선된 Spiking Neural Networks (SNN) 알고리즘 모델을 이용하여 학습하는 뉴로모픽 컴퓨팅 모듈; 및 상기 뉴로모픽 컴퓨팅과 관련된 정보를 저장하는 메모리를 포함하되, 상기 뉴로모픽 컴퓨팅 모듈은, 입력 데이터에 대해 발화된 흥분성 뉴런 레이어의 제 1 흥분성 뉴런은 억제성 뉴런 레이어의 제 1 억제성 뉴런에 스파이크를 전달하고, 상기 흥분성 뉴런 레이어에 상기 스파이크를 전달한 제 1 흥분성 뉴런과 연관된 흥분성 뉴런이 없다면, 상기 억제성 뉴런 레이어에서 상기 제 1 흥분성 뉴런을 제외한 나머지 뉴런에 제 1 억제 가중치를 전달하되, 상기 흥분성 뉴런 레이어에 상기 스파이크를 전달한 제 1 흥분성 뉴런과 연관된 흥분성 뉴런이 있다면, 상기 제 1 흥분성 뉴런과 연관된 제 2 흥분성 뉴런에 대해서는 제 2 억제 가중치를 전달하고, 상기 제 2 흥분성 뉴런을 제외한 나머지 흥분성 뉴런에 대해서는 상기 제 1 억제 가중치를 전달하도록 학습한다. 상기 제 1 흥분성 뉴런과 상기 제 1 흥분성 뉴런과 연관된 제 2 흥분성 뉴런은 동일한 입력 데이터에 대해 함께 발화된 흥분성 뉴런들에 해당하고, 상기 제 2 억제 가중치는 상기 제 1 억제 가중치 보다 억제량이 낮거나 작을 수 있다.
상기 뉴로모픽 컴퓨팅 모듈은, 상기 제 1 흥분성 뉴런과 상기 제 1 흥분성 뉴런과 연관된 제 2 흥분성 뉴런의 억제 가중치가 소정의 임계치보다 크면 상기 제 1 흥분성 뉴런, 상기 제 2 흥분성 뉴런 및 상기 제 1 억제성 뉴런을 와이어링하고(wiring), 상기 제 1 흥분성 뉴런이 다시 발화되어 상기 제 1 억제성 뉴런에 스파이크를 전달한 경우, 상기 제 1 억제성 뉴런은 상기 제 1 흥분성 뉴런과 와이어링된 상기 제 2 흥분성 뉴런에는 억제 가중치가 전달되지 않도록 하는 것을 학습한다. 여기서, 상기 제 1 억제 가중치는 마이너스 50 (-50)에 해당할 수 있고, 상기 제 2 억제 가중치는 마이너스 50 보다 큰 값에 해당할 수 있으며, 상기 소정의 임계치는 마이너스 47 (-47)에 해당할 수 있다.
상기 입력 데이터는 포아송(poisson) 인코딩을 통해 변환되어 LIF 형태로 입력 뉴런 레이어에 입력되고, 상기 입력 데이터는 포아송(Poisson) 인코딩을 통해 변환되어 Leaky Integrate-and-Fire (LIF) 형태의 입력 뉴런 레이어에 입력될 수 있다.
상기 뉴로모픽 컴퓨팅 모듈은 Spike-time dependent plasticity (STDP) 학습을 통해 상기 입력 뉴런 레이어 와 상기 흥분성 뉴런 레이어 사이의 가중치를 학습할 수 있다.
상기의 또 다른 기술적 과제를 달성하기 위한, 뉴로모픽 컴퓨팅(Neuromorphic Computing) 방법은, 상기 뉴로모픽 컴퓨팅과 관련된 정보를 저장하는 단계; 및 입력 데이터를 소정의 개선된 Spiking Neural Networks (SNN) 알고리즘 모델에 적용하여 결과를 추론하는 단계를 포함하되, 상기 결과를 추론 단계는, 상기 입력 데이터에 대해 뉴런들에 결과에 대응하는 각 라벨이 할당되어 있는 상황에서 상기 소정의 개선된 SNN 알고리즘 모델에서 베이즈(Bayesian) 추론에 기초하여, 라벨 각각에 대한 확률을 각각 계산하여 확률이 더 가장 높은 라벨을 결과로서 추론하는 것을 특징으로 한다.
상기 뉴로모픽 컴퓨팅 방법에서, 상기 결과를 추론 단계는 상기 라벨 각각에 대한 확률은 라벨 별로 상기 라벨에 할당된 뉴런들에 발화된 스파이스 수와 상기 뉴런들의 수에 기초하여 계산하는 단계를 더 포함할 수 있다.
상기의 또 다른 기술적 과제를 달성하기 위한, 뉴로모픽 컴퓨팅(Neuromorphic Computing)을 위한 학습 방법은, 입력 데이터에 대해 발화된 흥분성 뉴런 레이어의 제 1 흥분성 뉴런은 억제성 뉴런 레이어의 제 1 억제성 뉴런에 스파이크를 전달하는 단계; 상기 흥분성 뉴런 레이어에 상기 스파이크를 전달한 제 1 흥분성 뉴런과 연관된 흥분성 뉴런이 없다면, 상기 억제성 뉴런 레이어에서 상기 제 1 흥분성 뉴런을 제외한 나머지 뉴런에 제 1 억제 가중치를 전달하는 단계; 및 상기 흥분성 뉴런 레이어에 상기 스파이크를 전달한 제 1 흥분성 뉴런과 연관된 흥분성 뉴런이 있다면, 상기 제 1 흥분성 뉴런과 연관된 제 2 흥분성 뉴런에 대해서는 제 2 억제 가중치를 전달하고, 상기 제 2 흥분성 뉴런을 제외한 나머지 흥분성 뉴런에 대해서는 상기 제 1 억제 가중치를 전달하도록 학습하는 단계를 포함하되, 상기 제 1 흥분성 뉴런과 상기 제 1 흥분성 뉴런과 연관된 제 2 흥분성 뉴런은 동일한 입력 데이터에 대해 함께 발화된 흥분성 뉴런들에 해당하고, 상기 제 2 억제 가중치는 상기 제 1 억제 가중치 보다 억제량이 작을 수 있다.
상기 뉴로모픽 컴퓨팅을 위한 학습 방법은 은, 상기 제 1 흥분성 뉴런과 상기 제 1 흥분성 뉴런과 연관된 제 2 흥분성 뉴런의 억제 가중치가 소정의 임계치보다 크면 상기 제 1 흥분성 뉴런, 상기 제 2 흥분성 뉴런 및 상기 제 1 억제성 뉴런을 와이어링(wiring) 하는 단계; 및 상기 제 1 흥분성 뉴런이 다시 발화되어 상기 제 1 억제성 뉴런에 스파이크를 전달한 경우, 상기 제 1 억제성 뉴런은 상기 제 1 흥분성 뉴런과 와이어링된 상기 제 2 흥분성 뉴런에는 억제 가중치가 전달되지 않도록 학습하는 단계를 더 포함할 수 있다.
뉴로모픽 컴퓨팅 장치는 개선된 SNN 알고리즘을 이용하여 MNIST (손글씨 숫자 데이터세트)에 대해 실험한 결과, 적은 데이터 학습만으로도 (기존의 6천개에서 2천개로 데이터세트를 줄임), 기존의 연구들 보다 더 높은 결과 추론 정확도를 보인다. 이와 같이, 적은 데이터만으로도 빠른 시간 내에 높은 결과 추론 정확도를 가진다.
또한, 다른 AI 모델에 비해 본 발명에서 제안하는 개선된 SNN 알고리즘 모델은 저전력으로 운용 가능하며 소형화가 가능해 카메라와 같은 디바이스와 결합하여 활용도 가능하다는 장점이 있다.
또한, 손 글씨 뿐만 아니라 시공간의 특성을 갖는 실제세계의 감각 데이터에 폭 넓게 적용 가능하다.
본 발명에서 얻을 수 있는 효과는 이상에서 언급한 효과들로 제한되지 않으며, 언급하지 않은 또 다른 효과들은 아래의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
본 발명에 관한 이해를 돕기 위해 상세한 설명의 일부로 포함되는, 첨부 도면은 본 발명에 대한 실시예를 제공하고, 상세한 설명과 함께 본 발명의 기술적 사상을 설명한다.
도 1은 인공신경망의 계층 구조(layer structure)를 예시한 도면이다.
도 2는 심층 신경망의 일 예를 도시한 도면이다.
도 3은 본 발명에 따른 뉴로모픽 컴퓨팅 장치(혹은 뉴로모픽 연산처리 장치)(300)의 기능을 설명하기 위한 블록도를 예시한 도면이다.
도 4는 본 발명에 따른 뉴로모픽 컴퓨팅 장치(300)가 뉴로모픽 컴퓨팅을 위해 사용하는 개선된 SNN 알고리즘 모델을 설명하기 위한 예시적인 도면이다.
도 5는 본 발명에 따른 뉴로모픽 컴퓨팅 장치가 개선된 SNN 알고리즘 모델을 통해 결과를 추론하는 과정을 설명하기 위한 예시도이다.
도 6은 본 발명에 따른 뉴로모픽 컴퓨팅 장치가 개선된 SNN 알고리즘 모델을 학습하는 과정과 학습 후 개선된 SNN 알고리즘 모델을 통해 결과를 추론하는 과정을 설명하기 위한 예시도이다.
이하, 본 발명에 따른 바람직한 실시 형태를 첨부된 도면을 참조하여 상세하게 설명한다. 첨부된 도면과 함께 이하에 개시될 상세한 설명은 본 발명의 예시적인 실시형태를 설명하고자 하는 것이며, 본 발명이 실시될 수 있는 유일한 실시형태를 나타내고자 하는 것이 아니다. 이하의 상세한 설명은 본 발명의 완전한 이해를 제공하기 위해서 구체적 세부사항을 포함한다. 그러나, 당업자는 본 발명이 이러한 구체적 세부사항 없이도 실시될 수 있음을 안다.
몇몇 경우, 본 발명의 개념이 모호해지는 것을 피하기 위하여 공지의 구조 및 장치는 생략되거나, 각 구조 및 장치의 핵심기능을 중심으로 한 블록도 형식으로 도시될 수 있다. 또한, 본 명세서 전체에서 동일한 구성요소에 대해서는 동일한 도면 부호를 사용하여 설명한다.
본 발명을 설명하기에 앞서 인공 지능(AI), 머신 러닝, 딥 러닝에 대해 설명한다. 이러한 세 가지 개념의 관계를 가장 쉽게 파악하는 방법은 세 개의 동심원을 가상하면 된다. 인공 지능이 가장 큰 원이고, 그 다음이 머신 러닝이며, 현재의 인공지능 붐을 주도하는 딥 러닝이 가장 작은 원이라 할 수 있다.
인공 지능이라는 개념은 1956년 미국 다트머스 대학에 있던 존 매카시 교수가 개최한 다트머스 회의에서 처음 등장했으며, 최근 몇 년 사이 폭발적으로 성장하고 있는 중이다. 특히 2015년 이후 신속하고 강력한 병렬 처리 성능을 제공하는 GPU의 도입으로 더욱 가속화되고 있죠. 갈수록 폭발적으로 늘어나고 있는 저장 용량과 이미지, 텍스트, 매핑 데이터 등 모든 영역의 데이터가 범람하게 된 빅데이터 시대의 도래도 이러한 성장세에 큰 영향을 미쳤다.
인공 지능 - 인간의 지능을 기계로 구현
1956년 당시 인공 지능의 선구자들이 꿈꾼 것은 최종적으로 인간의 지능과 유사한 특성을 가진 복잡한 컴퓨터를 제작하는 것이었다. 이렇듯 인간의 감각, 사고력을 지닌 채 인간처럼 생각하는 인공 지능을 ‘일반 AI(General AI)’라고 하지만, 현재의 기술 발전 수준에서 만들 수 있는 인공지능은 ‘좁은 AI(Narrow AI)’의 개념에 포함된다. 좁은 AI는 소셜 미디어의 이미지 분류 서비스나 얼굴 인식 기능 등과 같이 특정 작업을 인간 이상의 능력으로 해낼 수 있는 것이 특징이다.
머신 러닝 - 인공 지능을 구현하는 구체적 접근 방식
머신 러닝은 메일함의 스팸을 자동으로 걸러주는 역할을 합니다. 한편, 머신 러닝은 기본적으로 알고리즘을 이용해 데이터를 분석하고, 분석을 통해 학습하며, 학습한 내용을 기반으로 판단이나 예측을 수행한다. 따라서 궁극적으로는 의사 결정 기준에 대한 구체적인 지침을 소프트웨어에 직접 코딩해 넣는 것이 아닌, 대량의 데이터와 알고리즘을 통해 컴퓨터 그 자체를 ‘학습’시켜 작업 수행 방법을 익히는 것을 목표로 한다. 머신 러닝은 초기 인공 지능 연구자들이 직접 제창한 개념에서 나온 것이며, 알고리즘 방식에는 의사 결정 트리 학습, 귀납 논리 프로그래밍, 클러스터링, 강화 학습, 베이즈(Bayesian) 네트워크 등이 포함된다. 그러나 이 중 어느 것도 최종 목표라 할 수 있는 일반 AI를 달성하진 못했으며, 초기의 머신 러닝 접근 방식으로는 좁은 AI 조차 완성하기 어려운 경우도 많았던 것이 사실이다.
현재 머신 러닝은 컴퓨터 비전 등의 분야에서 큰 성과를 이뤄내고 있으나, 구체적인 지침이 아니더라도 인공 지능을 구현하는 과정 전반에 일정량의 코딩 작업이 수반된다는 한계점에 봉착하였다. 가령 머신 러닝 시스템을 기반으로 정지 표지판의 이미지를 인식할 경우, 개발자는 물체의 시작과 끝 부분을 프로그램으로 식별하는 경계 감지 필터, 물체의 면을 확인하는 형상 감지, ‘S-T-O-P’와 같은 문자를 인식하는 분류기 등을 직접 코딩으로 제작해야 한다. 이처럼 머신 러닝은 ‘코딩’된 분류기로부터 이미지를 인식하고, 알고리즘을 통해 정지 표지판을 ‘학습’하는 방식으로 작동된다.
머신 러닝의 이미지 인식률은 상용화하기에 충분한 성능을 구현하지만, 안개가 끼거나 나무에 가려서 표지판이 잘 보이지 않는 특정 상황에서는 이미지 인식률이 떨어지기도 한다. 최근까지 컴퓨터 비전과 이미지 인식이 인간의 수준으로 올라오지 못한 이유는 이 같은 인식률 문제와 잦은 오류 때문이다.
딥 러닝 - 완전한 머신 러닝을 실현하는 기술
초기 머신 러닝 연구자들이 만들어 낸 또 다른 알고리즘인 인공 신경망(artificial neural network)에 영감을 준 것은 인간의 뇌가 지닌 생물학적 특성, 특히 뉴런의 연결 구조였습니다. 그러나 물리적으로 근접한 어떤 뉴런이든 상호 연결이 가능한 뇌와는 달리, 인공 신경망은 레이어 연결 및 데이터 전파 방향이 일정합니다.
예를 들어, 이미지를 수많은 타일(tile)로 잘라 신경망의 첫 번째 레이어에 입력하면, 그 뉴런들은 데이터를 다음 레이어로 전달하는 과정을 마지막 레이어에서 최종 출력이 생성될 때까지 반복합니다. 그리고 각 뉴런에는 수행하는 작업을 기준으로 입력의 정확도를 나타내는 가중치가 할당되며, 그 후 가중치를 모두 합산해 최종 출력이 결정됩니다. 정지 표지판의 경우, 팔각형 모양, 붉은 색상, 표시 문자, 크기, 움직임 여부 등 그 이미지의 특성이 잘게 잘려 뉴런에서 ‘검사’되며, 신경망의 임무는 이것이 정지 표지판인지 여부를 식별하는 것입니다. 여기서는 충분한 데이터를 바탕으로 가중치에 따라 결과를 예측하는 ‘확률 벡터(probability vector)’가 활용된다.
딥 러닝은 인공신경망에서 발전한 형태의 인공 지능으로, 뇌의 뉴런과 유사한 정보 입출력 계층을 활용해 데이터를 학습합니다. 그러나 기본적인 신경망조차 굉장한 양의 연산을 필요로 하는 탓에 딥 러닝의 상용화는 초기부터 난관에 부딪혔다. 그럼에도 불구하고 연구자들의 연구는 지속됐고, 슈퍼컴퓨터를 기반으로 딥러닝 개념을 증명하는 알고리즘을 병렬화하는데 성공했다. 그리고 병렬 연산에 최적화된 GPU의 등장은 신경망의 연산 속도를 획기적으로 가속하며 진정한 딥러닝 기반 인공 지능의 등장을 불러왔다.
신경망 네트워크는 ‘학습’ 과정에서 수많은 오답을 낼 가능성이 크다. 정지 표지판의 예로 돌아가서, 기상 상태, 밤낮의 변화에 관계 없이 항상 정답을 낼 수 있을 정도로 정밀하게 뉴런 입력의 가중치를 조정하려면 수백, 수천, 어쩌면 수백만 개의 이미지를 학습해야 할지도 모른다. 이 정도 수준의 정확도에 이르러서야 신경망이 정지 표지판을 제대로 학습했다고 볼 수 있다. 2012년, 구글과 스탠퍼드대 앤드류 응(Andrew NG) 교수는 1만6,000개의 컴퓨터로 약 10억 개 이상의 신경망으로 이뤄진 ‘심층신경망(Deep Neural Network)’을 구현했다. 이를 통해 유튜브에서 이미지 1,000만 개를 뽑아 분석한 뒤, 컴퓨터가 사람과 고양이 사진을 분류하도록 하는데 성공했습니다. 컴퓨터가 영상에 나온 고양이의 형태와 생김새를 인식하고 판단하는 과정을 스스로 학습하게 한 것이다.
딥러닝으로 훈련된 시스템의 이미지 인식 능력은 이미 인간을 앞서고 있습니다. 이 밖에도 딥러닝의 영역에는 혈액의 암세포, MRI 스캔에서의 종양 식별 능력 등이 포함된다. 구글의 알파고는 바둑의 기초를 배우고, 자신과 같은 AI를 상대로 반복적으로 대국을 벌이는 과정에서 그 신경망을 더욱 강화해 나갔다. 딥러닝의 등장으로 인해 머신 러닝의 실용성은 강화됐고, 인공 지능의 영역은 확장됐다. 딥러닝은 컴퓨터 시스템을 통해 지원 가능한 모든 방식으로 작업을 세분화한다. 운전자 없는 자동차, 더 나은 예방 의학, 더 정확한 영화 추천 등 딥러닝 기반의 기술들은 우리 일상에서 이미 사용되고 있거나, 실용화를 앞두고 있다. 딥러닝은 공상 과학에서 등장했던 일반 AI를 실현할 수 있는 잠재력을 지닌 인공 지능의 현재이자, 미래로 평가받고 있다.
이하 딥러닝에 대해 좀 더 구체적으로 살펴본다.
딥러닝이란 인간의 신경망(Neural Network) 이론을 이용한 인공신경망(Artificial Neural Network, ANN)의 일종으로, 계층 구조(Layer Structure)로 구성하면서 입력층(Input layer)과 출력층(Output layer) 사이에 하나 이상의 숨겨진 층(Hidden layer)(이하, 중간층이라 지칭함)을 갖고 있는 심층 신경망(Deep Neural Network, DNN)을 지칭하는 기계학습(Machine Learning) 모델 또는 알고리즘의 집합입니다. 간단히 말하면, 딥러닝(Deep Learning)은 심층 계층을 가진 인공신경망이라 할 수 있다.
사람의 뇌는 250억 개의 신경세포로 구성되어 있다고 추정됩니다. 뇌는 신경세포로 이루어지며, 각각의 신경세포(뉴런, Neuron)는 신경망을 구성하는 신경세포 1개를 지칭한다. 신경세포는 1개의 세포체(cell body)와 세포체의 돌기인 1개의 축삭(Axon or nurite) 및 보통 여러 개의 수상돌기(dendrite or protoplasmic process)를 포함하고 있다. 이러한 신경세포들 간의 정보 교환은 시냅스라고 부르는 신경세포 간의 접합부를 통하여 전달됩니다. 신경세포 하나만 떼어 놓고 보면 매우 단순하지만, 이러한 신경세포들이 모이면 인간의 지능을 지닐 수 있다. 수상돌기에서 다른 신경세포들이 보내는 신호를 전달받는 부분(Input)이고 축색돌기는 세포체로부터 아주 길게 뻗어가는 부분으로 다른 신경세포에 신호를 전달하는 부분(Output)이다. 신경세포들 사이의 신호를 전달해주는 축색돌기와 수상돌기 간을 연결해주는 시냅스라는 연결부가 있는데, 신경세포의 신호를 무조건 전달하는 것이 아니라, 신호 강도가 일정한 값(임계치, Threshold) 이상이 되어야 신호를 전달하는 것이다. 즉, 각 시냅스마다 연결강도가 다를 뿐만 아니라 신호를 전달할지 말지를 결정하게 되는 것이다.
인공지능의 한 분야인 인공신경망(ANN)은 생물학(통상 인간)의 뇌 구조(신경망)를 모방하여 모델링한 수학적 모델이다. 즉, 인공신경망은 이러한 생물학적 신경세포의 정보처리 및 전달 과정을 모방하여 구현한 것이다. 인간의 뇌가 문제를 해결하는 방식과 유사하게 구현한 것으로서 신경망은 각 신경세포가 독립적으로 동작하는 하기 때문에 병렬성이 뛰어나다. 또한 많은 연결선에 정보가 분산되어 있어서 몇몇 신경세포에 문제가 발생해도 전체에 큰 영향을 주지 않으므로 일정 수준의 오류에 강하고 주어진 환경에 대한 학습 능력을 갖고 있다.
심층신경망(Deep neural network)는 인공신경망의 후손이라 볼 수 있으며, 기존의 한계를 뛰어넘어서 과거에 수많은 인공 지능 기술이 실패를 겪었던 영역에 성공 사례를 거두고 인공신경망의 최신 버전이다. 생물학적 신경망을 모방하여 인공신경망을 모델링한 내용을 살펴보면 처리 단위(Processing unit) 측면에서는 생물적인 뉴런(neurons)이 노드(nodes)로, 연결성(Connections)은 시냅스(Synapse)가 가중치(weights)로 다음 표 1과 같이 모델링 되었다.
생물학적 신경망 인공신경망
세포체 노드(node)
수상돌기 입력(input)
축삭(Axon) 출력(output)
시냅스 가중치(weight)
도 1은 인공신경망의 계층 구조(layer structure)를 예시한 도면이다.
인간의 생물학적 신경세포가 하나가 아닌 다수가 연결되어 의미 있는 작업을 하듯, 인공신경망의 경우도 개별 뉴런들을 서로 시냅스를 통해 서로 연결시켜서 복수개의 계층(layer)이 서로 연결되어 각 층간의 연결 강도는 가중치로 수정(update) 가능합니다. 이와 같이 다층 구조와 연결강도로 학습과 인지를 위한 분야에 활용됩니다.
각 노드들은 가중치가 있는 링크들로 연결되어 있고, 전체 모델은 가중치를 반복적으로 조정하면서 학습을 한다. 가중치는 장기 기억을 위한 기본 수단으로서 각 노드들의 중요도를 표현한다. 간단히 이야기하면, 인공신경망은 이들 가중치를 초기하고 훈련시킬 데이터 세트로 가중치를 갱신하여 조정하여 전체 모델을 훈련시키는 것입니다. 훈련이 완료된 후에 새로운 입력값이 들어오면 적절한 출력값을 추론해 내게 된다. 인공신경망의 학습원리는 경험의 일반화로부터 지능이 형성되는 과정이라고 보면 되고 bottom-up 방식으로 이루어지게 된다. 도 1에서 중간층이 2개 이상(즉 5~10개)일 경우를 층이 깊어진다고 보고 심층신경망(Deep Neural Network)이라 하며, 이러한 심층신경망을 통해서 이루어진 학습과 추론 모델을 딥 러닝이라고 지칭할 수 있다.
인공신경망은 입력과 출력을 제외하고 하나의 중간계층(통상적으로 은닉계층, 'hidden layer'라 지칭함)을 가지고 있어도 어느 정도의 역할을 수행할 수 있지만, 문제의 복잡도가 커지면 노드의 수 또는 계층의 수를 증가시켜야 한다. 이 중에서 계층의 수를 증가시켜 다층구조 모델을 가져가는 것이 효과적인데, 효율적인 학습이 불가능하고 네트워크를 학습하기 위한 계산량이 많다는 한계로 인해 활용 범위가 제한적이다.
그러나, 위와 같이 기존의 한계점이 극복됨으로써, 인공신경망은 깊은 구조(Deep Structure)를 가져갈 수 있게 되었습니다. 이로 인해 복잡하고 표현력 높은 모델을 구축할 수 있게 되어 음성인식, 얼굴인식, 물체인식, 문자인식 등 다양한 분야에서 획기적인 결과들이 발표되고 있다.
도 2는 심층 신경망의 일 예를 도시한 도면이다.
심층 신경망(Deep Neural Network, DNN)은 입력층(input layer)과 출력층(output layer) 사이에 여러 개의 은닉층(hidden layer)들로 이뤄진 인공신경망(Artificial Neural Network, ANN)이다. 입력층(Input layer)과 출력층(Output layer) 사이에 하나 이상의 은닉계층(Hidden layer)을 갖고 있는 심층 신경망(Deep Neural Network, DNN)을 지칭하는 머신 러닝(기계학습(Machine Learning)) 모델 또는 알고리즘의 집합이다. 신경망의 연결은 입력층에서 은닉계층으로, 은닉계층에서 출력층으로 이루어진다.
심층 신경망은 일반적인 인공신경망과 마찬가지로 복잡한 비선형 관계(non-linear relationship)들을 모델링할 수 있다. 예를 들어, 물체 식별 모델을 위한 심층 신경망 구조에서는 각 물체가 영상의 기본적 요소들의 계층적 구성으로 표현될 수 있다. 이때, 추가 계층들은 점진적으로 모인 하위 계층들의 특징들을 규합시킬 수 있다. 심층 신경망의 이러한 특징은, 비슷하게 수행된 인공신경망에 비해 더 적은 수의 유닛(unit, node)들 만으로도 복잡한 데이터를 모델링할 수 있게 해준다.
이전의 심층 신경망들은 보통 앞먹임 신경망으로 설계되어 왔지만, 최근의 연구들은 심층 학습 구조들을 순환 신경망(Recurrent Neural Network, RNN)에 성공적으로 적용했다. 일례로 언어 모델링(language modeling) 분야에 심층 신경망 구조를 적용한 사례 등이 있다. 합성곱 신경망(Convolutional Neural Network, CNN)의 경우에는 컴퓨터 비전(computer vision) 분야에서 잘 적용되었을 뿐만 아니라, 각각의 성공적인 적용 사례에 대한 문서화 또한 잘 되어 있다. 더욱 최근에는 합성곱 신경망이 자동음성인식(Automatic Speech Recognition, ASR)을 위한 음향 모델링(acoustic modeling) 분야에 적용되었으며, 기존의 모델들 보다 더욱 성공적으로 적용되었다는 평가를 받고 있다. 심층 신경망은 표준 오류역전파 알고리즘으로 학습될 수 있다. 이때, 가중치(weight)들은 아래의 등식을 이용한 확률적 경사 하강법(stochastic gradient descent)을 통하여 갱신될 수 있다.
여러 분야에서 인공 신경망을 사용한 딥 러닝이 기존 다른 알고리즘의 성능을 크게 뛰어 넘으면서 큰 관심을 받고 있다. 하지만, 현재 주로 사용되는 딥 러닝 방식은 전력 소모 요구량이 크기 때문에 제한적인 자원을 갖고 있는 모바일 분야에 적용되기 어렵다. 이에 따라 저 전력으로 동작할 수 있는 spiking neural networks (SNNs)에 대한 관심이 커지고 있다. SNN은 시냅스 전과 후의 스파이크 시간관계에 따라 시냅스 가중치가 조절되는 STDP 알고리즘을 사용하여 시냅스 가중치를 학습한다. 따라서 SNN은 학습에 사용하는 스파이크의 수에 따른 STDP 알고리즘과 스파이크 간의 시간적 상호 작용에 따라 다양한 구성으로 학습할 수 있다.
인공지능 컴퓨팅 칩인 뉴로모픽(Neuromorphic) 칩은 기존의 반도체 칩이 갖는 전력 확보 문제를 해결할 수 있고 데이터 처리 과정을 통합할 수 있어 차세대 가장 핫 이슈 기술로 주목된다. 이는 인간의 뇌를 모방해 기억과 연산을 대량으로 같이 진행할 수 있도록 하는 것이 뉴로모픽(Neuromorphic) 기술의 핵심이다
또한 신경 과학(Neurology)의 최신 인사이트를 적용함으로써, 고전적인 컴퓨터 보다 인간의 뇌와 같은 기능을 하는 칩을 만드는 것이 목적이기도 하다. 또 뉴로모픽 칩은 상황에 따라 조절될 수 있는 스파이크(전기자극)와 시냅스를 사용하여 뇌의 뉴런들이 어떻게 의사소통하고 학습하는지 모델링한다. 또 이 칩들은 학습된 패턴과 연관성을 대응하여 스스로 구성하고 결정을 내리도록 디자인되었다.
뉴로모픽 칩의 구현 목표는 현재, 가장 강력한 컴퓨터보다 훨씬 뛰어난 인간의 뇌만큼 빠르고 효율적으로 학습하게 하는 것이다. 뉴로모픽 컴퓨팅은 진화하는 실제 데이터에 대한 지속적인 학습과 적응이 실시간으로 필요한 다양한 AI 엣지 디바이스 및 애플리케이션에서 개발이 보다 쉬어지고 현장에서 인텔리전스 및 자동화를 혁신적으로 적용될 것으로 예상된다.
뉴로모픽 컴퓨팅
1세대 AI는 규칙을 기반으로 기존의 논리를 모방하여 협소하게 정의된 특정 문제 영역 안에서 합리적 결론을 도출하였다. 예를 들어, 1세대 AI는 프로세스를 모니터링하고 효율성을 개선하는 용도에 적합했다. 현재 2세대 AI는 비디오 프레임 콘텐츠를 분석하는 데 딥 러닝 네트워크를 사용하는 등 인지 및 감지와 밀접한 관련이 있다. 향후 차세대 AI는 해석 및 자율 적응과 같은 인간의 인식에 대응하는 영역으로 확장될 것이다. 이는 맥락과 상식에 대한 이해가 부족한 상황에선 결정론적 시각에 의존하는 신경망 학습 및 추론 기반 AI 솔루션의 소위 취약한 부분을 극복하는 데 매우 중요한 역할을 합니다. 차세대 AI가 일반적인 인간의 활동을 자동화하기 위해서는 새로운 상황과 개념을 해결할 수 있어야 한다.
3세대 AI를 완성시킬 컴퓨터 과학 연구가 진행중인데, 주요 핵심 영역으로는, 신경 구조 및 인간 두뇌의 작동 방식의 모방과 관련된 뉴로모픽 컴퓨팅, 그리고 자연 세계의 불확실성, 모호함, 모순을 처리하기 위한 알고리즘 방식을 구현하는 확률 컴퓨팅이 있다.
뉴로모픽 컴퓨팅 연구의 핵심
뉴로모픽 연구의 핵심 과제는 인간의 유연성에 필적하며, 인간 두뇌의 에너지 효율성 수준에서 구조화되지 않은 자극으로부터 학습하는 기능을 연구하는 것이다. 뉴로모픽 컴퓨팅 시스템의 컴퓨팅 구성 요소는 논리적으로 뉴런과 유사하다. SNN(Spiking Neural Network)은 생물학적 두뇌에 존재하는 자연적인 신경망을 모방하기 위해 이러한 요소를 배열하는 새로운 모델입니다.
SNN의 각 "뉴런"은 서로 독립적으로 실행되며, 이를 통해 네트워크의 다른 뉴런에 펄스 신호를 전송하고 해당 뉴런의 전기 상태를 직접 변경한다. 신호 자체 내 정보와 타이밍을 인코딩하는 SNN은 자극에 응답하여 인공 뉴런 사이의 시냅스를 동적으로 재매핑함으로써 자연적인 학습 프로세스를 시뮬레이션한다.
뉴로모픽 컴퓨팅(neuromorphic computing) 또는 뉴로모픽 공학(neuromorphic engineering)은 뉴런의 형태를 모방한 회로를 만들어 인간의 뇌 기능을 모사하려는 공학 분야이다. 이렇게 만들어진 회로와 칩(chip)을 뉴로모픽 회로(neuromorphic circuit)와 뉴로모픽 칩(neuromorphic chip)이라고 한다. 인공 신경망이 인간의 신경계를 소프트웨어적으로 모사한 것이라면, 뉴로모픽 칩은 하드웨어적으로 신경세포를 모사한 것이다. 즉, 뉴로모픽 칩이란 생물의 신경계(뇌)의 구조를 모방한 컴퓨터 칩을 말한다.
오직 신경망 연산을 위해 필요한 회로만으로 구성된 컴퓨터 칩이기에 CPU와 GPU를 이용해 신경망 연산을 하는 것보다 전력, 면적, 속도 측면에서 수 백 배 이상의 이득을 볼 수 있다.
물론 구글의 TPU와 같은 DNN이나 CNN과 같은 추상화된 인공 신경망 회로 전용의 ASIC 칩도 존재하나, 보통은 이들을 뉴로모픽 칩으로 구분하지는 않는다. TPU의 구현 방식은 일반적인 DSP와 비슷하며, 많이 연구되는 뉴로모픽 칩들은 보통 이보다 개개의 뉴런이 독립적으로 구현되고, 더 높은 데이터 로컬리티와 보통 이에 기반한 backpropagation 외의 학습 알고리즘을 가진다. Spike-time dependent plasticity (STDP)를 구현하는 스파이킹 뉴럴 네트워크(spiking neural network)가 대표적인 예 중 하나이다. 이러한 방식이 일반적인 중앙 제어식의 DSP보다 궁극적으로는 더 나은 scalability와 높은 성능을 가질 수 있다. 알고리즘 및 회로 구현 등의 어려움으로 인해 아직까지 산업적으로 큰 가시적 성과는 없는 상황이다.
기존의 컴퓨터와 달리 인간의 뇌는 수많은 데이터를 처리하더라도 전력은 거의 발생하지 않는 수준이다. 뉴런과 시냅스를 잇는 구조가 병렬로 이루어졌기 때문이다. 시냅스는 일을 하거나 하지 않을 때 이어졌다 끊어짐으로써 에너지를 절약한다. 기존 컴퓨터는 CPU와 메모리 간 데이터를 처리하는 과정에서 많은 전기를 소모하는데, 뉴로모픽 칩은 뇌의 작동 방식을 모방하여 전력 소모를 줄였다.
Spiking Neural Network (SNN) 알고리즘 모델
SNN은 스파이킹 인공 신경망이라고 호칭할 수 있다. 일반적인 인공 신경망과의 가장 큰 차이는 시간 축이 존재한다는 것이다. 뉴런별로 한 번씩 이전 뉴런들의 값을 받아오는 것으로 끝나지 않고, 시간에 따라 뉴런의 값(내부 상태)가 지속적으로 변한다. 이 때, 네트워크가 단조로워지지 않게 하기 위하여, 또한 실제 두뇌를 보다 더 유사하게 모사하기 위하여 만들어진 개념이 임계치(역치)와 스파이크이다. 뉴런의 내부 상태 값이 역치를 넘어서게 될 때에, 연결되어 있는 뉴런들에게 스파이크를 전달하게 되고, 내부 상태는 초기화된다. 스파이크를 전달받은 뉴런은, 시냅스의 가중치에 따라서 내부 상태가 증가하거나 감소하게 된다. 이 스파이크를 전달받고 다음 뉴런에 또 다른 스파이크가 발생할 수도 있는 일이다. 시간의 범위를 정한 다음, 입력은 "입력 뉴런의 스파이크 빈도"로 주고, "출력 뉴런에 나타난 스파이크의 수"로서 출력을 측정하면 된다.
Multi-Spiking Neural Network
여기서 두뇌를 보다 더 정밀하게 모사하는 Multi-Spiking Neural Network라는 모델이 있다. 앞서 소개한 모델은 이와 대비되어 Single-Spiking Neural Network라고도 불린다. 이 모델에서 달라진 점은 같은 쌍의 뉴런 사이를 여러 개의 시냅스가 연결하고 있다는 점이다. 각각의 시냅스는 서로 다른 속도를 가지고 있으며, 이에 따라 스파이크 신호가 전달될 때에 나타나는 지연이 달라지게 된다.
PI-MNIST 문제에 대해서는, 기존의 ANN 모델이 99.06%(Goodfellow et al., 2013)의 정확도를 보였고, SNN 모델은 그에 맞먹는 98.77%(Lee et al., 2016)의 정확도를 보였다. N-MNIST 문제에서는 전통적인 ANN에서의 98.3%(Neil and Liu, 2016; 합성곱 신경망(CNN)을 사용하였다.)에 비해 높은 98.66%(Lee et al., 2016)의 정확도를 보였다.
신경망의 구조 자체는 일반적인 ANN과 같다: 간단하게는 입력 층, 히든 층, 출력 층으로 이루어진다. Spiking CNN 등의 복잡한 구조를 그릴 수도 있겠으나 논외로 한다. 각 이웃한 층의 뉴런들은 모두 연결해 주었다.
이제, 단위 시간("초"를 단위로 한다)을 타임 스탬프의 형태로 끊어서, 1초 전의 신경망의 상태로부터 새로운 상태를 구성하는 작업을 타임 스탬프의 개수(주로 60개)만큼 반복하게 된다. 신경망의 상태는 아래 이야기할 뉴런의 내부 상태라는 단 한 가지 변수만으로 이루어진다. 다른 모든 인자는 모두 학습될 매개변수(hyperparameter)들이거나, 상수들이다.
각 뉴런은 "내부 상태"(V)라는 변수를 하나씩 가지고 있다. 이 값은 기본적으로 0으로 시작하며, 임계값(threshold; Vth) 이하의 실수 값이다. Vth는 뉴런마다 특정한 값으로 정해져 있으며, 학습 대상 중 하나이다. 단, 입력 뉴런은 이 값을 가지지 않고, 발화하기만 한다. 발화 주기는 해당하는 입력 값에 따라 결정하면 된다(주로 포아송 분포를 이용한다). 입력 뉴런이 아닌 뉴런은 V≥Vth(문턱전압)일 때에 발화하고, 발화한 직후에 V가 Vth만큼 감소한다. 생물학에서의 불응기(한 번 발화한 뉴런이 일정 시간 내에 다시 발화하지 못하는 시기)를 모방해, 한 번 발화된 뉴런은 곧 다시 발화되지 않는다.
V값은 전 뉴런들로부터 스파이크(발화)를 전달받지 않는 한, 지속적으로 (절댓값이) 감소한다. 논문에서는 지수함수의 꼴로 V를 감소시키고 있으며, 1초마다 e1τ배 감소하게 된다. 만약 전 층의 뉴런으로부터 시냅스를 통해 스파이크가 전달된다면, V는 시냅스의 가중치 wij만큼 증가하게 된다. w의 부호에 따라 V의 증감 여부가 결정된다.
이와 같이, SNN은 뉴런(neuron)의 막 전위(membrane potential)가 문턱 전압(threshold voltage) 보다 높을 때만 발화 (fire)하고, 발화된 스파이크(spike)를 통해 시냅스 (synapse) 간의 정보를 전달하기 때문에 이벤트 기반(event-driven)으로 동작할 수 있어 다른 인공 신경망에 비해 저 전력 동작이 가능하다. SNN에서는 뉴런과 시냅스가 미분이 안 되기 때문에 경사 강하법과 오차 역전파 방법을 사용하여 SNN을 학습할 수 없다. SNN의 학습 방법으로 가장 널리 알려진 방법이 STDP (Spiking Timing Dependent Plasticity)이다. STDP는 시냅스 전(pre-synaptic) 스파이크와 시냅스 후(post-synaptic) 스파이크의 시간적 관계를 통해 시냅스 가중치(weight)를 학습하는 방법이다. 따라서 STDP 학습에서 고려하는 시냅스 전/후 스파이크의 수와 스파이크 간의 시간적 상호 작용(spike temporal interaction)이 SNN의 학습에 영향을 미치게 된다.
도 3은 본 발명에 따른 뉴로모픽 컴퓨팅 장치(혹은 뉴로모픽 연산처리 장치)(300)의 기능을 설명하기 위한 블록도를 예시한 도면이다.
도 3을 참조하면, 뉴로모픽 컴퓨팅 장치는 뉴로모틱 컴퓨팅 모듈(310) 및 메모리(320)을 포함할 수 있다.
뉴로모틱 컴퓨팅 모듈(310)은 본 발명에 따른 개선된 Spiking Neural Networks (SNN) 알고리즘 모델에 따라 입력 데이터에 대해 연산처리(컴퓨팅)를 하여
결과를 추론하는 등의 기능을 수행한다.
메모리(320)는 뉴로모픽 컴퓨팅 모둘(320)이 결과를 추론하기 위해 필요한 정보, 추론된 결과에 대한 정보 등 뉴로모픽 컴퓨팅을 위해 필요한 다양한 정보를 저장하는 저장한다.
도 4는 본 발명에 따른 뉴로모픽 컴퓨팅 장치(300)가 뉴로모픽 컴퓨팅을 위해 사용하는 개선된 SNN 알고리즘 모델을 설명하기 위한 예시적인 도면이다.
도 4를 참조하면, SNN 구조(SNN 알고리즘 모델)에서는 입력 데이터(예를 들어, MNIST 데이터)가 포아송(Poisson) 인코딩을 통해 LIF 형태의 입력 뉴런 레이어로 입력된다. 도 4에서는 일 예로서 입력 데이터가 손글씨 입력 데이터임을 알 수 있다.
SNN 알고리즘 모델에는 입력 뉴런 레이어(입력 뉴런층), 제 1 뉴런 레이어(흥분성 뉴런 레이어에 해당함) 및 제 2 뉴런 레이어(억제성 뉴런 레이어에 해당함)이 존재한다. 입력 데이터는 포아송(Poission) 인코딩을 통해 변환되어 Leaky Integrate-and-Fire (LIF) 형태의 입력 뉴런 레이어에 입력된다.
포아송 인코딩(Poisson Encoding)에 대해 간략히 알아본다.
포아송 인코딩은 데이터를 활용하기 전에 SNN이 사용할 수 있는 구조로 바꾸어 주는 인코딩 작업이다. SNN은 기존 인공신경망(ANN, DNN)에서 32bit, 64bit 단위의 데이터를 주고받는 것이 아닌 1bit 단위의 스파이크를 주고받기에 전력소모 측면에서 많이 차이가 난다고 볼 수 있다. 이러한 1bit 단위의 스파이크로 바꾸어 주고 시간 축을 새로 부여하기위해 인코딩 작업을 거친다. 예를 들어 28x28 단위의 MNIST 데이터에 350ms라는 시간을 부여하면 350x28x28이라는 3차원 배열이 만들어진다. 이때 기존의 데이터를 기반으로 한 350개의 데이터를 새롭게 만들어야 하기에 포아송(Poisson) 분포를 이용하여 근사값들을 랜덤하게 생성해준다. 임계점을 설정하여 데이터를 0 또는 1로 분류하여 최종적으로 350x28x28이라는 3차원 스파이크 배열이 만들어진다.
도 4에 도시된 바와 같이, 입력 뉴런 레이어에서 Fully-connected로 흥분성 뉴런 레이어(first neuron layer)과 연결되고 이 사이의 가중치를 학습하는 방법이 비지도학습 알고리즘인 Spike-Timing-Dependent Plasticity(STDP) 알고리즘이다. 임계값 들을 넘어 발화된 스파이크들이 흥분성 뉴런 레이어에 누적되고 흥분성 뉴런 레이어(흥분성 뉴런층)은 다시 억제성 뉴런 레이어(second neuron layer)과 1대1로 연결되어, 스파이크 발화 사실을 전달한다. 즉, 스파이크를 전달한다. 억제성 뉴런 레이어는 흥분성 뉴런 레이어와 다대다로 연결되어, 스파이크를 전달한 흥분성 뉴런(예를 들어, 제 1 흥분성 뉴런)을 제외한 모든 흥분성 뉴런에 마이너스 (-) 억제 값(예를 들어, - 50)을 전달할 수 있다. 이를 측면 억제라고 한다. 일련의 과정들이 회차를 거듭할수록 특정 데이터에 대한 반응하는 특정 흥분성 뉴런들이 결정된다.
LIF 모델
Leaky Integrate-and-Fire이라고 부르는 LIF 모델은 SNN에서 사용하는 뉴런 모델로써 실제 뉴런 구조를 모방하여 설계한 모델이다. 뉴런에서는, 수상돌기(Dendrite)를 통해 여러 뉴런에서 입력 받은 스파이크가 문턱 전압을 넘으면 축색돌기(Axon)를 통해 다른 뉴런들로 스파이크를 발화한다. 이와 마찬가지로 LIF 모델에서 역시 Vth라는 문턱 전압을 두고 누적 스파이크 수(막 전위)가 문턱 전압을 넘으면 다른 뉴런들로 스파이크를 발화하고 Vreset로 막전위가 재설정된다. 또한 해당 뉴런은 불응기가 되어 몇 밀리 초 동안 스파이크를 발화할 수 없게 된다. 실제 뉴런들 사이에서 시냅스라는 통로를 통해 스파이크를 전달받기에 LIF 모델에서 시냅스는 가중치와 같은 개념으로 사용된다. 시냅스는 뉴런이라는 신경세포의 부분 중 자극을 세포 밖으로 전도시키는 돌기인 축삭의 끝부분과 신경전달물질이 오가는 다음 뉴런 사이의 틈을 시냅스라고 한다.
도 5는 본 발명에 따른 뉴로모픽 컴퓨팅 장치가 개선된 SNN 알고리즘 모델을 통해 결과를 추론하는 과정을 설명하기 위한 예시도이다.
도 5를 참조하면, 상술한 바와 같이, 뉴로모픽 컴퓨팅 모듈(310)에서 입력 데이터(예를 들어, MNIST 데이터)가 포아송(Poisson) 인코딩을 통해 LIF 형태의 입력 뉴런 레이어로 입력된다. 도 5에서는 일 예로서 입력 데이터가 손글씨 입력 데이터이고 뉴로모픽 컴퓨팅 모듈(310)은 입력된 데이터인 손글씨 데이터를 추론하는 연산처리 또는 컴퓨팅을 수행한다.
Spike-Timing-Dependent Plasticity (STDP)
입력 뉴런 레이어(도 5에서 input layer에 해당)에서 Fully-connected로 흥분성 뉴런 레이어(도 5에서 first layer에 해당)과 연결되고 이 사이의 가중치를 학습하는 방법이 비지도학습 알고리즘인 Spike-Timing-Dependent Plasticity(STDP) 알고리즘이다. STDP는 생물학적 근거를 가지고 있는 학습방법으로 SNN의 대표적인 비지도학습방법이다. 입력 뉴런 레이어와 흥분성 뉴런 레이어 사이는 ANN 구조와 같이 Fully connected 상태로 연결되어 있다. 각각의 연결 선, 시냅스(=가중치)들을 학습시켜주는 방식이 STDP이다. 입력 뉴런들을 통해 시냅스 전 뉴런과 시냅스 후 뉴런을 설정하고 뉴런 간 스파이크 발화 시간 차이를 계산하여 가중치를 조정한다. 발화 시간이 가까울수록 가중치 증감 절대값은 커지고, 전 뉴런과 후 뉴런이 순차적으로 터진다면 증가, 역순이라면 감소한다. 이렇게 설정된 가중치 값들을 통해 입력 뉴런의 관계가 흥분성 뉴런 레이어에 발화된 스파이크 수로서 기록된다.
억제 가중치 업데이트 (Inhibition weight update)
도 5를 참조하면, 억제 가중치 업데이트란 동일한 데이터에 함께 반응하는 뉴런을 가려내기 위해 억제 가중치(혹은 억제 값)을 조절하는 과정이다. 뉴로모픽 컴퓨팅 모듈(310)은 동일한 데이터에 함께 반응하는 뉴런을 가려내기 위해 억제 가중치를 조절할 수 있다.
흥분성 뉴런 레이어(도 5에서 first layer에 해당)에서 억제성 뉴런 레이어(도 5에서 second layer에 해당)는 1대1로 연결되어, 예를 들어, 흥분성 뉴런 A가 억제성 뉴런 A에게 스파이크가 전달한다. 억제성 뉴런 레이어에서 흥분성 뉴런층은 다 대 다로 연결되어, 억제성 뉴런 A는 흥분성 뉴런 A를 제외한 모든 흥분성 뉴런들에게 마이너스 (-) 값(예를 들어, - 50)을 전달한다. 이 과정을 측면 억제(Lateral inhibition)이라고 부른다. 이때 기존 SNN 구조에서는 동일한 억제 값, 즉 억제 가중치를 -50을 주었지만 본 발명에서 제안하는 개선된 SNN 알고리즘 모델에서는 뉴로모픽 컴퓨팅 모듈(310)은 조정된 억제 가중치를 부여한다.
한 데이터에서 (1x350x28x28) 터진 흥분성 뉴런들은 동일한 라벨(혹은 정답 값)을 가려내는 뉴런들이다. 따라서 동일한 입력 값에 대해 지속적으로 함께 발화하는 뉴런들은 서로 간의 억제를 낮추어주고, 반대의 경우는 억제를 높여 준다.
입력된 데이터에 대해서 꾸준히 반응하는 두 가지 흥분성 뉴런이 있을 때 두 뉴런의 반응의 양(혹은 스파이크 수)을 평가하여 기존 반응량에 비해 적게 반응하였다면 서로의 억제량을 높여주고 반대의 경우 억제량을 낮추어 준다.
예를 들어 더 자세히 설명하면 다음과 같다. 흥분성 뉴런 레이어는 억제성 뉴런 레이어는 1대1로 연결되므로, 뉴로모픽 컴퓨팅 모듈(310)에서 입력 데이터에 대해 발화된 흥분성 뉴런 레이어의 제 1 흥분성 뉴런(예를 들어, 흥분성 뉴런 A)은 억제성 뉴런 레이어의 제 1 억제성 뉴런에 스파이크를 전달한다. 뉴로모픽 컴퓨팅 모듈(310)에서 흥분성 뉴런 레이어에 상기 스파이크를 전달한 제 1 흥분성 뉴런(예를 들어, 흥분성 뉴런 A)과 연관된 흥분성 뉴런이 없다면, 억제성 뉴런 레이어에서 상기 제 1 흥분성 뉴런(예를 들어, 흥분성 뉴런 A)을 제외한 나머지 뉴런에 제 1 억제 가중치(예를 들어, - 50)를 전달한다. 여기서 연관된 흥분성 뉴런이란 동일한 데이터에 대해 함께 반응하는 흥분성 뉴런을 말한다. 예를 들어, 동일한 입력 데이터에 대해 흥분성 뉴런 A와 흥분성 뉴런 B가 함께 반응하여 억제성 레이어로 스파이크를 전달하였다면, 흥분성 뉴런 A와 흥분성 뉴런 B는 연관된 흥분성 뉴런에 해당한다. 즉 흥분성 뉴런 A와 흥분성 뉴런 B는 동일한 입력 데이터에 대해 함께 발화된 흥분성 뉴런들에 해당하여 연관된 흥분성 뉴런들이다.
뉴로모픽 컴퓨팅 모듈(310)은 흥분성 뉴런 레이어에 스파이크를 전달한 제 1 흥분성 뉴런과 연관된 흥분성 뉴런이 있다면, 제 1 흥분성 뉴런과 연관된 제 2 흥분성 뉴런에 대해서는 제 2 억제 가중치(-50 보다는 억제량이 작은 가중치로서 예를 들어, - 49)를 전달하고, 제 2 흥분성 뉴런을 제외한 나머지 흥분성 뉴런에 대해서는 제 1 억제 가중치(-50)를 전달하도록 학습할 수 있다. 이와 같이, 제 2 억제 가중치는 제 1 억제 가중치 보다 억제량이 낮거나 혹은 작다고 할 수 있다.
동일한 입력 데이터에 대해 흥분성 뉴런 A와 흥분성 뉴런 B가 함께 반응하는 경우, 이들은 연관된 뉴런이라고 할 수 있다. 뉴로모픽 컴퓨팅 모듈(310)은 억제성 뉴런 레어이에서 억제성 뉴런 A는 흥분성 뉴런 A와 연관된 뉴런인 흥분성 뉴런 B에 조정된 억제 가중치로서 -50 보다 덜 억제되도록 예를 들어 -49를 조정된 억제 가중치로 전달할 수 있다.
이 변별 과정을 빠르게 진행하기위해 억제 가중치인 inhibition weight를 조정하는 것이 억제 가중치 업데이트이고 연관들 뉴런들의 억제 가중치가 소정의 임계값(예를 들어, 마이너스(-) 47)을 넘으면 시냅틱 와이어링(Synaptic wiring)을 통해 일종의 하나의 뉴런으로 와이어링 혹은 묶일 수 있다. 뉴로모픽 컴퓨팅 모듈(310)은 이러한 억제 가중치 업데이트 과정을 반복하여 수행한다.
시냅틱 와이어링(Synaptic wiring)
시냅틱 와이어링은 연관된 뉴런들을 군집화(clustering) 하는 것이다. 상술한 바와 같이, 억제 가중치 업데이트와 연결되는 모델로서 동일한 입력 값에 대해서 흥분성 뉴런들이 꾸준히 동시에 반응함으로써 반응한 흥분성 뉴런들에 대한 억제량(혹은 억제 가중치)이 임계치(-47) 이하로 떨어진다면 반응한 뉴런들을 연결시키는 모델이다.
예를 들어, 입력 데이터에 흥분성 뉴런 A가 발화되어 억제성 뉴런 A로 스파이크를 전달하였다고 가정하자. 그리고, 상기 입력 데이터에 대해 흥분성 뉴런 B도 함께 반응하여 발화되었다고 가정하자. 그리고, 본 발명에 따른 억제 가중치 업데이트와 연결되는 모델로서 억제량(혹은 억제 가중치)가 예를 들어 -47 이하로 떨어진다면 (예를 들어, 억제 가중치가 -46), 흥분성 뉴런 A, 억제성 뉴런 A, 흥분성 뉴런 B를 시냅틱 와이어링할 수 있다.
즉. 뉴로모픽 컴퓨팅 모듈(310)은 한 데이터에 반응한 흥분성 뉴런 A와 흥분성 뉴런 B가 같이 반응한다면 흥분성 뉴런 A - 억제성 뉴런 A - 흥분성 뉴런 B를 하나로 묶어주는 와이어링(wiring)을 수행한다.
이와 같이, 시냅틱 와이어링(혹은 와이어링)이 된 후, 뉴로모픽 컴퓨팅 모듈(310)에서 상기 흥분성 뉴런 A가 발화하여 상기 억제성 뉴런 A에 스파이크를 전달하면, 뉴로모픽 컴퓨팅 모듈(310)은 억제성 뉴런 A가 연관되어 있는 흥분성 뉴런 B에 대해서는 억제 가중치를 전달 혹은 적용하지 않는다.
도 6은 본 발명에 따른 뉴로모픽 컴퓨팅 장치가 개선된 SNN 알고리즘 모델을 학습하는 과정과 학습 후 개선된 SNN 알고리즘 모델을 통해 결과를 추론하는 과정을 설명하기 위한 예시도이다.
도 6에서 도시된 것과 같이, 뉴로모픽 컴퓨팅 모듈(310)에서 1.포아송 인코딩, 2. STDP 학습을 통해 입력 뉴런 레이어와 흥분성 뉴런 레이어 사이의 가중치를 학습, 3. 흥분성 뉴런 레이어에서 뉴런의 흥분 과정, 4. 억제성 뉴런 레이어에서 억제 가중치 조정(업데이트) 과정, 5. 억제 가중치를 흥분성 뉴런 레이어의 해당 뉴런으로 전달하는 과정, 6. 시냅틱 와이어링 하는 과정이 수행되고, 이후 이러한 과정들이 계속 반복되게 수행된다. 뉴로모픽 컴퓨팅 모듈(310)은 이러한 반복 수행을 통하여 학습하게 한다.
뉴로모픽 컴퓨팅 모듈(310)은 학습(Training) 과정을 통해 결과 즉 라벨 (정답 값에 해당함)이 할당된 흥분성 뉴런층이 구성되고 이를 기존의 방식과 다르게 베이시안 추론(Bayesian inference)에 기초하여 종합적으로 결과를 추론한다.
베이즈 추론(Bayesian inference)
베이즈 추론은 뉴런 전체와 총 스파이크 발화 수를 종합적으로 고려한 추론 방식이다. 뉴로모픽 컴퓨팅 모듈(310)은 학습(Training)이 끝나게 되면 각각의 흥분성 뉴런들은 라벨 (정답 값)을 할당 받게 된다. 즉 1 라벨을 할당 받은 흥분성 뉴런 A에 스파이크가 도달하면 해당 데이터가 1 라벨에 가깝다는 증거가 되는 것이다. 기존 SNN 방식에서는 단순히 가장 반응이 큰(maximum spiking occurred) 뉴런만을 고려하여 라벨(정답)을 추론한다. 그러나, 본 발명에서 제안하는 개선된 SNN 알고리즘 모델에서는 뉴로모픽 컴퓨팅 모듈(310)은 각각의 뉴런들에 발화된 스파이크 수들을 종합적으로 고려한다.
다음 수학식 1 내지 3은 베이즈 추론에 관한 수학식이다.
[수학식 1]
Figure pat00001
[수학식 2]
Figure pat00002
[수학식 3]
Figure pat00003
수학식 1 내지 3에서, S는 spikes, C는 클래스 = 라벨, n은 뉴런을 뜻한다.
뉴로모픽 컴퓨팅 모듈(310)은 수학식 1에서 스파이크 수를 기준으로 새롭게 포아송 분포 값을 뽑아낸다. 수학식 2에서 P(c|n)과 곱해지는데 이 p(c|n)이 뉴런에 할당된 클래스 분포(라벨 분포), 라벨 수가 된다.
수학식 2에서, 주어진 뉴런 nx가 특정 클래스 cy에 속할 확률) 베이즈에서 prior 정보로 학습시에 각 뉴런들이 각각의 클래스에 반응한(spike fired) 분포를 보고 P(n/c)를 계산한다. 이후 테스팅에서 likelihood인 1을 곱하여 최종 추론한다).
수학식 3은 뉴런 전체를 라벨별로 합친다는 뜻이다 이를 통해 P(c|s) 스파이크가 주어졌을 때 C 라벨에 대한 확률들이 나오게 된다.
표 2는 본 발명에 따른 뉴로모픽 컴퓨팅 장치가 결론을 추론하는 방법을 설명하기 위해 예시한 표이다. 표 2에서는 설명과 이해를 돕기 위해 뉴런을 5개로, 라벨은 0과 1만 있다고 가정하였다. 뉴런 1, 2는 라벨이 0, 뉴런 3은 라벨 1, 뉴런 4는 라벨 0, 뉴런 5는 라벨 1로 할당(혹은 추정)되어 있다고 가정한다. 그리고, 뉴런 1에서 발화된 스파이크 수가 2회, 뉴런 2에서 발화된 스파이스 수가 4회, 뉴런 3에서 발화된 스파이크 수가 10회, 뉴런 4에서 발화된 스파이크 수가 8, 뉴런 5에서 발화된 스파이크 수가 1이라고 가정하자.
뉴런 1 뉴런 2 뉴런 3 뉴런 4 뉴런 5
L (Label) 0 0 1 0 1
S (Spike) 2 4 10 8 1
표 2를 참조하면, 종래의 방식으로는 총 스파이크수를 비교하고 스파이크 수가 가장 큰 10인 값에 해당하는 뉴런(표 2에서 뉴런 3)을 찾는다. 그리고 그 뉴런(뉴런 3)이 추정한 라벨 값 1이므로, 종래의 뉴로모픽 컴퓨팅 장치는 라벨 값 ‘1’을 최종 추론 결과로 산출/결정하였다.
그러나, 본 발명에 따른 뉴로모픽 컴퓨팅 모듈(310)은 스파이크 수가 가장 큰 값에 해당하는 뉴런 이외에 다른 뉴런들도 고려한다. 즉, 뉴로모픽 컴퓨팅 모듈(310)은 베이즈 추론(Bayesian inference)은 통계적 추론의 한 방법으로, 추론 대상의 사전 확률과 추가적인 정보를 통해 해당 대상의 사후 확률을 추론하는 방법이다. 베이즈 추론은 베이즈 확률론을 기반으로 하며, 이는 추론하는 대상을 확률변수로 보아 그 변수의 확률분포를 추정하는 것을 의미한다.
뉴로모픽 컴퓨팅 모듈(310)은 베이즈 추론에 기초하여 최종 결과를 추론한다. 베이즈 추론에서는 분모는 모두 같으므로 분모를 생략하고 계산해 보면 다음과 같다.
라벨 0에 대한 확률 = (2+4+8) * 3 = 42/분모값(C)
라벨 1에 대한 확률 = (10+1) * 2 = 22/분모값(C)
이와 같이, 라벨 0에 대한 확률이 라벨 1에 대한 확률 보다 더 크므로 뉴로모픽 컴퓨팅 모듈(310)은 ‘0’을 최종 추론 결과로 산출한다. 이와 같이, 종래의 방식과 본 발명에 따른 방식에 의하면 최종 추론 결과가 다르게 된다.
도 6을 참조하면, 학습(Training)후에 테스팅을 수행하는데, 학습 시 STDP 학습에 의해 학습된 가중치가 테스팅에서도 적용된다.
테스팅 시에는, 상기 학습 시에 STDP 학습에 의해 학습된 가중치가 적용된다. 뉴로모픽 컴퓨팅 모듈(310)은 입력 데이터에 대해 상기 도 5 및 도 6과 관련하여 설명한 사항과 베이즈 추론에 기초하여 최종 결과를 추론한다. 이하, 도 5, 6과 관련하여 뉴로모픽 컴퓨팅을 위한 학습 방법과 뉴로모픽 컴퓨팅 방법을 간략히 요약한다.
뉴로모픽 컴퓨팅을 위한 학습 방법
뉴로모픽 컴퓨팅 모듈(310)은 입력 데이터에 대해 발화된 흥분성 뉴런 레이어의 제 1 흥분성 뉴런은 억제성 뉴런 레이어의 제 1 억제성 뉴런에 스파이크를 전달하는 단계를 수행한다. 뉴로모픽 컴퓨팅 모듈(310)은 흥분성 뉴런 레이어에 스파이크를 전달한 제 1 흥분성 뉴런과 연관된 흥분성 뉴런이 없다면, 상기 억제성 뉴런 레이어에서 제 1 흥분성 뉴런을 제외한 나머지 뉴런에 제 1 억제 가중치를 전달하는 단계를 수행한다. 뉴로모픽 컴퓨팅 모듈(310)은 흥분성 뉴런 레이어에 스파이크를 전달한 제 1 흥분성 뉴런과 연관된 흥분성 뉴런이 있다면, 제 1 흥분성 뉴런과 연관된 제 2 흥분성 뉴런에 대해서는 제 2 억제 가중치를 전달하고, 제 2 흥분성 뉴런을 제외한 나머지 흥분성 뉴런에 대해서는 제 1 억제 가중치를 전달하도록 학습하는 단계를 수행한다. 여기서, 제 1 흥분성 뉴런과 제 1 흥분성 뉴런과 연관된 제 2 흥분성 뉴런은 동일한 입력 데이터에 대해 함께 발화된 흥분성 뉴런들에 해당하고, 제 2 억제 가중치는 제 1 억제 가중치 보다 억제량이 낮거나 작다.
뉴로모픽 컴퓨팅 모듈(310)은 제 1 흥분성 뉴런과 상기 제 1 흥분성 뉴런과 연관된 제 2 흥분성 뉴런의 억제 가중치가 소정의 임계치보다 크면 상기 제 1 흥분성 뉴런, 상기 제 2 흥분성 뉴런 및 상기 제 1 억제성 뉴런을 와이어링(wiring) 하는 단계를 수행한다. 그 후, 제 1 흥분성 뉴런이 다시 발화되어 제 1 억제성 뉴런에 스파이크를 전달한 경우, 뉴로모픽 컴퓨팅 모듈(310)은 제 1 억제성 뉴런은 제 1 흥분성 뉴런과 와이어링된 제 2 흥분성 뉴런에는 억제 가중치가 전달되지 않도록 학습하는 단계를 수행한다.
뉴로모픽 컴퓨팅 방법 (테스팅 시)
뉴로모픽 컴퓨팅 모듈(310)은 상기 뉴로모픽 컴퓨팅과 관련된 정보를 저장하는 단계를 수행한다. 뉴로모픽 컴퓨팅 모듈(310)은 입력 데이터를 소정의 개선된 Spiking Neural Networks (SNN) 알고리즘 모델에 적용하여 결과를 추론하는 단계를 수행한다. 이때, 상기 결과를 추론 단계에서, 뉴로모픽 컴퓨팅 모듈(310)은 입력 데이터에 대해 뉴런들에 결과에 대응하는 각 라벨이 할당되어 있는 상황에서 상기 소정의 개선된 SNN 알고리즘 모델에서 베이즈(Bayesian) 추론에 기초하여, 라벨 각각에 대한 확률을 각각 계산하여 확률이 더 가장 높은 라벨을 결과로서 추론할 수 있다.
상기 결과를 추론 단계에서, 뉴로모픽 컴퓨팅 모듈(310)은 상기 라벨 각각에 대한 확률은 라벨 별로 상기 라벨에 할당된 뉴런들에 발화된 스파이스 수와 상기 뉴런들의 수에 기초하여 계산하는 단계를 더 수행할 수 있다.
이상에서 설명한 본 발명에 따른 뉴로모픽 컴퓨팅 장치는 개선된 SNN 알고리즘을 이용하여 MNIST (손글씨 숫자 데이터세트)에 대해 실험한 결과, 적은 데이터 학습만으로도 (기존의 6천개에서 2천개로 데이터세트를 줄임), 기존의 연구들 보다 더 높은 결과 추론 정확도를 보인다. 이와 같이, 적은 데이터만으로도 빠른 시간 내에 높은 결과 추론 정확도를 가진다,
또한, 다른 AI 모델에 비해 본 발명에서 제안하는 개선된 SNN 알고리즘 모델은 저전력으로 운용 가능하며 소형화가 가능해 카메라와 같은 디바이스와 결합하여 활용도 가능하다는 장점이 있다.
또한, 손 글씨 뿐만 아니라 시공간의 특성을 갖는 실제세계의 감각 데이터에 폭 넓게 적용 가능하다.
이상에서 설명된 실시예들은 본 발명의 구성요소들과 특징들이 소정 형태로 결합된 것들이다. 각 구성요소 또는 특징은 별도의 명시적 언급이 없는 한 선택적인 것으로 고려되어야 한다. 각 구성요소 또는 특징은 다른 구성요소나 특징과 결합되지 않은 형태로 실시될 수 있다. 또한, 일부 구성요소들 및/또는 특징들을 결합하여 본 발명의 실시예를 구성하는 것도 가능하다. 본 발명의 실시예들에서 설명되는 동작들의 순서는 변경될 수 있다. 어느 실시예의 일부 구성이나 특징은 다른 실시예에 포함될 수 있고, 또는 다른 실시예의 대응하는 구성 또는 특징과 교체될 수 있다. 특허청구범위에서 명시적인 인용 관계가 있지 않은 청구항들을 결합하여 실시예를 구성하거나 출원 후의 보정에 의해 새로운 청구항으로 포함시킬 수 있음은 자명하다.
본 발명에서 뉴로모픽 컴퓨팅 모듈(310)는 컨트롤러(controller), 마이크로 컨트롤러(microcontroller), 마이크로 프로세서(microprocessor), 마이크로 컴퓨터(microcomputer), 뉴로모픽 칩 등으로도 호칭될 수 있으며 메모리가 뉴로모픽 칩에 내장되어 있을 수도 있다. 한편, 뉴로모픽 컴퓨팅 모듈(310)는 하드웨어(hardware) 또는 펌웨어(firmware), 소프트웨어, 또는 이들의 결합에 의해 구현될 수 있다. 하드웨어를 이용하여 본 발명의 실시예를 구현하는 경우에는, 본 발명을 수행하도록 구성된 ASICs(application specific integrated circuits) 또는 DSPs(digital signal processors), DSPDs(digital signal processing devices), PLDs(programmable logic devices), FPGAs(field programmable gate arrays) 등이 뉴로모픽 컴퓨팅 모듈(310)에 구비될 수 있다.
본 발명은 본 발명의 필수적 특징을 벗어나지 않는 범위에서 다른 특정한 형태로 구체화될 수 있음은 당업자에게 자명하다. 따라서, 상기의 상세한 설명은 모든 면에서 제한적으로 해석되어서는 아니되고 예시적인 것으로 고려되어야 한다. 본 발명의 범위는 첨부된 청구항의 합리적 해석에 의해 결정되어야 하고, 본 발명의 등가적 범위 내에서의 모든 변경은 본 발명의 범위에 포함된다.

Claims (17)

  1. 뉴로모픽 컴퓨팅(Neuromorphic Computing) 장치에 있어서,
    입력 데이터를 소정의 개선된 Spiking Neural Networks (SNN) 알고리즘 모델에 적용하여 결과를 추론하는 뉴로모픽 컴퓨팅 모듈; 및
    상기 뉴로모픽 컴퓨팅과 관련된 정보를 저장하는 메모리를 포함하되,
    상기 입력 데이터에 대해 뉴런들에 결과에 대응하는 각 라벨이 할당되어 있고,
    상기 뉴로모픽 컴퓨팅 모듈은 상기 소정의 개선된 SNN 알고리즘 모델에서 베이즈(Bayesian) 추론에 기초하여, 라벨 각각에 대한 확률을 각각 계산하여 확률이 더 가장 높은 라벨을 결과로서 추론하는 것을 특징으로 하는, 뉴로모픽 컴퓨팅 장치.
  2. 제 1항에 있어서,
    상기 라벨 각각에 대한 확률은 라벨 별로 상기 라벨에 할당된 뉴런들에 발화된 스파이스 수와 상기 뉴런들의 수에 기초하여 계산되는, 뉴로모픽 컴퓨팅 장치.
  3. 제 1항에 있어서,
    상기 입력 데이터는 손 글씨 데이터에 해당하는, 뉴로모픽 컴퓨팅 장치.
  4. 뉴로모픽 컴퓨팅(Neuromorphic Computing)을 위한 학습 장치에 있어서,
    개선된 Spiking Neural Networks (SNN) 알고리즘 모델을 이용하여 학습하는 뉴로모픽 컴퓨팅 모듈; 및
    상기 뉴로모픽 컴퓨팅과 관련된 정보를 저장하는 메모리를 포함하되,
    상기 뉴로모픽 컴퓨팅 모듈은,
    입력 데이터에 대해 발화된 흥분성 뉴런 레이어의 제 1 흥분성 뉴런은 억제성 뉴런 레이어의 제 1 억제성 뉴런에 스파이크를 전달하고,
    상기 흥분성 뉴런 레이어에 상기 스파이크를 전달한 제 1 흥분성 뉴런과 연관된 흥분성 뉴런이 없다면, 상기 억제성 뉴런 레이어에서 상기 제 1 흥분성 뉴런을 제외한 나머지 뉴런에 제 1 억제 가중치를 전달하되,
    상기 흥분성 뉴런 레이어에 상기 스파이크를 전달한 제 1 흥분성 뉴런과 연관된 흥분성 뉴런이 있다면, 상기 제 1 흥분성 뉴런과 연관된 제 2 흥분성 뉴런에 대해서는 제 2 억제 가중치를 전달하고, 상기 제 2 흥분성 뉴런을 제외한 나머지 흥분성 뉴런에 대해서는 상기 제 1 억제 가중치를 전달하도록 학습하며,
    상기 제 1 흥분성 뉴런과 상기 제 1 흥분성 뉴런과 연관된 제 2 흥분성 뉴런은 동일한 입력 데이터에 대해 함께 발화된 흥분성 뉴런들에 해당하고,
    상기 제 2 억제 가중치는 상기 제 1 억제 가중치 보다 억제량이 작은, 뉴로모픽 컴퓨팅을 위한 학습 장치.
  5. 제 4항에 있어서,
    상기 뉴로모픽 컴퓨팅 모듈은,
    상기 제 1 흥분성 뉴런과 상기 제 1 흥분성 뉴런과 연관된 제 2 흥분성 뉴런의 억제 가중치가 소정의 임계치보다 크면 상기 제 1 흥분성 뉴런, 상기 제 2 흥분성 뉴런 및 상기 제 1 억제성 뉴런을 와이어링하고(wiring),
    상기 제 1 흥분성 뉴런이 다시 발화되어 상기 제 1 억제성 뉴런에 스파이크를 전달한 경우, 상기 제 1 억제성 뉴런은 상기 제 1 흥분성 뉴런과 와이어링된 상기 제 2 흥분성 뉴런에는 억제 가중치가 전달되지 않도록 하는 것을 학습하는, 뉴로모픽 컴퓨팅을 위한 학습 장치.
  6. 제 4항에 있어서,
    상기 제 1 억제 가중치는 마이너스 50 (-50)에 해당하는, 뉴로모픽 컴퓨팅을 위한 학습 장치.
  7. 제 4항에 있어서,
    상기 제 2 억제 가중치는 마이너스 50 보다 큰 값에 해당하는, 뉴로모픽 컴퓨팅을 위한 학습 장치.
  8. 제 5항에 있어서,
    상기 소정의 임계치는 마이너스 47 (-47)에 해당하는, 뉴로모픽 컴퓨팅을 위한 학습 장치.
  9. 제 4항에 있어서,
    상기 입력 데이터는 포아송(poisson) 인코딩을 통해 변환되어 LIF 형태로 입력 뉴런 레이어에 입력되는, 뉴로모픽 컴퓨팅을 위한 학습 장치.
  10. 제 4항에 있어서,
    상기 입력 데이터는 포아송(Poisson) 인코딩을 통해 변환되어 Leaky Integrate-and-Fire (LIF) 형태의 입력 뉴런 레이어에 입력되는, 뉴로모픽 컴퓨팅을 위한 학습 장치.
  11. 제 10항에 있어서,
    상기 뉴로모픽 컴퓨팅 모듈은 Spike-time dependent plasticity (STDP) 학습을 통해 상기 입력 뉴런 레이어 와 상기 흥분성 뉴런 레이어 사이의 가중치를 학습하는, 뉴로모픽 컴퓨팅을 위한 학습 장치.
  12. 뉴로모픽 컴퓨팅(Neuromorphic Computing) 방법에 있어서,
    상기 뉴로모픽 컴퓨팅과 관련된 정보를 저장하는 단계; 및
    입력 데이터를 소정의 개선된 Spiking Neural Networks (SNN) 알고리즘 모델에 적용하여 결과를 추론하는 단계를 포함하되,
    상기 결과를 추론 단계는, 상기 입력 데이터에 대해 뉴런들에 결과에 대응하는 각 라벨이 할당되어 있는 상황에서 상기 소정의 개선된 SNN 알고리즘 모델에서 베이즈(Bayesian) 추론에 기초하여, 라벨 각각에 대한 확률을 각각 계산하여 확률이 더 가장 높은 라벨을 결과로서 추론하는 것을 특징으로 하는, 뉴로모픽 컴퓨팅 방법.
  13. 제 12항에 있어서,
    상기 결과를 추론 단계는 상기 라벨 각각에 대한 확률은 라벨 별로 상기 라벨에 할당된 뉴런들에 발화된 스파이스 수와 상기 뉴런들의 수에 기초하여 계산하는 단계를 더 포함하는, 뉴로모픽 컴퓨팅 방법.
  14. 뉴로모픽 컴퓨팅(Neuromorphic Computing)을 위한 학습 방법에 있어서,
    입력 데이터에 대해 발화된 흥분성 뉴런 레이어의 제 1 흥분성 뉴런은 억제성 뉴런 레이어의 제 1 억제성 뉴런에 스파이크를 전달하는 단계;
    상기 흥분성 뉴런 레이어에 상기 스파이크를 전달한 제 1 흥분성 뉴런과 연관된 흥분성 뉴런이 없다면, 상기 억제성 뉴런 레이어에서 상기 제 1 흥분성 뉴런을 제외한 나머지 뉴런에 제 1 억제 가중치를 전달하는 단계; 및
    상기 흥분성 뉴런 레이어에 상기 스파이크를 전달한 제 1 흥분성 뉴런과 연관된 흥분성 뉴런이 있다면, 상기 제 1 흥분성 뉴런과 연관된 제 2 흥분성 뉴런에 대해서는 제 2 억제 가중치를 전달하고, 상기 제 2 흥분성 뉴런을 제외한 나머지 흥분성 뉴런에 대해서는 상기 제 1 억제 가중치를 전달하도록 학습하는 단계를 포함하되,
    상기 제 1 흥분성 뉴런과 상기 제 1 흥분성 뉴런과 연관된 제 2 흥분성 뉴런은 동일한 입력 데이터에 대해 함께 발화된 흥분성 뉴런들에 해당하고,
    상기 제 2 억제 가중치는 상기 제 1 억제 가중치 보다 억제량이 작은, 뉴로모픽 컴퓨팅을 위한 학습 방법.
  15. 제 14항에 있어서,
    상기 제 1 흥분성 뉴런과 상기 제 1 흥분성 뉴런과 연관된 제 2 흥분성 뉴런의 억제 가중치가 소정의 임계치보다 크면 상기 제 1 흥분성 뉴런, 상기 제 2 흥분성 뉴런 및 상기 제 1 억제성 뉴런을 와이어링(wiring) 하는 단계; 및
    상기 제 1 흥분성 뉴런이 다시 발화되어 상기 제 1 억제성 뉴런에 스파이크를 전달한 경우, 상기 제 1 억제성 뉴런은 상기 제 1 흥분성 뉴런과 와이어링된 상기 제 2 흥분성 뉴런에는 억제 가중치가 전달되지 않도록 학습하는 단계를 더 포함하는, 뉴로모픽 컴퓨팅을 위한 학습 방법.
  16. 제 12항 또는 제 13항에 기재된 뉴로모픽 컴퓨팅 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
  17. 제 14항 또는 제 15항에 기재된 뉴로모픽 컴퓨팅을 위한 학습 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
KR1020200161286A 2020-11-26 2020-11-26 뉴로모픽 컴퓨팅 장치 KR102535635B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200161286A KR102535635B1 (ko) 2020-11-26 2020-11-26 뉴로모픽 컴퓨팅 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200161286A KR102535635B1 (ko) 2020-11-26 2020-11-26 뉴로모픽 컴퓨팅 장치

Publications (2)

Publication Number Publication Date
KR20220075025A true KR20220075025A (ko) 2022-06-07
KR102535635B1 KR102535635B1 (ko) 2023-05-23

Family

ID=81986919

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200161286A KR102535635B1 (ko) 2020-11-26 2020-11-26 뉴로모픽 컴퓨팅 장치

Country Status (1)

Country Link
KR (1) KR102535635B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116312810A (zh) * 2023-05-16 2023-06-23 中国石油大学(华东) 基于超图神经场预测人脑兴奋性和抑制性连接的方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160123309A (ko) * 2014-02-21 2016-10-25 퀄컴 인코포레이티드 확률적 스파이킹 베이지안망들에 대한 이벤트-기반 추론 및 학습
KR20200114233A (ko) * 2019-03-28 2020-10-07 연세대학교 산학협력단 사용자 이용 패턴을 신경망 알고리즘으로 분석하여 다음 어플리케이션을 예측하는 모바일 디바이스 메모리 관리 장치 및 방법

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160123309A (ko) * 2014-02-21 2016-10-25 퀄컴 인코포레이티드 확률적 스파이킹 베이지안망들에 대한 이벤트-기반 추론 및 학습
KR20200114233A (ko) * 2019-03-28 2020-10-07 연세대학교 산학협력단 사용자 이용 패턴을 신경망 알고리즘으로 분석하여 다음 어플리케이션을 예측하는 모바일 디바이스 메모리 관리 장치 및 방법

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116312810A (zh) * 2023-05-16 2023-06-23 中国石油大学(华东) 基于超图神经场预测人脑兴奋性和抑制性连接的方法
CN116312810B (zh) * 2023-05-16 2023-08-15 中国石油大学(华东) 基于超图神经场预测人脑兴奋性和抑制性连接的方法

Also Published As

Publication number Publication date
KR102535635B1 (ko) 2023-05-23

Similar Documents

Publication Publication Date Title
Hunsberger et al. Spiking deep networks with LIF neurons
Sporea et al. Supervised learning in multilayer spiking neural networks
Zhang et al. A hybrid particle swarm optimization–back-propagation algorithm for feedforward neural network training
Eluyode et al. Comparative study of biological and artificial neural networks
Tavanaei et al. Training spiking convnets by stdp and gradient descent
Lin et al. Supervised learning in multilayer spiking neural networks with inner products of spike trains
US20170236027A1 (en) Intelligent biomorphic system for pattern recognition with autonomous visual feature extraction
US11157798B2 (en) Intelligent autonomous feature extraction system using two hardware spiking neutral networks with spike timing dependent plasticity
Madhavan et al. Deep learning architectures
Fatahi et al. Towards an spiking deep belief network for face recognition application
Rekabdar et al. An unsupervised approach to learning and early detection of spatio-temporal patterns using spiking neural networks
Chen et al. A Survey of Learning Spiking Neural P Systems and A Novel Instance.
Zilouchian Fundamentals of neural networks
KR102535635B1 (ko) 뉴로모픽 컴퓨팅 장치
Kozlova et al. The use of neural networks for planning the behavior of complex systems
Li et al. Pattern recognition of spiking neural networks based on visual mechanism and supervised synaptic learning
Lan et al. Pc-snn: Supervised learning with local hebbian synaptic plasticity based on predictive coding in spiking neural networks
Thaler Vast topological learning and sentient AGI
Wang et al. Occupancy detection based on spiking neural networks for green building automation systems
Guo et al. Exploration of input patterns for enhancing the performance of liquid state machines
KR102662987B1 (ko) 손톱주름 모세혈관 속 백혈구의 수를 산출하기 위한 뉴로모픽 컴퓨팅 장치
Zhao et al. Efficient learning of NN-MLP based on individual evolutionary algorithm
Fu et al. Spiking neurons with differential evolution algorithm for pattern classification
Woźniak et al. Review of advances in neural networks: Neural design technology stack
CN111582470A (zh) 基于stdp的自适应非监督学习图像识别方法及系统

Legal Events

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