본문 바로가기
읽기

비트의 세계 / 데이비드 아우어바흐

by mubnoos 2021. 7. 20.

  • 이 책은 세상을 기계의 언어로 번역해온 사람이 거꾸로 자신이 속했던 세상을 인간의 언어로 바꿔서 설명하는 책이다.
  • 사려 깊다는 것은 이런 뜻이다. 모든 것이 전처럼 명백하지 않다는 것.
  • 컴퓨터는 늘 내게 이치에 맞는 세계를 제공했다. 어릴 때 컴퓨터는 내게 피신처였다. 실제 세상과 동떨어진, 안전하면서 관조할 수 있는 세계를 제공했다. 사람들을 대할 때면 나는 혼란을 느꼈다. 반대로 컴퓨터는 정확했고, 이해할 수 있었다. 인간들의 세계는 불분명하고 모호했다. 코드가 지배하는 세계는 그렇지 않았다.
  • 나는 인간 사회를 운영하는 알고리즘을 제대로 파악할 수가 없었다.
  • 컴퓨터 알고리즘은 정확한 명령문의 집합이다. 유리를 하든 춤을 추든 가구를 조립하든 간에 어떤 일을 정확히 수행할 방법을 죽 적는다고 해보자. 그러면 암묵적으로 남아 있는 것들, 우리 모두가 별 생각없이 그냥 당연시 여기는 세세한 사항들이 대단히 많다는 사실을 금방 알아차릴 것이다. 컴퓨터는 그런 지식을 지니고 있지 않으면서도, 오늘날 우리 자신과 우리 세계를 불안전하게나마 담아낼 만큼 진화해왔다. 컴퓨터가 그리는 불안전한 그림과 현실 사이에는 틈새가 있다. 이 틈새를 더 좁힐수록 컴퓨터는 우리에게 더 유용해진다.

 


 

1부 코드

1장 로고와 사랑

  • 컴퓨터는 정확성, 명확성, 신뢰성을 약속했으며, 또래 사이의 사회 관계망에 잘 끼지 못했던 많은 아이들에게 피난처가 되었다. 그러나 컴퓨터는 그저 내가 가지고 놀 수 있는 기계만이 아니었다. 컴퓨터는 내가 프로그램을 짜고 제어할 수 있는 무엇이었고, 그래서 나는 컴퓨터로 새로운 세계를 창조할 수 있었다.
  • 알고리즘은 특정한 문제에서 그 문제에 해답으로 이어지는 경로를 지정하는 규칙 또는 명령문의 집합이다.
  • 나는 그것들이 아름답다고 생각했다. 그냥 대상 자체를 가지는 대신에 나는 그 대상을 만드는 비법을 지니고 있었고, 나아각 그 비법을 더 일반화할 수 있었다.

  • 많은 이들은 진정으로 경이로움을 느끼는 순간에 자신의 소명을 발견한다. 그 경이로움은 단지 아름다움과 우아함이 아니라, 그 창조물이나 발견이 진정으로 불가능해 보인다는 데에서 비롯한다.
  • 우리는 사물을 보는 것이 아니며, 구현물을 보는 것도 아니다. 그것들은 왜곡된 형태로만 보이기 때문이다. 우리는 데체 세계를 본다. 객관적으로 말해서, 있는 그대로의 세계가 아닌 세계다. 우리가 보는 이 '대체 세계'는 한마디로 거짓이다. 우리 뇌는 데이터를 감지하고 그것을 이미 우리에게 친숙한 형태로 부정확하게 유추한다.
  • 재귀는 하나의 코드를 써서 어떤 문제를 동일한 형식을 지닌 여러 개의 문제로 쪼개어 처리하는 것이다. 나무의 가지 하나를 더 작은 나무로 그리는 식이다. 이 기법은 세계를 화려하지만 근본적으로 우아한 프랙털이라고 상상한다. 재귀는 컴퓨터 프로그래밍의 효율적이고 경제적인 특성을 반영한다. 적은 투자로 많은 것을 얻는다.
  • 컴퓨터는 층층이 쌓여 있는 일련의 '추상화 개념'이라는 개념을 통해서 가장 잘 이해할 수 있다.
  • 제약 조건들의 수학적 매력은 그 제약 조건이 얼마나 정확히 명기되고 정량화되는가에 달려 있다고 믿는다.
  • 휴리스틱의 용도는 수학적 사고 차원을 훨씬 넘어선다. 인간의 언어와 감정의 미묘함, 정의와 정치의 난제, 미적 경험의 심오함은, 산뜻하게 정량화하여 수학과 논리가 제공하는 분석 상자에 분류해 넣는 방식에 저항하는 현상들이다. 그렇기에 우리는 분석적 표현을 완벽하게 다듬기보다는 부정확성과 오류를 받아들인다.
  • 데이트와 연애 관계를 통해서 우리 마음속에는 사적이고 내밀한 기억들과 그에 수반되는 감정들이 쌓인다. 그로부터 우리는 단순하게 환원시킨 판단의 집합을 구축한다. 상대에 관한 불완전한 자료들을 모아서 휴리스틱 척도로 삼는 것이다. 얼마나 사랑하는지, 얼마나 똑똑한지, 얼마나 책임감이 있는지, 얼마나 재능이 있는지, 얼마나 유망한지 등. 우리는 끊임없이 계산을 되풀이한다. 관계를 지속하려는 의지는 이런 판단들이 긍정적인 상태로 얼마나 오래 이어질지에 달려 있다.
  • "우리 부부관계의 코드는 우리의 말, 행동, 생각으로 이루어져 있어. 우리가 할 일은 결혼이 파탄나지 않도록 코드에 있는 버그를 막는거야."
  • "성급한 최적화야말로 모든 악의 근원이다."
  • 이 새로운 세계에서 인간의 언어와 인간의 삶은 이진수의 명령에 복종했다.

2장 채팅 전쟁

  • 애플은 소송에서 졌다. 윈도우는 맥 운영체제와 비슷했지만, 똑같은 점은 거의 없었다. 항소법원은 이렇게 판결했다. 
  • MS는 우뚝 섰다. 그들은 행동이 빨랐고, 공격적이었고, 빈틈이 없었다. 그들의 강점은 결코 혁신 자체에 있지 않았다. 유용, 개선, 통합에 있었다. MS는 시장을 장악하기 위해서 기존에 있는 최고의 제품보다 약간 더 나은 제품을 개발하는 식으로 일한다. MS는 매우 효율적이었기에, 경쟁자를 이기는 데 필요한 수준까지만 제품개발에 애쓸 뿐 그 이상 개선하는 쪽으로는 시간과 자원을 낭비하지 않았다.
  • MS와 구글에서 나는 C++로 작업을 했다. C++는 효율과 우아함 사이에서 타협한 듯한 언어다. 이 타협은 때때로 추하지만, 소프트웨어공학에서는 추한 타협이 언제나 아름다운 순수함을 이긴다.
  • C++는 중간 수준 언어다. 어셈블리어 같은 낮은 수준의 언어와 자바, 파이선 같은 고급 언어 사이에 놓인다는 뜻이다. 언어의 수준이 높을수록 하드웨어를 직접 통제하는 경우가 더 적다. 
  • 진보는 우리 자신의 오류를 탐구하는 것이다.
  • 내가 MS를 그만두고 구글에 자리를 얻은 것은 한 두 해 동안 왠지 모를 불편함, 자괴감, 엄습하는 불안감에 시달리다가 결정한 일이었다.
  • 메신저는 2014년에 종말을 고했다. 
  • 이해는 아래에서부터, 코드와 계산의 본질에서부터 시작되어야 한다. 즉 이진수로부터다.

3장 이진수

  • 현실과 그것을 표현하는 데이터의 경계가 불분명함에도 불구하고 우리는 그런 구분을 고집한다. 
  • “컴퓨터 화면의 글자는 화소, 빛점의 집합이다. 디스크에 저장했을 때에도… 0과1의 배열에 다름 아니다.” 그러나 종이에 적은 문자도 잉크 입자들의 집합이긴 마찬가지다. 화면의 글자가 1초에 수십 번씩 지워지고 다시 써진다는 점에 착안하여, 글의 “영구적” 형태와 “일시적” 형태를 구분하는 식으로 해석하는 랍비도 있다. 그렇다면 신의 이름의 물리적 형상을 담은 어떤 “잉크”의 “영구적” 집합에만 그 제약이 적용되는 셈이다. 점자는 영구적이다. 그런데 여기에도 애매한 측면이 있다. 랍비는 LED 광고판은 어떻게 생각할까? 화이트보드는? 자석 스케치 보드는? 스크래블 게임의 글자 타일은?
  • 컴퓨터는 무엇보다도 사람보다 더 빨리, 더 완벽하게 계산을 하는 기계다. 대개 단순한 수학이다. 그러나 '계산'은 '산수'가 아니며 산수를 하는 행위조차도 아니다. 오늘날 컴퓨터 작업의 중요성은 컴퓨터가 계산하는 수가 우리 현실을 재현한다는 것이다. 비록 아주 엉성하게 재현하며, 그것도 아주 애를 써서 하는 것이지만, 기계가 계산하는 모든 숫자는 단순히 숫자 이상의 의미를 가지고 있다.
  • 컴퓨터의 역사의 두 가지 경로: 1) 컴퓨터 과학(이론), 2) 소프트웨어공학(실천)
  • 계산 능력은 기계의 지능을 결정하는 중요한 요소지만, 계산 능력만으로 모든 것이 결정되지는 않는다. 컴퓨터과학의 지적 발전도 중요한 요소다.
  • 오늘날의 컴퓨터는 겹겹이 쌓인 추상화 계층으로 이루어진 레이어 케이크나 다름없다. 많은 엔지니어들은 추상화의 한 계층에서만 일하고 다른 계층들은 모호하게만 알고 있을 뿐이다. 그러나 모든 훌륭한 소프트웨어 엔지니어는 각 계층들이 어떻게 어울리는지, 그리고 각 계층이 구조와 목적이 비슷한 이론적 개념을 어떻게 구현하는지 이해한다. 그리고 그 지식은 엔지니어가 새로운 추상화 계층을 설계하고 그 계층을 더 훌륭하게, 더 탄탄하게, 더 우아하게 만드는 데 기여한다.
  • 논리가 보증하는 것은 오로지 희망이지, 믿음이 아니다.
  • 사람은 어떻게 수를 이해할 수 있는 것이며, 수는 어떻게 사람이 이해할 수 있도록 되어 있는 것일까?
  • 컴퓨터의 핵심 특징은 디지털이라는 것이다. 모든 것이 1과 0으로 된 이진수로 표현된다. 컴퓨터의 단위, 그리고 데이터 자체의 단위는 이진숫자, 즉 비트다. 겉으로 어떻게 보이든 간에 모든 디지털 데이터는 기본적으로 두 개의 기호로 된 언어, 달리 말하면 기호 하나(1)와 그 기호의 부재(0)로 이루어진 언어로 표현된다. 가능성이 정확히 두 가지뿐인 언어다. 언뜻 볼 때 우리 세계는 1과 0으로 된 언어에 들어맞지 않는 듯하다. 이진수를 토대로 한 컴퓨터 연산은 이질적으로 보인다. 그러나 많은 것들이 컴퓨터에서, 이진수로 표현될 수 있다. 이론상으로는 무엇이든 다 이진수로 표현할 수 있다. 이 표현 과정은 반드시 완벽성을 추구하는 것은 아니지만 투명성을 추구한다. 투명성은 디지털 사본이 원본 현상과 실질적으로 구별할 수 없게 되는 시점을 가리킨다. 
  • 그렇다면 원본의 본질은 무엇일까? 물리적 대상 자체일까, 아니면 그것을 기술하는 데이터일까?
  • 우리는 아날로그 부호화와 디지털 부호화 사이에 임의로 구분선을 긋는 경향이 있지만, 그런 구분은 유지될 수 없다. 데이터는 디지털만이 아니라, 수많은 형식을 취할 수 있다.
  • 참과 거짓은 우리가 특정한 회로판의 특정한 지점에서의 어떤 신호의 존재나 부재에 적용하는 개념들이다.
  • C언어에서는 0을 거짓, 다른 모든 수는 참이라고 정한다. 이 표현은 진리를 존재와 동일시하는 우리의 일반적인 관습과 들어맞는다. 거짓은 0, 즉 무, 부재, 비어 있음과 동일시 한다. 참은 현존, 타당성, 존재다. 0이 아닌 모든 수, 심지어 음수조차도 그렇다.
  • 플라톤은 진리가 현실적인 문제임을, 즉 순수한 이론적 추상이 아니라 행동의 문제임을 처음으로 알아차린 사람에 속했다. 플라톤 체계에서 진리는 언제나 양쪽을 가리킨다. 존재하는 현실, 그리고 이해와 주장의 정확함이다. 문제가 되는 것은 논리와 언어 사이의 간격이 아니라, 논리와 현실 사이의 간격이다. 기호와 증명은 그 자체로는 간격을 좁힐 수 없다. 
  • 일상생활에서 사실과 견해를 나누는 선은 때로 보이지 않을 정도로까지 너무나 불분명하며, 우리 언어에는 언제나 모호함과 애매함이 가득하다. 덕분에 언어는 풍성해지지만, 그만큼 혼란도 일어난다. 코드는 모호함 위에서 허둥대지만, 문학은 그 위에서 번성한다. 
  • 우리가 하는 말의 의미는 그 말을 하는 맥락에서 떼어낼 수가 없다. 진짜 정의를 모르기 떄문이 아니라, 진짜 정의가 아예 없기 때문이다. 
  • 언어는 현실과 다소 우연히 관계를 맺을 뿐이다. 우리가 진리라고 부르는 것은 결코 절대적인 진리가 아니라, 그것의 근사적 표현이다. 
  • 컴퓨터과학의 정확함은 언어학적 허풍을 억제하는 유용한 수단이었다. 
  • 우리는 인간의 언어와 컴퓨터 코드 사이에서 엉성하게나마 번역하는 법을 컴퓨터에게 가르쳐왔다. 그들이 이해하고 오해할 수 있는 것들은 현재 우리 삶을 빚어내는 위력을 발휘한다.

 

 


 

 

 

 


2부 인간

 

4장 부분에 이름 붙이기

  • 단어는 삶을 베끼는 매체가 아니다. 단어가 진정으로 하는 일은 삶 자체의 질서를 복구하는 일이다.
  • 우리는 언어를 배우는 능력을 타고 나며, 다른 동물은 그런 능력이 없다. 또 인간은 기계의 코드로, 즉 수학과 논리로 말하는 법도 터득해왔다.
  • 오늘날 데이터 처리 과정의 핵심 중 상당 부분은 데이터를 분석하는 난해하고 창의적인 알고리즘이 아니라, 그런 알고리즘을 우리에게 유용하게 만드는 데 필요한 꼬리표 달기를 통해 이루어진다. 꼬리표 달기 과정은 더 정확하게 말하면 코드화과정이다. 모호한 개념에 개별적인 식별자를 붙임으로써, 우리가 세계를 헤쳐 나갈 수 있게 해준다.
  • MBTI 자체는 순탄하지 않은 긴 역사를 거치면서 놀라울 만큼의 권위를 획득했다. 단순하면서 인기 있기 때문에, 사람들이 스스로를 어떻게, 왜 분류하는지를 연구하는 데 있어서 이상적인 사례가 된다. 이런 분류 체계는 일단 컴퓨터 알고리즘으로 입력되면 훨씬 더 중요한 의미를 지니게 된다. 사용자가 자기 자신을 엄격하게 분류하고 체계화하도록 하는 MBTI 같은 검사는 컴퓨터가 우리를 더 잘 이해할 수 있도록 만든다.

5장 자기 근사

  • 현실적으로 우리는 유형들을 대략이나마 분류해줄 체계가 필요하다. 인간은 늘 뭉뚱그려서 일반화한 형태로 말을 한다.

6장 컴퓨터가 하는 게임

  • 컴퓨터가 (불가해한 정신질환의 세계 같은 것보다) 훨씬 더 잘 관리할 수 있는 표현의 집합을 써서 세계를 단순화한 것이다. 그러나 〈D&D〉와 『DSM』 둘 다 ‘근사적으로 정량화한 허구’를 받아들인다. 둘 다 잠정적이고, 확장 가능하고, 수정 가능한 소박한 분류 체계다.
  • 우리의 경험 언어는 이상적인 일관성이 지닌 언어의 비일관적이고 단편적인 윤곽이라고 이해할 수밖에 없다.
  • 『DSM』 은 성서가 아니라 안내서, 진짜 질병들의 목록이 아니라 잠정적으로 구성한 유용한 진단명의 집합이다.
  • 컴퓨터는 세계 모델에 나 있는 틈새를 처리할 수 없지만, 사람은 할 수 있다. 바로 언어를 써서다.
  • 구글이나 페이스북 같은 기업들은 이런 질문을 하게 되었다. 컴퓨터가 얼마나 지능을 갖추어야만 진정으로 지적이지 않은 상태에서 지적인 양 보일 수 있을까?


 

 

3부 세상

 

7장 빅 데이터

  • 사람은 심연의 가장자리에 옹기종기 모여서 초조하게 수다를 떨다가 문화를 만든다.
  • 구글에서는 모든 것이 마이크로소프트에서보다 컸다. 더 중요한 차이는 데이터, 그리고 구글에서 데이터가 하는 역할이었다. 마이크로소프트가 소프트웨어 회사로서 성공을 거두어왔다면, 구글의 생명줄은 데이터였다. 구글 역시 데이터를 수집하고 저장하고 관리하기 위해서 소프트웨어를 필요로 했지만, 구들에서 소프트웨어는 데이터에 봉사하는 역할이었다.
  • 구글에서 나는 단추 하나를 누르는 것만으로 1000대의 기계에 명령을 내리고, 수십억 개의 웹페이지를 몇 분 만에 분석할 수 있었다. 마이크로소프트에서 메신저 서버를 통해 전송되는 데이터는 그 양이 정점에 있을 때에도 그리 많지 않았다. 연쇄적인 정량 분석 과정이야말로 구글 사업의 핵심이며, 내가 그곳에서 일하는 동안 내 삶의 핵심이기도 했다.
  • "단순한 모델과 많은 데이터는 적은 데이터에 토대를 둔 정교한 모델을 이긴다."
  • SEO는 이런 요인들을 편향시킴으로써 검색 결과에서 자신이 원하는 페이지를 위로 끌어올리려고 쉴 새 없이 노력한다.
  • 행맨은 웹이 얼마나 불완전하고 궁극적으로 인간다운지를 잘 보여주는 사례다. 웹에 있는 모든 페이지를 수집하는 것이 그저 기계적인 일처럼 들릴지 모르지만, 웹은 처음부터 잡다하고 불규칙했다. 웹페이지는 어떤 한 대형 공장에서 틀에 찍어내듯이 찍어내는 것이 아니었다. 심지어 지금도 웹에는 소수의 웹 개발자들이 한때 좋다고(또는 편리하다고)생각해서 끼워 넣었던 온갖 자질구레한 것들이 널려 있다. 구글은 어떤 것들은 그냥 무시할 수 있었지만 행맨 같은 것은 어떻게든 처리를 해야 했다. 데이터는 우리가 상상하는 것처럼 산뜻하게 들어맞는 법이 거의 없다. 
  • 구글은 세계 최대의 온라인 도서관을 만들었다. - 구글 북스
  • "인간은 본래 편향되어 있다. 그것이 바로 컴퓨터가 필요한 이유다."
  • 내 자신을 다시 찾고 싶었다. 그러다가 나는 컴퓨터가 이미 나를 찾아냈다는 사실을 깨달았다.

8장 내 아이를 프로그래밍하다

  • 나는 우리가 자라면서 기존의 한계를 계속 초월한다는 것이 우리가 인간을 그토록 특별한 존재로 여기는 이유 중 하나라고 본다.
  • 아이들은 태어나자마자 우리의 편견을 물려받는다. 이런 편견 중에는 전적으로 생존 문제인것도 있다. 반항도 성장의 일부이긴 하지만, 유년기는 부모의 지식을 대부분 곧이곧대로 받아들이는 시기다.
  • 우리는 초기 분류 체계의 본질적인 편향들을 계속 간직한다. 우리가 받아들인 범주들은 일상적인 차원에서는 충분히 잘 작동하지만, 궁극적으로 거의 모든 범주 체계는 잘못되어 있다. 아니, 더 정확히 말하면 불완전하고 근사적이다. 그러나 우리는 처리해야 하는 압도적인 양의 정보를 다루려면 범주가 필요하다.
  • 아이를 디버깅하는 것은 불가능하다. 삶을 리셋하는 것은 불가능하기 때문이다.
  • 나는 사람을 리셋할 수 없다. 아이는 알고리즘이 아니다. 지속성을 띤 진화하는 시스템이다. 
  • 우리는 무언가를 더 얻기 위해서 꼭 무언가가 더 필요한 것은 아니다.
  • 기계학습망은 스스로 시각적 범주에서 비시각적 범주로 전환할 수가 없다. 사람이 코드를 짜서 명확히 지시를 해야 한다. 
  • 아이의 언어와 생각의 발달이 근본적으로 분리되어 있으며, 아이가 걸음마를 떼는 시기에 양쪽이 어느 수준으로 성숙한 뒤에야 통합된다. - 레프 비고츠키
  • "화면 속으로 들어가면, 우리는 컴퓨터의 삶 속에 있는 거야? 그리고 컴퓨터가 느끼는 대로 느끼는 거야?"

9장 빅 휴먼

  • 기술의 주된 효과는 인간의 힘을 증폭하는 것이다.
  • 컴퓨터는 수억 명의 다양성을 추적할 수 있는 유일한 수단이다.
  • 페이스북은 우리가 명시적으로 제공하지 않을 때에도 우리에 관한 정보를 모은다. 
  • 언어 그리고 우리의 언어 이용은 필연적으로 편향을 수반한다. 컴퓨터 코드 자체는 그런 편향이 없다. 그러나 우리의 소프트웨어가 처리하는 컴퓨터 데이터는 삶을 반영하며, 따라서 우리의 맹점과 선입견도 반영한다. 일단 컴퓨터가 인간과 인간 행동의 언어를 말하기 시작하면, 우리 언어의 편향도 드러낸다. 꼬리표를 붙이는 것은 선입견을 갖는 것이다. 분류 체계를 표준화하고 사회적 분류체계를 명시적으로 드러냄으로써, 컴퓨터는 우리 개념에 있는 틈새와 편향을 한계점까지 증폭시켜왔다.
  • 이미지 인식은 피드백 메커니즘을 통한 기계학습망의 꾸준한 훈련에 기반하는, 부정확한 과학이다. 
  • 낙인은 편향의 한 형태다 사회적으로 정당화된 편향이다. 데이터에 꼬리표를 붙인다는 것은 데이터에 편향을 주입하는 것이다. 꼬리표는 더 많은 꼬리표를 낳는다.
  • 클라우드가 우리에 관해 아는 것은 곧 클라우드가 알고리즘으로 평가할 수 있는 것이며, 알고리즘으로 평가할 수 있는 것은 클라우드가 우리에게 어떻게 반응하고 무엇을 추천하는지를 결정한다. 클라우드의 판단은 우리가 현재와 미래에 어떤 유형의 사람일지에 대한 기술인 동시에, 우리를 어떻게 다룰지에 관한 처방이기도 하다. 컴퓨터는 우리를 분류하고 기술하며, 우리는 컴퓨터의 분류에 반응한다. 그 반응을 통해서 컴퓨터는 기술을 더 다듬는다. 우리 행동은 컴퓨터를 빚어내고, 컴퓨터의 행동은 우리를 빚어낸다.
  • 모든 데이터 집합에서 분류되는 대상보다 분류 체계가 더 중요하다.
  • 단순한 분류 체계가 이겼다. 더 사용하기 쉬우면서, 더 보편적이다. 문화적, 개인적 차이를 희생함으로써다.
  • 나는 코드와 온톨로지가 포착하지 못하는 무한한 미묘함과 불규칙성이 우리에게 필요하다고 믿는다. 세상이 아무리 컴퓨터화한다고 해도, 그것들을 인정하고 의미를 부여할 필요가 있다.

 






 

 

mubnoos

"좋아요""좋아요""좋아요""좋아요""좋아요""좋아요""좋아요""좋아요"