KR102662987B1 - 손톱주름 모세혈관 속 백혈구의 수를 산출하기 위한 뉴로모픽 컴퓨팅 장치 - Google Patents

손톱주름 모세혈관 속 백혈구의 수를 산출하기 위한 뉴로모픽 컴퓨팅 장치 Download PDF

Info

Publication number
KR102662987B1
KR102662987B1 KR1020210190464A KR20210190464A KR102662987B1 KR 102662987 B1 KR102662987 B1 KR 102662987B1 KR 1020210190464 A KR1020210190464 A KR 1020210190464A KR 20210190464 A KR20210190464 A KR 20210190464A KR 102662987 B1 KR102662987 B1 KR 102662987B1
Authority
KR
South Korea
Prior art keywords
neuromorphic computing
white blood
blood cells
capillaries
learning
Prior art date
Application number
KR1020210190464A
Other languages
English (en)
Other versions
KR20230100842A (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 KR1020210190464A priority Critical patent/KR102662987B1/ko
Publication of KR20230100842A publication Critical patent/KR20230100842A/ko
Application granted granted Critical
Publication of KR102662987B1 publication Critical patent/KR102662987B1/ko

Links

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
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B5/00Measuring for diagnostic purposes; Identification of persons
    • A61B5/0059Measuring for diagnostic purposes; Identification of persons using light, e.g. diagnosis by transillumination, diascopy, fluorescence
    • A61B5/0077Devices for viewing the surface of the body, e.g. camera, magnifying lens
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B5/00Measuring for diagnostic purposes; Identification of persons
    • A61B5/02Detecting, measuring or recording pulse, heart rate, blood pressure or blood flow; Combined pulse/heart-rate/blood pressure determination; Evaluating a cardiovascular condition not otherwise provided for, e.g. using combinations of techniques provided for in this group with electrocardiography or electroauscultation; Heart catheters for measuring blood pressure
    • A61B5/026Measuring blood flow
    • A61B5/0261Measuring blood flow using optical means, e.g. infrared light
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B5/00Measuring for diagnostic purposes; Identification of persons
    • A61B5/145Measuring characteristics of blood in vivo, e.g. gas concentration, pH value; Measuring characteristics of body fluids or tissues, e.g. interstitial fluid, cerebral tissue
    • A61B5/1455Measuring characteristics of blood in vivo, e.g. gas concentration, pH value; Measuring characteristics of body fluids or tissues, e.g. interstitial fluid, cerebral tissue using optical sensors, e.g. spectral photometrical oximeters
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B5/00Measuring for diagnostic purposes; Identification of persons
    • A61B5/41Detecting, measuring or recording for evaluating the immune or lymphatic systems
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B5/00Measuring for diagnostic purposes; Identification of persons
    • A61B5/72Signal processing specially adapted for physiological signals or for diagnostic purposes
    • A61B5/7271Specific aspects of physiological measurement analysis
    • A61B5/7275Determining trends in physiological measurement data; Predicting development of a medical condition based on physiological measurements, e.g. determining a risk factor
    • 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/042Knowledge-based neural networks; Logical representations of neural 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/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/08Learning methods

Landscapes

  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Molecular Biology (AREA)
  • General Health & Medical Sciences (AREA)
  • Theoretical Computer Science (AREA)
  • Artificial Intelligence (AREA)
  • Public Health (AREA)
  • Veterinary Medicine (AREA)
  • Animal Behavior & Ethology (AREA)
  • Surgery (AREA)
  • Medical Informatics (AREA)
  • Heart & Thoracic Surgery (AREA)
  • Pathology (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Evolutionary Computation (AREA)
  • Computational Linguistics (AREA)
  • Physiology (AREA)
  • Hematology (AREA)
  • Cardiology (AREA)
  • Neurology (AREA)
  • Spectroscopy & Molecular Physics (AREA)
  • Optics & Photonics (AREA)
  • Immunology (AREA)
  • Vascular Medicine (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Psychiatry (AREA)
  • Signal Processing (AREA)
  • Image Analysis (AREA)

Abstract

본 발명에 따른 뉴로모픽 컴퓨팅 학습장치는 DVS 카메라로부터 수신된 단위시간에 대한 손톱주름 모세혈관 속 백혈구의 움직임과 관련된 스파이크 3차원 행렬에 대해 전처리를 수행하고, 상기 전처리되어 출력된 값들을 입력 뉴런층으로 입력하여 소정의 Spiking Neural Networks (SNN) 알고리즘 모델의 학습층 및 추론층을 이용하여 상기 손톱주름 모세혈관속 백혈구의 수를 학습하는 뉴로모픽 컴퓨팅 모듈; 및 상기 학습된 정보를 저장하는 메모리를 포함한다.

Description

손톱주름 모세혈관 속 백혈구의 수를 산출하기 위한 뉴로모픽 컴퓨팅 장치{NEUROMORPHIC COMPUTING DEVICE FOR CALCULATING THE NUMBER OF WHITE BLOOD CELLS IN THE CAPILLARIES OF THE NAIL FOLD}
본 발명은 뉴로모픽 컴퓨팅 장치에 관한 것으로, 보다 자세하게는 손톱주름 모세혈관 속 백혈구의 수를 산출하기 위한 뉴로모픽 컴퓨팅 장치에 관한 것이다.
NFC(NailFold capillaroscopy) 는 손톱주름(혹은 조갑주름) 모세혈관경이라 부르는 광학현미경으로 손톱과 살의 경계선 부분에서 보이는 모세혈관을 관찰하는 도구이다. 손톱주름 모세혈관과 류마티스 질병들의 연관관계가 밝혀진 이후 손톱주름 모세혈관경(nailfold capillaroscopy, NFC)를 이용한 손톱주름 모세혈관에 대한 연구들이 진행되었다. 그러나, 대부분의 연구가 손톱주름 모세혈관의 형태학적 특성에 대한 연구로 모세혈관의 개수와 생김새를 기준으로 류마티스 질환들의 경과정도를 예측하였다.
따라서 현재 NFC를 통해 실행하는 검사들은 검사자가 눈으로 손톱주름 모세혈관의 형태를 확인하거나 개수를 카운팅하고 체크리스트를 작성하는 방식으로 기술이 사용되고 있을 뿐이다.
그러나, 아직까지는 실제 혈류 속 백혈구 수를 측정하는 연구와 제품은 전무한 상황이다. 현실적으로 손톱주름 모세혈관 속 백혈구의 수를 정확히 산출하여 질환을 예측하는것이 효과적이지만 이를 해결하기 위한 수단이 전무한 상황이다. 이에 본 발명에서는 SNN(Spiking Neural Network) 알고리즘 학습 모델을 이용하여 높은 정확도로 실제 혈류 속 백혈수의 수를 산출(백혈구 계수)하는 방법을 제안하고자 한다
본 발명에서 이루고자 하는 기술적 과제는 뉴로모픽 컴퓨팅 학습장치를 제공하는 데 있다.
본 발명에서 이루고자 하는 다른 기술적 과제는 뉴로모픽 컴퓨팅 장치를 제공하는 데 있다.
본 발명에서 이루고자 하는 또 다른 기술적 과제는 뉴로모픽 컴퓨팅 학습방법을 제공하는 데 있다.
본 발명에서 이루고자 하는 또 다른 기술적 과제는 뉴로모픽 컴퓨팅 장치를 제공하는 데 있다.
본 발명에서 이루고자 하는 또 다른 기술적 과제는 뉴로모픽 컴퓨팅 학습방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공하는 데 있다.
본 발명에서 이루고자 하는 또 다른 기술적 과제는 뉴로모픽 컴퓨팅 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공하는 데 있다.
본 발명에서 이루고자 하는 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급하지 않은 또 다른 기술적 과제들은 아래의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
상기의 기술적 과제를 달성하기 위한, 뉴로모픽 컴퓨팅(Neuromorphic Computing) 학습장치는, DVS(Dynamic Vision Sensor) 카메라로부터 수신된 단위시간에 대한 손톱주름 모세혈관 속 백혈구의 움직임과 관련된 스파이크 3차원 행렬에 대해 전처리를 수행하고, 상기 전처리되어 출력된 값들을 입력 뉴런층으로 입력하여 소정의 Spiking Neural Networks (SNN) 알고리즘 모델의 학습층 및 추론층을 이용하여 상기 손톱주름 모세혈관속 백혈구의 수를 학습하는 뉴로모픽 컴퓨팅 모듈; 및 상기 학습된 정보를 저장하는 메모리를 포함할 수 있다.
상기 뉴로모픽 컴퓨팅 모듈은, 상기 학습층에서 흥분성 뉴런층이 입력 뉴런층으로부터 STDP(Spiking Timing Dependent Plasticity) 학습을 수행하고 억제성 뉴런층과 측면억제 학습을 수행한 후, 상기 추론층에서 상기 흥분성 뉴런층으로부터 발화된 스파이크 3차원 행렬에 기초하여 상기 손톱주름 모세혈관 속 백혈구의 수를 예측하되 실제 상기 백혈구의 수와 오차가 있는 경우 지도학습을 통해 학습한다.
상기 뉴로모픽 컴퓨팅 모듈의 상기 전처리는, 상기 DVS 카메라로부터 수신된 상기 스파이크 3차원 행렬에 대해 윈도우로 스파이크의 합을 구하고, 상기 스파이크의 합이 소정 수치 이상인 경우에 슬라이드 윈도우로 탐색하여 상기 손톱주름 모세혈관을 상기 스파이크 3차원 행렬에서 중앙에 배치하는 것을 포함할 수 있다.
뉴로모픽 컴퓨팅 학습장치는 인터페이스부를 더 포함하되, 상기 뉴로모픽 컴퓨팅을 위한 학습 장치는 상기 인터페이스부를 통해 DVS 카메라와 물리적으로 연결되어 있다. DVS 카메라는 손톱주름 모세혈관경(NailFold capillaroscopy, NFC)와 물리적으로 연결되어 NFC로부터 획득한 상기 손톱주름 모세혈관에 대한 영상으로부터 상기 스파이크 3차원 행렬을 출력할 수 있다.
상기의 다른 기술적 과제를 달성하기 위한, 뉴로모픽 컴퓨팅 장치는, DVS(Dynamic Vision Sensor) 카메라로부터 수신된 단위시간에 대한 손톱주름 모세혈관 속 백혈구의 움직임과 관련된 스파이크 3차원 행렬에 대해 전처리를 수행하고, 상기 전처리되어 출력된 값들을 학습된 소정의 Spiking Neural Networks (SNN) 알고리즘 모델의 입력 뉴런층으로 입력하여 상기 손톱주름 모세혈관 속 백혈구의 수를 산출하는 뉴로모픽 컴퓨팅 모듈; 및 상기 산출된 손톱주름 모세혈관 속 백혈구의 수에 대한 정보를 저장하는 메모리를 포함할 수 있다.
상기 뉴로모픽 컴퓨팅 모듈은 상기 단위시간에 대해 산출된 손톱주름 모세혈관 속 백혈구의 수에 기초하여 질환을 예측할 수 있다.
상기 뉴로모픽 컴퓨팅 모듈의 상기 전처리는, 상기 DVS 카메라로부터 수신된 상기 스파이크 3차원 행렬에 대해 윈도우로 스파이크의 합을 구하고, 상기 스파이크의 합이 소정 수치 이상인 경우에 슬라이드 윈도우로 탐색하여 상기 손톱주름 모세혈관을 상기 스파이크 3차원 행렬에서 중앙에 배치하는 것을 포함할 수 있다.
상기 뉴로모픽 컴퓨팅 장치는 인터페이스부를 더 포함하되, 상기 뉴로모픽 컴퓨팅 장치는 상기 인터페이스부를 통해 상기 DVS 카메라와 물리적으로 연결되어 있다.
상기 DVS 카메라는 손톱주름 모세혈관경(NailFold capillaroscopy, NFC)와 물리적으로 연결되어 상기 NFC로부터 획득한 상기 손톱주름 모세혈관에 대한 영상으로부터 상기 스파이크 3차원 행렬을 출력할 수 있다.
상기의 또 다른 기술적 과제를 달성하기 위한, 뉴로모픽 컴퓨팅(Neuromorphic Computing) 학습방법은, DVS(Dynamic Vision Sensor) 카메라로부터 단위시간에 대한 손톱주름 모세혈관 속 백혈구의 움직임과 관련된 스파이크 3차원 행렬에 대한 정보를 수신하는 단계; 상기 손톱주름 모세혈관 속 백혈구의 움직임과 관련된 스파이크 3차원 행렬에 대해 전처리를 수행하는 단계; 상기 전처리되어 출력된 값들을 소정의 Spiking Neural Networks (SNN) 알고리즘 모델의 입력 뉴런층으로 입력하는 단계; 및 상기 소정의 SNN 알고리즘 모델의 학습층 및 추론층을 이용하여 상기 손톱주름 모세혈관속 백혈구의 수를 학습하는 단계를 포함할 수 있다.
상기 학습 단계는, 상기 학습층에서 흥분성 뉴런층이 입력 뉴런층으로부터 STDP 학습을 수행하고 억제성 뉴런층과 측면억제 학습을 수행하는 단계; 및 상기 추론층에서 상기 흥분성 뉴런층으로부터 발화된 스파이크 3차원 행렬에 기초하여 상기 손톱주름 모세혈관 속 백혈구의 수를 예측하되 실제 상기 백혈구의 수와 오차가 있는 경우 지도학습을 통해 학습하는 단계를 포함할 수 있다.
상기 전처리를 수행하는 단계는, 상기 DVS 카메라로부터 수신된 상기 스파이크 3차원 행렬에 대해 윈도우로 스파이크의 합을 구하는 단계; 및 상기 스파이크의 합이 소정 수치 이상인 경우에 슬라이드 윈도우로 탐색하여 상기 손톱주름 모세혈관을 상기 스파이크 3차원 행렬에서 중앙에 배치하는 단계를 것을 포함할 수 있다.
상기의 또 다른 기술적 과제를 달성하기 위한, 뉴로모픽 컴퓨팅 방법은, DVS(Dynamic Vision Sensor) 카메라로부터 단위시간에 대한 손톱주름 모세혈관 속 백혈구의 움직임과 관련된 스파이크 3차원 행렬에 대한 정보를 수신하는 단계; 상기 손톱주름 모세혈관 속 백혈구의 움직임과 관련된 스파이크 3차원 행렬에 대해 전처리를 수행하는 단계; 상기 전처리되어 출력된 값들을 학습된 소정의 Spiking Neural Networks (SNN) 알고리즘 모델의 입력 뉴런층으로 입력하는 단계; 및 상기 학습된 소정의 SNN 알고리즘 모델을 이용하여 상기 손톱주름 모세혈관 속 백혈구의 수를 산출하는 단계를 포함할 수 있다.
상기 전처리를 수행하는 단계는, 상기 DVS 카메라로부터 수신된 상기 스파이크 3차원 행렬에 대해 윈도우로 스파이크의 합을 구하는 단계; 및 상기 스파이크의 합이 소정 수치 이상인 경우에 슬라이드 윈도우로 탐색하여 상기 손톱주름 모세혈관을 상기 스파이크 3차원 행렬에서 중앙에 배치하는 단계를 것을 포함할 수 있다.
본 발명에 따른 뉴로모픽 컴퓨팅 장치는 비침습적으로 손톱주름 모세혈관 속 백혈구의 수를 산출하여 질환을 예측할 수 있다.
본 발명에 따른 뉴로모픽 컴퓨팅 장치는 단말기나 서버 없이 공간 및 데이터 제약이 없으며, 대부분의 웨어러블 디바이스들은 착용자에 대한 재학습이 필요하지만 SNN 알고리즘 모델 기반 비지도학습은 재학습없이 결과가 도출가능하다.
본 발명에 따른 뉴로모픽 컴퓨팅 장치로 손톱주름 모세혈관 속 백혈구의 수를 산출한 후 혈류속도, 혈류량도 함께 예측이 가능하며, 거동이 불편한 검사자에 대해서는 의료진 없이 검사가 가능하고, 간편하고 빠르게 질환을 예측하여 질환예방률을 높일 수 있다.
본 발명에서 얻을 수 있는 효과는 이상에서 언급한 효과들로 제한되지 않으며, 언급하지 않은 또 다른 효과들은 아래의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
본 발명에 관한 이해를 돕기 위해 상세한 설명의 일부로 포함되는, 첨부 도면은 본 발명에 대한 실시예를 제공하고, 상세한 설명과 함께 본 발명의 기술적 사상을 설명한다.
도 1은 인공신경망의 계층 구조(layer structure)를 예시한 도면이다.
도 2는 심층 신경망의 일 예를 도시한 도면이다.
도 3은 다이나믹 비전 센서(DVS)로 촬영한 도로 위 자동차의 영상을 예시한 도면이다.
도 4는 일반 카메라 및 DVS 카메라로 각각 촬영한 손톱주름 모세혈관 및 백혈구의 영상을 예시한 도면이다.
도 5도 DVS 카메라로 손톱주름 모세혈관에서 백혈구의 움직임을 예시한 도면이다.
도 6은 본 발명에 따른 뉴로모픽 장치(600)의 기능을 설명하기 위한 블록도를 예시한 도면이다.
도 7은 본 발명에 따른 뉴로모픽 컴퓨팅 학습장치가 손톱주름 모세혈관 속 백혈구의 수를 산출하기 위한 SNN 알고리즘 모델을 학습하는 과정을 설명하기 위한 예시적인 도면이다.
도 8은 뉴로모픽 컴퓨팅 학습장치/뉴로모픽 컴퓨팅 장치와 NFC, DVS 간의 관계를 도시한 도면이다.
도 9 및 도 10은 본 발명에 따른 학습된 SNN 알고리즘 모델의 입출력 간의 상관관계와 시뮬레이션 결과를 설명하기 위한 도면이다.
이하, 본 발명에 따른 바람직한 실시 형태를 첨부된 도면을 참조하여 상세하게 설명한다. 첨부된 도면과 함께 이하에 개시될 상세한 설명은 본 발명의 예시적인 실시형태를 설명하고자 하는 것이며, 본 발명이 실시될 수 있는 유일한 실시형태를 나타내고자 하는 것이 아니다. 이하의 상세한 설명은 본 발명의 완전한 이해를 제공하기 위해서 구체적 세부사항을 포함한다. 그러나, 당업자는 본 발명이 이러한 구체적 세부사항 없이도 실시될 수 있음을 안다.
몇몇 경우, 본 발명의 개념이 모호해지는 것을 피하기 위하여 공지의 구조 및 장치는 생략되거나, 각 구조 및 장치의 핵심기능을 중심으로 한 블록도 형식으로 도시될 수 있다. 또한, 본 명세서 전체에서 동일한 구성요소에 대해서는 동일한 도면 부호를 사용하여 설명한다.
본 발명은 기존의 모세혈관의 형태학적 특성(즉 모양)을 기준으로 류마티스 질환들의 경과를 예측하는데 많이 사용된 것 이외에 모세혈관에서 백혈구가 지나가는 것이 빛이 반사되어 보인다는 것에 착안하여 NFC에 다이나믹 비전 센서(DVS) 카메라를 연결하여 손톱주름 모세혈관의 백혈구의 움직임을 측정(관찰, 추정)하고, 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의 학습에 영향을 미치게 된다.
다이나믹 비전 센서(DVS)
도 3은 다이나믹 비전 센서(DVS)로 촬영한 도로 위 자동차의 영상을 예시한 도면이다.
DVS는 사람의 홍채가 정보를 받아드리는 방식을 모방한 카메라로 기존 프레임 단위의 카메라와 다르게 움직이는 대상 운동만 비동기적으로 추적하는 이벤트 기반 카메라이다. 움직이는 픽셀의 이벤트만 추적하고 1bit의 스파이크를 내보내기에 전력소모 및 데이터 저장용량에 있어서 기존의 카메라에 비해 매우 큰 이점을 지닌다. 도 3에 도시된 바와 같이, DVS는 초고속 카메라보다 뛰어난 시간분해능을 가지고 있기에 실시간 처리에 적합하여 빠른 판단이 필요한 자율주행자동차의 객체 인식기술에 많이 활용, 연구되고 있다. DVS는 저전력, 저용량, 실시간 처리의 장점들을 지니고 있다.
SNN은 3세대 신경망이라는 별명을 가지고 있으며 뇌의 실제 동작방식을 모방하는데 목적을 둔 머신러닝 기법이다. 기존 인공신경망 기법들과 다르게 1bit의 스파이크만을 주고받기에 저전력, 고효율이라는 장점이 있다. 따라서 DVS와 비슷하게 엣지 디바이스나 웨어러블 디바이스에 적합하여 인텔의 Loihi, IBM의 True North, spinnaker와 같은 뉴로모픽 하드웨어들과 함께 활발히 연구 중이다. SNN과 DVS 모두 스파이크 단위 정보를 주고받기에 추가 변환 과정 없이 DVS의 촬영데이터를 SNN 알고리즘 모델(혹은 SNN 모델)에 입력데이터로 사용할 수 있다.
한편, 현재 시행되는 백혈구 검사방법은 혈액검사, 골수검사로 혈액내 존재하는 백혈구 수치를 기준으로 면역계 질환을 검사한다. 두 검사 모두 바늘을 이용하여 피를 뽑기에 피험자에게 고통과 거부감을 줄 수 있으며 결과가 나오기까지 상당시간이 소요된다는 단점이 있다. 또한 이러한 피검사의 경우 전문적인 의사의 주도하의 진행되어야 하기에 병원에 내원하여 검사를 받아야하는 공간적인 제약 또한 존재한다. 이에 본 발명은 앞서 언급했던 재래식 검사방법들의 단점들을 해결함과 동시에 인공지능 기법을 통해 자동적으로 백혈구 수와 혈류 속도, 혈류 량을 계산하여 검사자들의 의사결정과정을 지원하는 목적을 가지고 있다. 이에, 본 발명은 (1)NFC를 이용하여 비침습적 검사 시스템을 구축하고, (2)DVS와 SNN을 통해 백혈구 수, 혈류 속도, 혈류 량을 계산하는 알고리즘 모델을 제안하며, (3) 뉴로모픽 하드웨어를 이용하여 공간의 제약이 없고 재학습이 필요 없는 저전력 휴대용 디바이스를 설계하고자 한다.
도 4는 일반 카메라 및 DVS 카메라로 각각 촬영한 손톱주름 모세혈관 및 백혈구의 영상을 예시한 도면이고, 도 5도 DVS 카메라로 손톱주름 모세혈관에서 백혈구의 움직임을 예시한 도면이다.
도 4의 (a)는 일반 카메라로 손톱주름 모세혈관 및 백혈구를 촬영한 영상인데, 이 경우 빛이 통과하는 일반 혈액과 달리 백혈구의 경우 빛을 반사하는 것을 알수 있다. 이를 통해 검사자 혹은 머신러닝 모델은 백혈구를 인식할 수 있게 된다.
도 4의 (b)는 DVS 카메라를 NFC에 물리적으로 연결하여 NFC로부터 출력되는 손톱주름 모세혈관 이미지에서 백혈구의 움직임을 촬영한 영상인데, 움직이는 물체, 즉 백혈구의 움직임에 민감하게 반응하여 머신러닝 모델(예, SNN 알고리즘 모델)이 백혈구 수를 더욱 쉽게 계산할 수 있다.
도 5에는 NFC로부터 출력되는 혹은 뽑아낸 손톱주름 모세혈관 이미지에서 관찰한 백혈구의 움직임을 도시하고 있으며, DVS 카메라는 백혈구의 움직임에 집중하기 위해 사용된다. 도 5에 표시된 영역(510)이 주로 백혈구가 움직이는 영역임을 알 수 있다.
도 6은 본 발명에 따른 뉴로모픽 장치(600)의 기능을 설명하기 위한 블록도를 예시한 도면이다.
도 6을 참조하면, 뉴로모픽 장치(600)는 뉴로모픽 컴퓨팅 학습장치 또는 뉴로모픽 컴퓨팅 장치일 수 있다. 뉴로모픽 장치(600)는 뉴로모틱 컴퓨팅 모듈(610), 메모리(620) 및 인터페이스부(630)을 포함할 수 있다.
뉴로모틱 컴퓨팅 모듈(610)은 본 발명에 따른 개선된 Spiking Neural Networks (SNN) 알고리즘 모델에 따라 입력 데이터에 대해 연산처리(컴퓨팅)를 하여 결과를 추론하는 등의 기능을 수행한다. 메모리(620)는 뉴로모픽 컴퓨팅 모둘(320)이 결과를 추론하기 위해 필요한 정보, 추론된 결과에 대한 정보 등 뉴로모픽 컴퓨팅을 위해 필요한 다양한 정보를 저장하는 저장한다. 인터페이스부(630)는 DVS 카메라 등과 물리적으로 연결하기 위해 구비된다.
도 7은 본 발명에 따른 뉴로모픽 컴퓨팅 학습장치가 손톱주름 모세혈관 속 백혈구의 수를 산출하기 위한 SNN 알고리즘 모델을 학습하는 과정을 설명하기 위한 예시적인 도면이고, 도 8은 뉴로모픽 컴퓨팅 학습장치/뉴로모픽 컴퓨팅 장치와 NFC, DVS 간의 관계를 도시한 도면이다.
뉴로모픽 컴퓨팅 학습장치
SNN 알고리즘 모델에는 입력 뉴런층(입력 뉴런 레이어), 제 1 뉴런층(흥분성 뉴런층에 해당함) 및 제 2 뉴런층(억제성 뉴런층에 해당함)이 존재한다. 본 발명에서 입력 데이터인 DVS 카메라로부터 수신한 손톱주름 모세혈관 속 백혈구의 움직임에 대한 스파이크 3차원 행렬에 관한 정보는 포아송(Poission) 인코딩을 거치지 않고 Leaky Integrate-and-Fire (LIF) 형태의 입력 뉴런층에 입력된다. 스파이크 3차원 행렬은 스파이크 비디오(혹은 영상) 등으로 다양하게 호칭될 수 있다. 픽셀이 아니라 스파이크 3차원 비디오 혹은 행렬이다.
도 7에 도시된 바와 같이, 입력 뉴런층에서 Fully-connected로 흥분성 뉴런층과 연결되고 이 사이의 가중치를 학습하는 방법이 비지도학습 알고리즘인 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 모델에서 시냅스는 가중치와 같은 개념으로 사용된다. 시냅스는 뉴런이라는 신경세포의 부분 중 자극을 세포 밖으로 전도시키는 돌기인 축삭의 끝부분과 신경전달물질이 오가는 다음 뉴런 사이의 틈을 시냅스라고 한다.
Spike-Timing-Dependent Plasticity (STDP)
입력 뉴런층에서 Fully-connected로 흥분성 뉴런층과 연결되고 이 사이의 가중치를 학습하는 방법이 비지도학습 알고리즘인 Spike-Timing-Dependent Plasticity(STDP) 알고리즘이다. STDP는 생물학적 근거를 가지고 있는 학습방법으로 SNN의 대표적인 비지도학습방법이다. 입력 뉴런층와 흥분성 뉴런층 사이는 ANN 구조와 같이 Fully connected 상태로 연결되어 있다. 각각의 연결 선, 시냅스(=가중치)들을 학습시켜주는 방식이 STDP이다. 입력 뉴런들을 통해 시냅스 전 뉴런과 시냅스 후 뉴런을 설정하고 뉴런 간 스파이크 발화 시간 차이를 계산하여 가중치를 조정한다. 발화 시간이 가까울수록 가중치 증감 절대값은 커지고, 전 뉴런과 후 뉴런이 순차적으로 터진다면 증가, 역순이라면 감소한다. 이렇게 설정된 가중치 값들을 통해 입력 뉴런의 관계가 흥분성 뉴런층에 발화된 스파이크 수로서 기록된다.
억제 가중치 업데이트 (Inhibition weight update)
도 7을 참조하면, 억제 가중치 업데이트란 동일한 데이터에 함께 반응하는 뉴런을 가려내기 위해 억제 가중치(혹은 억제 값)을 조절하는 과정이다. 뉴로모픽 컴퓨팅 모듈(610)은 동일한 데이터에 함께 반응하는 뉴런을 가려내기 위해 억제 가중치를 조절할 수 있다.
흥분성 뉴런층에서 억제성 뉴런층는 1대1로 연결되어, 예를 들어, 흥분성 뉴런 A가 억제성 뉴런 A에게 스파이크가 전달한다. 억제성 뉴런층에서 흥분성 뉴런층은 다 대 다로 연결되어, 억제성 뉴런 A는 흥분성 뉴런 A를 제외한 모든 흥분성 뉴런들에게 마이너스 (-) 값(예를 들어, - 50)을 전달한다. 이 과정을 측면 억제(Lateral inhibition)이라고 부른다. 이때 기존 SNN 구조에서는 동일한 억제 값, 즉 억제 가중치를 -50을 주었지만 본 발명에서 제안하는 개선된 SNN 알고리즘 모델에서는 뉴로모픽 컴퓨팅 모듈(610)은 조정된 억제 가중치를 부여한다.
한 데이터에서 (1x350x28x28) 터진 흥분성 뉴런들은 동일한 라벨(혹은 정답 값)을 가려내는 뉴런들이다. 따라서 동일한 입력 값에 대해 지속적으로 함께 발화하는 뉴런들은 서로 간의 억제를 낮추어주고, 반대의 경우는 억제를 높여 준다. 입력된 데이터에 대해서 꾸준히 반응하는 두 가지 흥분성 뉴런이 있을 때 두 뉴런의 반응의 양(혹은 스파이크 수)을 평가하여 기존 반응량에 비해 적게 반응하였다면 서로의 억제량을 높여주고 반대의 경우 억제량을 낮추어 준다. 예를 들어 더 자세히 설명하면 다음과 같다. 흥분성 뉴런층는 억제성 뉴런층는 1대1로 연결되므로, 뉴로모픽 컴퓨팅 모듈(610)에서 입력 데이터에 대해 발화된 흥분성 뉴런층의 제 1 흥분성 뉴런(예를 들어, 흥분성 뉴런 A)은 억제성 뉴런층의 제 1 억제성 뉴런에 스파이크를 전달한다. 뉴로모픽 컴퓨팅 모듈(610)에서 흥분성 뉴런층에 상기 스파이크를 전달한 제 1 흥분성 뉴런(예를 들어, 흥분성 뉴런 A)과 연관된 흥분성 뉴런이 없다면, 억제성 뉴런층에서 상기 제 1 흥분성 뉴런(예를 들어, 흥분성 뉴런 A)을 제외한 나머지 뉴런에 제 1 억제 가중치(예를 들어, - 50)를 전달한다. 여기서 연관된 흥분성 뉴런이란 동일한 데이터에 대해 함께 반응하는 흥분성 뉴런을 말한다. 예를 들어, 동일한 입력 데이터에 대해 흥분성 뉴런 A와 흥분성 뉴런 B가 함께 반응하여 억제성 레이어로 스파이크를 전달하였다면, 흥분성 뉴런 A와 흥분성 뉴런 B는 연관된 흥분성 뉴런에 해당한다. 즉 흥분성 뉴런 A와 흥분성 뉴런 B는 동일한 입력 데이터에 대해 함께 발화된 흥분성 뉴런들에 해당하여 연관된 흥분성 뉴런들이다.
뉴로모픽 컴퓨팅 모듈(610)은 흥분성 뉴런층에 스파이크를 전달한 제 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를 시냅틱 와이어링할 수 있다.
즉. 뉴로모픽 컴퓨팅 모듈(610)은 한 데이터에 반응한 흥분성 뉴런 A와 흥분성 뉴런 B가 같이 반응한다면 흥분성 뉴런 A - 억제성 뉴런 A - 흥분성 뉴런 B를 하나로 묶어주는 와이어링(wiring)을 수행한다.
이와 같이, 시냅틱 와이어링(혹은 와이어링)이 된 후, 뉴로모픽 컴퓨팅 모듈(610)에서 흥분성 뉴런 A가 발화하여 억제성 뉴런 A에 스파이크를 전달하면, 뉴로모픽 컴퓨팅 모듈(610)은 억제성 뉴런 A가 연관되어 있는 흥분성 뉴런 B에 대해서는 억제 가중치를 전달 혹은 적용하지 않는다.
SNN 알고리즘 모델은 입력을 처리하는 인코더, 학습층, 추론층으로 나눌 수 있다. 뉴로모픽 컴퓨팅 모듈(610)은 SNN 알고리즘 모델에서의 인코더는 단위시간 동안(예를 들어, DVS 카메라를 통해 촬영된 손톱주름 모세혈관 속 백혈구의 움직임에 대한 3차원 스파이크들 중 잡음에 해당되는 스파이크를 제거하는 등의 전처리를 수행하고 전처리된 스파이크 데이터 등을 입력 뉴런층으로 입력시켜 학습층으로 보낸다. 전처리되어 출력된 값들을 입력 뉴런층으로 입력하여 소정의 Spiking Neural Networks (SNN) 알고리즘 모델의 학습층 및 추론층을 이용하여 상기 손톱주름 모세혈관속 백혈구의 수를 학습한다. 메모리(620)는 학습된 정보 등를 저장할 수 있다.
뉴로모픽 컴퓨팅 모듈(610)의 전처리 과정은, DVS 카메라로부터 수신된 상기 스파이크 3차원 행렬에 대해 윈도우로 스파이크의 합을 구하고, 스파이크의 합이 소정 수치 이상인 경우에 슬라이드 윈도우로 탐색하여 상기 손톱주름 모세혈관을 스파이크 3차원 행렬에서 중앙에 배치하는 것을 포함할 수 있다. 이러한 전처리 과정을 통해 백혈구 수의 예측의 정확도를 높일 수 있다.
뉴로모픽 컴퓨팅 모듈(610)은 학습층에서 흥분성, 억제성 뉴런층을 가진 중층구조로 인풋 뉴런과 흥분성 뉴런 사이의 가중치를 조절하는 spike-timing-dependent-plasticity(STDP) 학습과 억제성 뉴런이 흥분성 뉴런에게 가하는 측면 억제 학습을 진행한다. 일련의 학습과정 모두 비지도학습으로 정답 값 없이 진행되기에 자연스럽게 각 뉴런들이 군집을 형성하게 된다. 이와 같이, 뉴로모픽 컴퓨팅 모듈(610)은 학습층에서 흥분성 뉴런층이 입력 뉴런층으로부터 STDP 학습을 수행하고 억제성 뉴런층과 측면억제 학습을 수행한다.
이후, 뉴로모픽 컴퓨팅 모듈(610)는 추론층에서 입력 데이터에 따라 발화된 스파이크와 가중치를 곱해 하나의 수치를 결정한다. 뉴로모픽 컴퓨팅 모듈(610)은 예측한 수치와 실제 정답 값의 오차를 계산하여 추론층의 가중치들을 학습한다. 뉴로모픽 컴퓨팅 모듈(610)는 추론층에서 흥분성 뉴런층으로부터 발화된 스파이크 3차원 행렬에 기초하여 손톱주름 모세혈관 속 백혈구의 수를 예측하되 실제 상기 백혈구의 수와 오차가 있는 경우 지도학습을 통해 학습한다. 최종적으로 SNN 알고리즘 모델로 학습된 가중치들이 뉴로모픽 컴퓨팅 장치(600)에 임베딩될 수 있다.
뉴로모픽 컴퓨팅 장치
뉴로모픽 컴퓨팅 장치(600)는 학습된 가중치와 SNN 추론 프로세스를 담은 뉴로모픽 컴퓨팅 모듈(610)을 포함하고 있고, 도 8에 도시된 바와 같이, 뉴로모픽 하드웨어, 즉, 뉴로모픽 컴퓨팅 장치(600)는 인터페이스부(630)를 통해 손톱주름 속 모세혈관과 백혈구를 관찰하는 NFC와 백혈구의 움직임을 포착하는 DVS 카메라와 물리적으로 연결될 수 있다. 따라서 비침습적으로 피험자의 손톱주름을 NFC로 빛을 쬐어 반사된 모세혈관을 NFC에 연결된 DVS 카메라로 실시간으로 촬영하고 백혈구의 움직임을 측정한다. DVS 카메라가 실시간으로 손톱주름 속 모세혈관의 백혈구의 움직임을 측정하여, 스파이크 행렬(예를 들어, 스파이크 3차원 행렬(가로, 세로, 시간))를 출력한다.
DVS의 출력인 스파이크 3차원 행렬이 SNN 알고리즘 모델의 입력 데이터가 되어 입력 뉴런층에 입력되고 뉴로모픽 컴퓨팅 장치(600)에서 사용된다. 뉴로모픽 컴퓨팅 모듈(610)은 DVS 카메라로부터 수신한 손톱주름 속 모세혈관의 백혈구의 움직임에 대한 스파이크 3차원 행렬에 대한 정보를 전처리한다. 이때, 전처리는 상기 DVS 카메라로부터 수신된 상기 스파이크 3차원 행렬에 대해 윈도우로 스파이크의 합을 구하고, 상기 스파이크의 합이 소정 수치 이상인 경우에 슬라이드 윈도우로 탐색하여 상기 손톱주름 모세혈관을 상기 스파이크 3차원 행렬에서 중앙에 배치하는 것을 포함할 수 있다.
뉴로모픽 컴퓨팅 모듈(610)은 전처리된 출력값들을 혹은 전처리된 스파이크 데이터들을 입력 뉴런층으로 보낸다. 상술한 바와 같이, SNN 알고리즘 모델에서 인코더와 흥분성 뉴런층 간에 랜덤 연결 및 STDP 학습이 수행되고, 학습층은 흥분성 뉴런층 발화에 따른 억제성 뉴런의 측면 억제 학습이 수행되어 있다. 추론층은 흥분성 뉴런층의 스파이크 출력 행렬에 기초하여 손톱주름 모세혈관의 백혈구 수를 예측(혹은 산출)한다. 예측(혹은 산출) 수치와 실제 수치간의 오차는 지도학습으로 학습되어 있다,
뉴로모픽 컴퓨팅 장치(600)는 이와 같이 학습된 SNN 알고리즘 모델을 이용하여 손톱주름 모세혈관의 백혈구 수를 계산할 수 있다. 이러한 학습 후 테스팅을수행하는 경우 학습 시 STDP 학습에 의해 학습된 가중치가 테스팅에서도 적용된다. 뉴로모픽 컴퓨팅 모듈(610)은 산출된 손톱주름 모세혈관 속의 백혈구의 수 이외에NFC의 배율, 손톱주름 모세혈관의 직경, 손톱주름 모세혈관의 길이 중 하나 이상을 더 고려하여 손톱주름 모세혈관 속의 백혈구의 속도를 측정할 수 있고, 이어서 혈류 속도, 시간당 혈류량까지 산출할 수 있다.
메모리(620)는 산출된 손톱주름 모세혈관 속 백혈구의 수, 손톱주름 모세혈관 속의 백혈구의 속도를 측정할 수 있고, 이어서 혈류 속도, 시간당 혈류량 등에 대한 정보를 저장할 수 있다.
도 9 및 도 10은 본 발명에 따른 학습된 SNN 알고리즘 모델의 입출력 간의 상관관계와 시뮬레이션 결과를 설명하기 위한 도면이다.
도 9를 참조하면, 학습된 SNN 알고리즘 모델의 입력데이터로서 Label 0은 백혈구가 존재하지 않는 label을 나타내고, Label 1은 백혈구가 존재하는 label을 나타낸다. 도 10은 학습된 SNN 알고리즘 모델로 출력한 시간 당 백혈구 수를 도시하고 있는데, 24개의 시간 당 백혈구 수를 29개로 출력하였고, 85.94%의 정확도를 보여주고 있다. 이러한 정확도는 백혈구 수로 질병을 예측하기에 충분하며, 스파이크 3차원 행렬의 수가 많아질수록 시간 당 백혈구의 수도 많아지게 된다. 따라서, 학습된 SNN 알고리즘 모델의 입력데이터와 출력데이터 간에는 비례하는 상관관계가 있음을 확인할 수 있었다.
뉴로모픽 컴퓨팅 모듈(610)는 단위시간에 대해 산출된 손톱주름 모세혈관 속 백혈구의 수에 기초하여 질환을 예측할 수 있다. 또한, 뉴로모픽 컴퓨팅 모듈(610)는 단위시간에 대해 산출된 손톱주름 모세혈관 속 백혈구의 수, 단위시간에 대해 산출된 손톱주름 모세혈관 속의 백혈구의 속도, 혈류 속도, 시간당 혈류량 중 하나 이상에 기초하여 질환을 예측할 수도 있다.
이와 같이, 입력 데이터로 학습한 SNN 모델을 뉴로모픽 하드웨어(뉴로모픽 컴퓨팅 장치)에 임베딩 후(혹은 저장 후) NFC와 DVS에 물리적으로 연결한다면 공간의 제약과 서버의 제약이 없는 휴대용 디바이스를 설계할 수 있다. SNN의 비지도학습 특성상 피험자와 Label에 의존적이지 않기에 스마트워치와 같은 웨어러블 디바이스들의 고질적인 문제점인 착용자에 대한 재학습 과정 없이 백혈구 수를 카운팅할 수 있다. 또 SNN의 특성상 1bit의 스파이크만을 주고받기에 저전력으로 구동가능한 엣지 디바이스를 설계할 수 있다.
백혈구 수를 통해 면역 질환을 측정하기 위해서 지금까지 혈액 혹은 골수 검사와 같은 채혈 검사를 진행하였다. 그러나, 이러한 침습적 채혈검사는 피험자에게 부담감을 줄 수 있고, 결과를 내기까지 오랜 시간이 걸리며, 병원이라는 한정된 공간에서만 실시할 수 있었다. 그에 반해 본 발명에 따른 뉴로모픽 컴퓨팅 장치(600)는 비침습적 휴대용 디바이스로써 언제든 재사용 가능하며 실시간으로 결과를 도출할 수 있다. 또한 저전력으로 서버와 같은 단말기가 필요없이 작동하기에 공간과 통신의 제약없이 가볍게 사용할 수 있다.
이러한 본 발명에 따른 효과로서, 남녀노소 거부감없이 검사를 실시할 수 있고, 저렴한 비용으로 다회차 검사를 통해 검사의 정확도를 높일 수 있다. 또한, 의료인이 아닌 봉사자가 거동이 불편한 환자의 집에 방문하여 면역 질환 검사를 실시할 수 있다. 그리고, 백혈구 수, 혈류 속도, 혈류 량을 자동으로 측정하여 검사자의 의사결정과정을 도울 수 있다. 이러한 일련의 과정을 통하여 체온계를 통한 체온 측정과 마찬가지로 상용화 되어 면역질환에 대한 예방률을 높일 수 있다.
이상에서 설명된 실시예들은 본 발명의 구성요소들과 특징들이 소정 형태로 결합된 것들이다. 각 구성요소 또는 특징은 별도의 명시적 언급이 없는 한 선택적인 것으로 고려되어야 한다. 각 구성요소 또는 특징은 다른 구성요소나 특징과 결합되지 않은 형태로 실시될 수 있다. 또한, 일부 구성요소들 및/또는 특징들을 결합하여 본 발명의 실시예를 구성하는 것도 가능하다. 본 발명의 실시예들에서 설명되는 동작들의 순서는 변경될 수 있다. 어느 실시예의 일부 구성이나 특징은 다른 실시예에 포함될 수 있고, 또는 다른 실시예의 대응하는 구성 또는 특징과 교체될 수 있다. 특허청구범위에서 명시적인 인용 관계가 있지 않은 청구항들을 결합하여 실시예를 구성하거나 출원 후의 보정에 의해 새로운 청구항으로 포함시킬 수 있음은 자명하다.
본 발명에서 뉴로모픽 컴퓨팅 모듈(610)는 컨트롤러(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) 등이 뉴로모픽 컴퓨팅 모듈(610)에 구비될 수 있다.
본 발명은 본 발명의 필수적 특징을 벗어나지 않는 범위에서 다른 특정한 형태로 구체화될 수 있음은 당업자에게 자명하다. 따라서, 상기의 상세한 설명은 모든 면에서 제한적으로 해석되어서는 아니되고 예시적인 것으로 고려되어야 한다. 본 발명의 범위는 첨부된 청구항의 합리적 해석에 의해 결정되어야 하고, 본 발명의 등가적 범위 내에서의 모든 변경은 본 발명의 범위에 포함된다.

Claims (12)

  1. 삭제
  2. 삭제
  3. 삭제
  4. 뉴로모픽 컴퓨팅 장치에 있어서,
    DVS(Dynamic Vision Sensor) 카메라로부터 수신된 단위시간에 대한 손톱주름 모세혈관 속 백혈구의 움직임과 관련된 스파이크 3차원 행렬에 대해 전처리를 수행하고,
    상기 전처리되어 출력된 값들을 학습된 소정의 Spiking Neural Networks (SNN) 알고리즘 모델의 입력 뉴런층으로 입력하여 상기 손톱주름 모세혈관 속 백혈구의 수를 산출하는 뉴로모픽 컴퓨팅 모듈; 및
    상기 산출된 손톱주름 모세혈관 속 백혈구의 수에 대한 정보를 저장하는 메모리를 포함하는, 뉴로모픽 컴퓨팅 장치.
  5. 삭제
  6. 제 4항에 있어서,
    인터페이스부를 더 포함하되,
    상기 뉴로모픽 컴퓨팅 장치는 상기 인터페이스부를 통해 상기 DVS 카메라와 물리적으로 연결되어 있는, 뉴로모픽 컴퓨팅 장치.
  7. 삭제
  8. 삭제
  9. 삭제
  10. 뉴로모픽 컴퓨팅 장치에서의 뉴로모픽 컴퓨팅 방법에 있어서,
    뉴로모픽 컴퓨팅 모듈이 DVS(Dynamic Vision Sensor) 카메라로부터 단위시간에 대한 손톱주름 모세혈관 속 백혈구의 움직임과 관련된 스파이크 3차원 행렬을 수신하는 단계;
    상기 뉴로모픽 컴퓨팅 모듈이 상기 스파이크 3차원 행렬에 대해 전처리를 수행하는 단계;
    상기 뉴로모픽 컴퓨팅 모듈이 상기 전처리되어 출력된 값들을 학습된 소정의 Spiking Neural Networks (SNN) 알고리즘 모델의 입력 뉴런층으로 입력하여 상기 손톱주름 모세혈관 속 백혈구의 수를 산출하는 단계; 및
    메모리가 상기 산출된 손톱주름 모세혈관 속 백혈구의 수에 대한 정보를 저장하는 단계를 포함하는, 뉴로모픽 컴퓨팅 방법.
  11. 제 10항에 있어서,
    상기 스파이크 3차원 행렬을 수신하는 단계에서 상기 스파이크 3차원 행렬을 상기 DVS 카메라와 물리적으로 연결되어 있는 인터페이스를 통해 수신하는, 뉴로모픽 컴퓨팅 방법.
  12. 제 10항 또는 제 11항에 기재된 뉴로모픽 컴퓨팅 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
KR1020210190464A 2021-12-28 2021-12-28 손톱주름 모세혈관 속 백혈구의 수를 산출하기 위한 뉴로모픽 컴퓨팅 장치 KR102662987B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020210190464A KR102662987B1 (ko) 2021-12-28 2021-12-28 손톱주름 모세혈관 속 백혈구의 수를 산출하기 위한 뉴로모픽 컴퓨팅 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210190464A KR102662987B1 (ko) 2021-12-28 2021-12-28 손톱주름 모세혈관 속 백혈구의 수를 산출하기 위한 뉴로모픽 컴퓨팅 장치

Publications (2)

Publication Number Publication Date
KR20230100842A KR20230100842A (ko) 2023-07-06
KR102662987B1 true KR102662987B1 (ko) 2024-05-08

Family

ID=87185724

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210190464A KR102662987B1 (ko) 2021-12-28 2021-12-28 손톱주름 모세혈관 속 백혈구의 수를 산출하기 위한 뉴로모픽 컴퓨팅 장치

Country Status (1)

Country Link
KR (1) KR102662987B1 (ko)

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102159797B1 (ko) * 2018-12-13 2020-09-23 광운대학교 산학합력단 사용자 인증 장치 및 방법
KR20200072781A (ko) * 2018-12-13 2020-06-23 광운대학교 산학협력단 백혈구 계수 장치 및 방법

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
B. Kim 등. "Automated White Blood Cell Counting in Nailfold Capillary Using Deep Learning Segmentation and Video Stabilization". Sensors

Also Published As

Publication number Publication date
KR20230100842A (ko) 2023-07-06

Similar Documents

Publication Publication Date Title
Cheng et al. LISNN: Improving spiking neural networks with lateral interactions for robust object recognition.
Kim et al. Optimizing deeper spiking neural networks for dynamic vision sensing
Paugam-Moisy et al. Delay learning and polychronization for reservoir computing
Yu et al. A brain-inspired spiking neural network model with temporal encoding and learning
US8694449B2 (en) Neuromorphic spatiotemporal where-what machines
Parisi et al. Emergence of multimodal action representations from neural network self-organization
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
Zhou et al. Surrogate-assisted evolutionary search of spiking neural architectures in liquid state machines
Ahmedt-Aristizabal et al. Deep motion analysis for epileptic seizure classification
Mansouri-Benssassi et al. Synch-graph: Multisensory emotion recognition through neural synchrony via graph convolutional networks
KR20210067815A (ko) 사용자의 건강 상태를 측정하기 위한 방법 및 이를 위한 장치
Oyedotun et al. Banknote recognition: investigating processing and cognition framework using competitive neural network
Lin et al. Continuous Facial Emotion Recognition Method Based on Deep Learning of Academic Emotions.
KR102662987B1 (ko) 손톱주름 모세혈관 속 백혈구의 수를 산출하기 위한 뉴로모픽 컴퓨팅 장치
KR102535635B1 (ko) 뉴로모픽 컴퓨팅 장치
Wang et al. Full-convolution Siamese network algorithm under deep learning used in tracking of facial video image in newborns
Kunkle et al. Pulsed neural networks and their application
Thaler Vast topological learning and sentient AGI
Wu et al. Motion detection using spiking neural network model
El Sayad et al. Third generation neural nets and their applications in multi-modal deep learning: a survey
Fricker et al. Event-based Extraction of Navigation Features from Unsupervised Learning of Optic Flow Patterns
WO2024117546A1 (ko) 몽유병을 감지하는 엣지 디바이스
Berdjouh et al. Pelican Gorilla Troop Optimization Based on Deep Feed Forward Neural Network for Human Activity Abnormality Detection in Smart Spaces
KR20200072784A (ko) 사용자 인증 장치 및 방법

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