뉴로모픽 컴퓨팅

덤프버전 :

[ 펼치기 · 접기 ]
기반 학문
수학 (해석학 · 이산수학 · 수리논리학 · 선형대수학 · 미적분학 · 미분방정식 · 대수학 (환론 · 범주론) · 정수론) · 이론 컴퓨터 과학 · 암호학 · 전자공학 · 언어학 (형태론 · 통사론 · 의미론 · 화용론 · 음운론) · 인지과학
SoC · CPU · GPU(그래픽 카드 · GPGPU) · ROM · RAM · SSD · HDD · 참조: 틀:컴퓨터 부품
기술
기계어 · 어셈블리어 · C(C++ · C\#) · Java · Python · BIOS · 절차적 프로그래밍 · 객체 지향 프로그래밍(디자인 패턴) · 해킹 · ROT13 · OTP · IoT · 와이파이 · GPS · 임베디드 · 인공신경망 · OpenGL · EXIF · 마이크로아키텍처 · ACPI · UEFI · NERF · gRPC · 리버스 엔지니어링 · HCI · UI · UX · 대역폭 · DBMS · NoSQL · 해시(SHA · 브루트 포스 · 레인보우 테이블 · salt · 암호화폐) · RSA 암호화
연구및 기타 문서
논리 회로(보수기 · 가산기 · 논리 연산 · 불 대수 · 플립플롭) · 정보이론 · 임베디드 시스템 · 디자인 패턴 · 데이터베이스 · 프로그래밍 언어{컴파일러(어셈블러 · JIT) · 인터프리터 · 유형 이론} · 메타데이터 · 기계학습 · 빅데이터 · 폰노이만 구조 · 양자컴퓨터 · 행위자 모델 · 인코딩(유니코드 · MBCS) · 네트워크 · 컴퓨터 보안 · OCR · 슈퍼컴퓨터 · 튜링 머신 · FPGA · 딥러닝 · 컴퓨터 구조론 · 컴퓨터 비전 · 컴퓨터 그래픽스 · 인공지능 · 시간 복잡도(최적화) · 소프트웨어 개발 방법론 · 정보처리이론 · 재귀 이론 · 자연 언어 처리(기계 번역 · 음성인식)
}}}



1. 개요
2. 특징
3. 프로젝트
3.1. IBM
3.2. 스탠포드 대학교
4. 유사 용어들



1. 개요[편집]


뉴로모픽 컴퓨팅(neuromorphic computing) 또는 뉴로모픽 공학(neuromorphic engineering)은 뉴런의 형태를 모방한 회로를 만들어 인간의 기능을 모사하려는 공학 분야이다. 이렇게 만들어진 회로(chip)을 뉴로모픽 회로(neuromorphic circuit)와 뉴로모픽 칩(neuromorphic chip)이라고 한다.

뉴로모픽 컴퓨팅은 물리적인 아키텍처와 설계 원칙이 생물학적 신경계에 기반을 두는 vision systems, head-eye systems, auditory processors, and autonomous robots등 artificial neural systems를 설계하기 위해 생물학, 물리학, 수학, 컴퓨터과학, 전자공학의 영감을 받는 학제간 주제이다.

인간의 뇌를 모델로 하여 회로 보드를 구성하여 각각의 칩은 뉴런(뇌세포)와 유사한 처리 방식과 연결 구조를 가지고 있어, 뇌세포의 역할을 시뮬레이션 하여 작동한다.

인공 신경망이 인간의 신경계소프트웨어적으로 모사한 것이라면, 뉴로모픽 칩하드웨어적으로 신경세포를 모사한 것이다. 즉, 뉴로모픽 칩이란 생물의 신경계()의 구조를 모방한 컴퓨터 칩을 말한다.

오직 신경망 연산을 위해 필요한 회로만으로 구성된 컴퓨터 칩이기에 CPUGPU를 이용해 신경망 연산을 하는 것보다 전력, 면적, 속도 측면에서 수 백 배 이상의 이득을 볼 수 있다. neuromorphic_computing - KaistShinLab

물론 구글TPU와 같은 DNN이나 CNN과 같은 추상화된 인공 신경망 회로 전용의 ASIC 칩도 존재하나, 보통은 이러한 인공지능 칩을 뉴로모픽 칩으로 구분하지는 않는다. TPU의 구현 방식은 일반적인 DSP와 비슷하며, 많이 연구되는 뉴로모픽 칩들은 보통 이보다 개개의 뉴런이 독립적으로 구현되고, 더 높은 데이터 로컬리티와 보통 이에 기반한 backpropagation 외의 학습 알고리즘을 가진다. Spike-time dependent plasticity 를 구현하는 spiking neural network가 대표적인 예 중 하나. 이러한 방식이 일반적인 중앙 제어식의 DSP보다 궁극적으로는 더 나은 scalability[1][2] 와 높은 성능을 가질 것이라는 주장이 있으나, 알고리즘 및 회로 구현 등의 어려움으로 인해 아직까지 산업적으로 큰 가시적 성과는 없는 상황이다.

기존의 컴퓨터와 달리 인간의 뇌는 수많은 데이터를 처리하더라도 전력을 많이 소모하지 않는다. 뉴런과 시냅스를 잇는 구조가 병렬로 이루어졌기 때문이다. 시냅스는 일을 하거나 하지 않을 때 이어졌다 끊어짐으로서 에너지를 절약한다. 기존 컴퓨터는 CPU와 메모리 간 데이터를 처리하는 과정에서 많은 전기를 소모하는데, 뉴로모픽 칩은 뇌의 작동 방식을 모방하여 전력 소모를 줄였다. 사람 뇌 닮은 반도체칩 ‘뉴로모픽’ 2017.08.10.

IBM, 인텔, 퀄컴반도체 기업들이 이 분야의 선두주자들이며 MIT 대학도 관련 연구를 많이 한다.

개발되어 양산 중인 뉴로모픽 칩에는 IBM의 트루노스(TrueNorth), 퀄컴의 제로스(Zeroth) 등이 있다.

미국 MIT 연구진이 자신들의 뉴로모픽 칩 연구 성과를 '네이처 머티리얼즈'에 발표했다. 뇌 작동원리 모방한 '뉴로모픽 컴퓨팅' 칩 개발 2018/01/27


2. 특징[편집]


뉴로모르픽 컴퓨터는 각각의 '뉴런'이 필요할 때만 이벤트 드라이븐 방식으로 '작동'할 수 있게 되어, 전력 소모가 극적으로 줄어들 수 있다.
폰 노이만 구조의 고질적인 병목 현상에서 탈피할 수 있다.


3. 프로젝트[편집]


뉴로모르픽 컴퓨터는 아직 연구 단계에 있어, 각각의 프로젝트에서 하드웨어 디자인은 여러가지 모델링으로 이루어져 있다. 이러한 연구 결과는 장기적으로 상호 간의 연구를 참조하여 보완되면서 발전될 가능성이 높다.


3.1. IBM[편집]


SyNAPSE 프로젝트를 진행하고 있다.
2014년 100만개의 뉴런과 2억 5600만개의 연결 시냅스, 1w로 초당 460 회의 시냅틱 작동이 가능한 칩을 개발했다.


3.2. 스탠포드 대학교[편집]


태블랫 컴퓨터 크기의 뉴로그리드(Neurogrid)를 개발했다. 16가지의 특수한 디자인의 뉴로코어(Neurocore)칩으로 구성되어 있다.

IEEE 프로시딩 저널(journal Proceedings of the IEEE)에서 연구원 Kwabena Boahen은 이 방식이 일반적인 컴퓨터와 같은 에너지로 4,000배 정도 높은 효율을 보여준다고 주장했다.

뉴로그리드의 비용은 4만 달러 정도이나, 제조 공정이 완료된다면 4백 달러 정도로 감소될 수 있다고 주장한다.

"현재 당신은 두뇌가 이것 중 하나를 프로그램하기 위해서 동작하는 방법을 알아야 한다. 우리는 신경컴파일러(neurocompiler)를 개발하기를 바라고 있다. 그래서 당신은 이러한 것 중에 하나를 사용하기 위해서 시냅스와 뉴런에 대한 어떤 것도 알아야 될 필요가 없을 것"이라고 Boahen은 말했다.

또한 연구원들은 대량의 최신 제조 공정에서 만들어지는 15년 된 제조기술을 사용함으로써 뉴로그리드에 대한 4만 달러의 비용이 400 달러로 감소되기를 바라고 있다.


4. 유사 용어들[편집]


인공지능
인공지능기계 학습인공 신경망딥 러닝
인공지능 - AI 분야에는 몇 가지 기술이 있다.

기계 학습 - 많은 데이터를 넣어주면 프로그램이 스스로 규칙을 학습하는 것이다.
---
인공 신경망 - 인간의 뉴런 구조를 본떠 만든 기계 학습 모델이다.
-
딥 러닝 - 입력과 출력 사이에 있는 인공 뉴런들을 여러개 층층히 쌓고 연결한 인공신경망 기법을 주로 다루는 연구이다. 즉, 단일 층이 아닌 실제 뇌처럼 여러 계층으로 되어있다.

인지 컴퓨팅 - 기계학습을 이용하여 특정한 인지적 과제를 해결할 수 있는 프로그램 또는 솔루션을 이야기한다.
--
뉴로모픽 컴퓨팅 - 인공 신경망을 하드웨어적으로 구현한 것이라고 생각하면 된다.





파일:CC-white.svg 이 문서의 내용 중 전체 또는 일부는
문서의 r3 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}}에서 가져왔습니다. 이전 역사 보러 가기
파일:CC-white.svg 이 문서의 내용 중 전체 또는 일부는 다른 문서에서 가져왔습니다.
[ 펼치기 · 접기 ]
문서의 r3 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)
문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)

문서의 r 판{{{#!wiki style="display: inline; display: none;"
, 번 문단}}} (이전 역사)



[1] 확장성. 더 많은 연산을 처리하기 위해 얼마나 더 많은 유닛이 필요한지에 관련된 용어. 예를들어 연산을 초당 100개 하는 유닛이 하나 있다고 하자. 이때 연산을 200개 하려면 단순히 유닛 2개를 놓는것보다 더 많은 전력, 더 많은 연산 능력이 필요할 것이다. 이렇게 붙는 오버헤드가 적을수록 확장성이 좋다고 말한다.[2] 감이 잘 안 오는 사람을 위해 설명을 해보자. 1초에 1000건의 얼굴 인식을 처리하는 제품을 만들었다. 이 제품으로 1초에 30000건을 처리하게 만들기 위해서는 무엇이 필요할까? 많은 경우에 같은 제품을 30개 늘어놓는다고 해결되지 않으며 컨트롤 유닛 등 부가적인 하드웨어기 필요하다. 그러나 확장성이 좋은 제품의 경우 그냥 30개 늘어놓으면 해결이 된다. (50개 늘어놓으면 안 될 수도 있다. 50개 늘어놓아도 된다면 확장성이 더 좋은 것이다.) 어디까지나 가상의 예시이니 너무 진지하게 생각하지 말고 단어의 감만 잡는 것을 권한다.

파일:크리에이티브 커먼즈 라이선스__CC.png 이 문서의 내용 중 전체 또는 일부는 2023-11-20 06:31:41에 나무위키 뉴로모픽 컴퓨팅 문서에서 가져왔습니다.