KR102545066B1 - 뉴로모픽 컴퓨팅을 위한 신경망 생성 방법 및 이를 위한 장치 - Google Patents

뉴로모픽 컴퓨팅을 위한 신경망 생성 방법 및 이를 위한 장치 Download PDF

Info

Publication number
KR102545066B1
KR102545066B1 KR1020200047906A KR20200047906A KR102545066B1 KR 102545066 B1 KR102545066 B1 KR 102545066B1 KR 1020200047906 A KR1020200047906 A KR 1020200047906A KR 20200047906 A KR20200047906 A KR 20200047906A KR 102545066 B1 KR102545066 B1 KR 102545066B1
Authority
KR
South Korea
Prior art keywords
neural network
brain
information
neurons
generating
Prior art date
Application number
KR1020200047906A
Other languages
English (en)
Other versions
KR20210004813A (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 US16/894,276 priority Critical patent/US11630992B2/en
Publication of KR20210004813A publication Critical patent/KR20210004813A/ko
Application granted granted Critical
Publication of KR102545066B1 publication Critical patent/KR102545066B1/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/08Learning methods

Abstract

기재된 실시예는 본 발명은 인간의 두뇌를 모사한 인공지능 시스템인 뉴로모픽 시스템을 구성하는 기술에 관한 것으로, 응용이 생성 요청한 신경망 기능에 상응하는 적어도 하나 이상의 뇌의 파트를 선택하는 단계; 상기 적어도 하나 이상의 뇌의 파트에 상응하는 기존 신경망이 신경망 데이터베이스에 있는지 여부를 판단하는 단계; 상기 기존 신경망이 없는 경우, 뇌 정보 데이터베이스를 기반으로 상기 뇌의 파트에 상응하는 새로운 신경망의 구성 정보를 생성하는 단계; 상기 새로운 신경망의 구성 정보를 기반으로 뉴로모픽 하드웨어에 매핑하여 새로운 신경망을 생성하는 단계; 및 상기 신경망 데이터베이스에 상기 새로운 신경망을 저장하는 단계를 포함하는, 뉴로모픽 컴퓨팅을 위한 신경망 생성 방법에 관한 것이다.

Description

뉴로모픽 컴퓨팅을 위한 신경망 생성 방법 및 이를 위한 장치{METHOD FOR GENERATING NEURAL NETWORK FOR NEUROMORPHIC SYSTEM AND APPARATUS FOR THE SAME}
본 발명은 인간의 두뇌를 모사한 인공지능 시스템인 뉴로모픽(Neuromorphic) 시스템을 구성하는 기술에 관한 것이다.
현재의 인공지능 분야는 약인공지능과 강인공지능으로 세분화할 수 있다. 약인공지능은 어떤 특정한 한가지 분야의 주어진 일을 인간의 지시에 따라 수행하는 인공지능을 말하는데 요즘 많이 연구되고 있는 DNN(Deep Neural Network)는 약인공지능의 한 방식이다.
강인공지능의 대표적인 연구분야로 뉴로모픽 컴퓨팅이 있다. 뉴로모픽 컴퓨팅은 뉴런과 시냅스로 이루어진 뇌의 동작 방식을 하드웨어 형태로 모방한 회로를 만들어 인간의 뇌 기능을 모사하려는 공학 분야이다. 상기 모방한 회로를 뉴로모픽 회로라고 하며, 상기 뉴로모픽 회로를 사용하여 인공지능을 만드는 것을 뉴로모픽 컴퓨팅이라고 부른다. 이 방식은 회로 자체가 뉴런과 시냅스 만으로 구성되기 때문에 기존의 머신러닝 방법보다 적은 면적에서 저전력으로 높은 인공지능 시스템을 구성할 수 있다. 머신러닝은 뇌의 동작을 추상화시켜 CPU나 GPU에서 전체를 동작시키는 것에 반해, 뉴로모픽 컴퓨팅은 뇌의 뉴런 세포 각각을 흉내내어 입력 신호에 반응하는 뉴런 부분만 동작시키면 되기 때문에 머신러닝 방식에 비해 전력소모가 훨씬 적다는 장점이 있다.
뉴로모픽 컴퓨팅 시스템은 현재 다양한 형태의 하드웨어 시스템으로 만들어지고 있다. 상기 하드웨어 시스템은 두뇌를 최대한 비슷하게 모사하면서도 전력 소모와 성능 관점에서 효율적으로 동작하도록 구현하는 것으로, 현재 기술분야는 단순히 뉴런과 시냅스를 하드웨어적으로 잘 구현하는데만 집중하고 있다.
그러나, 뇌를 구성하는 뉴런과 시냅스는 실제로 다양한 형태로 나타난다. 뇌를 구성하는 연합 뉴런(중추신경계)은 그 모양에 따라 피라미드형 세포, 별모양 세포, 바구니 세포, 샹들리에 세포 등의 다양한 형태로 구분할 수 있다. 또한, 뉴런 종류마다 그 뉴런을 구성하는 축삭돌기(액손, Axon)의 길이, 가지돌기(덴드라이트, Dendrite)의 위치등도 다양하다. 예를 들어, 뉴런과 뉴런을 연결하는 축삭돌기의 길이는 1μm에서 1m까지 다양하다. 그리고 축삭돌기에서 다른 뉴런과 연결이 되는 시냅스는 신호 전달 방식으로 전기적 전도현상으로 정보를 전달할 수도 있고 신경전달 물질을 이동시켜 화학적으로 정보를 전달할 수도 있다. 이상과 같이 뉴런과 시냅스는 뇌의 파트에 따라 주로 구성되는 종류과 개수, 연결 형태들이 다르다. 따라서 두뇌를 최대한 비슷하게 모사하기 위해서는, 필요로 하는 기능이 두뇌의 어떤 부분으로 구성되고 어떠한 뉴런들로 구성되는지를 먼저 결정할 필요가 있다.
이에 본 발명에서는 단순히 뉴런과 시냅스를 두뇌와 최대한 비슷하게 구현하는 기술이 아니라 뉴로모픽 컴퓨팅 시스템을 사용하는 상황과 목적에 따라 두뇌를 최대한 비슷하게 모사한 최적의 형태로 구성할 수 있는 기술을 제안하고자 한다.
한국공개특허 제 10-2019-0051766호(2019. 5. 15.)
본 발명의 목적은 뇌의 뉴런의 구성 형태를 뇌의 파트에 따라 정보를 저장하고, 상기 정보를 기반으로 뉴로모픽 컴퓨팅 시스템이 사용되는 상황과 목적에 따라 두뇌를 최대한 비슷하게 모사한 최적의 형태로 구성한 뉴로모픽 컴퓨팅을 위한 신경망 생성 방법 및 장치를 제공함에 있다.
또한, 본 발명의 목적은 응용이 요청한 기능을 수행하는 신경망을 뉴로모픽 하드웨어의 리소스 자원을 고려하여 구성할 수 있는 방법을 제공함에 있다.
실시예에 따른 뉴로모픽 컴퓨팅을 위한 신경망 생성 방법은 응용이 생성 요청한 신경망 기능에 상응하는 적어도 하나 이상의 뇌의 파트(Part)를 선택하는 단계; 상기 적어도 하나 이상의 뇌의 파트에 상응하는 기존 신경망이 신경망 데이터베이스에 있는지 여부를 판단하는 단계; 상기 기존 신경망이 없는 경우, 뇌 정보 데이터베이스를 기반으로 상기 뇌의 파트에 상응하는 새로운 신경망의 구성 정보를 생성하는 단계; 상기 새로운 신경망의 구성 정보를 기반으로 뉴로모픽(Neuromorphic) 하드웨어에 매핑(Mapping)하여 새로운 신경망을 생성하는 단계; 및상기 신경망 데이터베이스에 상기 새로운 신경망을 저장하는 단계를 포함한다.
이 때, 상기 뇌 정보 데이터베이스는 상기 뇌의 파트를 구성하는 뇌의 세부 파트간 연결 정보, 상기 뇌의 세부 파트의 구성 정보, 뉴런의 구조 정보, 및 뉴런간 연결 정보를 포함하는 것일 수 있다.
이 때, 상기 새로운 신경망의 구성 정보를 생성하는 단계는 상기 뇌의 세부 파트간 연결 정보를 기반으로 상기 뇌의 세부 파트들을 구성하는 단계; 상기 뇌의 세부 파트의 구성 정보를 기반으로 상기 뇌의 세부 파트를 구성하는 뉴런 집합을 구성하는 단계; 및 상기 뉴런의 구조 정보, 뉴런간 연결 정보를 기반으로 상기 뉴런 집합을 구성하는 뉴런들을 구성하는 단계를 포함할 수 있다.
이 때, 상기 새로운 신경망을 생성하는 단계는 상기 새로운 신경망의 구성 정보에 상응하는 신경망 그래프를 생성하는 단계; 상기 하드웨어의 리소스 자원 정보에 상응하는 리소스 자원 그래프를 생성하는 단계; 및 그래프 매핑 알고리즘을 이용하여 상기 리소스 자원 그래프에 상기 신경망 그래프를 매핑하는 단계를 포함할 수 있다.
이 때, 상기 새로운 신경망을 생성하는 단계는 상기 리소스 자원 그래프와 상기 신경망 그래프를 비교하는 단계; 및 상기 신경망 그래프를 상기 리소스 그래프에 맞게 비율적으로 조절하는 단계를 더 포함할 수 있다.
이 때, 상기 뇌의 세부 파트간 연결 정보는 상기 뇌의 세부 파트간 연결 형태, 상기 뇌의 세부 파트간 연결 신호의 흐름 방향, 또는 상기 연결되는 부분의 신경망의 크기를 포함하는 것일 수 있다.
이 때, 상기 뇌의 세부 파트의 구성 정보는 상기 세부 파트를 구성하는 뉴런의 양, 상기 뉴런의 종류, 또는 상기 종류별 구성 비율을 포함하는 것일 수 있다.
이 때, 상기 뉴런의 구조 정보는 상기 뉴런을 구성하는 소마(신경세포체), 덴드라이트(가지돌기), 시냅스의 크기 및 길이를 포함하는 것일 수 있다.
이 때, 상기 뉴런간 연결 정보는 자극 전달 방식을 포함하고, 상기 자극 전달 방식은 전기 자극 전달 방식 또는 화학 자극 전달 방식 중 어느 하나인 것일 수 있다.
이 때, 상기 기존 신경망이 있는 경우, 상기 기존 신경망을 상기 신경망 데이터베이스로부터 가져오는 단계를 더 포함할 수 있다.
실시예에 따른 뉴로모픽 컴퓨팅을 위한 신경망 구성 장치는 응용이 생성 요청한 신경망 기능에 상응하는 적어도 하나 이상의 뇌의 파트(Part)를 선택하고, 상기 적어도 하나 이상의 뇌의 파트에 상응하는 기존 신경망이 신경망 데이터베이스에 있는 여부를 판단하고, 상기 기존 신경망이 없는 경우, 뇌 정보 데이터베이스를 기반으로 상기 뇌의 파트에 상응하는 새로운 신경망의 구성 정보를 생성하는 프로세서; 및 상기 새로운 신경망의 구성 정보를 저장하는 메모리를 포함할 수 있다.
이 때, 상기 뇌 정보 데이터베이스는 상기 뇌의 파트를 구성하는 뇌의 세부 파트간 연결 정보, 상기 뇌의 세부 파트의 구성 정보, 뉴런의 구조 정보, 뉴런간 연결 정보를 포함하는 것일 수 있다.
이 때, 상기 프로세서는 상기 뇌의 세부 파트간 연결 정보를 기반으로 상기 뇌의 세부 파트들을 구성하고, 상기 뇌의 세부 파트의 구성 정보를 기반으로 상기 뇌의 세부 파트를 구성하는 뉴런 집합을 구성하고, 상기 뉴런의 구조 정보, 뉴런간 연결 정보를 기반으로 상기 뉴런 집합을 구성하는 뉴런들을 구성하는 것일 수 있다.
이 때, 상기 뇌의 세부 파트간 연결 정보는 상기 뇌의 세부 파트간 연결 형태, 상기 뇌의 세부 파트간 연결 신호의 흐름 방향, 또는 상기 연결되는 부분의 신경망의 크기를 포함하는 것일 수 있다.
이 때, 상기 뇌의 세부 파트의 구성 정보는 상기 세부 파트를 구성하는 뉴런의 양, 상기 뉴런의 종류, 또는 상기 종류별 구성 비율을 포함하는 것일 수 있다.
이 때, 상기 뉴런의 구조 정보는 상기 뉴런을 구성하는 소마(신경세포체), 덴드라이트(가지돌기), 시냅스의 크기 및 길이를 포함하는 것일 수 있다.
이 때, 상기 뉴런간 연결 정보는 자극 전달 방식을 포함하고, 상기 자극 전달 방식은 전기 자극 전달 방식 또는 화학 자극 전달 방식 중 어느 하나인 것일 수 있다.
실시예에 따른 뉴로모픽 컴퓨팅을 위한 신경망 생성 장치는 신경망 구성 장치로부터 뇌 정보 데이터 베이스 기반으로 생성된 새로운 신경망의 구성 정보를 받고, 상기 신경망의 구성 정보를 기반으로 뉴로모픽 하드웨어에 매핑하여 새로운 신경망을 생성하고, 신경망 데이터베이스로부터 기존 신경망을 가져오는 프로세서; 및 상기 새로운 신경망을 저장하는 메모리를 포함할 수 있다.
이 때, 상기 프로세서는 상기 새로운 신경망의 구성 정보에 상응하는 신경망 그래프를 생성하고, 상기 하드웨어의 리소스 자원 정보에 상응하는 리소스 자원 그래프를 생성하고, 그래프 매핑 알고리즘을 이용하여 상기 리소스 자원 그래프에 상기 신경망 그래프를 매핑하는 것일 수 있다.
이 때, 상기 프로세서는 상기 리소스 자원 그래프와 상기 신경망 그래프를 비교하고, 상기 신경망 그래프를 상기 리소스 그래프에 맞게 비율적으로 조절하는 것일 수 있다.
본 발명은 뇌의 뉴런의 구성 형태를 뇌의 파트에 따라 정보를 저장하고, 상기 정보를 기반으로 뉴로모픽 컴퓨팅 시스템이 사용되는 상황과 목적에 따라 두뇌를 최대한 비슷하게 모사한 최적의 형태로 구성한 뉴로모픽 컴퓨팅을 위한 신경망 생성 방법 및 장치를 제공할 수 있다.
또한, 본 발명은 응용이 요청한 기능을 수행하는 신경망을 뉴로모픽 하드웨어의 리소스 자원을 고려하여 구성할 수 있는 방법을 제공할 수 있다.
도 1은 실시예에 따른 뉴로모픽 컴퓨팅 시스템을 나타낸 블록도이다.
도 2는 도 1에 도시된 뉴로모픽 컴퓨팅을 위한 신경망 생성 시스템(100)의 일 예를 나타낸 블록도이다.
도 3은 도 2에 도시된 뇌 정보 DB(220)의 일 예를 나타낸 도면이다.
도 4는 본 발명상의 실시예에 따라 생성된 뇌의 시각처리 기능에 상응하는 신경망을 나타낸 도면이다.
도 5는 실시예에 따른 뉴로모픽 컴퓨팅을 위한 신경망 생성 방법의 동작 흐름도를 나타낸 도면이다.
도 6은 실시예에 따른 컴퓨터 시스템 구성을 나타낸 도면이다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 것이며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하며, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.
비록 "제1" 또는 "제2" 등이 다양한 구성요소를 서술하기 위해서 사용되나, 이러한 구성요소는 상기와 같은 용어에 의해 제한되지 않는다. 상기와 같은 용어는 단지 하나의 구성요소를 다른 구성요소와 구별하기 위하여 사용될 수 있다. 따라서, 이하에서 언급되는 제1 구성요소는 본 발명의 기술적 사상 내에서 제2 구성요소일 수도 있다.
본 명세서에서 사용된 용어는 실시예를 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 "포함한다(comprises)" 또는 "포함하는(comprising)"은 언급된 구성요소 또는 단계가 하나 이상의 다른 구성요소 또는 단계의 존재 또는 추가를 배제하지 않는다는 의미를 내포한다.
다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어는 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 공통적으로 이해될 수 있는 의미로 해석될 수 있다. 또한, 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다.
이하에서는, 도 1 내지 도 6을 참조하여 실시예에 따른 뉴로모픽 컴퓨팅을 위한 신경망 생성 방법 및 이를 위한 장치가 상세히 설명된다.
도 1은 실시예에 따른 뉴로모픽 컴퓨팅 시스템을 나타낸 블록도이다.
도 1을 참조하면, 뉴로모픽 컴퓨팅 시스템은 뉴로모픽 시스템의 응용(110)과 신경망 생성 시스템(100)을 포함한다. 그리고 상기 신경망 생성 시스템(100)은 신경망 구성 장치(120)와 신경망 생성 장치(130)를 포함할 수 있다.
상기 뉴로모픽 컴퓨팅 시스템은 뉴로모픽 시스템의 응용(110)이 상기 신경망 생성 시스템(100)에게 뉴로모픽 신경망 생성 요청을 보내고, 상기 신경망 생성 시스템(100)은 상기 요청을 받아 신경망을 구성 및 생성하여 생성된 신경망을 상기 응용(110)에 보낼 수 있다.
신경망 구성 장치(120)는 상기 신경망 생성 요청을 받게 되면 상기 응용에서 사용하고자 하는 신경망 기능을 찾고, 상기 신경망 기능에 상응하는 적어도 하나 이상의 뇌의 파트(Part)를 선택할 수 있다. 여기서 뇌의 파트는 시각처리 파트, 청각처리 파트 등을 포함할 수 있다. 예를 들어 영상을 판별하는 것을 요청받았다고 하면, 뇌의 파트 중 시각 처리 파트를 선택하게 되고, 음성과 영상을 동시에 판별하는 것을 요청받았다면, 뇌의 파트 중 시각 처리 파트와 청각 처리 파트가 선택될 수 있다.
또한 상기 신경망 구성 장치(120)는 상기 적어도 하나 이상의 뇌의 파트에 상응하는 기존 신경망이 신경망 데이터베이스(또는 신경망 DB)에 있는지 확인할 수 있다. 상기 신경망 데이터베이스는 상기 신경망 생성 시스템(100)이 이전에 생성한 신경망들을 저장해놓은 데이터베이스를 말한다. 상기 응용이 요구하는 기능을 수행할 수 있는 기존 신경망이 있다고 하면, 굳이 새롭게 신경망을 구성 및 생성할 필요가 없으므로 상기 신경망 구성 장치(120)는 먼저 신경망 데이터베이스를 확인하여 기존 신경망이 없는 경우에만 상기 신경 생성 시스템은 새로운 신경망을 생성하게 된다.
따라서 상기 신경망 구성 장치(120)는 상기 기존 신경망이 있는 경우 상기 기존 신경망을 상기 신경망 데이터베이스로부터 가져올 수 있다. 그리고 상기 신경망 구성 장치(120)는 상기 기존 신경망이 없는 경우 뇌 정보 데이터베이스(또는 뇌 정보 DB)를 기반으로 상기 뇌의 파트에 상응하는 새로운 신경망의 구성 정보를 생성할 수 있다.
뉴로모픽 컴퓨팅 시스템을 구성하는 뉴런과 시냅스는 실제로 다양한 형태로 나타난다. 뇌를 구성하는 연합 뉴런(중추신경계)은 그 모양에 따라 피라미드형 세포(Pyramidal cell), 별모양 세포(Stellate Cell), 바구니 세포(Basket Cell), 샹들리에 세포(Chandelier cell) 등의 다양한 형태로 구분할 수 있다. 그리고 뉴런의 종류마다 그 뉴런을 구성하는 축삭돌기의 길이, 가지돌기의 위치 등도 다양하다. 축삭돌기에서 다른 뉴런과 연결이 되는 시냅스는 신호 전달 방식으로 전기적 전도 현상으로 정보를 전달할 수도 있고 신경전달 물질을 이동시켜 화학적으로 정보를 전달할 수도 있다. 이와 같이 뉴런과 시냅스는 뇌의 파트에 따라 주로 구성되는 종류과 개수들이 다르게 나타난다. 따라서 이렇게 뇌의 파트를 구성되는 뉴런과 시냅스의 정보를 저장한 데이터베이스가 바로 뇌 정보 데이터베이스이다.
상기 뇌 정보 데이터베이스는 상기 뇌의 파트를 구성하는 뇌의 세부 파트간 연결 정보, 상기 뇌의 세부 파트의 구성 정보, 뉴런의 구조 정보, 뉴런간 연결 정보를 포함할 수 있다. 따라서 상기 신경망 구성 장치(120)는 상기 뇌의 세부 파트간 연결 정보를 기반으로 상기 뇌의 세부 파트들을 구성하고, 상기 뇌의 세부 파트의 구성 정보를 기반으로 상기 뇌의 세부 파트를 구성하는 뉴런 집합을 구성하며, 상기 뉴런의 구조 정보, 뉴런간 연결 정보를 기반으로 상기 뉴런 집합을 구성하는 뉴런들을 구성하는 동작을 수행할 수 있다.
그리고 상기 뇌의 세부 파트간 연결 정보는 상기 뇌의 세부 파트간 연결 형태, 상기 뇌의 세부 파트간 연결 신호의 흐름 방향, 또는 상기 연결되는 부분의 신경망의 크기를 포함하는 것일 수 있다. 상기 뇌의 세부 파트의 구성 정보는 상기 세부 파트를 구성하는 뉴런의 양, 상기 뉴런의 종류, 또는 상기 종류별 구성 비율을 포함하는 것일 수 있다. 상기 뉴런의 구조 정보는 상기 뉴런을 구성하는 소마(신경세포체), 덴드라이트(가지돌기), 시냅스의 크기 및 길이를 포함하는 것일 수 있다. 상기 뉴런간 연결 정보는 자극 전달 방식을 포함하고, 상기 자극 전달 방식은 전기 자극 전달 방식 또는 화학 자극 전달 방식 중 어느 하나인 것일 수 있다.
즉, 새로운 신경망을 구성하기 위해 상기 뇌 정보 DB에서 상기 뇌의 파트를구성하는 뇌의 세부 파트 및 뉴런의 정보를 가져온다. 뇌 정보 DB에서 뇌의 세부 파트간의 연결 정보을 사용하여 상기 세부 파트들을 구성하고, 상기 세부 파트의 구성 정보를 사용하여 뉴런 집합을 배정하고 뉴런의 구조 정보와 뉴런간 연결 정보를 사용하여 각 뉴런들을 하나 하나 세부 세팅해주는 것이다.
예를 들어, 응용이 '카메라 입력 영상에서 물체를 판별하기 위한 신경망'의 생성을 요청하였다고 가정하자. 상기 신경망의 기능에 상응하는 뇌의 파트는 뇌의 시각 처리 파트가 된다. 그리고 뇌의 시각 처리를 구성하는 세부 파트들을 선택할 수 있다. 상기 세부 파트를 구성하는 뉴런의 양과 종류, 뉴런의 구성 비율, 연결 구조 등의 정보를 뇌 정보 DB로부터 가져온다. 또한 상기 세부 파트들이 어떤 형태로 연결되어 있는 지에 대한 정보를 가져온다. 그리고 다양한 뉴런의 종류중에서 상기 세부 파트들에 속해 있는 뉴런들의 구조 정보를 가져와서 뉴로모픽 하드웨어에서 해당 뉴런들에 대하여 정확히 구조를 세팅하여 사용할 수 있도록 한다. 즉, 뇌 정보 DB로부터 구성 정보를 사용하여 요청받은 기능을 처리할 수 있는 신경망을 생성하는 것이다.
상기 시각 처리 파트를 구성하는 예의 경우, 색을 감지하는 V1, 형태를 감지하는 V2, 색의 변화를 감지하는 V3, 형태의 변화를 감지하는 V4의 세부 파트들이 선택될 수 있다. 그리고 세부 파트들의 연결 정보에 기반하여 V1은 V3와 연결되고, V2는 V4와 연결되고 V3와 V4가 연결될 수 있다. 그리고 V1, V2, V3, V4의 세부 파트를 구성하는 뉴런 집합이 선택된다. 상기 뉴런 집합은 뉴런의 총 개수, 뉴런의 연결 방법, 그리고 뉴런의 종류(타입)별 비율과 각 뉴런의 구조 등을 포함할 수 있다. 예를 들어 V1을 구성하는 뉴런 집합은 뉴런 100개가 직렬로 연결되고, 상기 뉴런 100개가 피라미드형 세포와 별 세포가 1:1의 비율로 구성될 수도 있고, 상기 100개의 뉴런들 중 일부 특정한 뉴런들은 소마(신경세포체), 덴드라이트(가지 돌기) 및 시냅스의 크기나 길이가 보통의 뉴런들의 2배일 수 있으며, 각 뉴런들을 연결하는 방식이 전기 자극 전달 방식으로만 정해질 수 있다.
결국 상기 신경망 구성 장치(120)는 각 파트를 구성하는 뉴런 집합 및 뉴런들의 정보를 뇌 정보 DB로부터 수집하여 새로운 신경망의 구성 정보를 구성하는 것이다. 따라서 뉴로모픽 컴퓨팅 시스템을 구현하기 위해 이러한 뇌 정보 DB를 구축하는 과정이 선행되어야 한다. 그리고 상기 시스템이 사용자와 사용 환경에 따라 상기 뇌 정보 DB는 다르게 구축될 수 있다.
상기 신경망 구성 장치(120)가 이상과 같은 동작을 수행하여 새로운 신경망의 구성 정보를 얻게 되면, 상기 신경망 생성 장치(130)는 상기 새로운 신경망의 구성 정보를 기반으로 뉴로모픽(Neuromorphic) 하드웨어에 매핑(Mapping)하여 새로운 신경망을 생성할 수 있다.
상기 신경망 생성 장치(130)는 상기 새로운 신경망의 구성 정보에 상응하는 신경망 그래프를 생성하고, 상기 하드웨어의 리소스 자원 정보에 상응하는 리소스 자원 그래프를 생성할 수 있다. 그리고 상기 장치는 그래프 매핑 알고리즘을 이용하여 상기 리소스 자원 그래프에 상기 신경망 그래프를 매핑할 수 있다. 이렇게 함으로써 상기 신경망 생성 장치(130)는 새로운 신경망을 뉴로모픽 하드웨어에서 생성하게 되는 것이다. 그리고 상기 신경망 생성 장치(130)는 상기 리소스 자원 그래프와 상기 신경망 그래프를 비교하고, 상기 신경망 그래프를 상기 리소스 그래프에 맞게 비율적으로 조절하는 동작을 더 수행할 수 있다.
즉, 생성된 신경망은 뉴로모픽 하드웨어의 자원 정보에 맞춰서 뉴로모픽 하드웨어에 매핑할 수 있다. 이 때 사용하는 매핑 알고리즘은 기존에 존재하는 그래프 매핑 알고리즘으로, 리소스 자원 그래프에 신경망 그래프를 매핑하는 것이다. 각 목적에 맞는 신경망은 뇌의 세부 파트마다 필요한 뉴런의 종류와 수량 등이 정해져 있는데 제공하는 하드웨어의 리소스 자원이 그에 맞지 않을 경우, 매핑 과정에서 신경망을 리소스에 맞게 비율적으로 조절하여야 할 필요가 있다. 특히 상기 리소스 자원이 부족한 경우, 신경망을 축소하여 매핑하여야 한다.
이렇게 하드웨어에 생성된 새로운 신경망은 상기 신경망 데이터베이스에 저장될 수 있다. 즉, 상기 새로운 신경망은 뉴로모픽 시스템의 응용에서의 사용이 종료되거나 응용이 요구하는 신경망이 다른 것으로 바뀔 경우, 변화한 내부 파라미터값과 같이 신경망 DB에 저장되고, 추후 다시 필요한 경우를 대비하게 되는 것이다.
도 2는 도 1에 도시된 뉴로모픽 컴퓨팅을 위한 신경망 생성 시스템(100)의 일 예를 나타낸 블록도이다.
도 2를 참조하면, 뉴로모픽 컴퓨팅을 위한 신경망 생성 시스템(100)은 신경망 구성 장치(120)와 신경망 생성 장치(130)를 포함한다. 상기 신경망 구성 장치(120)는 뉴로모픽 시스템의 응용으로부터 뉴로모픽 신경망 생성 요청(210)을 받아, 새로운 신경망의 구성 정보를 생성하고, 상기 신경망 생성 장치(130)는 상기 새로운 신경망의 구성 정보를 수신하여 뉴로모픽 하드웨어에 매핑하여 새로운 신경망을 생성하여 생성된 신경망(290)을 내보낸다.
신경망 구성 장치(120)는 뇌 구성부(230), 신경망 DB 확인부(240), 신경망 구성부(250) 및 뇌 정보 DB(220)를 포함할 수 있다. 상기 뇌 구성부(230)는 응용이 생성 요청한 신경망 기능에 상응하는 적어도 하나 이상의 뇌의 파트를 선택할 수 있다. 상기 신경망 DB 확인부(240)는 상기 적어도 하나 이상의 뇌의 파트에 상응하는 기존 신경망이 신경망 데이터베이스(280)에 있는지 여부를 판단할 수 있다. 그리고 상기 신경망 구성부(250)는 상기 기존 신경망이 상기 신경망 데이터베이스에 없는 경우, 뇌 정보 데이터베이스(220)를 기반으로 상기 뇌의 파트에 상응하는 새로운 신경망의 구성 정보를 생성할 수 있다.
뇌 구성부(230)는 상기 신경망 생성 요청(210)을 받게 되면 상기 응용에서 사용하고자 하는 신경망 기능을 찾고, 상기 신경망 기능에 상응하는 적어도 하나 이상의 뇌의 파트(Part)를 선택할 수 있다. 이 때, 뇌 정보 데이터베이스(220)의 정보를 참고하여 뇌의 파트를 선택할 수도 있다. 여기서 뇌의 파트는 시각처리 파트, 청각처리 파트 등을 포함할 수 있다. 예를 들어 영상을 판별하는 것을 요청 받았다고 하면, 뇌의 파트 중 시각 처리 파트를 선택하게 되고, 음성과 영상을 동시에 판별하는 것을 요청 받았다면, 뇌의 파트 중 시각 처리 파트와 청각 처리 파트가 선택될 수 있다.
신경망 DB 확인부(240)는 상기 적어도 하나 이상의 뇌의 파트에 상응하는 기존 신경망이 신경망 데이터베이스(280)에 있는지 확인할 수 있다. 상기 신경망 데이터베이스(280)는 신경망 생성 장치(130)가 이전에 생성한 신경망들을 저장해놓은 데이터베이스를 말한다. 상기 응용이 요구하는 기능을 수행할 수 있는 기존 신경망이 있다고 하면, 굳이 새롭게 신경망을 구성 및 생성할 필요가 없으므로, 먼저 신경망 데이터베이스를 확인하여 기존 신경망이 없는 경우에만 새로운 신경망을 생성하면 되는 것이다. 따라서 신경망 DB 확인부(240)는 상기 기존 신경망이 없는 경우 신경망 구성부(250)에 새로운 신경망을 구성하라는 신호를 보내고, 상기 기존 신경망이 있는 경우 상기 신경망 DB(280)에 상기 기존 신경망을 로드(Load)하라는 신호를 보낼 수 있다.
신경망 구성부(250)는 상기 신경망 DB 확인부(240)로부터 새로운 신경망을 구성하라는 신호를 받으면, 뇌 정보 데이터베이스(220)를 기반으로 상기 뇌의 파트에 상응하는 새로운 신경망의 구성 정보를 생성할 수 있다.
상기 뇌 정보 데이터베이스(220)는 상기 뇌의 파트를 구성하는 뇌의 세부 파트간 연결 정보, 상기 뇌의 세부 파트의 구성 정보, 뉴런의 구조 정보, 뉴런간 연결 정보를 포함할 수 있다. 따라서 상기 신경망 구성부(250)는 상기 뇌의 세부 파트간 연결 정보를 기반으로 상기 뇌의 세부 파트들을 구성하고, 상기 뇌의 세부 파트의 구성 정보를 기반으로 상기 뇌의 세부 파트를 구성하는 뉴런 집합을 구성하며, 상기 뉴런의 구조 정보, 뉴런간 연결 정보를 기반으로 상기 뉴런 집합을 구성하는 뉴런들을 구성하는 동작을 수행할 수 있다.
그리고 상기 뇌의 세부 파트간 연결 정보는 상기 뇌의 세부 파트간 연결 형태, 상기 뇌의 세부 파트간 연결 신호의 흐름 방향, 또는 상기 연결되는 부분의 신경망의 크기를 포함하는 것일 수 있다. 상기 뇌의 세부 파트의 구성 정보는 상기 세부 파트를 구성하는 뉴런의 양, 상기 뉴런의 종류, 또는 상기 종류별 구성 비율을 포함하는 것일 수 있다. 상기 뉴런의 구조 정보는 상기 뉴런을 구성하는 소마(신경세포체), 덴드라이트(가지돌기), 시냅스의 크기 및 길이를 포함하는 것일 수 있다. 상기 뉴런간 연결 정보는 자극 전달 방식을 포함하고, 상기 자극 전달 방식은 전기 자극 전달 방식 또는 화학 자극 전달 방식 중 어느 하나인 것일 수 있다.
즉, 상기 신경망 구성부(250)는 새로운 신경망을 구성하기 위해 상기 뇌 정보 DB에서 상기 뇌의 파트를 구성하는 뇌의 세부 파트 및 뉴런의 정보를 가져온다. 뇌 정보 DB에서 뇌의 세부 파트간의 연결 정보을 사용하여 상기 세부 파트들을 구성하고, 상기 세부 파트의 구성 정보를 사용하여 뉴런 집합을 배정하고 뉴런의 구조 정보와 뉴런간 연결 정보를 사용하여 각 뉴런들을 하나 하나 세부 세팅해주는 것이다.
예를 들어, 응용이 '카메라 입력 영상에서 물체를 판별하기 위한 신경망'의 생성을 요청하였다면, 상기 신경망의 기능에 상응하는 뇌의 파트는 뇌의 시각 처리 파트가 된다. 그리고 뇌의 시각 처리를 구성하는 세부 파트들을 선택할 수 있다. 상기 세부 파트는 색을 감지하는 V1, 형태를 감지하는 V2, 색의 변화를 감지하는 V3, 형태의 변화를 감지하는 V4의 세부 파트들이 선택될 수 있다. 그리고 세부 파트들의 연결 정보에 기반하여 V1은 V3와 연결되고, V2는 V4와 연결되고 V3와 V4가 연결될 수 있다. 그리고 V1, V2, V3, V4의 세부 파트를 구성하는 뉴런 집합이 선택된다. 상기 뉴런 집합은 뉴런의 총 개수, 뉴런의 연결 방법, 그리고 뉴런의 종류(타입)별 비율과 각 뉴런의 구조 등을 포함할 수 있다. 예를 들어 V2를 구성하는 뉴런 집합은 뉴런 50개가 병렬로 연결되고, 상기 뉴런 50개가 바구니 세포와 샹들리에 세포가 2:1의 비율로 구성될 수도 있고, 상기 50개의 뉴런들 중 일부 특정한 뉴런들은 소마(신경세포체), 덴드라이트(가지 돌기) 및 시냅스의 크기나 길이가 보통의 뉴런들의 1/2배일 수 있으며, 각 뉴런들을 연결하는 방식이 화학 자극 전달 방식으로만 정해질 수 있다. 그리고 나머지 V1, V3, V4도 앞서 V2를 구성한 방식과 같이 구성될 수 있지만, 그 구성 형태는 유사하거나 상이할 수 있다.
결국 상기 신경망 구성부(250)는 뇌의 파트를 구성하는 뉴런 집합 및 뉴런들의 정보를 뇌 정보 DB로부터 수집하여 새로운 신경망의 구성 정보를 생성하게 된다. 그리고 이러한 뇌 정보 DB는 그 구축 과정이 신경망 구성 및 생성보다 선행되어야 하고, 상기 뇌 정보 DB는 사용자와 사용 환경에 따라 다르게 구축될 수 있다.
상기 신경망 구성부(250)에서 생성한 상기 새로운 신경망의 구성 정보는 신경망 생성 장치(130)로 전달된다. 상기 신경망 생성 장치(130)는 상기 새로운 신경망의 구성 정보를 기반으로 뉴로모픽(Neuromorphic) 하드웨어에 매핑(Mapping)하여 새로운 신경망을 생성할 수 있다.
상기 신경망 생성 장치(130)는 비율 조절부(260), 하드웨어 매핑부(270) 및신경망 DB(280)을 포함할 수 있다. 상기 하드웨어 매핑부(270)는 상기 새로운 신경망의 구성 정보에 상응하는 신경망 그래프를 생성하고, 상기 하드웨어의 리소스 자원 정보에 상응하는 리소스 자원 그래프를 생성할 수 있다. 그리고 상기 하드웨어 매핑부(270)는 그래프 매핑 알고리즘을 이용하여 상기 리소스 자원 그래프에 상기 신경망 그래프를 매핑할 수 있다. 이렇게 함으로써 상기 하드웨어 매핑부(270)는 새로운 신경망을 뉴로모픽 하드웨어에서 생성하게 되는 것이다. 그리고 상기 비율 조절부(260)는 상기 리소스 자원 그래프와 상기 신경망 그래프를 비교하고, 상기 신경망 그래프를 상기 리소스 그래프에 맞게 비율적으로 조절하는 동작을 더 수행할 수 있다.
즉, 생성된 신경망은 뉴로모픽 하드웨어의 자원 정보에 맞춰서 뉴로모픽 하드웨어에 매핑할 수 있다. 이 때 사용하는 매핑 알고리즘은 기존에 존재하는 그래프 매핑 알고리즘으로, 리소스 자원 그래프에 신경망 그래프를 매핑하는 것이다.
각 목적이나 기능에 맞는 신경망은 뇌의 세부 파트마다 필요한 뉴런의 종류와 수량 등이 정해져 있지만, 시스템이 제공하는 하드웨어의 리소스 자원이 그에 맞지 않을 수 있다. 따라서 상기 신경망 생성 장치(130)는 하드웨어 매핑 과정에서 신경망을 리소스에 맞게 비율적으로 조절하여야 할 필요가 있다. 특히 상기 리소스 자원이 부족한 경우, 신경망을 축소하여 매핑하여야 한다.
상기 하드웨어 매핑부(270)에서 생성된 새로운 신경망은 상기 신경망 데이터베이스에 저장될 수 있다. 즉, 상기 새로운 신경망은 뉴로모픽 시스템의 응용에서의 사용이 종료되거나 응용이 요구하는 신경망이 다른 것으로 바뀔 경우, 변화한 내부 파라미터값과 같이 신경망 DB에 저장되고, 추후 다시 필요한 경우를 대비하게 되는 것이다.
그리고 신경망 DB 확인부(240)에서 기존 신경망이 상기 신경망 DB(280)에 존재하는 것으로 확인한 경우, 기존 신경망을 로드하라는 요청을 보내고, 상기 요청에 맞춰, 신경망 DB(280)는 기존 신경망을 하드웨어 매핑부(270)에 로드하게 된다.
이상과 같은 방법으로 하드웨어 매핑부(270)는 응용이 생성 요청한 신경망 기능에 상응하는 기존 신경망 또는 새로운 신경망을 뉴로모픽 하드웨어에 매핑하여 생성된 신경망(290)을 출력할 수 있게 되는 것이다.
도 3은 도 2에 도시된 뇌 정보 DB(220)의 일 예를 나타낸 도면이다.
도 3을 참조하면, 뇌 정보 DB(220)는 뇌의 세부 파트간 연결정보(310), 뇌의 세부 파트의 구성 정보(320), 뉴런의 구조 정보(330), 뉴런간 연결 정보(340)를 포함할 수 있다.
뉴로모픽 컴퓨팅 시스템을 구성하는 뉴런과 시냅스는 실제로 다양한 형태로 나타난다. 뉴런의 종류는 그 모양에 따라 피라미드형 세포(Pyramidal cell), 별모양 세포(Stellate Cell), 바구니 세포(Basket Cell), 샹들리에 세포(Chandelier cell) 등의 다양한 형태로 구분할 수 있다. 또한 상기 뉴런의 종류마다 그 뉴런을 구성하는 축삭돌기의 길이, 가지돌기의 위치 등 그 구조가 다양하다. 그리고 축삭돌기에서 다른 뉴런과 연결이 되는 시냅스는 신호 전달 방식이 전기적 전도 현상으로 정보를 전달할 수도 있고 신경전달 물질을 이동시켜 화학적으로 정보를 전달할 수도 있다. 이상과 같이 뉴런과 시냅스는 뇌의 파트에 따라 주로 구성되는 종류과 개수들이 다르게 나타난다. 따라서 이렇게 뇌의 파트를 구성되는 뉴런과 시냅스의 정보를 저장한 데이터베이스가 바로 뇌 정보 데이터베이스(220)이고, 상기 뇌 정보 데이터베이스(220)에 있는 정보들을 기반으로 뇌의 구성과 최대한 비슷하게 신경망을 구성할 수 있는 것이다.
우선 뇌의 세부 파트간 연결 정보(310)는 상기 뇌의 세부 파트간 연결 형태, 상기 뇌의 세부 파트간 연결 신호의 흐름 방향, 또는 상기 연결되는 부분의 신경망의 크기를 포함하는 것일 수 있다. 상기 뇌의 세부 파트간 연결 정보(310)는 뇌의 세부 파트들을 연결하는 연결 정보를 말한다. 만약 A1, A2, A3라는 세부 파트들이 있는 경우를 가정하면, A1-A2-A3의 직렬 형태로만 연결되고, 신호의 흐름도 A1-A2-A3으로만 진행될 수 있다. 그리고 A1-A2를 연결하는 신경망의 크기는 A1과 A2의 크기의 1/4정도로 정해질 수도 있다.
뇌의 세부 파트의 구성 정보(320)는 상기 세부 파트를 구성하는 뉴런의 양, 상기 뉴런의 종류, 또는 상기 종류별 구성 비율을 포함하는 것일 수 있다. 상기 뇌의 세부 파트의 구성 정보(320)는 상기 세부 파트의 크기를 포함할 수 있다. 즉, 상기 세부 파트를 구성하는 뉴런의 양이나 시냅스의 양을 포함할 수 있다. 그리고 상기 뇌의 세부 파트의 구성 정보(320)는 각 세부 파트를 구성하는 뉴런의 타입(종류), 그리고 각 타입(종류)별 구성 비율 등을 포함할 수 있다.
뉴런의 구조 정보(330)는 상기 뉴런을 구성하는 소마(신경세포체), 덴드라이트(가지돌기), 시냅스의 크기 및 길이를 포함하는 것일 수 있다. 뉴런은 일반적으로 세포핵이 들어 있는 소마(Soma, 신경세포체)와 입력의 역할을 하는 덴드라이트(Dendrite, 가지돌기), 출력의 역할을 하는 액손(Axon, 축삭돌기), 그리고 뉴런 사이의 연결부분인 시냅스(Synapse)로 이루어져 있다. 그리고 뉴런의 타입(종류)도 피라미드형 세포(Pyramidal cell), 별모양 세포(Stellate Cell), 바구니 세포(Basket Cell), 샹들리에 세포(Chandelier cell) 등이 있다. 그리고 상기 뉴런의 종류별로 각 뉴런을 구성하는 부분들의 크기나 길이 등의 특징들이 다르다. 이러한 특징들을 상기 뉴런의 구조 정보(330)가 포함하게 되는 것이다.
그리고 뉴런간 연결 정보(340)는 자극 전달 방식을 포함하고, 상기 자극 전달 방식은 전기 자극 전달 방식 또는 화학 자극 전달 방식 중 어느 하나인 것일 수 있다.
도 4는 본 발명상의 실시예에 따라 생성된 뇌의 시각처리 기능에 상응하는 신경망을 나타낸 도면이다.
도 4를 참조하여, 본 발명상의 뉴로모픽 컴퓨팅을 위한 신경망 생성 방법을이용하여 뇌의 시각처리 기능을 모사하는 신경망을 생성한 예를 설명한다.
우선 응용이 '카메라 입력 영상에서 물체를 판별하기 위한 신경망'의 생성을 요청하였다고 하면, 상기 신경망의 기능에 상응하는 뇌의 파트는 뇌의 시각 처리 파트(400)를 포함하고, 망막(RETINA, 410), 외측슬상핵(LGN, 420)을 더 포함하게 된다. 상기 망막(410)을 통해 들어온 시각 정보는 외측슬상핵(420)을 거쳐 뇌의 시각 처리 파트(400)로 들어가 상기 시각 정보가 무엇이고, 어디에 있는지 등을 확인하게 되는 것이다. 따라서 본 발명상의 상기 신경망 생성 방법을 통해 구성 및 생성되어야 하는 부분은 바로 상기 뇌의 시각 처리 파트(400)이다.
우선 뇌의 세부 파트의 연결 정보를 기반으로 상기 뇌의 시각 처리 파트(400)를 구성하는 세부 파트들을 선택할 수 있다. 상기 세부 파트는 색을 감지하는 V1(430), 형태를 감지하는 V2(440), 형태의 변화를 감지하는 V3(450), 동작을 감지하는 V4(460)의 세부 파트들이 선택될 수 있다. 그리고 역시 상기 뇌의 세부 파트의 연결 정보에 기반하여 각 세부파트들은 V1-V2-V3-V4, V2-V4, V3-V4가 연결이 되게 도 4와 같이 배열이 된다. 그리고 V1, V3, V4의 값들이 기계학습하는 MT(Machine Training, 470)과 연결되어 신경망의 출력을 계산하게 된다.
그리고 뇌의 세부 파트인 V1, V2, V3, V4의 구성 정보를 기반으로 상기 세부 파트를 구성하는 뉴런 집합이 선택될 수 있다. 예를 들어 V1을 구성하는 뉴런 집합은 뉴런 100개가 직렬로 연결되고, 피라미드형 세포와 별 세포가 1:1의 비율로 구성되며, 상기 100개의 뉴런들 중 일부 특정한 뉴런들은 소마(신경세포체), 덴드라이트(가지 돌기) 및 시냅스의 크기나 길이가 보통의 뉴런들의 2배이고, 각 뉴런들을 연결하는 방식이 전기 자극 전달 방식으로만 정해질 수 있다. 또한, V2를 구성하는 뉴런 집합은 뉴런 50개가 병렬로 연결되고, 바구니 세포와 샹들리에 세포가 2:1의 비율로 구성될 수도 있고, 상기 50개의 뉴런들 중 일부 특정한 뉴런들은 소마, 덴드라이트 및 시냅스의 크기나 길이가 보통의 뉴런들의 1/2배일 수 있으며, 각 뉴런들을 연결하는 방식이 화학 자극 전달 방식으로만 정해질 수 있다. 그리고 나머지 V3과 V4는 앞서 V1과 V2를 구성한 방식과 동일한 방식으로 구성할 수 있지만, 그 구성 형태는 V1과 V2와 유사하거나 전혀 상이할 수도 있다.
이렇게 해서 응용이 요구한 시각 처리 기능을 담당하는 신경망이 도 4와 같이 구성되고, 상기 신경망의 구성 정보가 신경망 생성 장치로 전달되어, 상기 신경망 생성 장치에서 뉴로모픽 하드웨어에 매핑되어 신경망이 생성되는 것이다.
도 5는 실시예에 따른 뉴로모픽 컴퓨팅을 위한 신경망 생성 방법의 동작 흐름도를 나타낸 도면이다.
도 5를 참조하면, 우선 응용이 신경망 구성 장치에 신경망 생성 요청을 한다(S510). 그리고 상기 신경망 구성 장치는 상기 생성 요청한 신경망 기능에 상응하는 적어도 하나 이상의 뇌의 파트를 선택한다(S520).
상기 신경망 구성 장치는 상기 신경망 생성 요청을 받게 되면 상기 응용에서 사용하고자 하는 신경망 기능을 찾고, 상기 신경망 기능에 상응하는 적어도 하나 이상의 뇌의 파트를 선택할 수 있다. 여기서 뇌의 파트는 시각처리 파트, 청각처리 파트 등을 포함할 수 있다. 예를 들어 영상을 판별하는 것을 요청 받았다고 하면, 뇌의 파트 중 시각 처리 파트를 선택하게 되고, 음성과 영상을 동시에 판별하는 것을 요청 받았다면, 뇌의 파트 중 시각 처리 파트와 청각 처리 파트가 선택될 수 있다.
상기 신경망 구성 장치는 상기 적어도 하나 이상의 뇌의 파트에 상응하는 기존 신경망이 신경망 데이터베이스에 있는지 여부를 판단한다(S530).
상기 신경망 구성 장치는 상기 적어도 하나 이상의 뇌의 파트에 상응하는 기존 신경망이 신경망 데이터베이스(또는 신경망 DB)에 있는지 확인할 수 있다. 상기 신경망 데이터베이스는 상기 신경망 생성 시스템이 이전에 생성한 신경망들을 저장해놓은 데이터베이스를 말한다. 상기 응용이 요구하는 기능을 수행할 수 있는 기존 신경망이 있다고 하면, 굳이 새롭게 신경망을 구성 및 생성할 필요가 없으므로, 먼저 신경망 데이터베이스를 확인하여 기존 신경망이 없는 경우에만 상기 신경 생성 시스템은 새로운 신경망을 생성하게 된다.
상기 신경망 구성 장치는 상기 기존 신경망이 있는 경우, 상기 기존 신경망을 상기 신경망 데이터베이스로부터 가져올 수 있다(S570). 그러나, 상기 기존 신경망이 없는 경우 상기 신경망 구성 장치는 뇌 정보 데이터베이스(또는 뇌 정보 DB)를 기반으로 상기 뇌의 파트에 상응하는 새로운 신경망의 구성 정보를 생성할 수 있다(S540).
상기 뇌 정보 데이터베이스는 상기 뇌의 파트를 구성하는 뇌의 세부 파트간 연결 정보, 상기 뇌의 세부 파트의 구성 정보, 뉴런의 구조 정보, 뉴런간 연결 정보를 포함할 수 있다. 따라서 상기 신경망 구성 장치는 상기 뇌의 세부 파트간 연결 정보를 기반으로 상기 뇌의 세부 파트들을 구성하고, 상기 뇌의 세부 파트의 구성 정보를 기반으로 상기 뇌의 세부 파트를 구성하는 뉴런 집합을 구성하며, 상기 뉴런의 구조 정보, 뉴런간 연결 정보를 기반으로 상기 뉴런 집합을 구성하는 뉴런들을 구성하는 동작을 수행할 수 있다.
그리고 상기 뇌의 세부 파트간 연결 정보는 상기 뇌의 세부 파트간 연결 형태, 상기 뇌의 세부 파트간 연결 신호의 흐름 방향, 또는 상기 연결되는 부분의 신경망의 크기를 포함하는 것일 수 있다. 상기 뇌의 세부 파트의 구성 정보는 상기 세부 파트를 구성하는 뉴런의 양, 상기 뉴런의 종류, 또는 상기 종류별 구성 비율을 포함하는 것일 수 있다. 상기 뉴런의 구조 정보는 상기 뉴런을 구성하는 소마(신경세포체), 덴드라이트(가지돌기), 시냅스의 크기 및 길이를 포함하는 것일 수 있다. 상기 뉴런간 연결 정보는 자극 전달 방식을 포함하고, 상기 자극 전달 방식은 전기 자극 전달 방식 또는 화학 자극 전달 방식 중 어느 하나인 것일 수 있다.
결국 상기 신경망 구성 장치는 뇌의 파트를 구성하는 뉴런 집합 및 뉴런들의 정보를 뇌 정보 DB로부터 수집하여 새로운 신경망의 구성 정보를 구성하는 것이다. 따라서 뉴로모픽 컴퓨팅 시스템을 구현하기 위해 이러한 뇌 정보 DB를 구축하는 과정이 선행되어야 한다. 그리고 상기 시스템이 사용자와 사용 환경에 따라 상기 뇌 정보 DB는 다르게 구축될 수 있다.
그리고 상기 새로운 신경망의 구성 정보를 기반으로 뉴로모픽 하드웨어에 매핑하여 새로운 신경망을 생성한다(S550).
생성된 신경망은 뉴로모픽 하드웨어의 자원 정보에 맞춰서 뉴로모픽 하드웨어에 매핑할 수 있다. 이 때 사용하는 매핑 알고리즘은 기존에 존재하는 그래프 매핑 알고리즘으로, 리소스 자원 그래프에 신경망 그래프를 매핑하는 것이다. 각 목적에 맞는 신경망은 뇌의 세부 파트마다 필요한 뉴런의 종류와 수량 등이 정해져 있는데 제공하는 하드웨어의 리소스 자원이 그에 맞지 않을 경우, 매핑 과정에서 신경망을 리소스에 맞게 비율적으로 조절하여야 할 필요가 있다. 특히 상기 리소스 자원이 부족한 경우, 신경망을 축소하여 매핑하여야 한다.
그리고 상기 새로운 신경망을 상기 신경망 데이터 베이스에 저장한다(S560).이렇게 하드웨어에 생성된 새로운 신경망은 상기 신경망 데이터베이스에 저장될 수 있다. 즉, 상기 새로운 신경망은 뉴로모픽 시스템의 응용에서의 사용이 종료되거나 응용이 요구하는 신경망이 다른 것으로 바뀔 경우, 변화한 내부 파라미터값과 같이 신경망 DB에 저장되고, 추후 다시 필요한 경우를 대비하게 되는 것이다.
도 6은 실시예에 따른 컴퓨터 시스템 구성을 나타낸 도면이다.
실시예에 따른 뉴로모픽 컴퓨팅을 위한 신경망 구성 장치 또는 뉴로모픽 컴퓨팅을 위한 신경망 생성 장치는 컴퓨터로 읽을 수 있는 기록매체와 같은 컴퓨터 시스템(600)에서 구현될 수 있다.
컴퓨터 시스템(600)은 버스(620)를 통하여 서로 통신하는 하나 이상의 프로세서(610), 메모리(630), 사용자 인터페이스 입력 장치(640), 사용자 인터페이스 출력 장치(650) 및 스토리지(660)를 포함할 수 있다. 또한, 컴퓨터 시스템(600)은 네트워크(680)에 연결되는 네트워크 인터페이스(670)를 더 포함할 수 있다. 프로세서(610)는 중앙 처리 장치 또는 메모리(630)나 스토리지(660)에 저장된 프로그램 또는 프로세싱 인스트럭션들을 실행하는 반도체 장치일 수 있다. 메모리(630) 및 스토리지(660)는 휘발성 매체, 비휘발성 매체, 분리형 매체, 비분리형 매체, 통신 매체, 또는 정보 전달 매체 중에서 적어도 하나 이상을 포함하는 저장 매체일 수 있다. 예를 들어, 메모리(630)는 ROM(631)이나 RAM(632)을 포함할 수 있다.
이상에서 설명된 실시예에 따르면, 본 발명은 뇌의 뉴런의 구성 형태를 뇌의 파트에 따라 정보를 저장하고, 상기 정보를 기반으로 뉴로모픽 컴퓨팅 시스템이 사용되는 상황과 목적에 따라 두뇌를 최대한 비슷하게 모사한 최적의 형태로 구성한 뉴로모픽 컴퓨팅을 위한 신경망 생성 방법 및 장치를 제공할 수 있다.
또한, 본 발명은 응용이 요청한 기능을 수행하는 신경망을 뉴로모픽 하드웨어의 리소스 자원을 고려하여 구성할 수 있는 방법을 제공할 수 있다.
이상에서 첨부된 도면을 참조하여 본 발명의 실시예들을 설명하였지만, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다.
120: 신경망 구성 장치
130: 신경망 생성 장치
210: 신경망 생성 요청
220: 뇌 정보 DB
230: 뇌 구성부
240: 신경망 DB 확인부
250: 신경망 구성부
260: 비율 조절부
270: 하드웨어 매핑부
280: 신경망 DB
290: 생성된 신경망

Claims (20)

  1. 뉴로모픽 컴퓨팅을 위한 신경망 구성 장치에서 수행되는 뉴로모픽 컴퓨팅을 위한 신경망 생성 방법에 있어서,
    응용이 생성 요청한 신경망 기능에 상응하는 적어도 하나 이상의 뇌의 파트(Part)를 선택하는 단계;
    상기 적어도 하나 이상의 뇌의 파트에 상응하는 기존 신경망이 신경망 데이터베이스에 있는지 여부를 판단하는 단계;
    상기 기존 신경망이 없는 경우, 뇌 정보 데이터베이스를 기반으로 상기 뇌의 파트에 상응하는 새로운 신경망의 구성 정보를 생성하는 단계;
    상기 새로운 신경망의 구성 정보를 기반으로 뉴로모픽(Neuromorphic) 하드웨어에 매핑(Mapping)하여 새로운 신경망을 생성하는 단계; 및
    상기 신경망 데이터베이스에 상기 새로운 신경망을 저장하는 단계를 포함하는, 뉴로모픽 컴퓨팅을 위한 신경망 생성 방법.
  2. 제1 항에 있어서,
    상기 뇌 정보 데이터베이스는
    상기 뇌의 파트를 구성하는 뇌의 세부 파트간 연결 정보, 상기 뇌의 세부 파트의 구성 정보, 뉴런의 구조 정보, 및 뉴런간 연결 정보를 포함하는 것인, 뉴로모픽 컴퓨팅을 위한 신경망 생성 방법.
  3. 제2 항에 있어서,
    상기 새로운 신경망의 구성 정보를 생성하는 단계는
    상기 뇌의 세부 파트간 연결 정보를 기반으로 상기 뇌의 세부 파트들을 구성하는 단계;
    상기 뇌의 세부 파트의 구성 정보를 기반으로 상기 뇌의 세부 파트를 구성하는 뉴런 집합을 구성하는 단계; 및
    상기 뉴런의 구조 정보, 뉴런간 연결 정보를 기반으로 상기 뉴런 집합을 구성하는 뉴런들을 구성하는 단계를 포함하는, 뉴로모픽 컴퓨팅을 위한 신경망 생성 방법.
  4. 제3 항에 있어서,
    상기 새로운 신경망을 생성하는 단계는
    상기 새로운 신경망의 구성 정보에 상응하는 신경망 그래프를 생성하는 단계;
    상기 하드웨어의 리소스 자원 정보에 상응하는 리소스 자원 그래프를 생성하는 단계; 및
    그래프 매핑 알고리즘을 이용하여 상기 리소스 자원 그래프에 상기 신경망 그래프를 매핑하는 단계를 포함하는, 뉴로모픽 컴퓨팅을 위한 신경망 생성 방법.
  5. 제4 항에 있어서,
    상기 새로운 신경망을 생성하는 단계는
    상기 리소스 자원 그래프와 상기 신경망 그래프를 비교하는 단계; 및
    상기 신경망 그래프를 상기 리소스 자원 그래프에 맞게 비율적으로 조절하는 단계를 더 포함하는, 뉴로모픽 컴퓨팅을 위한 신경망 생성 방법.
  6. 제2 항에 있어서,
    상기 뇌의 세부 파트간 연결 정보는
    상기 뇌의 세부 파트간 연결 형태, 상기 뇌의 세부 파트간 연결 신호의 흐름 방향, 또는 상기 연결되는 부분의 신경망의 크기를 포함하는 것인, 뉴로모픽 컴퓨팅을 위한 신경망 생성 방법.
  7. 제2 항에 있어서,
    상기 뇌의 세부 파트의 구성 정보는
    상기 세부 파트를 구성하는 뉴런의 양, 상기 뉴런의 종류, 또는 상기 종류별 구성 비율을 포함하는 것인, 뉴로모픽 컴퓨팅을 위한 신경망 생성 방법.
  8. 제2 항에 있어서,
    상기 뉴런의 구조 정보는
    상기 뉴런을 구성하는 소마(신경세포체), 덴드라이트(가지돌기), 시냅스의 크기 및 길이를 포함하는 것인, 뉴로모픽 컴퓨팅을 위한 신경망 생성 방법.
  9. 제2 항에 있어서,
    상기 뉴런간 연결 정보는
    자극 전달 방식을 포함하고,
    상기 자극 전달 방식은 전기 자극 전달 방식 또는 화학 자극 전달 방식 중 어느 하나인 것인, 뉴로모픽 컴퓨팅을 위한 신경망 생성 방법.
  10. 제1 항에 있어서,
    상기 기존 신경망이 있는 경우, 상기 기존 신경망을 상기 신경망 데이터베이스로부터 가져오는 단계를 더 포함하는, 뉴로모픽 컴퓨팅을 위한 신경망 생성 방법.
  11. 응용이 생성 요청한 신경망 기능에 상응하는 적어도 하나 이상의 뇌의 파트(Part)를 선택하고,
    상기 적어도 하나 이상의 뇌의 파트에 상응하는 기존 신경망이 신경망 데이터베이스에 있는 여부를 판단하고,
    상기 기존 신경망이 없는 경우, 뇌 정보 데이터베이스를 기반으로 상기 뇌의 파트에 상응하는 새로운 신경망의 구성 정보를 생성하는 프로세서; 및
    상기 새로운 신경망의 구성 정보를 저장하는 메모리를 포함하는, 뉴로모픽 컴퓨팅을 위한 신경망 구성 장치.
  12. 제11 항에 있어서,
    상기 뇌 정보 데이터베이스는
    상기 뇌의 파트를 구성하는 뇌의 세부 파트간 연결 정보, 상기 뇌의 세부 파트의 구성 정보, 뉴런의 구조 정보, 뉴런간 연결 정보를 포함하는 것인, 뉴로모픽 컴퓨팅을 위한 신경망 구성 장치.
  13. 제12 항에 있어서,
    상기 프로세서는
    상기 뇌의 세부 파트간 연결 정보를 기반으로 상기 뇌의 세부 파트들을 구성하고,
    상기 뇌의 세부 파트의 구성 정보를 기반으로 상기 뇌의 세부 파트를 구성하는 뉴런 집합을 구성하고,
    상기 뉴런의 구조 정보, 뉴런간 연결 정보를 기반으로 상기 뉴런 집합을 구성하는 뉴런들을 구성하는 것인, 뉴로모픽 컴퓨팅을 위한 신경망 구성 장치.
  14. 제12 항에 있어서,
    상기 뇌의 세부 파트간 연결 정보는
    상기 뇌의 세부 파트간 연결 형태, 상기 뇌의 세부 파트간 연결 신호의 흐름 방향, 또는 상기 연결되는 부분의 신경망의 크기를 포함하는 것인, 뉴로모픽 컴퓨팅을 위한 신경망 구성 장치.
  15. 제12 항에 있어서,
    상기 뇌의 세부 파트의 구성 정보는
    상기 세부 파트를 구성하는 뉴런의 양, 상기 뉴런의 종류, 또는 상기 종류별 구성 비율을 포함하는 것인, 뉴로모픽 컴퓨팅을 위한 신경망 구성 장치.
  16. 제12 항에 있어서,
    상기 뉴런의 구조 정보는
    상기 뉴런을 구성하는 소마(신경세포체), 덴드라이트(가지돌기), 시냅스의 크기 및 길이를 포함하는 것인, 뉴로모픽 컴퓨팅을 위한 신경망 구성 장치.
  17. 제12 항에 있어서,
    상기 뉴런간 연결 정보는
    자극 전달 방식을 포함하고,
    상기 자극 전달 방식은 전기 자극 전달 방식 또는 화학 자극 전달 방식 중 어느 하나인 것인, 뉴로모픽 컴퓨팅을 위한 신경망 구성 장치.
  18. 신경망 구성 장치로부터 뇌 정보 데이터 베이스 기반으로 생성된 새로운 신경망의 구성 정보를 받고,
    상기 신경망의 구성 정보를 기반으로 뉴로모픽 하드웨어에 매핑하여 새로운 신경망을 생성하고,
    신경망 데이터베이스로부터 기존 신경망을 가져오는 프로세서; 및
    상기 새로운 신경망을 저장하는 메모리를 포함하고,
    상기 프로세서는,
    상기 새로운 신경망의 구성 정보에 상응하는 신경망 그래프를 생성하고,
    상기 하드웨어의 리소스 자원 정보에 상응하는 리소스 자원 그래프를 생성하고,
    그래프 매핑 알고리즘을 이용하여 상기 리소스 자원 그래프에 상기 신경망 그래프를 매핑하는 것인, 뉴로모픽 컴퓨팅을 위한 신경망 생성 장치.
  19. 삭제
  20. 제18 항에 있어서,
    상기 프로세서는
    상기 리소스 자원 그래프와 상기 신경망 그래프를 비교하고,
    상기 신경망 그래프를 상기 리소스 자원 그래프에 맞게 비율적으로 조절하는 것인, 뉴로모픽 컴퓨팅을 위한 신경망 생성 장치.
KR1020200047906A 2019-07-05 2020-04-21 뉴로모픽 컴퓨팅을 위한 신경망 생성 방법 및 이를 위한 장치 KR102545066B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US16/894,276 US11630992B2 (en) 2019-07-05 2020-06-05 Neural network generation method for neuromorphic computing and apparatus for the same

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20190081141 2019-07-05
KR1020190081141 2019-07-05

Publications (2)

Publication Number Publication Date
KR20210004813A KR20210004813A (ko) 2021-01-13
KR102545066B1 true KR102545066B1 (ko) 2023-06-20

Family

ID=74142251

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200047906A KR102545066B1 (ko) 2019-07-05 2020-04-21 뉴로모픽 컴퓨팅을 위한 신경망 생성 방법 및 이를 위한 장치

Country Status (1)

Country Link
KR (1) KR102545066B1 (ko)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003288598A (ja) 1999-11-08 2003-10-10 Takafumi Terasawa 入力情報のパターン構造生成方法及び入力情報の分析装置
JP2013047972A (ja) 2012-10-19 2013-03-07 A Visel Thomas 人間の脳の電子的なエミュレーションに心理学的な気質を取り入れるための方法
KR101326914B1 (ko) 2005-11-15 2013-11-11 베르나데트 가너 신경망 훈련 방법
US20150339570A1 (en) 2014-05-22 2015-11-26 Lee J. Scheffler Methods and systems for neural and cognitive processing
US20180349508A1 (en) * 2016-02-05 2018-12-06 Sas Institute Inc. Automated transfer of neural network definitions among federated areas

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9147155B2 (en) * 2011-08-16 2015-09-29 Qualcomm Incorporated Method and apparatus for neural temporal coding, learning and recognition
KR102592146B1 (ko) 2017-11-06 2023-10-20 삼성전자주식회사 시냅스 가중치 학습을 위한 뉴런 회로, 시스템 및 방법

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003288598A (ja) 1999-11-08 2003-10-10 Takafumi Terasawa 入力情報のパターン構造生成方法及び入力情報の分析装置
KR101326914B1 (ko) 2005-11-15 2013-11-11 베르나데트 가너 신경망 훈련 방법
JP2013047972A (ja) 2012-10-19 2013-03-07 A Visel Thomas 人間の脳の電子的なエミュレーションに心理学的な気質を取り入れるための方法
US20150339570A1 (en) 2014-05-22 2015-11-26 Lee J. Scheffler Methods and systems for neural and cognitive processing
US20180349508A1 (en) * 2016-02-05 2018-12-06 Sas Institute Inc. Automated transfer of neural network definitions among federated areas

Also Published As

Publication number Publication date
KR20210004813A (ko) 2021-01-13

Similar Documents

Publication Publication Date Title
US9330355B2 (en) Computed synapses for neuromorphic systems
US8694449B2 (en) Neuromorphic spatiotemporal where-what machines
US9886663B2 (en) Compiling network descriptions to multiple platforms
KR20160130398A (ko) 사진 관리
CN106709565A (zh) 一种神经网络的优化方法及装置
Hazan et al. Topological constraints and robustness in liquid state machines
CN107924487A (zh) 处理系统以及程序
CN109165730A (zh) 交叉阵列神经形态硬件中状态量化网络实现方法
CN111612125A (zh) 一种面向在线学习的新型htm时间池方法及其系统
KR101825937B1 (ko) 가소성 시냅스 관리
CN109271897A (zh) 人脸动作单元检测方法、装置、计算机设备及存储介质
KR20160068823A (ko) 스파이킹 신경세포들의 망들에서의 정체 회피
KR102545066B1 (ko) 뉴로모픽 컴퓨팅을 위한 신경망 생성 방법 및 이를 위한 장치
CN113869505A (zh) 一种基于脑胶质细胞的脉冲神经网络优化方法及系统
KR20160071437A (ko) 스냅스 지연의 동적 할당 및 검사
US11630992B2 (en) Neural network generation method for neuromorphic computing and apparatus for the same
Venkatesh et al. Intelligent tutoring systems using reinforcement learning to teach autistic students
CN109977998A (zh) 信息处理方法及装置、存储介质和电子装置
CN115328786A (zh) 一种基于区块链的自动化测试方法、装置和存储介质
CN109635942A (zh) 一种仿脑兴奋态和抑制态工作状态神经网络电路结构及方法
Joseph Theories of adaptive neural growth
CN110111135A (zh) 一种发电侧成员动态报价决策方法、装置及设备
Kersten Leveling the field: Talking levels in cognitive science
Eilbert et al. Modeling neural networks in Scheme
KR102383926B1 (ko) 챗봇 시스템의 제어 방법, 장치 및 프로그램

Legal Events

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