뇌는 어떻게 정보를 저장하고 처리할까? - 기억과 연산은 같다
2024. 10. 24. 01:48ㆍ인공지능 만들기/뇌의 모방
뇌를 구성하는 요소 중 가장 중요한 건 단연 신경 세포인 뉴런이다.
위 그림을 보면 신경세포은 기본적으로 수상돌기를 통해 신호를 받고, 축삭말단을 통해 신호를 내보낸다.
신경세포의 축삭말단은 다른 신경세포의 수상돌기와 연결되어 있는데, 물리적으로 접촉하진 않고 매우 미세하게 띄어져 있으며 화학물질을 통해 신호를 주고 받을 수 있다. 이 틈이 그 유명한 시냅스다. 시냅스가 중요한 이유는 예전엔 당연히 물리적으로 연결되어 있을 것이라 생각했는데 알고보니 신경세포끼리 물리적으로 붙어있진 않았기 때문에 상당한 충격으로 다가왔기 때문이다. 또 매우 중요한 것은 이 시냅스(수상돌기와 축삭말단의 연결 형태)는 변하지 않는 게 아니고 변한다. 자주 쓰면 연결되고, 안 쓰면 연결이 끊어진다. 이 덕분에 학습이 일어난다.
중간에 수상돌기와 축삭말단과 연결되는 신경의 긴 부분을 축삭이라 부르는데 이 축삭을 일종의 절연 역할을 하는 미엘린수초가 둘러싸고 있다. 위 그림에서 네모나게 선을 감싼것이 미엘린수초다. 이 수초에 대해 알면 재밌는데 좀 더 설명하겠다. 축삭의 전기신호는 미엘린수초를 건너뛰며 순식간에 축삭말단으로 이동 할 수 있다. 이렇게 되면 당연히 신경의 속도가 빨라진다. 그런데 이 수초는 신경초기엔 없다가 나중에 서서히 생긴다. 어린아이가 생각의 속도가 느린 것은 신경망 연결이 정렬이 되지 않은 것도 있겠지만 수초가 제대로 형성되지 않아서 처리 속도 자체도 늦기 때문이다.
신경세포를 그릴 때 위의 그림에서 위의 모양도 단순 도식화 한 것이지만 더 단순히 모형화해서 위 그림의 아래 부분처럼 흔히 그린다.
컴퓨터에서 연산과 저장은 나눠져 있다.
그래서 은연 중 뇌를 모방하는 과정도 연산 처리와 정보 저장으로 나눈다.
정말 뇌도 그럴까?
위 그림은 대충 아무렇게나 그린 신경망 예시이다.
신경세포는 다른 신경세포와 시냅스를 통해 정보를 주고받는데, 한개의 신경세포는 수천개의 시냅스를 가지고 있다. 당연히 위 예시는 매우 도식화 한 것이고 실제 신경망은 매우 복잡할 것이다.
물론 시냅스 하나 하나 각각 별개의 신경세포와 연결된다는 뜻은 아니다. 하나의 신경세포의 수상돌기가 수천개 있어도 다른 하나의 신경세포의 축삭말단 수천개와 같이 연결 될수도 있고(1:1연결), 하나의 신경세포의 수상돌기와 30개의 신경세포의 축삭말단이 연결 될 수도 있다.(1:30 연결)
그런데 인간의 뇌엔 신경세포가 1천억개 존재한다. 신경세포끼리의 연결 갯수는 얼마나 될지 상상하기도 힘들다. 이런 복잡성이 바로 지능을 낳았다.
그럼 뇌는 정보를 어떻게 저장하고 연산할까?
바로 이 연결이 뇌의 연산이자, 저장 그 자체다.
연결을 잘 정렬하면 특정 신호가 들어올 때 출력도 일정해진다. 특정 상황에서 특정 기억을 떠올리거나 특정 행동을 하는 것은 뇌의 회로가 그렇게 구성되었기 때문이다. 기억을 한다는 것은 뇌 특정 구역에서 그것에 대한 회로가 만들어 졌다는 뜻이고, 기억을 떠올리는 것은 그 회로에 다시 신호가 흐르는 것이다. 우리의 생각은 뇌 회로의 신호 흐름이라 볼 수 있는데 끝없는 정보의 흐름에 따라 끝없이 우리의 생각도 움직이고 있다. 그리고 이것이 일종의 연산이다. 기억과 연산은 분리할 수 없는 영역이다. 뇌과학 책을 많이 읽었지만 기억을 담당하는 뉴런과 연산을 담당하는 뉴런을 구분하는 걸 본 적이 없다.
또 신호가 흐르면 신경은 고정된 것이 아닌 가소성이 있어 강화되든 약화되든 아니면 다른식이든 약간이라도 변형되게 되어있다. 다시말하자면 우리의 뇌에 정보가 흐를때마다 연결구조가 변한다. 같은 생각을 많이할 수록 그 생각은 강화되고 그 생각의 속도도 빨라진다.
수학을 배울 때를 생각해보자. 처음엔 이해하려고 애를 써야하지만 나중엔 이해했다고 생각할 겨를도 없이 당연시한다.
곱하기 기호를 배울 때를 보자. 3x3은 3을 3번 더한다는 뜻이다. 처음엔 이해하려고 무던히 애쓰지만 그 생각을 여러번 반복하다 보면 곱하기란 기호를 더이상 생각하지 않는다. 그냥 뇌에서 순식간에 처리하고 당연히 곱하기는 그런 것으로 취급한다.
언어도 마찬가지다. "하늘"이란 단어를 배울 때는 "하늘"이란 말과 실재 하늘을 연결하는데 시간이 걸리지만 일단 뇌에서 이런 정보가 상호 연결되면 그때는 그냥 하늘은 하늘인 것이다. 하늘을 "하늘"이란 말로 배울 때 기억의 하늘과 연산으로써의 하늘의 처리는 같다.
요즘 뜨거운 인공신경망은 어떨까. 인공"신경망"인 만큼 마찬가지다. 내가 알기로 이를 구현할 때 연산부와 저장부를 구분하지 않는다. 앞 뉴런과 뒤 뉴런을 어떻게 연결 지을지 결정하는 수많은 가중치가 일종의 인공신경망의 기억이자 연산이다.
다만 이를 하드웨어로 구현할 때 구분된다. 가중치를 얼마나 저장할 수 있느냐는 메모리의 용량에 달렸고, 신호에 따라 결과를 얼마나 빨리 연산하고 다시 피드백해서 가중치를 또 조정하는지는 연산장치에 달려있다. 여기서 사족을 달자면 메모리는 용량만 커서 될 일은 아니다. 신호에 따라 결과를 계산하는 과정, 또 피드백해서 가중치를 조정할 때마다 메모리를 읽고 써야한다. 다시 말해 메모리 용량도 커야하지만 메모리 대역폭도 커야한다.
인간의 뇌는 자동으로 용량이 대역폭이고 대역폭이 연산 속도다. 하지만 컴퓨터로 시뮬레이션하는 인공신경망은 다르다. 램과 CPU 또는 GPU로 구분된 하드웨어로 처리해야한다. 물론 이를 극복하고자 정말 신경세포처럼 작동하는 하드웨어도 만들고 있지만 아직까진 큰 성과는 못내고 있다. 일전에 기사로 삼성전자에서 PIM(프로세싱 인 메모리)라는 말 그대로 메모리에 간단한 연산기능을 붙인 램을 만든다고 해서 내심 인공지능에 매우 큰 공을 세우지 않을까 기대를 하였으나 아쉽게도 아직 성과가 안 나오고 있다.
다음 글에서는 인간처럼 사고하는 컴퓨터는 얼마나 빨라야 할지 추론해보도록 하겠다.
'인공지능 만들기 > 뇌의 모방' 카테고리의 다른 글
인공지능을 가장 빨리 만드는 길 - 뇌 (2) | 2024.10.19 |
---|