우리의 뇌도 렌더러일까?

렌더링의식현실철학개발자
우리의 뇌도 렌더러일까?

우리의 뇌도 렌더러일까?

프롤로그

프론트엔드 개발자에게 렌더링(Rendering)은 아주 익숙한 단어입니다.

데이터가 있고, 상태가 바뀌면, 그 상태를 바탕으로 화면을 다시 그립니다.

{ "label": "삭제", "color": "red", "disabled": false }

이런 데이터가 있다고 해서 컴퓨터 메모리 어딘가에 작은 빨간 버튼 하나가 들어 있는 것은 아닙니다.

거기에는 그저 상태를 표현하는 데이터가 있을 뿐입니다.

브라우저는 그 데이터를 해석하고, 스타일을 적용하고, 화면 위에 우리가 이해할 수 있는 형태로 그려냅니다.

그래서 개발자에게는 아주 자연스러운 구분이 하나 있습니다.

데이터와 그것이 표현된 모습은 다르다.

그러다가 문득 이런 생각이 들었습니다.

우리가 보고 있는 현실도 비슷한 것은 아닐까?

나는 정말 세상을 직접 보고 있는 걸까?

아니면 현실에서 들어온 어떤 신호를 뇌가 해석해서, 인간이 이해할 수 있는 형태로 렌더링한 결과를 보고 있는 걸까?

처음에는 그냥 개발자다운 재미있는 비유라고 생각했습니다.

그런데 이 생각을 따라가다 보니 색과 소리, 감각, 현실, 그리고 우리가 너무 당연하게 느끼는 ‘나’라는 존재까지 조금 다르게 보이기 시작했습니다.

물론 이 글은 뇌과학이나 철학에 대한 정답을 이야기하려는 글은 아닙니다.

그저 개발자에게 익숙한 렌더링이라는 멘탈 모델을 가지고 현실을 한번 바라보려고 합니다.


1. 우리는 정말 현실을 직접 보고 있을까?

우리는 보통 이렇게 생각합니다.

눈앞에 사과가 있다.

사과는 빨갛다.

내가 눈을 뜨면 그 빨간 사과가 보인다.

너무나 자연스럽습니다.

그런데 조금만 뜯어보면 이상합니다.

눈으로 실제로 들어오는 것은 사과가 아닙니다.

빛입니다.

사과 표면에서 반사된 빛이 눈에 들어오고, 망막에서 신경 신호로 변환됩니다.

그리고 우리는 그 결과를 하나의 사과로 경험합니다.

소리도 마찬가지입니다.

귀 안으로 누군가의 목소리가 그대로 들어오는 것은 아닙니다.

공기의 압력 변화가 고막을 움직이고, 그 물리적인 변화가 신경 신호로 바뀝니다.

그런데 우리는 그것을 단순한 진동으로 느끼지 않습니다.

누군가의 목소리로 듣고,

음악으로 듣고,

어떤 말이 화가 난 것인지 기쁜 것인지까지 알아차립니다.

현실에서 들어오는 것은 물리적인 자극인데,

우리가 경험하는 것은 색이고, 소리고, 냄새고, 촉감이며, 의미입니다.

생각해보면 현실의 물리적인 상태와 우리가 경험하는 세계 사이에는 꽤 큰 간격이 있습니다.


2. 빨간색은 어디에 있을까?

가끔 이런 질문을 떠올려보면 재미있습니다.

빨간색은 어디에 있을까요?

사과 안에 있을까요?

빛 안에 있을까요?

눈 안에 있을까요?

우리는 자연스럽게 “사과가 빨갛다”고 말합니다.

하지만 조금 다르게 표현하면, 사과의 표면은 특정한 빛을 반사하고 있고 우리의 시각 체계가 그 신호를 받아들여 하나의 색 경험으로 구성합니다.

그렇다면 우리가 경험하는 ‘빨강’은 현실에 그대로 놓여 있는 물질이라기보다, 현실의 어떤 상태를 인간의 감각 체계가 표현한 결과라고 볼 수도 있습니다.

개발자의 언어로 아주 단순화하면 이런 느낌입니다.

Physical State Visual System "빨강"

물론 실제 시각 체계는 이보다 훨씬 복잡합니다.

여기서 중요한 것은 구현 디테일이 아니라 구조입니다.

외부 세계의 상태와 우리가 경험하는 모습은 같은 것이 아닐 수 있다.

이 생각을 하고 나면 조금 이상한 질문 하나가 생깁니다.


3. 아무도 보지 않는 우주는 무슨 색일까?

아무 생명체도 존재하지 않는 우주를 상상해봅시다.

별이 있습니다.

행성이 있습니다.

빛이 공간을 지나갑니다.

초신성이 폭발하고, 전자기파가 우주를 가로지릅니다.

그 우주는 밝을까요?

아니면 깜깜할까요?

처음에는 자연스럽게 “깜깜하겠지”라고 생각하게 됩니다.

그런데 조금 이상합니다.

‘깜깜하다’는 것 역시 하나의 시각적 경험이기 때문입니다.

관찰자가 없더라도 전자기적인 현상은 존재할 수 있습니다.

빛은 이동할 수 있고 별은 에너지를 방출할 수 있습니다.

하지만 그것을 받아들여 ‘밝다’, ‘어둡다’라고 경험하는 존재가 없다면 우리가 일상적으로 말하는 의미의 장면이 존재한다고 할 수 있을까요?

소리도 비슷합니다.

아무도 없는 행성에 운석이 떨어졌다고 해봅시다.

대기가 있다면 충격으로 압력 변화가 만들어질 수 있습니다.

물리적인 진동은 존재합니다.

하지만 그것을 듣는 귀와 신경계가 없다면 그곳에 우리가 경험하는 의미의 “쾅!”이라는 소리가 있었다고 말할 수 있을까요?

물리적 사건은 존재합니다.

그러나 경험은 별개의 문제입니다.

이렇게 생각하면 조금 낯선 결론에 도달합니다.

우리가 너무 당연하게 생각하는 ‘모습’이라는 것 자체가 현실의 기본 속성이 아닐 수도 있습니다.


4. 현실에는 정말 ‘모습’이 있을까?

우리는 세상을 언제나 모습으로 떠올립니다.

산은 이렇게 생겼고,

바다는 파랗고,

태양은 밝고,

우주는 검은 공간 속에 별이 떠 있습니다.

그런데 ‘모습’이라는 것은 무엇일까요?

모습은 기본적으로 보는 존재를 전제로 합니다.

색은 시각 시스템을 전제로 하고,

소리는 청각 시스템을 전제로 합니다.

그렇다면 관찰자가 없는 현실의 “진짜 모습”을 묻는 것 자체가 이상한 질문일 수도 있습니다.

모습이라는 개념부터 이미 어떤 감각 시스템 안에서 만들어진 표현이기 때문입니다.

이 생각을 하다가 개발에서 사용하는 렌더링이 떠올랐습니다.

게임을 생각해봅시다.

게임 속에는 하나의 월드가 존재합니다.

플레이어의 좌표가 있고,

몬스터의 위치가 있고,

오브젝트의 상태가 있고,

빛의 방향이 있습니다.

하지만 그 월드 자체가 처음부터 화면인 것은 아닙니다.

World State Camera Rendering Frame

월드의 상태가 있고,

카메라가 바라보는 영역을 계산하고,

렌더러가 그것을 하나의 프레임으로 만들어냅니다.

화면은 월드 그 자체가 아닙니다.

월드를 특정한 관점에서 표현한 결과입니다.

그렇다면 우리가 경험하는 현실도 조금 비슷한 구조로 생각해볼 수 있지 않을까요?


5. 현실이라는 월드와 뇌라는 렌더러

조금 과감하게 개발자의 언어로 바꿔보면 이렇게 표현할 수 있습니다.

현실의 물리적 상태 = World State 감각기관 = Input 뇌 = Renderer 의식적 경험 = UI

물론 뇌가 실제로 React Renderer처럼 동작한다는 뜻은 아닙니다.

어디까지나 하나의 멘탈 모델입니다.

그런데 이 비유로 현실을 바라보면 꽤 많은 것이 자연스럽게 연결됩니다.

우리는 현실에 존재하는 모든 정보를 받아들이지 않습니다.

애초에 그럴 수도 없습니다.

인간의 눈이 감지할 수 있는 빛의 범위는 제한되어 있고,

귀가 들을 수 있는 진동의 범위도 제한되어 있습니다.

감각기관은 현실에 존재하는 정보 중 극히 일부만 받아들입니다.

그리고 뇌는 그 일부조차도 모두 같은 중요도로 처리하지 않습니다.

지금 이 글을 읽고 있는 동안에도 여러분의 코는 시야 어딘가에 들어와 있습니다.

옷은 계속 피부에 닿고 있고,

주변에는 크고 작은 소리가 있습니다.

하지만 우리는 대부분을 의식하지 않습니다.

뇌는 필요하지 않은 정보를 상당 부분 걸러냅니다.

모든 것을 그대로 전달하는 것이 아니라,

필요한 것을 선택하고,

중요도를 판단하고,

기억과 연결하고,

부족한 부분을 추론해

하나의 일관된 세계를 구성합니다.

그래서 생각할수록 ‘렌더러’라는 표현만으로는 조금 부족해집니다.

뇌는 단순히 입력값을 화면에 옮기는 렌더러라기보다,

렌더러이면서 압축기이고, 예측 엔진이며, 세계 모델 생성기에 더 가까워 보입니다.


6. 게임도 모든 것을 렌더링하지 않는다

3D 게임을 만들 때는 월드에 존재하는 모든 것을 매 순간 동일한 비용으로 그리지 않습니다.

카메라 바깥의 오브젝트를 생략하기도 하고,

멀리 있는 물체는 디테일을 낮추기도 하며,

다른 오브젝트 뒤에 가려진 것은 굳이 그리지 않기도 합니다.

왜냐하면 모든 정보를 같은 수준으로 처리하는 것은 너무 비효율적이기 때문입니다.

생명체도 비슷하지 않을까요?

뇌가 해야 하는 일은 우주의 모든 정보를 완벽하게 복원하는 것이 아닐 겁니다.

살아남고,

움직이고,

먹고,

위험을 피하고,

다른 존재와 상호작용할 수 있을 만큼 빠르고 유용한 세계를 만드는 것이 더 중요했을 겁니다.

그렇다면 우리가 경험하는 세계는 가장 정확한 현실이라기보다,

인간이라는 생명체에게 가장 유용하게 구성된 현실일 수도 있습니다.

여기서 저는 UI가 떠올랐습니다.

좋은 UI는 내부 시스템의 모든 디테일을 사용자에게 보여주지 않습니다.

데이터베이스의 row를 그대로 보여주지도 않고,

네트워크 패킷을 노출하지도 않으며,

메모리 주소를 사용자에게 직접 보여주지도 않습니다.

사용자가 행동하는 데 필요한 정보만 적절한 형태로 표현합니다.

파일을 삭제할 때 우리는 디스크의 어느 블록이 어떻게 변경되는지 알 필요가 없습니다.

그저 휴지통 아이콘을 누르면 됩니다.

복잡한 내부 상태가 하나의 인터페이스로 압축됩니다.

그렇다면 우리가 경험하는 현실도 일종의 인터페이스라고 볼 수 있지 않을까요?


7. 우리는 현실을 보는 것이 아니라 ‘사용’할 수 있도록 보고 있는지도 모른다

사과 하나를 생각해봅시다.

우리는 사과를 보는 순간 아주 많은 것을 동시에 알아차립니다.

빨갛다.

둥글다.

사과다.

먹을 수 있다.

손을 뻗으면 잡을 수 있다.

익은 것 같다.

배가 고프다면 먹고 싶다는 느낌까지 생깁니다.

그런데 현실의 물리적인 상태 안에 이런 JSON이 들어 있는 것은 아닐 겁니다.

{ "object": "apple", "edible": true, "tasty": true }

‘먹을 수 있다’는 의미는 사과 자체에 독립적으로 들어 있는 값이라기보다, 인간의 신체와 경험과 기억이 만들어내는 관계에 가깝습니다.

인간에게는 음식이지만 다른 생명체에게는 아무 의미 없는 물체일 수 있습니다.

어떤 동물은 우리가 보는 색을 같은 방식으로 구분하지 못하고,

반대로 인간이 감지하지 못하는 정보를 감지할 수도 있습니다.

같은 현실과 상호작용하면서도 서로 다른 세계를 경험하는 셈입니다.

이렇게 생각하면 우리가 경험하는 세계는 현실의 ‘정답 화면’이라기보다,

인간이라는 사용자가 현실과 상호작용하기 위한 UI에 가까워 보입니다.

우리는 전자기파의 파장을 숫자로 볼 필요가 없습니다.

‘빨강’이면 됩니다.

공기 압력의 변화를 실시간 그래프로 볼 필요도 없습니다.

‘소리’면 됩니다.

수많은 원자의 위치와 운동량을 계산하면서 살아갈 필요도 없습니다.

‘책상’, ‘사람’, ‘사과’처럼 하나의 물체로 느끼면 됩니다.

현실의 복잡성을 그대로 보여주는 것보다,

살아가는 데 필요한 형태로 추상화하는 편이 훨씬 유용합니다.


8. 그렇다면 그 화면 안의 ‘나’는 무엇일까?

여기까지 생각하고 나면 한 가지 재미있는 문제가 남습니다.

우리는 보통 이렇게 생각합니다.

내가 있고, 그 앞에 세상이 있고, 내가 세상을 본다.

즉 ‘나’는 화면 밖에 있는 관찰자처럼 느껴집니다.

하지만 뇌가 세계를 모델링하고 있는 것이라면,

그 세계 안에서 행동하는 자기 자신도 함께 모델링해야 하지 않을까요?

내 손은 어디에 있는지,

나는 어느 방향을 보고 있는지,

무엇을 원하는지,

지금 무엇을 하고 있는지.

외부 세계만 알아서는 제대로 행동할 수 없습니다.

그 세계 안에 존재하는 ‘나’의 상태도 함께 표현되어야 합니다.

그렇다면 우리가 너무 자연스럽게 느끼는 ‘나’라는 감각 역시 세계 모델의 바깥에 서 있는 관찰자라기보다,

세계 모델 안에 함께 포함된 하나의 요소일 수도 있습니다.

게임으로 치면 월드만 렌더링되는 것이 아니라 플레이어의 위치와 상태 역시 그 세계 안에 함께 표현되는 것처럼 말입니다.

여기서부터는 의식과 자아라는 훨씬 큰 질문으로 이어집니다.

하지만 이번 글에서는 거기까지 깊이 들어가지는 않으려고 합니다.

다만 한 가지는 꽤 흥미롭습니다.

뇌가 현실만 렌더링하는 것이 아니라,

현실을 경험하고 있는 ‘나’까지 함께 구성하고 있을 가능성입니다.


9. 현실의 Raw Data를 볼 수 있을까?

개발을 하다 보면 화면만 봐서는 문제가 이해되지 않을 때가 있습니다.

그럴 때 우리는 더 아래로 내려갑니다.

API 응답을 보고,

네트워크 로그를 보고,

데이터베이스를 확인합니다.

UI 아래에 있는 원본 상태를 보려는 것입니다.

그러다 이런 생각이 듭니다.

현실에도 우리가 볼 수 있는 Raw Data가 있을까요?

그리고 그것이 있다고 하더라도 인간이 그것을 직접 경험할 수 있을까요?

무언가를 ‘본다’는 순간 이미 시각 체계를 거칩니다.

무언가를 ‘듣는다’는 순간 이미 청각 체계를 거칩니다.

인간이 볼 수 없는 파장을 측정하는 장비를 만들어도 우리는 결국 그것을 숫자나 그래프나 색으로 변환해서 봅니다.

즉 다시 인간이 이해할 수 있는 형태로 렌더링합니다.

어쩌면 우리는 현실을 더 정밀하게 측정할 수는 있어도,

인간이라는 감각과 인지 체계를 완전히 벗어난 채 현실을 경험할 수는 없는지도 모릅니다.

우리가 현실에 접근할 수 없다는 뜻은 아닙니다.

오히려 과학은 우리가 가진 제한된 감각을 끊임없이 확장해왔습니다.

다만 어떤 정보든 인간이 이해하는 순간, 그것은 다시 인간의 인터페이스 안으로 들어오게 됩니다.


10. 우리는 같은 세계를 보고 있을까?

여기서 또 하나 재미있는 질문이 생깁니다.

제가 보는 빨강과 여러분이 보는 빨강은 정말 같은 빨강일까요?

우리는 둘 다 그것을 ‘빨강’이라고 부릅니다.

같은 신호등 앞에서 멈추고,

같은 색상 코드를 보고,

같은 사과를 빨갛다고 이야기합니다.

기능적으로는 아무 문제가 없습니다.

하지만 서로의 내부 경험 자체가 완전히 같은지는 직접 확인하기 어렵습니다.

어쩌면 중요한 것은 경험이 완전히 같다는 사실이 아닐 수도 있습니다.

서로 다른 디바이스가 같은 웹페이지를 조금씩 다르게 렌더링하더라도 같은 기능을 수행할 수 있듯이,

서로 다른 생명체가 조금 다른 경험을 하더라도 같은 현실과 충분히 상호작용할 수 있습니다.

그렇다면 우리가 공유하는 것은 완전히 동일한 화면이라기보다,

같은 현실과 상호작용하며 서로의 렌더링 결과를 계속 맞춰가는 과정일지도 모릅니다.

우리는 언어를 만들고,

단위를 만들고,

색의 이름을 붙이고,

과학적 측정 방법을 만들면서

서로 다른 내부 경험 위에 공유 가능한 현실을 구축해왔습니다.


우리가 평생 보고 있는 것은 무엇일까?

처음에는 단순히 이런 생각이었습니다.

뇌가 현실을 화면처럼 렌더링하는 것 아닐까?

그런데 생각을 계속 따라가다 보니 조금 다른 결론에 도착했습니다.

좋은 렌더링은 단순히 데이터를 그대로 그려주는 일이 아닙니다.

복잡한 상태를 사용자가 이해하고 행동할 수 있도록 표현하는 일입니다.

인간의 감각과 뇌도 비슷할 수 있습니다.

우리는 현실의 모든 정보를 직접 경험하지 않습니다.

현실에서 들어오는 제한된 신호를 받아들이고,

필요한 것을 선택하고,

기억과 비교하고,

부족한 부분을 추론하며,

하나의 일관된 세계를 만들어냅니다.

그 세계에는 색이 있고,

소리가 있고,

물체가 있고,

공간이 있고,

의미가 있습니다.

그리고 어쩌면 그 안에는

‘나’도 있습니다.

그래서 저는 요즘 현실을 조금 다르게 생각해보게 됩니다.

우리가 경험하는 세계는 현실의 복사본이 아니라,

현실을 인간이라는 생명체가 이해하고 사용할 수 있도록 만든 인터페이스일지도 모른다.

개발자의 언어로 다시 적어보면 이런 모습입니다.

Reality Senses Brain World Model The world I experience

우리는 그 바깥에 있는 현실을 완전히 알 수 없을지도 모릅니다.

하지만 그 현실과 끊임없이 상호작용하며 우리만의 세계를 만들어 살아갑니다.

어쩌면 우리가 평생 바라보고 있는 것은 세상 그 자체가 아니라,

세상을 인간이 이해할 수 있도록 만들어낸 하나의 화면인지도 모릅니다.

우리는 세상을 보고 있는 것이 아니라, 세상을 렌더링하고 있는지도 모른다.

댓글