본문 바로가기
멤리스터와 AI 하드웨어

Brain-inspired computing

by 칠월색 2021. 1. 20.

Brain-inspired computing은 뇌의 동작 원리와 비슷하게 동작하는 인공 지능을 말한다. Spiking neural networks(SNNs)도 그 중 하나로, 뉴런과 비슷하게 binary한 전기 신호(spike)를 통해 동작한다. SNN을 활용한 학습은 실제 세계의 감각 데이터와 유사한 시공간 데이터를 처리할 수 있다. 뉴런이 서로 모두 연결된 것이 아니라 생물학적인 뇌의 구조와 비슷하게 연관되어 있는 뉴런끼리만 연결된 특수한 네트워크를 이루고 있기 때문에 입력 계층의 값들을 개별적으로 처리할 수 있어 공간 데이터 처리가 가능하고, 시간이 지남에 따라 학습이 이뤄지며 스파이크의 시간 정보를 얻을 수 있기 때문에 시간 데이터를 처리할 수 있다. SNN과 다르게 신호의 시간 정보를 인코딩하지 않는 non-spiking neural networks 또한 brain-inspired computing의 주요 패러다임이다.

경사 하강법 ( https://gdyoon.tistory.com/9)

이러한 인공 신경망은 시냅스의 가중치를 조절하여 오차를 최소화하고, 이 과정을 학습이라고 부른다. 현재 SNN의 학습에는 적용하기 힘들지만 여러 은닉층을 가진 deep neural network (DNN)의 최적화에 널리 쓰이는 알고리즘은 경사 하강법(gradient descent)이다. 경사 하강법은 오차 함수를 미분하여 가중치의 변화에 따른 오차의 변화, 즉 기울기를 알아낸 후 변수인 가중치를 바꾸어 오차의 기울기가 작은 쪽으로 이동하며 값을 최소화한다. 이를 역전파 과정이라고 부르기도 한다.

학습의 종류에도 여러 가지가 있는데, 크게 지도학습(supervised learning)과 비지도학습(Unsupervised learning)으로 나뉜다. 지도학습은 학습 샘플 입력 데이터와 그에 해당하는 출력 데이터가 이미 알려진 경우에 적용하며, 지난 데이터를 기준으로 앞으로 있을 이벤트를 예측하는데 보편적으로 사용된다. 모델에 값을 입력해 나온 출력값과 이미 주어진 정확한 출력값을 서로 비교하여 오류를 검출하면서 알고리즘 학습이 이루어지고, 학습 결과에 따라 모델을 수정한다비지도 학습은 반대로 이전 레이블이 없는 데이터를 학습하는 데 사용된다. 그 외에 오프라인 학습(offline training, ex situ training)은 학습이 이뤄지는 곳과 학습된 가중치가 적용되는 신경망이 서로 다르기 때문에 학습한 것을 적용하기만 하는 방법이고, 온라인 학습(online training, in situ training)은 학습이 이뤄지는 곳과 가중치가 적용되는 신경망이 같으므로 데이터를 순차적으로 주입하며 시스템을 훈련시키는 방법이다. 점진적 학습(Incremental learning)이라고도 한다. 강화 학습(Reinforcement learning)은 보상을 극대화하기 위해 시행착오를 거쳐 이전에 수행했던 학습 과정을 반복하며 스스로 배워 나가는 것을 말한다. 딥러닝이 이에 속한다.

초창기 뉴로모픽 공학은 CMOS 반도체 공정을 이용하여 생물학적 뉴런의 구현 가능성을 보여주는 형태였다. CMOS 기반 하드웨어는 메모리가 처리 장치와 따로 분리된 폰 노이만 구조였기에, 뇌와 비슷하게 메모리와 처리 장치가 물리적으로 분리되지 않은 in-memory computing system이 발전하기 어려웠다. 하지만 최근 메모리 기술이 발전하여 메모리에서 데이터를 정하고 처리하려는 움직임이 커지고 있다. Memristor라는 비휘발성 메모리를 이용하여 실현된 In-memory computing은 데이터의 이동을 최소화화여 전력 소비 방면과 속도 방면에서도 효율적이다.

Memristor crossbar performing matrix–vector multiplication. (https://doi.org/10.1038/s41928-018-0108-y)

Vector-matrix multiplication은 딥 러닝 알고리즘에 사용되는 operation으로, 하드웨어 가속기인Dot Product Engine(DPE)를 이용할 경우 이 연산은 처리와 저장이 같은 장소에서 일어난다. 입력되는 신호는 voltage vector, junction에 다른 conductance로 전달된다. 여기서 conductance가 가중치 역할을 한다. 옴의 법칙(I=VG, G:conductance)에 의하여 전류는 가중치인 conductance에 입력값인 voltage을 곱한 결과와 같고, junction의 전류를 합한 값이 출력값이 된다. 키르히호프 법칙에 따라 이 값은 각 column의 전류를 측정한 값과 같다. Memristive neural network에서 conductance의 값은 연속적으로 조정되고, 그 값은 처리하는 공간과 같은 공간에 저장된다. 각각의 memristor가 뉴런의 시냅스와 같은 역할을 한다.

참고문헌

구영수. (2013). In-Memory Computing 기술현황 및 전망. LG CNS 정보기술연구원. https://blog.lgcns.com/176.

Géron Aurélien, & Bak, H. (2018). 핸즈온 머신러닝. 한빛 미디어.

Hopkins, C. (2020). The Dot Product Engine. Hewlett Packard Labs. https://www.labs.hpe.com/next-next/dot-product-engine.

Lapedus, M. (2019, February 21). In-Memory Vs. Near-Memory Computing. https://semiengineering.com/in-memory-vs-near-memory-computing/.

Merkel, C. Device solutions to scientific computing. Nat Electron 1, 382–383 (2018). https://doi.org/10.1038/s41928-018-0108-y

SAS KOREA. 머신러닝 정의와 활용 방안. SAS KOREA. https://www.sas.com/ko_kr/insights/analytics/machine-learning.html.

Soni, D. (2019, July 16). Spiking Neural Networks, the Next Generation of Machine Learning. Medium. https://towardsdatascience.com/spiking-neural-networks-the-next-generation-of-machine-learning-84e167f4eb2b.

Xia, Q., & Yang, J. J. (2019). Memristive crossbar arrays for brain-inspired computing. Nature Materials, 18(4), 309-323. doi:10.1038/s41563-019-0291