brunch

You can make anything
by writing

C.S.Lewis

by 안영회 습작 May 16. 2021

뇌 구성의 우아함을 음미하기

책과 대화하기 III

데카르트의 오류 라는 책을 읽고 있다. 아래 구절을 보는데 나의 일터 경험을 자극했다. 소프트웨어 개발에 빗대어 생각했다.

과학자들은 신경세포 사이에 연결된 복잡성에 직면하게 되면 '뇌를 언제나 이해하게 될까?' 하고 절망에 빠지는 경우가 적지 않다.

과학자들과 교류해본 일이 없고, 경력 대부분을 개발자와 소통해온 나로써는 이 부분을 읽으면서 '개발자도 비슷하지' 하는 생각을 했다. 프로그램을 정교하게 혹은 우아하게 짜려는 마음이 있는 이들일수록 절망을 경험해보기 쉽다. 사실 넓게 보면 어떤 일이든 하던 중에 생각보다 문제가 훨씬 복잡함을 깨닫는 순간 이런 지점에 도달할 가능성이 있다.


회의론은 어디에서 나오는가?

다음 문장을 보면 과학자들 이야기지만, 과도한 복잡함에 대응하는 다수 개발자들의 태도와 굉장히 유사한 면이 있다. 

어떤 이들은 '모든 것은 그것 이외의 모든 것들과 연결되어 있고, 따라서 마음과 행동이 아마도 신경 해부로는 결코 밝혀낼 수 없는 마구잡이식의 연결에서 비롯된다'는 견해에 안주하길 원한다. 다행스럽게도 그들은 잘못되었다.

더 확대해서 생각해보면, '내가 다 해봤는데 소용없어' 라는 식의 회의론이 떠오르기도 한다. 회의론은 어디에서 비롯하는가? 당연히 회의론을 내뱉는 사람의 머리속에서 나온 것이다. 회의론자의 산물이다. 그리고 저자의 말처럼 다행스럽게도 그들은 잘못되었다. ;)


엄청난 숫자의 구성요소. 이런 경우 발생하는 배열 혹은 네트워킹의 문제. 앞서 말한 회의론은 이 숫자에 압도되는 현상이라고 할 수도 있다.

100억 개 이상의 신경세포와 10조 개 이상의 연접부를 생각해볼 때, 만일 알맞게 연결되어 있지 않다면 각각의 신경세포는 아무것도 아니라는 것을 실감하게 된다.

여기서도 나는 (경험을 어찌할 수 없는지) 소프트웨어 개발에서도 구성요소의 의존성이 가져다주는 복잡도를 떠올리지 않을 수 없다. 너무나도 유사하다. 하지만, 그저 유사하다는 사실만으로 굳이 노트북을 열어 인터넷을 연결하고, 타이핑을 하게 나를 자극하지 않는다.


국소적 회로와 계통의 계통

나를 자극하여 글을 쓰게 만든 문장은 바로 아래 문장이다. 와우!

사실 많은 신경세포는, 상대적으로 제한된 피질과 핵 내의 회로 내에서 그다지 멀지 않은 신경세포들과만 교통한다.

우선 책에 나오는 배경 지식 하나를 말씀드린다. 뇌의 신경세포는 뉴런이라고도 하는데, 피질이나 핵 모두는 신경세포로 구성되어 있다. 피질은 신경세포가 하나의 층을 이루었을 때 부르는 이름이고, 층을 이루지 않고 응집한 경우는 핵이라고 부른다. 


회로 내에서 그다지 멀지 않은 신경세포들과만 교통이라는 부분에서 나는 감탄하지 않을 수 없었다. 앞서 말한 압도적인 복잡성에 대한 해결책은 국소적 회로에 있다는 점이다.


아래 몇년전 필자가 그린 그림이 있다. 이 책의 표현을 빌면 프로그램 구성요소가 국소적 회로를 활용하도록 재구성하라는 그림이라고 설명할 수 있다. 물론, 이 그림을 그릴 당시는 국소적 회로라는 표현을 몰랐다. 소프트웨어 개발 분야에서는 국소적 회로를 다루는 표현으로 모듈화, Bounded Context, ... 등 다수의 개념과 기법이 있다. 많은 기법이 있지만 이들 모두는 결국 복잡도에 압도당하지 않기 위한 기법이다!

그리고, 책의 다음 쪽에서 우아한 차트 하나를 보여준다.


신경 구조의 단계

신경세포

국소적 회로

피질하 핵

피질 부위

계통

계통의 계통


신경 구조의 단계와 마이크로 서비스

나는 과학자나 의사는 아니기 때문에 이들 구조에 대해 더욱 정확하게 알고 싶지는 않다. 도리어 한동안 감탄을 하고, 글까지 쓰는 이유는 바로 뇌 구성의 우아함을 음미하는 데 목적이 있다. 음미하는 과정에서 순식간에 나는 마이크로 서비스를 떠올린다.


컴퓨터를 우리는 부품이 싸지고, 소프트웨어 사용이 늘면서 데이터도 늘어나고 복잡해진다. 2021년은 이미 한 인간이 이해하기에는 너무나도 복잡해진 프로그램을 다루고 있다. 클라우드 컴퓨팅이란 표현에서 클라우드Cloud라는 그 수식이 복잡함을 걷어내고자 하는 인간의 욕망이 담겨 있다. 


이런 상황에서 생존(?)을 위해서는 마이크로 서비스 도입이 필요한데, 그 과정에서 가장 중요한 것은 바로 국지적 소통으로 정신활동을 가능하게 하는 뇌의 구성과 조직을 흉내내는 일과 같은 맥락의 활동이다. (더 자세한 말은 더 알고 싶은 분들과 인연이 닿으면 하기로 하고, 이 글은 음미를 기록하는데 그친다.)

브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari