KR102565273B1 - 뉴럴 네트워크에 기초한 인식 장치 및 뉴럴 네트워크의 학습 방법 - Google Patents

뉴럴 네트워크에 기초한 인식 장치 및 뉴럴 네트워크의 학습 방법 Download PDF

Info

Publication number
KR102565273B1
KR102565273B1 KR1020160009353A KR20160009353A KR102565273B1 KR 102565273 B1 KR102565273 B1 KR 102565273B1 KR 1020160009353 A KR1020160009353 A KR 1020160009353A KR 20160009353 A KR20160009353 A KR 20160009353A KR 102565273 B1 KR102565273 B1 KR 102565273B1
Authority
KR
South Korea
Prior art keywords
neurons
membrane potential
neuron
neural network
synaptic
Prior art date
Application number
KR1020160009353A
Other languages
English (en)
Other versions
KR20170089217A (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 KR1020160009353A priority Critical patent/KR102565273B1/ko
Priority to US15/195,302 priority patent/US10515305B2/en
Priority to CN201611025553.8A priority patent/CN106997485A/zh
Priority to JP2016240434A priority patent/JP6851801B2/ja
Priority to EP21168984.9A priority patent/EP3872712A1/en
Priority to EP16205658.4A priority patent/EP3200130A1/en
Publication of KR20170089217A publication Critical patent/KR20170089217A/ko
Priority to US16/668,712 priority patent/US11669730B2/en
Application granted granted Critical
Publication of KR102565273B1 publication Critical patent/KR102565273B1/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/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/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/004Artificial life, i.e. computing arrangements simulating life
    • G06N3/008Artificial life, i.e. computing arrangements simulating life based on physical entities controlled by simulated intelligence so as to replicate intelligent life forms, e.g. based on robots replicating pets or humans in their appearance or behaviour
    • 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/08Learning methods
    • 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
    • G06N3/084Backpropagation, e.g. using gradient descent

Abstract

이전 레이어로부터 입력되는 제1 시냅스 신호들 및 동일 레이어로부터 입력되는 제2 시냅스 신호들에 기초하여 활성화되는 뉴런들을 포함하는 뉴럴 네트워크를 저장하는 메모리, 및 뉴럴 네트워크를 이용하여 인식 결과를 생성하는 프로세서를 포함하고, 뉴런들 중 활성 뉴런은 다음 레이어의 뉴런들을 여기 또는 억제시키는 제1 시냅스 신호 및 동일 레이어의 다른 뉴런들을 억제시키는 제2 시냅스 신호를 발생시키는 인식 장치 및 학습 방법을 제공할 수 있다.

Description

뉴럴 네트워크에 기초한 인식 장치 및 뉴럴 네트워크의 학습 방법{RECOGNITION APPARATUS BASED ON NEURAL NETWORK AND LEARNING METHOD OF NEURAL NETWORK}
아래의 실시예들은 뉴럴 네트워크에 기초한 인식 장치 및 뉴럴 네트워크의 학습 방법에 관한 것이다.
뇌에는 수천억 개의 신경 세포(즉, 뉴런(neuron))가 존재하며, 서로 복잡한 뉴럴 네트워크로 구성되어 있다. 뉴런은 수천 개의 다른 뉴런과 신호를 주고 받는 시냅스(synapse)를 통해 학습, 기억 등 지적 능력을 발휘한다. 뉴런은 신경계의 구조적, 기능적 단위이며 정보 전달의 기본 단위이다. 시냅스는 뉴런 사이의 접합부를 가리키며 어느 하나의 뉴런의 축색 돌기와 다른 뉴런의 수상 돌기가 연결된 부위를 말한다. 한 개의 뉴런은 수천 개의 다른 뉴런과 시냅스를 통해 연결되어 있다. 생물학적인 뇌와 동작 방식이 유사한 스파이킹 뉴럴 네트워크는 이벤트 기반으로 동작하므로 효율성 측면에서 더 우수할 것으로 기대된다. 다만, 다중 레이어로 구성된 딥 스파이킹 뉴럴 네트워크(deep spiking neural network)를 위한 학습시키는 방법이 존재하지 않는다.
일 실시예에 따르면, 인식 장치는 이전 레이어로부터 입력되는 제1 시냅스 신호들 및 동일 레이어로부터 입력되는 제2 시냅스 신호들에 기초하여 활성화되는 뉴런들을 포함하는 뉴럴 네트워크를 저장하는 메모리; 및 상기 뉴럴 네트워크를 이용하여 인식 결과를 생성하는 프로세서를 포함하고, 상기 뉴런들 중 활성 뉴런(activation neuron)은 다음 레이어의 뉴런들을 여기(excite) 또는 억제(inhibit)시키는 제1 시냅스 신호 및 상기 동일 레이어의 다른 뉴런들을 억제시키는 제2 시냅스 신호를 발생시킨다.
상기 뉴런들은 스파이킹 뉴런들을 포함할 수 있다.
상기 활성 뉴런은 상기 제1 시냅스 신호들 및 상기 제2 시냅스 신호들에 기초하여 상기 다른 뉴런들의 막전위(membrane potential)를 조절할 수 있다.
상기 제2 시냅스 신호는 상기 활성 뉴런의 수평 억제(lateral inhibition) 계수에 기초하여 상기 동일 레이어의 다른 뉴런들에게 전달될 수 있다.
상기 제2 시냅스 신호를 수신한 다른 뉴런은 상기 다른 뉴런의 막전위 임계치 및 상기 수평 억제 계수에 기초하여 막전위를 감소시킬 수 있다.
상기 뉴럴 네트워크의 레이어는 적어도 하나의 그룹을 포함하고, 동일한 그룹에 포함된 뉴런들은 이전 레이어에 속한 수신 필드를 공유할 수 있다.
상기 수신 필드에 포함된 뉴런들 각각은 상기 수신 필드에 대응하는 그룹 내 뉴런들 전부와 연결될 수 있다.
상기 프로세서는 상기 동일한 그룹의 뉴런들에 공통된 지수 감소 텀(exponential decay term)을 계산하고, 상기 지수 감소 텀에 기초하여 상기 동일한 그룹의 뉴런들 각각의 막전위를 계산할 수 있다.
상기 뉴런들의 막전위는 상기 뉴런들의 막전위 임계치에 따라 설정된 범위에 기초하여 클램핑(clamping)될 수 있다.
상기 프로세서는 상기 뉴럴 네트워크에 입력되는 입력 신호들의 크기와 미리 설정된 기준 값 간의 비교 결과에 기초하여, 상기 뉴런들의 막전위 시상수(membrane potential time constant) 값을 변화시킬 수 있다.
상기 프로세서는 상기 뉴럴 네트워크에 입력되는 입력 신호들의 크기가 미리 설정된 제1 기준 값보다 작은 경우, 상기 뉴런들의 막전위 시상수 값을 증가시킬 수 있다.
상기 뉴럴 네트워크는 상기 뉴럴 네트워크에 입력되는 입력 신호들의 크기가 미리 설정된 제2 기준 값보다 큰 경우, 상기 이전 레이어들 중 첫 번째 레이어에 포함된 뉴런들의 막전위 시상수 값을 감소시킬 수 있다.
상기 제1 시냅스 신호들은 시간의 흐름에 따라 입력되고, 상기 뉴런들의 막전위는 상기 제1 시냅스 신호들에 대응되는 시냅스들의 가중치에 따라 변화될 수 있다.
상기 뉴런들의 막전위는 상기 제1 시냅스 신호들이 없는 경우, 시간에 따라 일정 비율(rate)로 감소될 수 있다.
상기 활성 뉴런은 상기 활성 뉴런의 막전위가 상기 활성 뉴런의 막전위 임계치를 초과하는 경우, 스파이크 신호를 출력하고, 상기 스파이크 신호가 출력된 경우, 상기 활성 뉴런의 막전위는 미리 정해진 방식에 따라 감소될 수 있다.
상기 미리 정해진 방식은 상기 활성 뉴런의 막전위를 상기 활성 뉴런의 막전위 임계치에 비례한 크기만큼 감소시키는 방식; 및 상기 활성 뉴런의 막전위를 상기 활성 뉴런의 막전위 임계치에 비례한 미리 정해진 비율만큼 감소시키는 방식을 포함할 수 있다.
상기 활성 뉴런의 수평 억제 계수의 크기는 상기 뉴런들 각각에 대응되는 시냅스들의 가중치에 기초하여 결정될 수 있다.
일 실시예에 따르면, 학습 방법은 시간의 흐름에 따른 이벤트들을 포함하는 트레이닝 데이터를 뉴럴 네트워크의 입력 레이어에 인가하는 단계; 상기 뉴럴 네트워크의 출력 레이어의 출력 값을 획득하는 단계; 및 상기 트레이닝 데이터에 대응하는 목표 값과 상기 출력 값에 기초하여 상기 뉴럴 네트워크를 학습시키는 단계를 포함한다.
상기 뉴럴 네트워크는 이전 레이어로부터 입력되는 입력 시냅스 신호들 및 동일 레이어로부터 입력되는 수평 억제 신호에 기초하여 활성화되는 뉴런들을 포함하고, 상기 뉴런들 중 활성 뉴런은 다음 레이어의 뉴런들을 여기 또는 억제시키고, 상기 동일 레이어의 다른 뉴런들을 억제시킬 수 있다.
상기 학습시키는 단계는 상기 뉴럴 네트워크에 포함된 뉴런의 입력 액티비티들, 상기 뉴런의 막전위 리셋 팩터, 및 상기 뉴런의 막전위 임계치에 기초하여 정의된 상기 뉴런의 출력 액티비티를 이용하여, 상기 뉴런들의 파라미터를 결정하는 단계를 포함할 수 있다.
상기 파라미터는 상기 뉴런의 막전위 임계치, 상기 뉴런의 입력 시냅스 가중치들, 상기 뉴런의 출력 시냅스 가중치들, 및 상기 뉴런의 수평 억제 계수 중 적어도 하나를 포함할 수 있다.
상기 학습시키는 단계는 상기 뉴런의 막전위 리셋 팩터, 상기 뉴런의 수평 억제 계수, 상기 뉴런의 수평 디스카운트 팩터, 및 상기 그룹 내 상기 뉴런을 제외한 나머지 뉴런들의 출력 액티비티들에 기초하여 상기 뉴런의 출력 액티비티를 조절하는 단계를 더 포함할 수 있다.
상기 뉴런의 수평 억제 계수는 상기 뉴런의 입력 시냅스 가중치들에 기초하여 결정될 수 있다.
상기 학습시키는 단계는 상기 뉴럴 네트워크에 입력되는 입력 신호들의 크기와 미리 설정된 기준 값 간의 비교 결과에 기초하여, 상기 뉴럴 네트워크에 포함된 뉴런들의 막전위 시상수 값을 변화시키는 단계를 포함할 수 있다.
상기 뉴런들의 막전위 시상수 값을 변화시키는 단계는 상기 뉴럴 네트워크에 입력되는 입력 신호들의 크기가 미리 설정된 제1 기준 값보다 작은 경우, 상기 뉴런들의 막전위 시상수 값을 증가시키는 단계를 포함할 수 있다.
상기 뉴런들의 막전위 시상수 값을 변화시키는 단계는 상기 뉴럴 네트워크에 입력되는 입력 신호들의 크기가 미리 설정된 제2 기준 값보다 큰 경우, 이전 레이어들 중 첫 번째 레이어에 포함된 뉴런들의 막전위 시상수 값을 감소시키는 단계를 포함할 수 있다.
상기 학습시키는 단계는 상기 뉴럴 네트워크에 역전파되는 로스(loss)-상기 로스는 상기 목표 값과 상기 출력 값에 기초하여 계산됨- 및 상기 뉴럴 네트워크에 포함된 뉴런들의 출력 액티비티에 기초한 기울기 하강(gradient descent) 기법을 통하여, 상기 뉴런들의 파라미터를 결정하는 단계를 포함할 수 있다.
상기 학습시키는 단계는 상기 뉴럴 네트워크에 포함된 뉴런의 입력 시냅스 가중치들의 제곱 합과 미리 정해진 가중치 기준 값을 비교하는 단계; 상기 비교 결과에 기초하여 가중치 조절 속도(weight regulation rate)를 결정하는 단계; 및 상기 가중치 조절 속도에 기초하여 상기 입력 시냅스 가중치들을 감소시키는 단계를 포함할 수 있다.
상기 가중치 조절 속도를 결정하는 단계는 상기 제곱 합이 상기 가중치 기준 값보다 크면, 상기 가중치 조절 속도를 증가시키는 단계; 및 상기 제곱 합이 상기 가중치 기준 값보다 작거나 같으면, 상기 가중치 조절 속도를 감소시키는 단계를 포함할 수 있다.
상기 학습시키는 단계는 상기 뉴럴 네트워크에 포함된 뉴런들의 활성화 여부에 기초하여 뉴런들의 막전위 임계치를 조절하는 단계를 포함할 수 있다.
상기 학습 방법은 상기 뉴럴 네트워크에 포함된 뉴런들 중 적어도 하나의 활성 뉴런의 막전위 임계치를 일정 비율로 증가시키는 단계를 더 포함할 수 있다.
상기 학습 방법은 이전 레이어에 속한 수신 필드를 공유하는 뉴런들의 개수 및 동일 레이어에 포함된 활성 뉴런의 개수에 기초하여, 상기 뉴럴 네트워크에 포함된 뉴런들의 막전위 임계치를 감소시키는 단계를 더 포함할 수 있다.
상기 학습 방법은 상기 뉴럴 네트워크에 포함된 뉴런들의 막전위 임계치가 미리 설정된 막전위 기준 값보다 작은 경우, 상기 뉴런들 각각에 대응되는 시냅스 가중치를 증가시키는 단계를 더 포함할 수 있다.
상기 학습시키는 단계는 상기 뉴럴 네트워크에 포함된 레이어의 뉴런 당 시냅스들의 수에 기초하여, 상기 레이어에 포함된 뉴런들의 시냅스 가중치들 및 상기 뉴런들의 막전위 임계치 중 적어도 하나를 초기화하는 단계를 포함할 수 있다.
상기 학습시키는 단계는 상기 뉴런들의 시냅스 가중치들의 갱신량 및 상기 뉴런들의 막전위 임계치의 갱신량이 같아지도록 역전파 에러를 정규화(normalize)하는 단계를 더 포함할 수 있다.
도 1은 일 실시예에 따른 인식 장치의 블록도.
도 2는 일 실시예에 따른 뉴럴 네트워크(Neural Network)의 구조.
도 3은 일 실시예에 따른 뉴럴 네트워크를 구성하는 뉴런의 동작 방법을 설명하기 위한 도면.
도 4는 일 실시예에 따른 뉴럴 네트워크에서 뉴런들 및 시냅스들이 구성하는 WTA 구조를 설명하기 위한 도면.
도 5는 일 실시예에 따른 뉴런들 및 시냅스들이 구성하는 WTA 구조에서 활성 뉴런을 중심으로 한 동작을 설명하기 위한 도면.
도 6은 일 실시예에 따른 학습 방법이 수행되는 과정을 설명하기 위한 도면.
도 7은 일 실시예에 따른 학습 방법을 나타낸 흐름도.
도 8은 일 실시예에 따른 뉴럴 네트워크를 학습시키는 방법을 나타낸 흐름도.
도 9는 일 실시예에 따라 파라미터를 결정하는 방법을 나타낸 흐름도.
도 10은 일 실시예에 따라 입력 시냅스 가중치를 조절하는 방법을 나타낸 흐름도.
도 11은 일 실시예에 따른 막전위 임계치를 조절하는 방법을 나타낸 흐름도.
실시예들에 대한 특정한 구조적 또는 기능적 설명들은 단지 예시를 위한 목적으로 개시된 것으로서, 다양한 형태로 변경되어 실시될 수 있다. 따라서, 실시예들은 특정한 개시형태로 한정되는 것이 아니며, 본 명세서의 범위는 기술적 사상에 포함되는 변경, 균등물, 또는 대체물을 포함한다.
제1 또는 제2 등의 용어를 다양한 구성요소들을 설명하는데 사용될 수 있지만, 이런 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 해석되어야 한다. 예를 들어, 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소는 제1 구성요소로도 명명될 수 있다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다.
단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 설명된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함으로 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 해당 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 갖는 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
하기에서 설명될 실시예들은 사용자 또는 사용자의 생체 신호 등을 인식하는 데 사용될 수 있다. 실시예들은 퍼스널 컴퓨터, 랩톱 컴퓨터, 태블릿 컴퓨터, 스마트 폰, 텔레비전, 스마트 가전 기기, 지능형 자동차, 키오스크, 웨어러블 장치 등 다양한 형태의 제품으로 구현될 수 있다. 예를 들어, 실시예들은 스마트 폰, 모바일 기기, 스마트 홈 시스템 등에서 사용자를 인증하는데 적용될 수 있다. 실시예들은 사용자 인증을 통한 결제 서비스에 적용될 수 있다. 또한, 실시예들은 사용자를 인증하여 자동으로 시동을 거는 지능형 자동차 시스템 등에도 적용될 수 있다. 이하, 실시예들을 첨부된 도면을 참조하여 상세하게 설명한다. 각 도면에 제시된 동일한 참조 부호는 동일한 부재를 나타낸다.
도 1은 일 실시예에 따른 인식 장치의 블록도이다. 도 1을 참조하면, 일 실시예에 따른 인식 장치(100)는 메모리(110) 및 프로세서(130)를 포함한다. 인식 장치(100)는 뉴럴 네트워크를 이용하여 사용자 입력을 인식할 수 있다. 뉴럴 네트워크는 예를 들어, 이벤트 기반의 딥 뉴럴 네트워크 또는 딥 스파이킹 뉴럴 네트워크(deep spiking neural network)일 수 있다. 뉴럴 네트워크의 구조의 일 예는 도 2에 도시된다.
일 실시예에 따른 뉴럴 네트워크는 제1 시냅스 신호들 및 제2 시냅스 신호들에 기초하여 활성화되는 뉴런들을 포함한다. 제1 시냅스 신호는 뉴럴 네트워크 내 인접한 두 레이어들 사이에 전송되는 시냅스 신호를 의미한다. 예를 들어, 제1 시냅스 신호는 이전 레이어에 포함된 뉴런들로부터 해당 레이어의 뉴런으로, 또는 해당 레이어에 포함된 뉴런들로부터 다음 레이어의 뉴런들로 전송되는 시냅스 신호를 의미한다. 제1 시냅스 신호들은 시냅스 가중치에 따라 다음 레이어의 뉴런들을 여기(excite) 또는 억제(inhibit)시킬 수 있다. 또한, 제2 시냅스 신호는 동일 레이어 내의 다른 뉴런(들)로부터 입력되는 시냅스 신호를 의미한다. 제2 시냅스 신호는 동일 레이어의 다른 뉴런들을 억제시킨다. 아래에서 상세히 설명하겠으나, 제2 시냅스 신호는 동일 레이어 내 동일한 그룹 내 다른 뉴런들을 억제시킬 수 있다. 제2 시냅스 신호는 '억제(inhibition) 신호'라고도 부를 수 있다.
일 실시예에서 뉴럴 네트워크는 제2 시냅스 신호를 이용하여 동일 레이어 또는 동일 그룹 내의 다른 뉴런들의 활성화를 억제시킴으로써, 제2 시냅스 신호를 발생시킨 뉴런이 스파이크 신호를 출력하는 구조, 다시 말해, 승자 독식(Winner-takes-all, WTA) 구조를 가질 수 있다. 승자 독식 구조에 대하여는 도 5를 참조하여 설명한다.
뉴럴 네트워크는 입력 레이어, 히든 레이어 및 출력 레이어를 포함할 수 있다. 입력 레이어는 입력 데이터를 수신한다. 히든 레이어는 이전 레이어로부터 입력되는 제1 시냅스 신호들 및 동일 레이어로부터 입력되는 제2 시냅스 신호들에 기초하여 활성화되는 복수의 뉴런들을 포함한다. 일 예로, 제1 시냅스 신호들 및 제2 시냅스 신호들에 기초하여 활성화된 활성 뉴런은 억제 신호를 발생시키고, 억제 신호는 활성 뉴런의 수평 억제 계수에 기초하여 동일한 레이어의 나머지 뉴런들에게 전달된다. 출력 레이어는 히든 레이어의 출력에 기초하여 인식 결과를 출력한다.
메모리(110)는 이하의 도 2 내지 도 5를 통하여 설명하는 뉴럴 네트워크를 저장할 수 있다. 메모리(110)는 휘발성 메모리일 수도 있고, 비휘발성 메모리일 수도 있다. 실시예에 따라서, 뉴럴 네트워크는 메모리(110)가 아닌 원격에 저장될 수도 있다.
프로세서(130)는 메모리(110)에 저장된 뉴럴 네트워크를 이용하여 인식 결과를 생성한다. 프로세서(130)에 의하여 실행되는 프로그램 코드는 메모리(110)에 저장될 수 있다. 인식 장치(100)는 입출력 장치(도면 미 표시)를 통하여 외부 장치(예를 들어, 퍼스널 컴퓨터 또는 네트워크)에 연결되고, 데이터를 교환할 수 있다.
도 2는 일 실시예에 따른 뉴럴 네트워크(Neural Network)의 구조이다. 도 2를 참조하면, 복수의 레이어들(layers)을 포함하는 뉴럴 네트워크(200)의 구조가 도시된다.
뉴럴 네트워크(200)는 예를 들어, 딥 스파이킹 뉴럴 네트워크(deep spiking neural network)일 수 있다. 뉴럴 네트워크(200)는 입력 레이어(210), 히든 레이어(Hidden layer)(230) 및 출력 레이어(250)를 포함할 수 있다. 입력 레이어(210)는 뉴럴 네트워크(200)의 입력값을 수신할 수 있다. 출력 레이어(250)는 뉴럴 네트워크의 출력값을 출력할 수 있다. 히든 레이어(230)는 뉴럴 네트워크(200)의 외부로부터 은폐되어 있는 레이어, 즉 뉴럴 네트워크(200)의 외부에서 보이지 않는 레이어를 의미한다. 히든 레이어(230)는 다수의 레이어들(231, 233, 235)을 포함할 수 있다. 이때, 레이어들(231, 233, 235)의 배열 순서에 따라 레이어(231)를 '이전 레이어(previous layer)', 레이어(233)를 '해당 레이어(또는 현재 레이어)', 레이어(235)를 '다음 레이어(next layer)'라고 부를 수 있다.
입력 레이어(210), 히든 레이어(230) 및 출력 레이어(250) 각각은 뉴런들(205)을 포함할 수 있다. 뉴런들(205)은 예를 들어, LIF(Leaky Integrate and Fire) 뉴런과 같은 스파이킹 뉴런들일 수 있다.
해당 레이어(233)의 뉴런들은 이전 레이어(231)의 뉴런들로부터 수신한 제1 시냅스 신호들에 따라 특정 조건에서 스파이크 신호(spike signal)(도 3의 310 및 330 참조)를 출력할 수 있다. 또한, 해당 레이어(233)의 뉴런들은 제1 시냅스 신호들뿐 아니라 해당 레이어(233)의 다른 뉴런들로부터 수신한 제2 시냅스 신호들도 함께 고려하여 스파이크 신호를 출력할 수 있다. 이때, 스파이크 신호를 출력하는 뉴런을 '활성 뉴런(activation neuron)'이라 부를 수 있다.
활성 뉴런은 제1 시냅스 신호 및 제2 시냅스 신호를 발생시킨다. 활성 뉴런은 예를 들어, 해당 뉴런의 막전위가 막전위 임계치를 초과하는 경우에 스파이크 신호를 출력하는 뉴런일 수 있다. 활성 뉴런은 제1 시냅스 신호들을 통하여 다른 레이어 내의 뉴런들의 막전위(membrane potential)에 영향을 주고, 제2 시냅스 신호들을 통하여 동일 레이어 내의 다른 뉴런들의 막전위에 영향을 줄 수 있다.
제2 시냅스 신호는 활성 뉴런의 수평 억제(lateral inhibition) 계수에 기초하여 동일 레이어 내의 다른 뉴런들에게 전달될 수 있다. 레이어는 적어도 하나의 그룹을 포함할 수 있으며, 이 경우 한 그룹 내 활성 뉴런에 의하여 발생된 제2 시냅스 신호는 동일 그룹 내의 다른 뉴런들에게 전달될 수 있다. 제2 시냅스 신호를 수신한 다른 뉴런들은 자신들(다른 뉴런들)의 막전위 임계치 및 수평 억제 계수에 기초하여 막전위를 감소시킬 수 있다. 활성 뉴런과 다른 뉴런들 사이의 수평 억제 계수들은 서로 동일한 값으로 설정될 수도 있고, 서로 상이한 값으로 설정될 수도 있다. 뉴런의 동작 방법 및 활성 뉴런에 대하여는 도 3을 참조하여 설명한다.
도 3은 일 실시예에 따른 뉴럴 네트워크를 구성하는 뉴런의 동작 방법을 설명하기 위한 도면이다. 도 3을 참조하면, 일 실시예에 따른 뉴럴 네트워크에 포함된 뉴런의 동작이 도시된다. 도 3의 그래프에서 X 축은 제1 시냅스 신호들이 시간의 흐름에 따라 입력되는 시간(t)을 나타내고, Y 축은 뉴런의 막전위를 나타낸다.
뉴런은 이전 레이어로부터 해당 레이어로 입력된 제1 시냅스 신호들을 수신할 수 있다. 제1 시냅스 신호들은 시간의 흐름에 따라 입력될 수 있다. 뉴런은 예를 들어, t1 시간에 입력된 제1 시냅스 신호를 수신할 수 있다. 제1 시냅스 신호를 수신한 뉴런의 막전위(Vmp)는 일정 값을 나타낼 수 있다. 이때, 뉴런의 막전위는 제1 시냅스 신호들에 대응되는 시냅스들의 가중치(Wi)에 따라 변화될 수 있다. 여기서, '제1 시냅스 신호들에 대응되는 시냅스들의 가중치'는 제1 시냅스 신호들이 수신된 시냅스들 각각의 가중치로 이해될 수 있다.
뉴런의 막전위는 제1 시냅스 신호가 없는 경우, 다시 말해 제1 시냅스 신호가 입력되지 않는 경우, 시간에 따라 일정 비율(rate)로 감소될 수 있다. 뉴런의 막전위는 예를 들어, 해당 뉴런의 막전위 시상수(τmp)의 비율로 감소될 수 있다. 각각의 뉴런마다 서로 다른 막전위 시상수를 가질 수 있다.
앞서 설명한 뉴런의 동작은 아래의 [수학식 1]과 같이 표현될 수 있다.
여기서, 는 시냅스 신호의 이전 입력 시간, 는 시냅스 신호의 현재 입력 시간, 는 시냅스 신호의 n 번째 입력 시간을 가지는 i 번째 시냅스 가중치를 나타낸다. 는 해당 뉴런의 막전위를 나타내고, 는 해당 뉴런의 막전위 시상수(membrane potential time constant)를 나타낸다.
일 실시예에 따르면, 동일한 입력을 받는 뉴런들의 경우 [수학식 1]의 지수 감소 텀(exponential decay term) 이 동일한 값을 가질 수 있다. 예를 들어, 수신 필드를 공유하는 동일한 그룹 내 뉴런들은 동일한 지수 감소 텀에 기초하여 막전위가 계산될 수 있다. 따라서, 지수 감소 텀은 한 번만 계산되고, 다른 뉴런의 막전위를 계산할 때에 그대로 적용될 수 있다. 이로 인하여, 시간의 흐름에 따라 뉴런들의 막전위를 갱신할 때 연산량이 현저하게 감소될 수 있다.
도면에 표시하지 않았으나, 제2 시냅스 신호를 수신하는 경우 뉴런의 막전위는 수평 억제 계수에 기초하여 감소할 수 있다. 수평 억제 계수를 이용하는 WTA 구조는 도 4를 통하여 후술한다.
제1 시냅스 신호가 시간의 흐름에 따라 t2 시간, t3 시간, 및 t4 시간에 각각 입력되고, t4 시간에 뉴런의 막전위가 해당 뉴런의 막전위 임계치(Vth)를 초과하는 경우, 뉴런은 스파이크 신호(310)를 출력할 수 있다.
스파이크 신호(310)가 출력된 후, 뉴런(활성 뉴런)의 막전위는 미리 정해진 방식에 따라 감소될 수 있다. 미리 정해진 방식은 예를 들어, 활성 뉴런의 막전위를 활성 뉴런의 막전위 임계치에 비례한 크기만큼 감소시키는 방식, 및 활성 뉴런의 막전위를 활성 뉴런의 막전위 임계치에 비례한 미리 정해진 비율만큼 감소시키는 방식 등을 포함할 수 있다.
뉴런(활성 뉴런)의 막전위는 예를 들어, 아래의 [수학식 2]와 같이 감소될 수 있다.
여기서, 는 스파이크 신호 출력 후()의 뉴런의 막전위를 나타낸다. 는 해당 뉴런의 막전위 임계치를 나타내고, 는 막전위 리셋 팩터(reset factor)를 나타낸다. 막전위 리셋 팩터는 예를 들어, 0과 1 사이의 값을 가질 수 있다.
미리 정해진 방식에 따라 감소된 뉴런의 막전위는 시간의 흐름에 따라 t5 시간, t6 시간, t7 시간, 및 t8 시간에 각각 입력된 제1 시냅스 신호들에 의해 다시 막전위 임계치(Vth)를 초과할 수 있다. 뉴런은 t8 시간에 스파이크 신호(330)를 출력할 수 있다.
일 실시예에서 뉴런의 막전위(Vmp)는 뉴런들의 막전위 임계치(Vth)에 따라 설정된 범위(예를 들어, - Vth < Vmp < Vth )에 기초하여 클램핑(clamping)될 수 있다.
일 실시예에 따르면, 뉴런의 막전위 시상수() 값은 예를 들어, 뉴럴 네트워크에 입력되는 입력 신호들의 크기와 미리 설정된 기준 값 간의 비교 결과에 기초하여 변화될 수 있다.
뉴럴 네트워크에 입력되는 입력 신호들의 크기가 미리 설정된 제1 기준 값보다 작은 경우, 인식 장치는 뉴런들의 막전위 시상수 값을 증가시킬 수 있다. 뉴럴 네트워크 내 뉴런들의 막전위 시상수 값이 증가되는 경우 뉴런들의 막전위가 천천히 감소하므로, 뉴런들의 전압이 잘 집약되도록 조절할 수 있다.
또한, 뉴럴 네트워크에 입력되는 입력 신호들의 크기가 미리 설정된 제2 기준 값보다 큰 경우, 인식 장치는 첫 번째 히든 레이어에 포함된 뉴런들의 막전위 시상수 값을 감소시킬 수 있다. 첫 번째 히든 레이어에 포함된 뉴런들의 막전위 시상수 값이 감소되는 경우 첫 번째 히든 레이어에서 뉴런들의 막전위가 빠르게 감소하므로, 첫 번째 히든 레이어를 필터링 레이어로 활용할 수 있다. 다시 말해, 첫 번째 히든 레이어에서 입력 신호들이 필터링 필터링될 수 있다. 제2 기준 값은 제1 기준 값보다 큰 값일 수 있다.
도 4는 일 실시예에 따른 뉴럴 네트워크에서 뉴런들 및 시냅스들이 구성하는 WTA 구조를 설명하기 위한 도면이다. 도 4를 참조하면, 뉴럴 네트워크의 이전 레이어(231) 및 해당 레이어(233)가 도시된다.
뉴럴 네트워크의 해당 레이어(233)는 해당 레이어(233)에 포함된 뉴런들 중 일부 뉴런들을 포함하는 적어도 하나의 그룹(430)을 포함할 수 있다.
동일한 그룹(430)에 포함된 뉴런들(431, 433, 435)은 이전 레이어(231)에 속한 수신 필드(receptive field)(410)를 공유할 수 있다. '수신 필드(410)'는 이전 레이어(231)의 복수의 뉴런들 중 해당 레이어(233)의 그룹(430)에 포함된 뉴런들(431, 433, 435)에게 시냅스 신호들을 제공하는 뉴런들의 집합으로 이해될 수 있다.
수신 필드(410)에 포함된 뉴런들(411, 413, 415) 각각은 수신 필드(410)에 대응하는 그룹(430) 내에 포함된 뉴런들(431, 433, 435) 전부와 시냅스(421, 422, 423, 424, 425, 426, 427, 428, 429)를 통해 서로 연결될 수 있다. 예를 들어, 수신 필드(410)에 포함된 뉴런(411)은 뉴런들(431, 433, 435) 각각과 시냅스(421, 422, 423)를 통해 연결될 수 있다. 수신 필드(410)에 포함된 뉴런(413)은 뉴런들(431, 433, 435) 각각과 시냅스(424, 425, 426)를 통해 연결될 수 있다. 수신 필드(410)에 포함된 뉴런(415)은 뉴런들(431, 433, 435) 각각과 시냅스(427, 428, 429)를 통해 연결될 수 있다.
뉴런들(431, 433, 435)은 시냅스(421, 422, 423, 424, 425, 426, 427, 428, 429)를 통해 수신 필드(410)에 포함된 뉴런들(411, 413, 415)로부터 제1 시냅스 신호들을 수신할 수 있다.
동일한 그룹(430)에 포함된 뉴런들(431, 433, 435) 중 활성 뉴런은 동일 레이어 내(또는 동일한 그룹 내)의 다른 뉴런들을 억제시키는 제2 시냅스 신호를 발생시킬 수 있다. 예를 들어, 뉴런(431)이 활성 뉴런이 되는 경우, 뉴런(431)은 뉴런(433, 435)를 억제시키는 제2 시냅스 신호를 발생시킬 수 있다. 또는 뉴런(433)이 활성 뉴런이 되는 경우, 뉴런(433)은 뉴런(431, 435)를 억제시키는 제2 시냅스 신호를 발생시킬 수 있다.
활성 뉴런은 제2 시냅스 신호에 기초하여 동일한 그룹(430)에 포함된 다른 뉴런들의 막전위를 조절할 수 있다.
도 5는 일 실시예에 따른 뉴런들 및 시냅스들이 구성하는 WTA 구조에서 활성 뉴런을 중심으로 한 동작을 설명하기 위한 도면이다. 이하에서는 설명의 편의를 위하여 예를 들어, 뉴런(433)이 활성 뉴런이 된 경우에 (활성) 뉴런(433)을 중심으로 한 시냅스들 및 뉴런들 간의 동작만을 설명한다.
예를 들어, 동일한 그룹(430)에 포함된 뉴런들(431, 433, 435) 중 뉴런(433)은 수신 필드(410)에 포함된 뉴런들(411, 413, 415)로부터 시간의 흐름에 따라 입력되는 제1 시냅스 신호들(422, 425, 428)을 수신할 수 있다. 제1 시냅스 신호들(422, 425, 428)에 의해 뉴런(433)의 막전위가 뉴런(433)의 막전위 임계치를 초과하면, 뉴런(433)은 활성 뉴런이 될 수 있다. 뉴런(433)은 스파이크 신호(510)를 출력할 수 있다. 스파이크 신호(510)는 다음 레이어의 복수의 뉴런들로 전달될 수 있다.
이때, 뉴런(433)은 제2 시냅스 신호를 발생시켜 동일한 그룹(430)에 포함된 다른 뉴런들(431, 435)을 억제할 수 있다. 제2 시냅스 신호는 예를 들어, 뉴런(433)의 수평 억제 계수에 기초하여 다른 뉴런들(431,435)에게 전달될 수 있다.
뉴런(433)으로부터 제2 시냅스 신호를 수신한 다른 뉴런들(431,435)은 자신들(다른 뉴런들(431, 435))의 막전위 임계치 및 뉴런(433)의 수평 억제 계수에 기초하여 자신들(다른 뉴런들(431, 435))의 막전위를 감소시킬 수 있다.
제2 시냅스 신호를 수신한 다른 뉴런들(431,435)은 예를 들어, 아래의 [수학식 3]과 같이 자신들(다른 뉴런들(431, 435))의 막전위 임계치 및 뉴런(433)의 수평 억제 계수에 비례하는 양만큼 막전위를 감소시킬 수 있다.
Vmp는 뉴런의 막전위를 나타내고, μ는 (활성) 뉴런의 수평 억제 계수를 나타내며, Vth는 막전위 임계치를 나타낸다.
제2 시냅스 신호에 의해 동일 레이어 내(또는 동일한 그룹 내)의 다른 뉴런들(431,435)이 억제되므로 뉴런(433)의 승자 독식(Winner-takes-all) 구조가 구성될 수 있다. 승자 독식 구조에서 활성 뉴런과 다른 뉴런들 사이의 수평 억제 계수들은 서로 동일한 값으로 설정될 수도 있고, 상이한 값으로 설정될 수도 있다.
수평 억제 계수의 크기는 뉴런들 각각에 대응되는 시냅스들의 가중치에 기초하여 결정될 수 있다. 수평 억제 계수의 크기는 예를 들어, [0,1] 사이의 고정된 값으로 설정되거나, 실시예에 따라 학습을 통해 최적화될 수도 있다.
도 6은 일 실시예에 따른 학습 방법이 수행되는 과정을 설명하기 위한 도면이다. 도 6을 참조하면, 일 실시예에 따른 뉴럴 네트워크(200)에서 수행되는 학습 과정이 도시된다.
뉴럴 네트워크(200)의 입력 레이어에 트레이닝 데이터(601)가 인가되면, 뉴럴 네트워크(200)는 트레이닝 데이터(601)에 대응되는 출력 값(603)을 출력한다. 트레이닝 데이터(601)는 학습을 위해 뉴럴 네트워크(200)에 인가되는 입력 값으로서 트레이닝 데이터(601)에 대응되는 목표 값 또는 레이블을 미리 알고 있는 데이터에 해당한다.
일 실시예에서는 감독 학습(supervised learning) 방법을 이용하므로 입력 레이어에 트레이닝 데이터(601)가 인가될 때, 트레이닝 데이터(601)에 대응하는 목표 값(602)은 미리 알고 있다.
학습 장치는 트레이닝 데이터(601)에 대응하는 목표 값(602)과 출력 값(603) 간의 차이에 의해 로스(loss)를 계산할 수 있다(610). 학습 장치는 단계(610)에서 계산된 로스를 뉴럴 네트워크(200)로 역전파(back propagation)하여 뉴럴 네트워크(200)에 포함된 뉴런들의 파라미터를 결정할 수 있다(620).
학습 장치는 단계(620)에서 결정된 파라미터가 적용된 뉴럴 네트워크(200)에 다음 트레이닝 데이터를 인가할 수 있다. 학습 장치는 새로이 출력된 출력 값과 다음 트레이닝 데이터에 대응하는 목표 값을 비교하여 로스를 다시 계산할 수 있다. 학습 장치는 다시 계산된 로스를 뉴럴 네트워크(200)로 역전파하여 뉴런들의 파라미터를 조정할 수 있다. 이와 같이 학습 장치는 단계(610) 및 단계(620)의 과정을 트레이닝 데이터 전부에 대하여 복수 회 반복(iteration) 수행하여 뉴럴 네트워크(200)의 파라미터를 최적화할 수 있다.
단계(620)에서 결정된 뉴런들의 파라미터(또는 최적화된 파라미터)는 도 1 내지 도 5를 통해 설명한 인식 장치의 뉴럴 네트워크에 적용될 수 있다.
실시예에 따라, 뉴런의 막전위 시상수가 학습될 수 있다. 일 실시예에서 학습 장치는 예를 들어, 뉴럴 네트워크(200)에 입력되는 입력 신호들(예를 들어, 트레이닝 데이터(601))의 크기와 미리 설정된 기준 값 간의 비교 결과에 기초하여 뉴럴 네트워크(200)에 포함된 뉴런의 막전위 시상수 값을 변화시킬 수 있다.
실시예에 따라서, 학습 장치는 단계(610)에서 계산된 로스를 뉴럴 네트워크(200)로 역전파할 때 발생하는 역전파 에러를 정규화할 수 있다.
학습 장치는 예를 들어, 모든 레이어에서, 뉴런들의 시냅스 가중치들의 갱신량 및 뉴런들의 막전위 임계치의 갱신량이 최대한 같아지도록 역전파 에러를 정규화할 수 있다. 역전파 에러의 정규화를 통해 레이어 간 갱신 불균형이 조절될 수 있다.
모든 레이어에서 뉴런들의 시냅스 가중치들의 갱신량은 예를 들어, 아래의 [수학식 4]를 통해 구할 수 있고, 모든 레이어에서 뉴런들의 막전위 임계치의 갱신량은 아래의 [수학식 5]를 통해 구할 수 있다.
여기서, 는 뉴런 j에서 뉴런 i로 입력되는 시냅스의 가중치를 나타낸다. 는 가중치의 갱산량을 나타낸다. N은 레이어에 포함된 뉴런들의 개수를 나타내며, M은 뉴런당 시냅스의 개수를 나타낸다. 또한, n은 레이어에 포함된 활성 뉴런의 개수를 나타내고, m은 뉴런들의 활성 시냅스들(active synapses)의 개수를 나타낸다. 여기서, 활성 시냅스들은 다른 뉴런으로부터 신호를 받아 막전위 변화에 기여한 시냅스를 의미한다.
여기서, 는 i 번째 뉴런의 막전위 임계치를 나타낸다. 는 막전위 임계치의 갱신량을 나타낸다.
도 7은 일 실시예에 따른 학습 방법을 나타낸 흐름도이다. 도 7을 참조하면, 일 실시예에 따른 학습 장치는 트레이닝 데이터를 뉴럴 네트워크의 입력 레이어에 인가한다(710). 트레이닝 데이터는 시간의 흐름에 따른 이벤트들을 포함한다.
이때, 뉴럴 네트워크는 이전 레이어로부터 입력되는 입력 시냅스 신호들 및 동일 레이어로부터 입력되는 수평 억제 신호에 기초하여 활성화되는 뉴런들을 포함할 수 있다. 뉴런들 중 활성 뉴런은 다음 레이어의 뉴런들을 여기 또는 억제시키고, 동일 레이어의 다른 뉴런들을 억제시킬 수 있다.
학습 장치는 뉴럴 네트워크의 출력 레이어의 출력 값을 획득한다(720). 학습 장치는 입력 레이어에 인가된 트레이닝 데이터가 뉴럴 네트워크의 레이어들을 거친 후 출력 레이터로 출력되는 출력 값을 획득할 수 있다. 뉴럴 네트워크의 레이어들의 파라미터는 초기에 임의의 값(default value)으로 설정되거나, 또는 될 수 있다.
학습 장치는 트레이닝 데이터에 대응하는 목표 값과 출력 값에 기초하여 뉴럴 네트워크를 학습시킨다(730). 학습 장치는 예를 들어, 뉴럴 네트워크에 포함된 뉴런들의 파라미터를 결정함으로써 뉴럴 네트워크를 학습시킬 수 있다. 뉴런들의 파라미터는 예를 들어, 뉴런의 막전위 임계치, 뉴런의 입력 시냅스 가중치들, 뉴런의 출력 시냅스 가중치들, 및 뉴런의 수평 억제 계수 등을 포함할 수 있다. 학습 장치가 뉴럴 네트워크를 학습시키는 구체적인 방법은 도 8을 참조하여 설명한다.
도 8은 일 실시예에 따른 뉴럴 네트워크를 학습시키는 방법을 나타낸 흐름도이다. 도 8을 참조하면, 일 실시예에 따른 학습 장치는 트레이닝 데이터에 대응하는 목표 값과 출력 값 간의 차이에 의해 로스를 계산할 수 있다(810).
학습 장치는 뉴런들의 출력 액티비티를 결정할 수 있다(820). 학습 장치는 예를 들어, 막전위 평형 방정식(Membrane potential equilibrium equation)을 이용하여 뉴런들의 출력 액티비티를 결정할 수 있다. 학습 장치가 막전위 평형 방정식을 이용하여 뉴런들의 출력 액티비티를 결정하는 구체적인 방법은 다음과 같다.
1. 뉴런의 수평 억제 계수의 크기가 0인 경우
학습 장치는 예를 들어, 뉴럴 네트워크에 포함된 뉴런의 입력 액티비티들, 뉴런의 막전위 리셋 팩터, 및 뉴런의 막전위 임계치에 기초하여 아래의 [수학식 6]과 같이 뉴런의 출력 액티비티(output activity)()를 결정할 수 있다. 뉴런의 출력 액티비티는 뉴런의 출력값으로 이해될 수 있다.
여기서, 이고, 는 k 번째 시냅스로 입력되는 입력 액티비티를 나타내고, 는 k 번째 시냅스 가중치를 나타낸다. 는 뉴런의 막전위 리셋 팩터(reset factor)를 나타내고, 는 뉴런의 막전위 임계치를 나타낸다.
2. 뉴런의 수평 억제 계수가 승자 독식 회로의 그룹 내에서 모두 같은 경우
학습 장치는 예를 들어, 뉴런의 막전위 리셋 팩터, 뉴런의 수평 억제 계수, 뉴런의 수평 디스카운트 팩터, 및 그룹 내 나머지 뉴런들의 출력 액티비티들에 기초하여 아래의 [수학식 7]과 같이 i 번째 뉴런의 출력 액티비티()를 조절할 수 있다.
여기서, 이고, 는 i 번째 뉴런의 k 번째 입력 시냅스로 입력되는 입력 액티비티를 나타내고, 는 i 번째 뉴런의 k 번째 입력 시냅스에 대한 시냅스 가중치를 나타낸다. 는 i 번째 뉴런의 막전위 임계치이며, 는 i 번째 뉴런의 출력 액티비티를, 는 j 번째 뉴런의 출력 액티비티를 나타낸다. 는 수평 억제 계수를 나타내고, 는 수평 디스카운트 팩터를 나타낸다.
3. 뉴런의 수평 억제 계수가 승자 독식 회로의 그룹 내에서 모두 같지 않은 경우
학습 장치는 예를 들어, 뉴런의 막전위 리셋 팩터, 뉴런의 수평 억제 계수, 뉴런의 수평 디스카운트 팩터, 및 그룹 내 나머지 뉴런들의 출력 액티비티들에 기초하여 아래의 [수학식 8]과 같이 i 번째 뉴런의 출력 액티비티()를 조절할 수 있다.
여기서,
Figure 112016008524921-pat00040
는 j 번째 뉴런에서 i 번째 뉴런으로 주는 수평 억제의 크기를 나타낸다.
4. 뉴런의 수평 억제 계수의 크기가 뉴런의 입력 시냅스 가중치들에 기초하여 결정되는 경우
학습 장치는 예를 들어, 아래의 [수학식 9]와 같이 뉴런의 출력 액티비티를 조절할 수 있다.
이때,또는 일 수 있다. 는 (i, j)의 원소가 로 구성된 행렬이고, 이고, W1는 1 번째 시냅스 가중치를, WN는 N 번째 시냅스 가중치를 나타낸다.
학습 장치는 단계(810)에서 계산된 로스, 및 단계(820)에서 결정된 뉴런들의 출력 액티비티에 기초하여, 뉴런들의 파라미터를 결정할 수 있다(830). 학습 장치는 예를 들어, 뉴럴 네트워크에 역전파(back propagation)되는 로스 및 뉴럴 네트워크에 포함된 뉴런들의 출력 액티비티에 기초한 기울기 하강(gradient descent) 기법을 통하여, 뉴런들의 파라미터를 결정할 수 있다.
뉴런들의 파라미터는 예를 들어, 뉴런의 막전위 임계치, 뉴런의 입력 시냅스 가중치들, 뉴런의 출력 시냅스 가중치들, 및 뉴런의 수평 억제 계수 등을 포함할 수 있다. 학습 장치는 막전위 평형 방정식으로부터 예를 들어, 와 같은 파라미터들에 대한 편미분 텀을 유도할 수 있다. 학습 장치는 편미분 텀을 이용하여 파라미터들을 조절할 수 있다.
학습 장치가 뉴런들의 파라미터를 결정하는 구체적인 방법은 도 9를 참조하여 설명한다.
도 9는 일 실시예에 따라 파라미터를 결정하는 방법을 나타낸 흐름도이다. 도 9를 참조하면, 일 실시예에 따른 학습 장치는 뉴럴 네트워크의 파라미터를 초기화할 수 있다(910). 학습 장치는 뉴럴 네트워크의 레이어에 포함된 뉴런들의 시냅스 가중치들(w) 및 뉴런들의 막전위 임계치(Vth) 중 적어도 하나를 초기화할 수 있다.
학습 장치는 예를 들어, 뉴럴 네트워크에 포함된 레이어의 뉴런 당 시냅스들의 수(M)에 기초하여, 아래의 [수학식 10]과 같이 각 레이어마다에 대하여 뉴런들의 시냅스 가중치들(w)를 초기화할 수 있다.
또한, 학습 장치는 예를 들어, 뉴럴 네트워크에 포함된 레이어의 뉴런 당 시냅스들의 수(M)에 기초하여, 아래의 [수학식 11]과 같이 각 레이어마다에 대하여 뉴런들의 막전위 임계치(Vth)를 초기화할 수 있다.
여기서, 는 초기화 계수를 나타낸다.
학습 장치는 파라미터를 결정할 수 있다(920). 학습 장치는 앞서 단계(810)에서의 계산을 통해 뉴럴 네트워크에 역전파 되는 로스 및 뉴럴 네트워크에 포함된 뉴런들의 출력 액티비티에 기초한 기울기 하강 기법을 통하여, 레이어에 포함된 뉴런들의 시냅스 가중치들(w) 및 뉴런들의 막전위 임계치(Vth) 를 결정할 수 있다.
학습 장치는 파라미터를 조절(regulation)할 수 있다(930). 학습 장치는 예를 들어, 입력 시냅스 가중치들 또는 뉴런들의 막전위 임계치를 조절할 수 있다. 학습 장치는 파라미터를 조절하는 과정은 선택적으로 수행될 수 있다.
학습 장치가 입력 시냅스 가중치들을 조절하는 방법은 도 10을 참조하여 설명하고, 뉴런들의 막전위 임계치를 조절하는 방법은 도 11을 참조하여 설명한다.
도 10은 일 실시예에 따라 입력 시냅스 가중치를 조절하는 방법을 나타낸 흐름도이다. 도 10을 참조하면, 일 실시예에 따른 학습 장치는 학습 도중에 지속적으로 입력 시냅스 가중치가 감소(decay)되도록 조절할 수 있다.
학습 장치는 뉴럴 네트워크에 포함된 뉴런의 입력 시냅스 가중치들의 제곱 합()과 미리 정해진 가중치 기준 값(예를 들어, 1)을 비교할 수 있다(1010).
학습 장치는 단계(1010)의 비교 결과에 기초하여, 가중치 조절 속도(weight regulation rate)를 결정할 수 있다. 예를 들어, 입력 시냅스 가중치들의 제곱 합이 가중치 기준 값보다 크면, 학습 장치는 가중치 조절 속도를 증가시킬 수 있다(1020). 입력 시냅스 가중치들의 제곱 합이 가중치 기준 값보다 작거나 같으면, 학습 장치는 가중치 조절 속도를 감소시킬 수 있다(1030). 학습 장치는 단계(1020) 또는 단계(1030)에서 증가 또는 감소된 가중치 조절 속도에 기초하여 입력 시냅스 가중치들을 감소시킬 수 있다(1040).
학습 장치는 예를 들어, 입력 시냅스 가중치들의 제곱 합이 가중치 기준 값보다 커지면 가중치 조절 속도를 높이고, 입력 시냅스 가중치들의 제곱 합이 가중치 기준 값보다 작아지면 가중치 조절 속도를 낮춤으로써 각 뉴런의 입력 시냅스 가중치들의 제곱 합이 가중치 기준 값에 근접하도록 유지시킬 수 있다.
도 10을 통해 설명한 입력 시냅스 가중치를 조절하는 방법은 아래의 [수학식 12]와 같이 표현될 수 있다.
여기서, 는 가중치 정규화(weight regularization)를 위한 목적 함수(objective function) 또는 로스 함수(loss function)를 나타낸다.
는 뉴런의 입력 시냅스 가중치들의 제곱 합을 나타내고, 레이어 l의 뉴런 i 에 대해 1에 근접하는 값을 가질 수 있다. 는 전체 목적 함수에서 가중치 정규화의 가중치를 조절하는 파라미터를 나타낸다. [수학식 12]는 아래의 [수학식 13]과 같이 표현될 수 있다.
[수학식 13]은 수학식 12를 미분한 결과를 나타낸다.
도 11은 일 실시예에 따른 막전위 임계치를 조절하는 방법을 나타낸 흐름도이다. 도 11을 참조하면, 일 실시예에 따른 학습 장치는 뉴럴 네트워크에 포함된 뉴런들의 활성화 여부에 기초하여 뉴런들의 막전위 임계치를 조절할 수 있다.
학습 장치는 뉴럴 네트워크에 포함된 뉴런들 중 적어도 하나의 활성 뉴런이 있는지 여부를 판단할 수 있다(1110). 단계(1110)의 판단 결과, 적어도 하나의 활성 뉴런이 있다고 판단되면, 학습 장치는 뉴런들의 막전위 임계치가 미리 설정된 막전위 기준 값보다 큰 지 여부를 판단할 수 있다(1140).
단계(1110)의 판단 결과, 적어도 하나의 활성 뉴런이 있다고 판단되면, 학습 장치는 적어도 하나의 활성 뉴런의 막전위 임계치를 일정 비율(예를 들어, )로 증가시킬 수 있다(1120).
학습 장치는 뉴럴 네트워크에 포함된 모든 뉴런들의 막전위 임계치를 감소시킬 수 있다(1130). 학습 장치는 이전 레이어에 속한 수신 필드를 공유하는 뉴런들의 개수(N) 및 동일 레이어에 포함된 활성 뉴런의 개수(Nw)에 기초하여, 뉴럴 네트워크에 포함된 뉴런들의 막전위 임계치를 예를 들어, 만큼 감소시킬 수 있다.
학습 장치는 활성 뉴런이 발화(fire)한 후(다시 말해, 스파이크 신호를 출력)한 후 모든 뉴런들의 막전위 임계치를 일정량 감소시킴으로써, 뉴럴 네트워크에 포함된 모든 뉴런들에게 최적화될 수 있는 공정한 기회를 제공할 수 있다.
학습 장치는 뉴럴 네트워크에 포함된 뉴런들의 막전위 임계치와 미리 설정된 막전위 기준 값을 비교할 수 있다(1140). 학습 장치는 단계(1140)의 비교 결과, 뉴런들의 막전위 임계치가 미리 설정된 막전위 기준 값보다 크거나 같은 경우, 학습 장치는 동작을 종료할 수 있다.
학습 장치는 단계(1140)의 비교 결과, 뉴런들의 막전위 임계치가 미리 설정된 막전위 기준 값보다 작은 경우, 뉴런들 각각에 대응되는 시냅스 가중치를 증가시킬 수 있다(1150). 학습 장치는 뉴런들의 막전위 임계치가 미리 설정된 막전위 기준 값보다 작은 경우에 뉴런들의 막전위 임계치를 낮추는 대신에 뉴런들 각각에 대응되는 시냅스 가중치를 증가시킴으로써 매우 작은 막전위 임계치로 인해 발생할 수 있는 뉴런들의 불안정(instability)을 방지할 수 있다.
이상에서 설명된 실시예들은 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치, 방법 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치에 저장될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 실시예들이 비록 한정된 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기를 기초로 다양한 기술적 수정 및 변형을 적용할 수 있다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.

Claims (36)

  1. 이전 레이어로부터 입력되는 제1 시냅스 신호들 및 동일 레이어로부터 입력되는 제2 시냅스 신호들에 기초하여 활성화되는 뉴런들을 포함하는 뉴럴 네트워크를 저장하는 메모리; 및
    상기 뉴럴 네트워크를 이용하여 인식 결과를 생성하고, 상기 뉴럴 네트워크에 입력되는 입력 신호들의 크기와 미리 설정된 기준 값 간의 비교 결과에 기초하여, 상기 뉴런들의 막전위 시상수(membrane potential time constant) 값을 변화시키는 프로세서
    를 포함하고,
    상기 뉴런들 중 활성 뉴런(activation neuron)은 다음 레이어의 뉴런들을 여기(excite) 또는 억제(inhibit)시키는 제1 시냅스 신호 및 상기 동일 레이어의 다른 뉴런들을 억제시키는 제2 시냅스 신호를 발생시키는, 인식 장치.
  2. 제1항에 있어서,
    상기 뉴런들은
    스파이킹 뉴런들을 포함하는, 인식 장치.
  3. 제1항에 있어서,
    상기 활성 뉴런은
    상기 제1 시냅스 신호들 및 상기 제2 시냅스 신호들에 기초하여 상기 다른 뉴런들의 막전위(membrane potential)를 조절하는, 인식 장치.
  4. 제1항에 있어서,
    상기 제2 시냅스 신호는
    상기 활성 뉴런의 수평 억제(lateral inhibition) 계수에 기초하여 상기 동일 레이어의 다른 뉴런들에게 전달되는, 인식 장치.
  5. 제4항에 있어서,
    상기 제2 시냅스 신호를 수신한 다른 뉴런은
    상기 다른 뉴런의 막전위 임계치 및 상기 수평 억제 계수에 기초하여 막전위를 감소시키는, 인식 장치.
  6. 제1항에 있어서,
    상기 뉴럴 네트워크의 레이어는 적어도 하나의 그룹을 포함하고,
    동일한 그룹에 포함된 뉴런들은 이전 레이어에 속한 수신 필드를 공유하는, 인식 장치.
  7. 제6항에 있어서,
    상기 수신 필드에 포함된 뉴런들 각각은
    상기 수신 필드에 대응하는 그룹 내 뉴런들 전부와 연결되는, 인식 장치.
  8. 제6항에 있어서,
    상기 프로세서는
    상기 동일한 그룹의 뉴런들에 공통된 지수 감소 텀(exponential decay term)을 계산하고, 상기 지수 감소 텀에 기초하여 상기 동일한 그룹의 뉴런들 각각의 막전위를 계산하는, 인식 장치.
  9. 제1항에 있어서,
    상기 뉴런들의 막전위는
    상기 뉴런들의 막전위 임계치에 따라 설정된 범위에 기초하여 클램핑(clamping)되는, 인식 장치.
  10. 삭제
  11. 제1항에 있어서,
    상기 프로세서는
    상기 뉴럴 네트워크에 입력되는 입력 신호들의 크기가 미리 설정된 제1 기준 값보다 작은 경우, 상기 뉴런들의 막전위 시상수 값을 증가시키는, 인식 장치.
  12. 제1항에 있어서,
    상기 뉴럴 네트워크는
    상기 뉴럴 네트워크에 입력되는 입력 신호들의 크기가 미리 설정된 제2 기준 값보다 큰 경우, 상기 이전 레이어들 중 첫 번째 레이어에 포함된 뉴런들의 막전위 시상수 값을 감소시키는, 인식 장치.
  13. 제1항에 있어서,
    상기 제1 시냅스 신호들은 시간의 흐름에 따라 입력되고,
    상기 뉴런들의 막전위는
    상기 제1 시냅스 신호들에 대응되는 시냅스들의 가중치에 따라 변화되는, 인식 장치.
  14. 제1항에 있어서,
    상기 뉴런들의 막전위는
    상기 제1 시냅스 신호들이 없는 경우, 시간에 따라 일정 비율(rate)로 감소되는, 인식 장치.
  15. 제1항에 있어서,
    상기 활성 뉴런은
    상기 활성 뉴런의 막전위가 상기 활성 뉴런의 막전위 임계치를 초과하는 경우, 스파이크 신호를 출력하고,
    상기 스파이크 신호가 출력된 경우,
    상기 활성 뉴런의 막전위는 미리 정해진 방식에 따라 감소되는, 인식 장치.
  16. 제15항에 있어서,
    상기 미리 정해진 방식은
    상기 활성 뉴런의 막전위를 상기 활성 뉴런의 막전위 임계치에 비례한 크기만큼 감소시키는 방식; 및
    상기 활성 뉴런의 막전위를 상기 활성 뉴런의 막전위 임계치에 비례한 미리 정해진 비율만큼 감소시키는 방식
    을 포함하는, 인식 장치.
  17. 제1항에 있어서,
    상기 활성 뉴런의 수평 억제 계수의 크기는
    상기 뉴런들 각각에 대응되는 시냅스들의 가중치에 기초하여 결정되는, 인식 장치.
  18. 시간의 흐름에 따른 이벤트들을 포함하는 트레이닝 데이터를 뉴럴 네트워크의 입력 레이어에 인가하는 단계;
    상기 뉴럴 네트워크의 출력 레이어의 출력 값을 획득하는 단계; 및
    상기 트레이닝 데이터에 대응하는 목표 값과 상기 출력 값에 기초하여 상기 뉴럴 네트워크를 학습시키는 단계
    를 포함하고,
    상기 학습시키는 단계는
    상기 뉴럴 네트워크에 입력되는 입력 신호들의 크기와 미리 설정된 기준 값 간의 비교 결과에 기초하여, 상기 뉴럴 네트워크에 포함된 뉴런들의 막전위 시상수 값을 변화시키는 단계
    를 포함하는, 학습 방법.
  19. 제18항에 있어서,
    상기 뉴럴 네트워크는
    이전 레이어로부터 입력되는 입력 시냅스 신호들 및 동일 레이어로부터 입력되는 수평 억제 신호에 기초하여 활성화되는 뉴런들을 포함하고,
    상기 뉴런들 중 활성 뉴런(activation neuron)은 다음 레이어의 뉴런들을 여기(excite) 또는 억제(inhibit)시키고, 상기 동일 레이어의 다른 뉴런들을 억제시키는, 학습 방법.
  20. 제18항에 있어서,
    상기 학습시키는 단계는
    상기 뉴럴 네트워크에 포함된 뉴런의 입력 액티비티들, 상기 뉴런의 막전위 리셋 팩터, 및 상기 뉴런의 막전위 임계치에 기초하여 정의된 상기 뉴런의 출력 액티비티를 이용하여, 상기 뉴런들의 파라미터를 결정하는 단계
    를 포함하는, 학습 방법.
  21. 제20항에 있어서,
    상기 파라미터는
    상기 뉴런의 막전위 임계치, 상기 뉴런의 입력 시냅스 가중치들, 상기 뉴런의 출력 시냅스 가중치들, 및 상기 뉴런의 수평 억제 계수 중 적어도 하나를 포함하는, 학습 방법.
  22. 제21항에 있어서,
    상기 학습시키는 단계는
    상기 뉴런의 막전위 리셋 팩터, 상기 뉴런의 수평 억제 계수, 상기 뉴런의 수평 디스카운트 팩터, 및 그룹 내 상기 뉴런을 제외한 나머지 뉴런들의 출력 액티비티들에 기초하여 상기 뉴런의 출력 액티비티를 조절하는 단계
    를 더 포함하는, 학습 방법.
  23. 제22항에 있어서,
    상기 뉴런의 수평 억제 계수는
    상기 뉴런의 입력 시냅스 가중치들에 기초하여 결정되는, 학습 방법.
  24. 삭제
  25. 제18항에 있어서,
    상기 뉴런들의 막전위 시상수 값을 변화시키는 단계는
    상기 뉴럴 네트워크에 입력되는 입력 신호들의 크기가 미리 설정된 제1 기준 값보다 작은 경우, 상기 뉴런들의 막전위 시상수(membrane potential time constant) 값을 증가시키는 단계
    를 포함하는, 학습 방법.
  26. 제18항에 있어서,
    상기 뉴런들의 막전위 시상수 값을 변화시키는 단계는
    상기 뉴럴 네트워크에 입력되는 입력 신호들의 크기가 미리 설정된 제2 기준 값보다 큰 경우, 이전 레이어들 중 첫 번째 레이어에 포함된 뉴런들의 막전위 시상수 값을 감소시키는 단계
    를 포함하는, 학습 방법.
  27. 제18항에 있어서,
    상기 학습시키는 단계는
    상기 뉴럴 네트워크에 역전파되는 로스(loss)-상기 로스는 상기 목표 값과 상기 출력 값에 기초하여 계산됨- 및 상기 뉴럴 네트워크에 포함된 뉴런들의 출력 액티비티에 기초한 기울기 하강(gradient descent) 기법을 통하여, 상기 뉴런들의 파라미터를 결정하는 단계
    를 포함하는, 학습 방법.
  28. 제18항에 있어서,
    상기 학습시키는 단계는
    상기 뉴럴 네트워크에 포함된 뉴런의 입력 시냅스 가중치들의 제곱 합과 미리 정해진 가중치 기준 값을 비교하는 단계;
    상기 비교 결과에 기초하여 가중치 조절 속도(weight regulation rate)를 결정하는 단계; 및
    상기 가중치 조절 속도에 기초하여 상기 입력 시냅스 가중치들을 감소시키는 단계
    를 포함하는, 학습 방법.
  29. 제28항에 있어서,
    상기 가중치 조절 속도(weight regulation rate)를 결정하는 단계는
    상기 제곱 합이 상기 가중치 기준 값보다 크면, 상기 가중치 조절 속도를 증가시키는 단계; 및
    상기 제곱 합이 상기 가중치 기준 값보다 작거나 같으면, 상기 가중치 조절 속도를 감소시키는 단계
    를 포함하는, 학습 방법.
  30. 제18항에 있어서,
    상기 학습시키는 단계는
    상기 뉴럴 네트워크에 포함된 뉴런들의 활성화 여부에 기초하여 뉴런들의 막전위 임계치를 조절하는 단계
    를 포함하는, 학습 방법.
  31. 제30항에 있어서,
    상기 뉴럴 네트워크에 포함된 뉴런들 중 적어도 하나의 활성 뉴런의 막전위 임계치를 일정 비율로 증가시키는 단계
    를 더 포함하는, 학습 방법.
  32. 제31항에 있어서,
    이전 레이어에 속한 수신 필드를 공유하는 뉴런들의 개수 및 동일 레이어에 포함된 활성 뉴런의 개수에 기초하여, 상기 뉴럴 네트워크에 포함된 뉴런들의 막전위 임계치를 감소시키는 단계
    를 더 포함하는, 학습 방법.
  33. 제18항에 있어서,
    상기 뉴럴 네트워크에 포함된 뉴런들의 막전위 임계치가 미리 설정된 막전위 기준 값보다 작은 경우, 상기 뉴런들 각각에 대응되는 시냅스 가중치를 증가시키는 단계
    를 더 포함하는, 학습 방법.
  34. 제18항에 있어서,
    상기 학습시키는 단계는
    상기 뉴럴 네트워크에 포함된 레이어의 뉴런 당 시냅스들의 수에 기초하여, 상기 레이어에 포함된 뉴런들의 시냅스 가중치들 및 상기 뉴런들의 막전위 임계치 중 적어도 하나를 초기화하는 단계
    를 포함하는, 학습 방법.
  35. 제34항에 있어서,
    상기 학습시키는 단계는
    상기 뉴런들의 시냅스 가중치들의 갱신량 및 상기 뉴런들의 막전위 임계치의 갱신량이 같아지도록 역전파 에러를 정규화(normalize)하는 단계
    를 더 포함하는, 학습 방법.
  36. 하드웨어와 결합되어 제18항 내지 제23항, 및 제25항 내지 제35항 중 어느 하나의 항의 방법을 실행시키기 위하여 컴퓨터로 판독 가능한 저장 매체에 저장된 컴퓨터 프로그램.
KR1020160009353A 2016-01-26 2016-01-26 뉴럴 네트워크에 기초한 인식 장치 및 뉴럴 네트워크의 학습 방법 KR102565273B1 (ko)

Priority Applications (7)

Application Number Priority Date Filing Date Title
KR1020160009353A KR102565273B1 (ko) 2016-01-26 2016-01-26 뉴럴 네트워크에 기초한 인식 장치 및 뉴럴 네트워크의 학습 방법
US15/195,302 US10515305B2 (en) 2016-01-26 2016-06-28 Recognition apparatus based on neural network and method of training neural network
CN201611025553.8A CN106997485A (zh) 2016-01-26 2016-11-17 基于神经网络的识别设备和训练神经网络的方法
JP2016240434A JP6851801B2 (ja) 2016-01-26 2016-12-12 ニューラルネットワークに基づく認識装置及びニューラルネットワークの学習方法
EP21168984.9A EP3872712A1 (en) 2016-01-26 2016-12-21 Recognition apparatus based on neural network and method of training neural network
EP16205658.4A EP3200130A1 (en) 2016-01-26 2016-12-21 Recognition apparatus based on neural network and method of training neural network
US16/668,712 US11669730B2 (en) 2016-01-26 2019-10-30 Recognition apparatus based on neural network and method of training neural network

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160009353A KR102565273B1 (ko) 2016-01-26 2016-01-26 뉴럴 네트워크에 기초한 인식 장치 및 뉴럴 네트워크의 학습 방법

Publications (2)

Publication Number Publication Date
KR20170089217A KR20170089217A (ko) 2017-08-03
KR102565273B1 true KR102565273B1 (ko) 2023-08-09

Family

ID=57583049

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160009353A KR102565273B1 (ko) 2016-01-26 2016-01-26 뉴럴 네트워크에 기초한 인식 장치 및 뉴럴 네트워크의 학습 방법

Country Status (5)

Country Link
US (2) US10515305B2 (ko)
EP (2) EP3200130A1 (ko)
JP (1) JP6851801B2 (ko)
KR (1) KR102565273B1 (ko)
CN (1) CN106997485A (ko)

Families Citing this family (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10846595B2 (en) * 2016-12-20 2020-11-24 Intel Corporation Rapid competitive learning techniques for neural networks
US10846590B2 (en) * 2016-12-20 2020-11-24 Intel Corporation Autonomous navigation using spiking neuromorphic computers
US10679119B2 (en) * 2017-03-24 2020-06-09 Intel Corporation Handling signal saturation in spiking neural networks
KR102601604B1 (ko) * 2017-08-04 2023-11-13 삼성전자주식회사 뉴럴 네트워크의 파라미터들을 양자화하는 방법 및 장치
US11507806B2 (en) * 2017-09-08 2022-11-22 Rohit Seth Parallel neural processor for Artificial Intelligence
CN107563503A (zh) * 2017-09-14 2018-01-09 胡明建 一种可编码择阀值择函数人工神经元的设计方法
CN107578096A (zh) * 2017-09-21 2018-01-12 胡明建 一种压频式择端人工神经元的设计方法
US11195096B2 (en) 2017-10-24 2021-12-07 International Business Machines Corporation Facilitating neural network efficiency
US11301752B2 (en) * 2017-10-24 2022-04-12 International Business Machines Corporation Memory configuration for implementing a neural network
US11301753B2 (en) 2017-11-06 2022-04-12 Samsung Electronics Co., Ltd. Neuron circuit, system, and method with synapse weight learning
KR102592146B1 (ko) * 2017-11-06 2023-10-20 삼성전자주식회사 시냅스 가중치 학습을 위한 뉴런 회로, 시스템 및 방법
CN111465945B (zh) * 2018-01-23 2024-02-02 赫尔实验室有限公司 应用于神经形态硬件的用于模式识别的系统、方法与介质
KR102590505B1 (ko) * 2018-04-09 2023-10-19 한국전자통신연구원 방사선원을 포함하는 스파이크 뉴럴 네트워크 회로
US11521055B2 (en) * 2018-04-14 2022-12-06 International Business Machines Corporation Optical synapse
FR3084505B1 (fr) * 2018-07-26 2021-09-10 Thales Sa Reseau de neurones comportant des resonateurs spintroniques
FR3084503B1 (fr) * 2018-07-26 2020-10-16 Thales Sa Chaîne synaptique comprenant des resonateurs spintroniques bases sur l'effet de diode de spin et reseau de neurones comprenant une telle chaîne synaptique
US11200484B2 (en) 2018-09-06 2021-12-14 International Business Machines Corporation Probability propagation over factor graphs
KR102288075B1 (ko) * 2019-02-12 2021-08-11 서울대학교산학협력단 스파이킹 뉴럴 네트워크를 이용한 추론 방법 및 장치
US10878321B2 (en) * 2019-02-28 2020-12-29 DeepCube LTD. Partial activation of multiple pathways in neural networks
US11120221B2 (en) * 2019-03-26 2021-09-14 Tata Consultancy Services Limited Method and system to resolve ambiguities in regulations
EP3742345A1 (en) * 2019-05-20 2020-11-25 Robert Bosch GmbH A neural network with a layer solving a semidefinite program
US10915248B1 (en) * 2019-08-07 2021-02-09 Macronix International Co., Ltd. Memory device
CN111061626B (zh) * 2019-11-18 2023-11-14 北京工业大学 基于神经元激活频率分析的测试用例优先级排序方法
CN110991610B (zh) * 2019-11-28 2022-08-05 华中科技大学 一种非确定性问题的概率确定方法
CN111210013B (zh) * 2019-12-30 2023-04-07 清华大学 阈值可塑的人工神经元电路
CN113222103A (zh) * 2020-02-05 2021-08-06 北京三星通信技术研究有限公司 神经网络的更新方法、分类方法和电子设备
CN113688980A (zh) * 2020-05-19 2021-11-23 深圳忆海原识科技有限公司 具有前向学习和元学习功能的类脑视觉神经网络
CN111931568A (zh) * 2020-06-30 2020-11-13 青岛科技大学 一种基于增强式学习的人体跌倒检测方法及系统
WO2022018916A1 (ja) * 2020-07-20 2022-01-27 日本電気株式会社 ニューラルネットワーク装置、発火時刻演算方法および記録媒体
CN112819141A (zh) * 2021-02-01 2021-05-18 浪达网络科技(浙江)有限公司 一种基于深度神经网络的信息处理系统
CN114137325B (zh) * 2021-11-30 2022-09-27 中国人民解放军陆军工程大学 一种非接触式静电电位分布测试的仿生电路、系统及方法

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE68922567T2 (de) * 1988-10-06 1995-08-17 Toshiba Kawasaki Kk Neuronales Netzwerksystem.
JP2000298661A (ja) 1999-04-15 2000-10-24 Fuji Xerox Co Ltd ニューラルネットワーク装置
US7054850B2 (en) * 2000-06-16 2006-05-30 Canon Kabushiki Kaisha Apparatus and method for detecting or recognizing pattern by employing a plurality of feature detecting elements
WO2004027704A1 (en) 2002-09-20 2004-04-01 Ecole Polytechnique Federale De Lausanne (Epfl) Spiking neural network device
US7496548B1 (en) * 2005-09-26 2009-02-24 Quintura, Inc. Neural network for electronic search applications
GB0811057D0 (en) 2008-06-17 2008-07-23 Univ Ulster Artificial neural network architecture
US9665822B2 (en) * 2010-06-30 2017-05-30 International Business Machines Corporation Canonical spiking neuron network for spatiotemporal associative memory
US8473439B2 (en) 2010-12-08 2013-06-25 International Business Machines Corporation Integrate and fire electronic neurons
CN102193518B (zh) * 2011-05-13 2013-04-24 南京理工大学 基于基底神经节的fpga仿生智能控制芯片
US8712940B2 (en) 2011-05-31 2014-04-29 International Business Machines Corporation Structural plasticity in spiking neural networks with symmetric dual of an electronic neuron
US9147156B2 (en) * 2011-09-21 2015-09-29 Qualcomm Technologies Inc. Apparatus and methods for synaptic update in a pulse-coded network
DE102011106046A1 (de) 2011-06-30 2013-01-03 Paul Hartmann Ag Wundversorgungsprodukt
US8943008B2 (en) 2011-09-21 2015-01-27 Brain Corporation Apparatus and methods for reinforcement learning in artificial neural networks
US9111224B2 (en) * 2011-10-19 2015-08-18 Qualcomm Incorporated Method and apparatus for neural learning of natural multi-spike trains in spiking neural networks
US20130204814A1 (en) 2012-02-08 2013-08-08 Qualcomm Incorporated Methods and apparatus for spiking neural computation
US9015096B2 (en) 2012-05-30 2015-04-21 Qualcomm Incorporated Continuous time spiking neural network event-based simulation that schedules co-pending events using an indexable list of nodes
US8924322B2 (en) 2012-06-15 2014-12-30 International Business Machines Corporation Multi-processor cortical simulations with reciprocal connections with shared weights
US20140025613A1 (en) 2012-07-20 2014-01-23 Filip Ponulak Apparatus and methods for reinforcement learning in large populations of artificial spiking neurons
US9256823B2 (en) 2012-07-27 2016-02-09 Qualcomm Technologies Inc. Apparatus and methods for efficient updates in spiking neuron network
US20140143193A1 (en) 2012-11-20 2014-05-22 Qualcomm Incorporated Method and apparatus for designing emergent multi-layer spiking networks
WO2014081671A1 (en) 2012-11-20 2014-05-30 Qualcomm Incorporated Dynamical event neuron and synapse models for learning spiking neural networks
US9904889B2 (en) 2012-12-05 2018-02-27 Applied Brain Research Inc. Methods and systems for artificial cognition
US9195934B1 (en) 2013-01-31 2015-11-24 Brain Corporation Spiking neuron classifier apparatus and methods using conditionally independent subsets
US20150278641A1 (en) * 2014-03-27 2015-10-01 Qualcomm Incorporated Invariant object representation of images using spiking neural networks
CN103942600B (zh) * 2014-04-12 2017-05-31 北京工业大学 基于尖峰自组织径向基神经网络的污泥膨胀预测方法
CN105095965B (zh) * 2015-07-16 2017-11-28 清华大学 人工神经网络和脉冲神经网络神经的混合通信方法
CN105095966B (zh) * 2015-07-16 2018-08-21 北京灵汐科技有限公司 人工神经网络和脉冲神经网络的混合计算系统

Also Published As

Publication number Publication date
EP3200130A1 (en) 2017-08-02
US10515305B2 (en) 2019-12-24
JP6851801B2 (ja) 2021-03-31
CN106997485A (zh) 2017-08-01
US20200065674A1 (en) 2020-02-27
US11669730B2 (en) 2023-06-06
EP3872712A1 (en) 2021-09-01
US20170213129A1 (en) 2017-07-27
KR20170089217A (ko) 2017-08-03
JP2017134821A (ja) 2017-08-03

Similar Documents

Publication Publication Date Title
KR102565273B1 (ko) 뉴럴 네트워크에 기초한 인식 장치 및 뉴럴 네트워크의 학습 방법
KR102644947B1 (ko) 뉴럴 네트워크를 위한 트레이닝 방법, 뉴럴 네트워크를 이용한 인식 방법 및 그 장치들
KR102415506B1 (ko) 뉴럴 네트워크 간소화 방법 및 장치
US10410114B2 (en) Model training method and apparatus, and data recognizing method
US11544538B2 (en) Pulse driving apparatus for minimising asymmetry with respect to weight in synapse element, and method therefor
EP3136304A1 (en) Methods and systems for performing reinforcement learning in hierarchical and temporally extended environments
EP3097516A1 (en) Configuring neural network for low spiking rate
KR101700145B1 (ko) 뉴럴 역학을 수정하기 위한 자동화 방법
KR20170031695A (ko) 신경망들에서의 콘볼루션 동작의 분해
US20130073501A1 (en) Method and apparatus for structural delay plasticity in spiking neural networks
Kazemi et al. Predicting seismic response of SMRFs founded on different soil types using machine learning techniques
US11188815B2 (en) Weight shifting for neuromorphic synapse array
US20150248609A1 (en) Neural network adaptation to current computational resources
CN103914711B (zh) 一种改进的极速学习装置及其模式分类方法
CN116304676B (zh) 脑活动状态分类模型训练方法、装置和设备
Engelbrecht et al. Selective learning using sensitivity analysis
KR102090109B1 (ko) 학습 및 추론 장치 및 그 방법
Stuck et al. Burstprop for learning in spiking neuromorphic hardware
Banek et al. Adaptive control of system entropy
Ghis et al. Mixed Software/Hardware based Neural Network Learning Acceleration.
US20120303567A1 (en) Method and apparatus of primary visual cortex simple cell training and operation
Ali Feed Forward Neural Network For Sine Function With Symmetric Table Addition Method Using Labview And Matlab Code
Okada Interval-valued differential evolution for evolving neural networks with interval weights and biases
CN110738306A (zh) 基于单指数核及脉冲阈值表面的高效多脉冲算法
KR20220157619A (ko) 하드웨어 가속기에서의 비선형 함수 계산 방법 및 장치

Legal Events

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