최근 수정 시각 : 2024-11-20 11:04:33

뉴로모픽 컴퓨팅



[[컴퓨터공학|컴퓨터 과학 & 공학
Computer Science & Engineering
]]
[ 펼치기 · 접기 ]
||<tablebgcolor=#fff,#1c1d1f><tablecolor=#373a3c,#ddd><colbgcolor=#0066DC><colcolor=white> 기반 학문 ||수학(해석학 · 이산수학 · 수리논리학 · 선형대수학 · 미적분학 · 미분방정식 · 대수학(환론 · 범주론) · 정수론) · 이론 컴퓨터 과학 · 암호학 · 전자공학 · 언어학(형태론 · 통사론 · 의미론 · 화용론 · 음운론) · 인지과학 ||
하드웨어 구성 SoC · CPU · GPU(그래픽 카드 · GPGPU) · ROM · RAM · SSD · HDD · 참조: 틀:컴퓨터 부품
기술 기계어 · 어셈블리어 · C/C++ · C# · Java · Python · BIOS · 절차적 프로그래밍 · 객체 지향 프로그래밍 · 해킹 · ROT13 · 일회용 비밀번호 · 사물인터넷 · 와이파이 · GPS · 임베디드 · 인공신경망 · OpenGL · EXIF · 마이크로아키텍처 · ACPI · UEFI · NERF · gRPC · 리버스 엔지니어링 · HCI · UI · UX · 대역폭 · DBMS · NoSQL · 해시(SHA · 브루트 포스 · 레인보우 테이블 · salt · 암호화폐) · RSA 암호화 · 하드웨어 가속
연구

기타
논리 회로(보수기 · 가산기 · 논리 연산 · 불 대수 · 플립플롭) · 정보이론 · 임베디드 시스템 · 운영 체제 · 데이터베이스 · 프로그래밍 언어{컴파일러(어셈블러 · JIT) · 인터프리터 · 유형 이론 · 파싱 · 링커 · 난해한 프로그래밍 언어} · 메타데이터 · 기계학습 · 빅데이터 · 폰노이만 구조 · 양자컴퓨터 · 행위자 모델 · 인코딩(유니코드 · MBCS) · 네트워크 · 컴퓨터 보안 · OCR · 슈퍼컴퓨터 · 튜링 머신 · FPGA · 딥러닝 · 컴퓨터 구조론 · 컴퓨터 비전 · 컴퓨터 그래픽스 · 인공지능 · 시간 복잡도(최적화) · 소프트웨어 개발 방법론 · 디자인 패턴 · 정보처리이론 · 재귀 이론 · 자연어 처리(기계 번역 · 음성인식) · 버전 (버전 관리 시스템 · Git · GitHub)

1. 개요2. 상세
2.1. 뉴로모픽 칩
3. 활용 분야4. 프로젝트
4.1. IBM4.2. 스탠포드 대학교
5. 유사 용어들

1. 개요

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

2. 상세

뉴로모픽 컴퓨팅이라는 용어는 1980년대 캘리포니아 공과대학교의 캐버 미드(Carver Mead) 교수가 처음 도입했다. 그는 VLSI(초대규모 집적회로) 설계에 신경과학 원리를 접목시켰다.[1]

뉴로모픽 컴퓨팅은 인간 두뇌의 신경 구조와 작동 방식을 모방하여 설계된 컴퓨터 하드웨어와 소프트웨어 시스템을 말한다. 전통적인 폰 노이만 구조와 달리, 뉴런(neuron)과 시냅스(synapse)의 상호작용을 기반으로 정보를 처리한다.

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

2.1. 뉴로모픽 칩

뉴로모픽 컴퓨팅에서 만들어진 회로(chip)을 뉴로모픽 회로(neuromorphic circuit)와 뉴로모픽 칩(neuromorphic chip)이라고 한다. 인공신경망과 다른 점은, 인공신경망은 행렬 연산을 통해 인간의 신경계소프트웨어로 모사한 것이라면, 뉴로모픽 칩하드웨어, 즉 물리적으로 신경세포를 모사한다는 것이다.

일반적으로 하나의 프로그램을 구동하려면 보통의 컴퓨터 체계가 필요하다. CPU만이 아니라 GPU 같은 추가 연산장치와 SSD, RAM 같은 저장매체가 반드시 있어야 구동할 수 있다. 하지만 뉴로모픽 칩은 전술한대로 뉴런과 유사한 처리 방식과 구조를 가지고 있기 때문에, 이 하나의 칩만으로도 여러 종류의 연산과 데이터 저장을 동시에 수행하는 능력을 갖추거나, 갖추려고 노력(목표)한다. 그래서 뉴로모픽 칩의 출발점은 메모리칩을 GPU칩처럼 만드는 데에 있다. 형태는 CPU겠지만. 어쨌든 뉴로모픽 칩이 무엇인지 잘 상상이 안 된다면 만화 총몽을 참고하면 된다. 총몽에서는 뇌를 칩으로 대체한 고어스러운 장면이 있다.

그래서 뉴로모픽 칩은 저장매체와 분리되지 않고, 설령 기술력의 부족으로 저장매체와 분리되었다고 하더라도, 오로지 실제 신경망을 물리적으로 모사한 회로를 구성한 칩이기에, CPUGPU, SSD를 이용해 병렬 연산이나 관련 프로그램에 있어서 연산하고 학습(데이터)을 축적하는 것보다 전력, 면적, 속도 측면에서 수 백 배 이상의 이득을 볼 수 있다. neuromorphic_computing - KaistShinLab

그러나 착각하지 말아야 할 점은, 뉴로모픽 칩은 또한 AI칩이 아니라 서로 다른 종류의 칩이라는 것이다. 구글TPU와 같은 DNN이나 CNN과 같은 추상화된 인공 신경망 회로 전용의 ASIC 칩도 존재하나, 보통은 이러한 인공지능 칩을 뉴로모픽 칩으로 구분하지는 않는다.

물리적으로 Ai칩과 뉴로모픽 칩이 다른 점은 다음과 같다: AI칩은 기존 반도체의 아키텍처(폰 노이만 구조) 기반으로 설계된 칩이고, GPU로 CPU를 만드는 데에 목적이 있다. 그로써 인공신경망 연산을 효율적으로 하는 데에 주안점을 둔다. 그래서 현재 대형 GPU 회사들이 AI칩을 만드는 사업에 뛰어든 것이다. 반면 뉴로모픽 칩은 폰 노이만 구조가 아니라 생물의 뉴런 시스템을 하드웨어로 모방해서 설계된 칩이고, 다양한 형태가 연구 중이지만, 기본적으로 메모리칩을 CPU로 만드는 데에 목적이 있다. 그로써 인공신경망만이 아니라 다양한 프로그램을 연산하면서 압도적인 전력 효율과 공간 효율을 높이는 데에 주안점을 둔다. 물론 실제로 개발된다면 AI칩처럼 주로 인공지능을 굴리는 쪽으로 사용될 테지만...

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

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

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

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

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

3. 활용 분야

뉴로모픽 컴퓨팅은 다양한 분야에서 활용될 것으로 예상된다.

뉴로모픽 컴퓨팅은 인공지능과 기계학습, 실시간 데이터 처리와 의사결정, 컴퓨터 비전과 음성인식, 로봇공학과 자율주행, 의료 진단 및 뇌-컴퓨터 인터페이스에서 활용될 수 있다.

4. 프로젝트

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

4.1. IBM

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

4.2. 스탠포드 대학교

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

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

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

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

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

5. 유사 용어들

인공지능
인공지능기계학습인공신경망딥 러닝
인공지능 - 인공지능 구현을 위한 몇 가지 기술이 존재한다.
기계학습 - 많은 매개변수를 넣어주면 모델이 스스로 규칙을 학습하는 방식의 인공지능 구현 방법이다.
인공신경망 - 인간의 뉴런 구조를 본떠 만든 기계 학습 방법론이다.
딥 러닝 - 입력층과 출력층 사이에 있는 은닉층에 인공 뉴런을 여러 겹 쌓고 연결한 인공신경망 방법론 중 하나이다. 즉, 단일층이 아닌 실제 뇌처럼 다층 구조로 되어있다. 21세기에 와서는 (인공신경망=딥러닝)이라고 이해해도 무방하다.
인지 컴퓨팅 - 기계학습을 이용하여 특정한 인지적 과제를 해결할 수 있는 프로그램 또는 솔루션을 이야기한다.
뉴로모픽 컴퓨팅 - 인공 신경망을 하드웨어적으로 구현한 것이라고 생각하면 된다.



파일:CC-white.svg 이 문서의 내용 중 전체 또는 일부는 문서의 r3에서 가져왔습니다. 이전 역사 보러 가기
파일:CC-white.svg 이 문서의 내용 중 전체 또는 일부는 다른 문서에서 가져왔습니다.
[ 펼치기 · 접기 ]
문서의 r3 (이전 역사)
문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)


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