Chapter Content

Calculating...

자, 여러분 안녕하세요. 음, 오늘 얘기해볼 주제는, 그러니까... 좀 다른 종류의 해결책, 해결 방법에 대한 거예요. 특히, "보이는 게 전부가 아니다" 뭐 이런 느낌?

지난번에 우리가 장갑, 눈사람, 루빅스 큐브 얘기했잖아요. 난이도가 점점 올라가는 문제들이었는데, 사실 이것들은 겉으로는 엄청 달라 보여도, 해결하는 기본적인 방법은 비슷했죠. 높은 수준의 사고 과정을 거치고, 시행착오를 거쳐서, 더 효과적으로 가능성들을 탐색하는 거죠. 문제는 어려워질수록 복잡해지니까, 당연히 더 많이 찾아봐야 하고요.

아, 잠깐, 해결책이라는 게 뭐였는지 다시 한번 떠올려보면, 문제 해결을 위해 사용하는 내부 과정을 실제로 구현한 물리적인 거라고 했었죠. 그러니까, 장갑은 따뜻한 손이라는 결과를 만들어내는 물리적인 물건이니까 해결책이 되는 거고, 루빅스 큐브 해법은 사람들이 종이에 적어놓은 규칙 같은 거잖아요.

근데, 딥러닝으로 루빅스 큐브를 푸는 건 완전히 다른 차원의 문제인 거예요. 이거는 글로 적을 수가 없어요. 사람이 찾아낸 해법은 설명이 가능한데, 딥러닝은 그냥 블랙박스인 거죠. 아무리 들여다보고 분석하려고 해도, 딥러닝이 정확히 뭘 어떻게 하는지 우리가 딱 꼬집어서 말할 수가 없어요.

좀 이상하죠? 우리 뇌는 세상에서 제일 복잡한 물건인데, 뇌가 만들어낸 해결책은 설명이 가능하잖아요. 근데 딥러닝은 복잡성에 거의 다다랐는데도, 해법은 불투명하고 이해가 안 돼요. 왠지 사람이나 딥러닝이나 비슷한 해결책을 내놓을 것 같은데, 전혀 그렇지 않다는 거죠.

사실, 딥러닝도 사람과 비슷한 해결책을 내놓을 때가 있긴 있어요. 근데 그거는 문제가 진짜 엄청 어려운 경우에만 해당돼요. 루빅스 큐브는 그 정도 수준의 엄청 어려운 문제는 아니거든요. 루빅스 큐브는 정해진 상태와 상태 변화를 가지고 있는, 딱 관리 가능한 수준의 퍼즐인 거예요. 루빅스 큐브의 가능성 공간이 크다고 느껴지는 건, 더 간단한 문제에 비해서 상대적으로 크다는 거지, 진짜 엄청나게 복잡한 문제는 아니라는 거예요.

그러니까, 루빅스 큐브는 간단한 해결책도 나올 수 있고, 복잡한 해결책도 나올 수 있는 거예요. 간단한 해결책은 우리가 이해할 수 있는 규칙 형태가 되는 거고, 복잡한 해결책은 딥러닝이 만들어내는, 이해할 수 없는 형태가 되는 거죠. 그럼 왜 딥러닝은 굳이 간단한 해결책 말고 복잡한 해결책을 만들어내는 걸까요?

그 이유는 딥러닝이 모델을 만들 때, 외부적인 변화, 반복, 선택 과정을 사용하기 때문이에요. 전에 얘기했듯이, 이런 과정이 복잡성을 만들어내는 비법이거든요. 딥러닝은 문제를 해결하려고 할 때, 문제 자체의 복잡성과 비슷한 수준의 해결책을 만들어내려고 하는 경향이 있어요. 루빅스 큐브의 가능성 공간 자체가 어느 정도 복잡성을 가지고 있으니까, 딥러닝은 자연스럽게 그 복잡성을 활용하게 되는 거죠.

이것 때문에 딥러닝 해법이 불투명하긴 하지만, 성능 면에서는 최고의 해결책이 되는 거예요. 딥러닝은 루빅스 큐브를 1초 안에 풀 수 있거든요. 인간 최고 기록보다도 훨씬 빨라요. 이게 로봇의 손재주나 집중력 때문만은 아니에요. 속도가 빠른 이유는, 딥러닝이 꼼꼼하게 분석하고 따지는 대신, 시행착오를 적극적으로 활용하기 때문이에요. 인간도 마찬가지죠. 사람이 찾아낸 더 빠른 알고리즘일수록, 초보자용 알고리즘보다 경험적인 방법이나 패턴 인식에 더 많이 의존하게 돼요. 고급 큐버들은 직관을 많이 사용해서 큐브를 풀거든요. 미묘한 힌트나 반복되는 패턴을 이용해서 다음 동작을 예측하면서 현재 동작을 수행하는 거죠.

사람들은 깔끔한 규칙을 찾으려고 해요. 마치 실수로 최고의 사과 파이를 만들었는데, 어떻게 만들었는지 기억하고 싶어 하는 것처럼요. 하지만 사람들이 그렇게 하는 이유는, 우리가 설명을 해야 하고, 다른 사람들에게 어떤 일을 확실하게 해내는 방법을 가르쳐줘야 한다는 생각 때문이에요. 설명 가능한 해결책이 무조건 최고 성능을 낼 거라고 믿을 이유는 전혀 없어요. 오히려 반대일 가능성이 높죠. 특히, 게임에서 벗어나서 실제 현실 문제를 다룰 때는 더더욱 그렇고요.

딥러닝은 루빅스 큐브 문제 안에 있는 복잡성을 활용해요. 큐브 위치를 나타내는 데이터에서 복잡한 패턴과 관계를 잡아내는데, 특히 단순한 규칙으로 표현할 수 없는 비선형적인 관계까지 찾아내는 거죠. 딥러닝은 나중에 해독하는 게 불가능할 정도로, 복잡성을 활용하는 전략을 찾아내는 거예요. 우리 뇌도 현실 세계의 어려운 문제에 직면했을 때 똑같이 하죠. 전쟁터에서 창을 던져서 적을 정확히 맞힐 수는 있지만, 어떻게 던졌는지 설명할 수는 없잖아요. 창 던지기를 기술로 분해하려고 하면, 즉 분리된 움직임을 하나하나 분석해서 합쳐보려고 하면, 창을 던지는 효율은 훨씬 떨어질 거예요.

딥러닝은 학습된 매개변수 안에 일종의 암묵적인 지식을 저장하는 거예요. 암묵적인 지식은 복잡한 환경에서 항상 더 뛰어난 성능을 발휘해요. 왜냐하면 암묵적인 지식은 잠재되어 있다가 드러나는 것이지, 의도적으로 조각조각 맞춰서 만들어내는 게 아니기 때문이에요. 이 사실은 너무나 당연해서, 오히려 설명 가능성 자체가 현실 세계를 지나치게 단순하게 바라보는 관점의 특징이라고 봐야 할 정도예요.

진짜 어려운 문제를 해결하려면, 정말로 복잡한 해결책이 필요해요. 복잡성의 시대에 우리가 만들어내는 것은, 잘 짜여진 조각들과 상호작용으로 이루어진 단순한 조립품이어서는 안 돼요. 우리 발명품이 사용하는 내부 과정이 무엇이든, 우리는 그 과정을 이해할 수 없을 거라고 예상해야 해요. 복잡한 것들이 내부적으로 어떻게 작동하는지 설명하려는 시도는 동화 같은 이야기일 뿐이고, 혁신을 제한할 뿐이에요.

자, 다음 주제로 넘어가서... 음, "자연은 근사치가 아니다"라는 이야기를 해볼게요.

원래 어려운 문제를 해결하는 데 사용되는 방법들은, 대충 어림잡아서 하는 방법이라고 여겨져 왔어요. 직접적으로 문제를 해결하는 것보다 정확하지 않다고 생각하는 거죠. 딥러닝은 경험적인 방법과 수학적 최적화를 사용해서 해답을 찾아내잖아요. 그래서 기존의 규칙 기반 컴퓨팅보다 덜 엄밀한 방법이라고들 말하죠. 덜 엄밀한 방법은 대략적인 방법이고, 대략적인 방법으로 찾은 것은 최적의 해결책이 아니라고 여겨지는 거예요.

이것은 사람과 기계 모두에게 적용되는데요. 사람의 경우, 경험적인 방법은 개인적인 판단과 직관에 의존하기 때문에 편향, 오류, 변동성이 생길 수밖에 없죠. 똑같은 상황에서도 사람마다 경험적인 방법을 다르게 적용할 수 있고, 결과도 달라질 수 있어요. 경험적인 방법은 정확성보다 속도를 우선시해요. 최고의 해결책을 찾기 위해 시간과 자원을 낭비하는 대신, 충분히 괜찮은 해결책을 빨리 찾는 것을 목표로 하죠. 기계도 거의 똑같아요. 경험적인 방법을 사용하는 것은, 마치 핵심적인 부분을 건너뛰고 더 빨리 해결책을 얻는 것처럼 보이는 거죠.

덜 엄밀한 접근 방식을 근사치로 생각하는 것은, 현재 과학 및 공학 패러다임의 핵심적인 오류 중 하나라고 저는 생각해요. 경험적인 방법을 근사치로 생각하는 이유는, 문제를 해결하는 가장 좋은 방법은 결정론적인 방법이라고 믿기 때문인 거죠. 시스템의 세부 사항을 자세히 살펴보고, 개별적인 요소들이 어떻게 상호 작용해서 결과를 만들어내는지 정확히 알아야만, 우리가 엄밀한 접근 방식을 취하고 있다고 생각하는 거예요.

이것은 해결책을 찾는 과정과 적용하는 과정 모두에 해당돼요. 연역적이고 규칙 기반 추론을 사용해서 해결책을 찾는 것이, 가능성의 공간을 마구 뛰어다니면서 높은 수준의 패턴에 의존하는 것보다 더 꼼꼼하고 정확하다고 여겨지죠. 그리고 깔끔한 규칙 기반 시스템을 사용하는 것이, 내부 작동 방식을 이해할 수 없는 불투명한 모델을 사용하는 것보다 더 합리적이고 신중해 보이는 거죠.

하지만 복잡성은 그렇게 작동하지 않아요. 복잡성은 단순한 시스템에서 볼 수 있는 것을 엄청나게 강화한 버전이 아니에요. 복잡성은 너무 많은 세부 사항과 규칙 때문에 명확하게 볼 수 없는 것이 아니라, 복잡한 시스템이 물질과 정보를 처리하는 방식 자체가 완전히 다르기 때문에 이해할 수 없는 거예요. 복잡한 시스템에서 보이는 통계적인 흐릿함은, 불확실한 버전이 아니라 문제를 해결하기 위해 나타나는 현상 그 자체인 거예요. 작은 조각들을 들여다보면서 결정론적인 방식으로 작동하는 것을 찾으려고 하는 것은, 거기에 없는 것을 찾으려고 하는 것과 같아요. 작은 조각들이 있고, 그것들이 상호 작용하는 것은 맞지만, 그것들이 선형적인 인과 관계를 만들어내는 것은 아니라는 거죠. 복잡한 시스템 내의 상호 작용은, 더 작은 규모에서는 존재하지 않는 구조를 만들어내요.

자연의 해결책은 어려운 문제에 대한 대략적인 해결책이 아니라, 필요한 답을 정확하게 계산해내는 방법이에요. 자연은 우리가 현재 지식을 정의하는 데 사용하는 축소된 조각들이 아니에요. 우리가 분자를 검사해서 구성 원자를 정의할 수 있다고 해서, 분자의 구조와 행동을 원자를 사용해서 설명할 수 있는 것은 아니에요. 세포에 특정 역할을 수행하는 세포 소기관이 있다고 해서, 세포의 기능을 세포 소기관을 사용해서 정확하게 설명할 수 있는 것은 아니라는 거죠.

자연의 계산 구조는 모든 규모에서 고유한 방식으로 나타나요. 인간은 입력을 출력으로 바꾸기 위해 수행되는 일련의 기계적인 작업으로만 생각하기 쉬워요. 하지만 처리는 단순히 물질이나 정보가 변환되는 것을 의미할 뿐이지, 기계적이거나 인과적인 수단을 통해서만 일어날 필요는 없어요.

자, 그럼 다음으로 넘어가서... 유연한 결정론에 대해 이야기해 볼게요.

우리가 1장에서 결정론적 과정과 비결정론적 과정의 차이를 살펴봤잖아요. 결정론적 과정은 결과가 예측 가능해서, 똑같은 입력이 항상 똑같은 출력을 만들어내는 과정이에요. 비결정론적 과정은 결과가 완전히 예측 가능하지 않아서, 똑같은 입력이 매번 다른 결과를 만들어낼 수 있는 과정이고요. 결정론적 과정은 정상적인 작동 과정에서 무작위성을 허용하지 않지만, 비결정론적 과정은 무작위성을 활용하죠.

하지만 자연의 해결책에서는 상황이 그렇게 간단하지 않아요. 자연의 해결책은 결정론과 비결정론을 모두 가지고 있어요. 저는 그걸 유연한 결정론이라고 부르는데요. 유연하게 결정론적이라는 것은, 재현 가능한 행동과 재현 불가능한 행동을 모두 가지고 있다는 것을 의미해요. 예를 들어서, 비버를 생각해 보세요. 비버는 우리가 비버를 보면 항상 비버인 것을 알 수 있기 때문에, 분명히 어느 정도 재현 가능한 부분이 있어요. 비버는 명확하게 정의된 외모와 행동을 가지고 있죠. 비버는 입력에 대해서 완전히 다른 출력을 만들어내지 않아요.

하지만 비버는 또한 매우 비결정론적이기도 해요. 왜냐하면 비버가 직면하는 수많은 어려움은 엄격한 결정론을 사용해서는 결코 해결할 수 없기 때문이에요. 포식자, 식량, 영역, 온도 변화, 가뭄, 기생충 등의 입력을 항상 똑같은 일을 하는 규칙 엔진을 사용해서 변환하려고 한다고 상상해 보세요. 포식자는 수많은 각도에서 접근할 수 있고, 온도 변화는 예측하기 매우 어렵고, 기생충은 언제든지 감염시킬 수 있어요. 결정론적인 시스템은 거의 무한한 수의 가능한 시나리오에서 수많은 요인을 고려할 수 없어요.

하지만 비버는 살아남아요. 임의적이고 우발적이고 불규칙하고 계획되지 않은 입력의 복잡성에도 불구하고, 비버는 항상 몇 가지 동일한 출력을 안정적으로 만들어내요. 이러한 종류의 다대소 변환은 추상화를 통해서만 가능해요. 산, 강바닥, 비버의 구조는 추상화가 물질, 에너지, 정보를 몇 가지 신뢰할 수 있는 출력으로 축약하기 때문에 작동하는 거예요. 물리적 추상화는 자연의 계산의 핵심 구조인데, 왜냐하면 이것만이 자연의 특징인 유연한 결정론을 달성할 수 있는 유일한 방법이기 때문이에요.

얼굴 인식은 인간이 자세한 분석과 기계적인 절차를 통해서가 아니라, 변화하는 각도와 조명에 강건한 높은 수준의 불변 패턴을 감지함으로써 수행해요. 우리가 보고 있는 사람이 고개를 움직이거나, 얼굴에 그림자가 지거나, 비에 흠뻑 젖어도 우리는 여전히 그 사람을 알아볼 수 있어요. 이것이 바로 추상화가 작동하는 모습이에요. 얼굴의 본질은 분석이나 장황한 설명으로 표현할 수 없는데, 왜냐하면 얼굴을 식별할 수 있는 정확한 결정론적 메커니즘이 없기 때문이에요. 훨씬 더 추상적인 것에 집중해야만 얼굴 인식 문제를 해결할 수 있는 거죠.

얼굴과 같은 높은 수준의 패턴을 인식하려면, 엄청난 수준의 정보 압축이 있어야 해요. 눈 사이의 거리, 코의 너비 등과 같은 세부 사항은 모두 사람이 신원을 식별하는 데 사용할 수 있는 매우 적은 수의 높은 수준의 신호로 압축되어야 해요. 이것이 바로 추상화예요. 정보를 소수의 주요 요소로 압축해서 활용하는 거죠.

자연의 모든 문제는 어려워요. 천천히 분석해서 해결할 수 있는 상황이 아니에요. 어려운 문제는 경험적인 방법과 패턴 인식의 형태로 높은 수준의 추상화에 의존하기 때문에 빠르게 해결돼요. 해결하는 데 시간이 오래 걸리는 문제는 사실 간단한 문제예요. 이것은 우리가 일상적으로 "어렵다"라는 용어를 사용하는 방식과는 반대되는 것처럼 들리지만, 계산적인 관점에서 보면 사실이에요. 간단한 문제만 축소주의적인 의미에서 분석하고 분해할 수 있어요. 정말로 어려운 문제는 그러한 방식으로 해결할 수 없어요. 어려운 문제는 해결하기 위해 높은 수준의 구조가 필요해요. 내부 세부 사항을 추상화해서 더 높은 수준의 것으로 만들어야만 어려운 문제를 관리할 수 있어요. 분명히 말씀드리지만, 우리는 처음으로 해결책을 찾는 것에 대해 이야기하는 것이 아니에요. 여기서 우리는 이미 찾은 해결책의 구현에 대해 이야기하고 있는 거예요 (예: 얼굴을 식별하는 배포된 모델 또는 인간의 뇌). 어려운 문제에 대한 해결책을 찾는 데는 시간이 오래 걸리지만, 찾은 해결책을 구현하는 데는 그렇지 않아요.

우리에게는 유연한 결정론의 인간이 만든 예가 있어요. 딥러닝 모델이 만들어낸 해결책은 효과적으로 결정론적이라고 여겨질 만큼 충분히 신뢰할 수 있지만, 구현했을 때 어려운 문제를 해결할 수 있을 만큼 유연해요. 이것은 딥러닝의 훈련 단계와 배포 단계의 차이에 대한 것이 아니라, 배포된 해결책 자체에 대한 것이에요. 작동 중인 딥러닝 모델에서 볼 수 있는 결정론은 전통적인 공학의 결정론과는 아무런 공통점이 없어요. 전통적인 공학은 출력을 완전히 예측할 수 있는 해결책을 만들어내요. 오류와 통제할 수 없는 환경적 요인이 순수한 예측 가능성을 완화할 수는 있지만, 단순한 시스템의 내부 기능은 완전히 결정론적인 기계가 되도록 설계되어 있어요.

하지만 딥러닝은 정적인 형태에서도 유연성을 가지고 있어요. 입력을 출력으로 변환하는 매개변수의 구성은 고정되어 있지만, 많은 정보를 훨씬 적은 정보로 매핑함으로써 극단적인 유연성을 제공해요. 이것은 자연에서 발견되는 결정론의 종류이고, 규칙의 행동으로 달성되는 종류가 아니에요.

규칙은 여전히 낮은 수준에서 관련될 수 있어요. 개미와 흰개미는 서로 상호 작용하는 방식을 지시하는 로컬 상호 작용 규칙을 가지고 있어요. 하지만 중요한 것은, 이러한 상호 작용에서 나타나는 행동으로 직접 연결되는 선이 없다는 거예요. 로컬 상호 작용 규칙은 복잡한 시스템이 활용하는 상호 의존성을 설정할 뿐이에요. 그것들은 더 높은 수준의 문제를 해결하는 출력으로 이어지는 것이 아니에요. 입력을 출력으로 변환하는 것은 규칙이 아니라, 그 변환은 물리적 추상화의 더 높은 수준에서 일어나고 있는 거예요.

이것이 딥러닝 모델의 내부 작동 방식을 명시적으로 설명하려는 시도가 완전히 비합리적인 이유예요. 딥러닝이 계산하는 메커니즘은 내부적이고 인과적인 의미에서 설명할 수 없어요. 하지만 이 진실은 많은 과학자와 엔지니어에게 잊혀지고 있어요. 딥러닝 모델이 무엇을 하고 있는지 더 "과학적인" 설명을 제공하려는 연구자가 부족하지 않아요. 그들의 잘못된 구체성은 우리의 환원주의적인 과학 및 공학 패러다임에서 비롯된 거예요. 딥러닝이 내부적으로 어떻게 작동하는지에 대한 설명이 제공된다면, 그것은 1) 거짓이거나 2) 딥러닝이 실제로 복잡하지 않기 때문일 거예요. 모든 징후는 1번이 사실이라는 것을 가리키고 있어요.

딥러닝 시스템은 결정론적인 의미에서 설계될 수 없을 거예요. 왜냐하면 그들이 가지고 있는 결정론의 수준이 무엇이든, 그것은 명시적으로 거기에 배치되지 않았기 때문이에요. 딥러닝에는 입력에서 출력으로 가는 경로가 없는데, 왜냐하면 딥러닝 모델이 나타내는 것은 규칙이 할 수 없는 방식으로 정보를 변환하는 창발적인 메커니즘이기 때문이에요.

물론 이것은 딥러닝에만 해당되는 것이 아니에요. 딥러닝은 자연에서 우리가 보는 것의 인간이 만든 버전이에요. 이것은 딥러닝이 자연만큼 유능하다는 것을 의미하는 것이 아니라, 자연의 해결책에서 볼 수 있는 유연한 결정론을 달성하는 데 필요한 복잡성의 힌트를 우리에게 보여준다는 것을 의미할 뿐이에요. 인간의 뇌는 물론 모든 것의 가장 좋은 예시죠. 인간의 뇌는 뉴런의 수, 연결, 창발적 속성을 고려할 때 우리가 알고 있는 가장 복잡한 물체예요. 인간의 뇌는 극단적인 유연한 결정론을 가진 물체이고, 우리에게 환경 복잡성을 훌륭하게 헤쳐나갈 수 있게 해줘요.

많은 과학자와 엔지니어는 복잡한 시스템에서 발생하는 불확실성이 외부 교란, 잡음 또는 시스템 역학의 고유한 무작위성 때문이라고 말해요. 이것은 결정론적인 시스템에는 사실이지만, 복잡한 시스템에는 그렇지 않아요. 다시 말하지만, 복잡성은 결정론의 지저분한 버전이 아니라, 근본적으로 다른 방식으로 작동해요. 시스템이 단순에서 복잡으로 이동할 때 갑작스러운 전환이 일어나요. 우리는 2부에서 이 전환 중에 무슨 일이 일어나고 있는지 살펴볼 거예요.

자, 거의 다 왔어요. "우리는 창발성을 엔지니어링해야 한다"에 대해 얘기해 볼게요.

우리는 더 이상 과거에 해왔던 방식과 똑같은 방식으로 해결책을 엔지니어링할 수 없어요. 필요한 출력은 창발성을 통해 도달해야 하고, 복잡한 객체만이 창발성을 달성할 수 있어요. 우리는 알려진 결과를 만들어내는 조각과 연결에 대해 구체적인 선택을 할 수 없어요. 오히려 우리는 자연이 하는 것처럼 우리가 만드는 시스템의 내부에서 벗어나야 해요.

복잡성의 시대에 구축하는 것은 우리의 프로세스가 자연 선택과 깊은 유사성을 공유해야 한다는 것을 의미해요. 여기서 변이, 반복, 선택이 주요 관심사이고, 우리 해결책의 내부 구성은 스스로 나타나요.

기술을 구축하는 것은 유형의 것으로 문제를 해결하는 것이에요. 이것은 항상 디자인에 의존해왔죠. 다음 수준의 물리적 추상화를 만들기 위해서요. 하지만 지금 우리가 만드는 것 안에 있어야 하는 조각과 상호 작용의 수는 디자인이라는 개념 자체를 없애버려요. 우리 창조물의 내부에 있는 매개변수는 명시적으로 설정할 수 없어요. 이러한 세부 사항을 설정하는 데 필요한 종류의 내부 정보에 접근할 수 없고, 접근할 수 있다고 해도 자연은 이런 식으로 작동하지 않아요. 디자인에 기반한 접근 방식은 환원주의적 사고에 뿌리를 두고 있고, 복잡성 속에서 작동하는 실행 가능한 창조물로 이어지는 환원주의적 철학은 있을 수 없어요.

하지만 물건을 만드는 데는 여전히 건설에 관련된 원리, 재료, 프로세스에 대한 지식이 필요해요. 다양한 조건에서 다양한 것이 다르게 행동하고, 이러한 종류의 지식은 진행 방법에 대한 합리적인 결정을 내리는 데 필요해요. 전통적인 엔지니어링에서와 마찬가지로, 작동하는 복잡한 것을 구축하려면 구조적 완전성, 안전, 기능성, 효율성이 우리가 만드는 것을 배치하는 환경에서 어떻게 작용하는지 인식해야 해요.

지금의 차이점은 그러한 지식이 우리 창조물의 내부 세부 사항에 기반할 수 없다는 거예요. 이것은 과학과 공학이 오늘날 작동하는 방식에 정면으로 위배돼요. 구조적 완전성을 갖춘 오피스 타워를 건설한다는 것은 건물의 하중이 어떻게 분산되는지에 대한 지식을 사용하는 것을 의미해요. 빔, 기둥, 기초와 같은 특정 구조 구성 요소 간의 인과 관계는 실행 가능한 구조를 설계하고 제작하는 데 사용돼요.

안전 기준을 충족하는 객체를 만든다는 것은 구조 내의 다양한 요소가 어떻게 상호 작용하고, 다양한 상황에서 어떻게 실패할 수 있는지 이해하는 것을 의미해요. 잠재적인 위험을 예측하고 위험을 완화하려면 어떤 조각을 사용할지, 어떻게 연결할지에 대한 의식적인 결정을 내려야 해요. 오늘날 건물 내부의 방화벽, 스프링클러 시스템, 대피 경로를 생각해 보세요. 우리의 창조물은 우리가 만들어낸 구조의 내부 작동 방식을 최적화함으로써 효율적으로 만들어져 왔어요. 개선할 영역을 식별하기 위해 우리는 조각 간의 인과 관계에 대해 추론하고, 그 지식을 사용해서 프로세스를 간소화하고, 낭비를 최소화하고, 비용을 절감해야 했어요. 우리의 창조물이 의도한 대로 수행되도록 하기 위해, 그러한 기능성은 항상 출력이 생성되는 내부 메커니즘과 프로세스를 이해함으로써 가능해졌어요.

이 모든 예시는 사물이 작동하는 방식에 대한 내부 지식에 기반하고 있어요. 우리가 복잡성의 시대로 이동함에 따라, 우리는 원리, 재료, 프로세스에 대한 지식을 단순히 버릴 수 없어요. 차이점은 우리가 이제 그러한 지식을 사물을 작동하게 만드는 재료와 프로세스에 대한 외부 속성 측면에서 재구성해야 한다는 거예요. 자연 선택이 내부 지식에 의존하지 않고 진정한 정교함에 도달하는 것처럼, 우리도 우리가 만드는 시스템에서 벗어나서 그곳에 우리의 기준을 배치해야 해요.

이를 위해서는 우리가 창발성이 무엇인지 확실히 이해해야 해요. 작은 규모와 큰 규모를 인과 관계로 연결하려는 환원주의적인 조각조각 이야기를 사용하는 것이 아니라, 정보, 계산, 진화의 보편적인 속성에 대한 지식을 사용함으로써 말이죠.

자연이 창발적인 구조와 행동을 달성하기 위해 무엇을 하고 있는지 되돌아보고 살펴봐야만 우리는 자연이 어떻게 계산하는지 이해할 수 있어요. 이것은 과학 연대기에서는 찾아볼 수 없는 것이에요. 다른 사람들이 시도하지 않았기 때문이 아니라, 그들의 시도가 여전히 복잡성을 이해하려는 지적으로 정직한 시도를 방해하는 낡은 환원주의의 냄새를 풍기기 때문이에요. 필요한 것은 자연이 해결책을 만들기 위해 정보, 컴퓨팅, 진화를 가지고 무엇을 하고 있는지 객관적으로 살펴보는 것이에요. 현재 패러다임에서 벗어나서 자연을 있는 그대로 봐야만 우리는 시대에 뒤떨어진 환원주의적 렌즈를 벗고, 자연이 어떻게 작동하는지에 대한 부인할 수 없는 진실을 밝힐 수 있을 거예요. 자, 오늘 이야기는 여기까지 할게요. 다음에 또 만나요!

Go Back Print Chapter