[뉴로모픽 컴퓨팅의 기초]
뉴로모픽이란?
뉴로모픽 공학(Neuromorphic Engineering)이라고도 부르며,
인공지능에서 더 나아가 뉴런의 형태를 모방한 회로를 만들어 인간의 뇌 기능을 비슷하게 구현하려 하는 분야이다.
연산 장치의 구조를 Biological brains와 유사하게 구성하고 이를 통해 Artificial Neural Networks를 하드웨어적으로 구현함
요약하면 인간의 뇌 기능을 모사하려는 시스템을 말한다.
이를 하드웨어적으로 구현한 뉴로모픽 회로, 뉴로모픽 칩들로 구성된다.
- 인지의 기반이 되는 것은 뇌의 기억력
- 상황에 따른 적합한 기억력 추출
- 자동 연상 방식으로 부분들을 조합해 전체를 활성화
뉴런
신경계를 구성하고 있는 사람의 신경 세포로, 우리가 세상을 보고 인식하는 등의 정보를 받아들이고 저장하는 역할을 한다.
여기서 뉴런은 연산을 하고 시냅스가 저장하는 구조로 되어 있으며, 인간의 뇌에는 보통 1000억 개의 뉴런이 있다.
Functional Units은 Neurons이며,
뉴런은 Body인 soma, Input에 해당하는 dendrite, Output에 해당하는 Axon,
Synapse는 Dendrite와 Axon의 연결이다.
또한 Synapse는 두 뉴런 사이의 연결이고, 이전 상태를 저장하며 새로운 상태로 변경될 수 있다.
이 것의 역할은 해당 연결부의 강도를 유지해준다.
(Weight storage, Weight update, Weight multiplication)
뉴런과 하드웨어의 대조
뉴로모픽 컴퓨팅의 특징
1. 장점
- 사람의 신경망처럼 칩이 병렬로 연결되어 연산과 저장을 한 번에 수행할 수 있다.
- Pattern recognition에 뛰어나며, 특히 음성 신호와 영상 신호에 특화되어 있다.
- 하드웨어는 Computation과 storage가 분산되어 존재하여야 하므로,
기존 시스템의 속도 한계를 극복할 수 있다.
- Event Driven Communition을 수행하므로 저전력으로 동작이 가능하다(비동기)
- Parallel Computation 방식이므로 낮은 주파수로도 동작이 가능핟,
- Fault tolerance가 우수하다.
2. 다양성
- 어떤 반도체를 어떤 방식으로 배열하여 신경망을 모사하느냐에 따라
다양한 형태의 뉴로모픽 컴퓨팅을 생성해낼 수 있다.
- 넓은 영영을 차지하는 시냅스를 대체하기 위해,
다양한 Nonvolatile memory(MRAM, ReRAM 등)가 고려되고 있다.
(Memristor device의 경우, STDP에 유리하다.)
cf) STDP
: 뉴런 간의 시냅스 가중치를 조절하는 학습 규칙 중 하나로,
신경망의 학습과 기억에 관련된 중요한 매커니즘
시냅스 후 뉴런의 spike 발생 시간 차이에 따라
시냅스의 가중치가 조절되는 방식으로 작동
3. Neural Network 사용 가능
1) Feed-forward neural network(FNN)
인공 신경망의 가장 기본적인 형태로, 데이터가 한 방향으로만(단 방향으로) 전달되는 구조를 가지고 있다.
입력 층에서부터 은닉층을 거쳐 출력층까지 데이터가 flow되며, 각 뉴런은 이전 층의 뉴런과만 연결되어 정보 처리를 수행한다.
학습은 입력과 기대 출력 사이의 오차를 최소화하는 가중치를 조정하는 과정으로 이어진다.
Feed-forward neural network는 주로 분류와 회귀 문제에 사용되며, 딥러닝의 Base를 담당하는 구조이다.
2) Convolution neural network(CNN)
이미지 인식 및 컴퓨터 비전 작업에 특화된 딥러닝 모델로, 패턴과 특징을 감지하여 이미지를 처리한다.
CNN은 합성곱(Convolution)과 풀링(Pooling) 계층으로 구성되며, 학습을 통해 이미지의 특성을 자동으로 추출한다.
이러한 특징 추출 과정은 이미지의 크기와 위치 변화에 더 견고한 결과를 제공하며,
컴퓨터 비전 분야에서 널리 사용되고 있다.
3) Recurrent neural network(RNN)
(Lateral connections or feed-back connections)
시계열 데이터와 순차적인 입력을 처리하는데 특화된 딥러닝 모델로,
뉴런의 순환 구조를 가지며, 이전 정보를 기억하여 현재 입력과 결합하여 출력을 생성한다.
RNN은 자연어 처리, 음석 인식 등의 작업에 적합하며, 입력과 출력의 길이가 가변적인 경우에도 효과적으로 사용된다.
그러나 장기 의존성 문제를 가지고 있어, 오래된 정보를 잘 기억하지 못하는 한계가 존재한다.
On-line Learning vs Unsupervised Learning
1. On-line Learning
1) 정의
: 데이터를 순차적으로 하나씩 또는 작은 단위로 모델에 주입하며,
데이터가 도착하는 대로 모델을 지속적으로 업데이트하는 학습 방법
배치 학습과 달리 많은 데이터를 한 번에 처리하지 않고,
도착하는대로 실시간으로 학습을 진행하여 모델이 데이터의 동적인
변화에 적응하며 지속적으로 개선된다.
cf) 배치 학습
: 모델에 전체 데이터셋을 한 번에 주입하여, 모델의 파라미터를 업데이트하는 방식
2) 특징
: 데이터가 지속적으로 도착하거나 변화하는 환경에서 유용하다.
대규모 데이터셋을 메모리에 한꺼번에 로딩하지 않고,
작은 미니 배치로 처리하기 때문에 메모리 효율성이 높아진다.
이러한 장점으로 인해 실시간 예측과 피드백이 필요한 시스템에 적합하다.
1. Unsupervised Learning
1) 정의
: 레이블이 없는 데이터를 학습하는 방법으로, 입력데이터만을 가지고
패턴이나 구조를 스스로 발견하는 학습법을 의미한다.
데이터간의 유사성을 기반으로 군집화(Clustering), 차원축소(Dimensionality
Reduction) 등을 수행하여 데이터의 특성을 이해하고 유용한 정보를 추출한다.
대표적으로 K-Means, DBSCAN, Autoencoder 등이 있다.
2) 특징
: 레이블이 없는 대용량 데이터셋을 활용하여 특징을 발견하고
데이터에 내재된 구조와 관계를 탐색하는데 유용하다.
지도 학습에서 사용할 수 없는 레이블이 부족한 경우에도
유용하게 적용될 수 있다.
3) 활용
: 데이터의 클러스터링, 이상치 탐지, 데이터 압축과 표현 학습,
지도학습의 전처리 단계에서 특징 추출 등 다양한 영역에서 활용되며,
최근에는 GAN(Generative Adverasarial Network)과 같은 모델을 활용하여
이미지 생성 등에도 사용되고 있다.
[뉴로모픽 시스템의 연구 방향]
SW based deep learning의 한계
- Computing Power 소모가 너무 크다.(메모리와 CPU와의 통신 등)
- Mobile system에 적용이 어려움
극복 방안
이를 극복하기 위해 하드웨어를 적용한 뉴로모픽 시스템의 연구가 필요하다.
이를 통해 저전력 동작이 가능하며, 학습 알고리즘 등은 소프트웨어로 구현한 후
시냅스 값을 하트웨어로 가져오는 연구가 많이 진행 중이다.
하드웨어적으로 저전력을 달성하기 위해서는 SNN(Spiking Neural Network)에 대한 연구가 필수적이다.
1. SNN(Spiking Neural Network)
: 뇌의 생물학적 뉴런 동작을 모델링하는 딥러닝 모델로, 뉴런이 스파이크를 방출하는 방식을 시뮬레이션한다.
쉽게 말해, 작은 뉴런들과 시냅스 등을 기반으로 Event-driven 동작을 수행한다는 것이다.
▶ SNN은 뇌과학에서 밝혀진 생물학적인 뇌의 뉴런의 출력을 결정하는 메커니즘을 모방하고
기존 신경망의 차이를 좁히는 것을 목표로 하고 있다.
▶ SNN은 입력 데이터가 연속적인 시간에 따라 변화하는 시계열 데이터를 처리하며,
시간 정보를 고려하여 뉴런의 활성화를 처리한다.
▶ 각 뉴런은 스파이크를 발생시켜 다음 뉴런으로 정보를 전달하고,
스파이크의 시간적인 패턴이 중요한 정보를 담아낼 수 있다.
▶ SNN은 실제 뇌의 동작과 더 유사하며, 시뮬레이션 시간이 필요하지만
다양한 신경계의 특징을 모델링하여 정보처리와 인지 분야에 활용되고 있다.
SNN은 특정 시점에 발생하는 Discrete Spike를 통해서 동작한다.
Spike의 발생 여부는 다양한 생물학적인 프로세스를 나타내는 미분방정식에 의해서 결정되고,
여기서 Membrane Potential은 뉴런이 특정한 Potential에 도달하면, Spike가 발생하고
해당 뉴런의 Potential value가 초기화된다.
이때 가장 일반적으로 사용되는 모델은 LIF 모델이다.
※ SNN의 한계
아직은 학습 방법에 대한 자료가 충분하지 않기에 SNN이 보편화되어있지 않다.
Hebbian Learning과 STDP와 같은 생물학적 비지도학습 방법들이 있기는 하지만,
기존 네트워크보다 높은 성능을 보여주는 지도학습 방법이 아직까지는 많이 부족하다.
또한 아직 SNN은 정확한 스파이크의 시간 정보를 잃지 않은 상태로, 경사하강법을 사용해서 학습시킬 수 없다.
따라서 실제 업무에 SNN을 적절하게 사용하려면, 이를 해결할 수 있는 학습 방법의 개발이 필요하다.
[참고 자료]
2. 뉴로모픽 칩
뉴로모픽 아키텍쳐는 다양한 구조가 가능하며, 전용 칩들의 제작이 많이 이루어지고 있다.
※ Systems of Neuramorphic Adaptive Plastic Scalable Electronics(SyNAPSE)
⊙ TrueNorth Architecture
: GPU 등을 사용하는 방식에 비해 1/1000 정도의 저전력을 동작이 가능함
대표적인 SNN 구조이며 각 칩은 Spike 방식으로 통신하므로
시뮬레이션 시 높은 병렬성을 제공하고 효율적인 에너지 소모를 실현한다.
TrueNorth는 머신러닝과 딥러닝 작업에 사용되며 비디오, 음성, 이미지 등의 복잡한 신호 처리에 적하고
인간 뇌의 복잡성과 저전력 소비의 특징이 결합되어 AI 기술 발전에 기여하고 있다.
'# Ai > - Neuromorphic' 카테고리의 다른 글
<뉴로모픽 시스템에 대하여> Part.3 (Verilog HDL을 활용한 뉴런, 디지털 시냅스의 설계, Learning Algorithm) (0) | 2023.07.31 |
---|---|
<뉴로모픽 시스템에 대하여> Part.2(뉴런 모델, 시냅스 모델, 뉴로모픽 구조) (0) | 2023.07.27 |