창조력 코드
 
지은이 : 마커스 드 사토이(역:박유진)
출판사 : 북라이프
출판일 : 2020년 07월




  • 우리 인간에게는 상상하고 혁신하는, 인간 존재의 의미를 높이고 넓히고 바꾸는 예술 작품을 창조하는 특별한 능력이 있다. 우리는 고흐의 초상화를 보며 죽음을 생각하고 바흐의 푸가를 들으며 내면의 섬세한 감정 세계를 탐색할 기회를 얻는다. 실제로 이러한 예술 작품은 ‘인간 코드’라 할 수 있는 지극히 인간다움에서 비롯된 일종의 코드가 발현된 결과물이라 여겨져 왔다.

    그렇다면 기계는 정말 창조의 영역에 도전할 수 없는 걸까. 극도로 발전한 기계가 결국 우리를 감동하게 하는 예술 속의 ‘창조력 코드’를 배워 진짜 예술과 그저 시시하고 단조로운 것의 차이를 알아차리는 일도 가능한 게 아닐까. 만약 기계가 예술 작품을 만드는 데 성공한다면, 우리는 이 작품을 통해 무엇을 얻게 될까.



    창조력 코드


    창조력 창조하기

    보든의 ‘세 가지’ 창조력

    첫째로 ‘탐구적’ 창조력이다. 이는 이미 존재하는 어떤 영역의 가장자리를 탐구하며 기존 규칙에 따르되 실현 가능한 일의 범위를 확장하는 능력이다. 바흐의 음악은 바로크 시대의 작곡가들이 여러 성부를 엮어 조성을 탐구하려고 떠난 여행의 정점이다. 그가 프렐류드(prelude)와 푸가(fugue) 형식으로 만들 수 있는 음악의 범위를 넓혀 간 끝에 비로소 기존 장르의 틀에서 벗어난 모차르트와 베토벤의 고전주의 시대가 시작됐다. 르누아르와 피사로는 자연과 주변 세상을 새롭게 이미지화할 방법을 생각해 냈지만, 실질적으로 그 지평을 넓힌 사람은 바로 클로드 모네였다. 모네는 수련을 그리고 또 그리더니 결국 여러 색점이 하나의 새로운 추상 형태로 녹아들게 했다.


    보든은 ‘탐구’가 인간의 창조 행위 중 97퍼센트를 차지한다고 본다. 이것은 컴퓨터가 무척 잘하는 종류의 창조이기도 하다. 패턴이나 규칙을 극한까지 밀어붙이는 것은 계산을 인간 뇌보다 훨씬 많이 수행할 수 있는 계산 기계에 안성맞춤인 일이다. 그런데 그 정도면 충분할까? 사실 정말 독창적인 창조 행위를 상상할 때 우리는 보통 이보다 더 놀라운 천만뜻밖의 무언가를 기대하곤 한다.


    둘째 종류의 창조력은 ‘접목’과 관련이 있다. 한 예술가가 서로 완전히 다른 두 개념을 접목하는 상황을 상상해 보라. 한 세계를 지배하는 기존의 규칙이 다른 세계의 흥미로운 새 틀을 제시해 주는 경우도 많다. 접목 역시 수학적 창조력의 영역에서 아주 강력한 도구가 된다. 우주의 가설적 형태를 설명하는 푸앵카레 추측(Poincare conjecture)의 최종 해법은 면(面) 위의 흐름을 이해하기 위한 도구를 색다르게 응용한 결과였다. 그리고리 페렐만(Grigori Perelman)은 창조적 천재성을 발휘해 액체가 면 위에서 흐르는 방식을 이해하면 존재 가능성이 있는 면을 분류할 수 있다는 것을 불현듯 깨달았다.


    이런 종류의 창조력이 인공 지능 세계에도 안성맞춤일 수 있다는 흥미로운 힌트가 있다. 블루스를 연주하는 알고리즘을 피에르 불레즈(Pierre Boulez)의 음악과 접목하면 새로운 스타일로 정립될 수도 있는 생경한 혼성곡이 나올지도 모른다. 물론 그 곡이 음산한 소음에 불과할 가능성도 있겠지만 프로그래머는 각각의 알고리즘이 재미있게 융합될만한 두 장르를 찾아야만 할 것이다.


    보든이 말하는 셋째 종류의 창조력은 좀 더 신비롭고 난해한 '변혁적' 창조력이다. 이 창조력은 일의 흐름을 완전히 바꿔 놓는 보기 드문 순간을 설명해 준다. 어떤 예술 형식이든 이러한 변혁기가 있다. 피카소와 입체주의, 쇤베르크와 무조성, 조이스와 모더니즘을 생각해 보라. 이는 상(相)변화, 즉 물이 액체 상태에서 기체 상태로 바뀌는 수준의 변화와 비슷하다. 괴테가 『젊은 베르테르의 슬픔』의 집필 계기를 설명하면서 떠올린 이미지가 이런 것이었다. 그는 소설을 어떻게 쓸지 2년간 고심했는데 친구의 자살이라는 뜻밖의 사건이 촉매가 되어 본격적으로 집필을 시작했다고 한다. “그 순간 베르테르에 대한 구상이 떠올랐다. 이야기 전체가 난데없이 한꺼번에 번쩍 떠오르더니 하나의 단단한 덩어리가 되었는데, 마치 수온이 정확히 어는점일 때 충격을 조금만 받아도 병 속의 물 전체가 한순간에 얼음으로 변하는 것과 같았다.”


    그 변혁의 순간은 게임 규칙을 바꾸거나 이전 세대가 조건으로 삼았던 가정(假定)을 버리는 일에 좌우되는 경우가 많다. 어떤 수든 제곱하면 양수가 된다. 분자는 모두 길쭉한 사슬 모양을 띨 뿐 고리 모양을 띠진 않는다. 곡은 반드시 화성적 음계 구조 안에서 만들어야 한다. 얼굴에서 눈은 코의 양옆에 있다. 언뜻 보면 이런 고정관념에서 벗어나는 과감한 변화는 프로그램화하기 어려울 것 같지만, 이런 종류의 창조력에는 메타 규칙(meta-rule, 충돌 해결 전략을 제시하거나 규칙을 필터링하는데 사용할 수 있는 메타 수준의 지식을 포함하고 있는 규칙이다.- 편집자)이 있다. 먼저 제약을 버린 다음 무엇이 나타나는지 보는 것이다. 예술 활동이나 창조 행위에서 새롭고 가치 있는 결과물을 얻으려면 무엇을 버려야 할지 혹은 어떤 참신한 제약을 도입해야 할지 정해야 한다.


    컴퓨터가 이런 종류의 상변화를 일으켜 우리를 음악이나 수학에서 새로운 상태로 이행시킬 수 있을까? 이는 만만찮은 과제인 듯하다. 알고리즘은 입력받은 데이터를 바탕으로 행동법을 배운다. 그렇다면 이는 알고리즘이 언제까지나 똑같은 것만 더 많이 만들어 낼 수밖에 없다는 뜻일까?


    피카소는 언젠가 말했다. “창조력의 가장 큰 적은 상식이다.” 이 말은 언뜻 생각하면 기계의 본질에 크게 반하는 것 같다. 하지만 우리는 시스템이 불합리하게 작동하도록 프로그램을 짤 수 있고, 시스템에게 상궤를 벗어나라고 지시할 메타 규칙을 만들 수도 있다. 앞으로 살펴보겠지만 상식에서 벗어나는 일은 사실 기계 학습의 주특기다.



    알고리즘의 진화

    이 작품이 마음에 드신다면……

    영화 추천 알고리즘의 기본 원리는 아주 간단하다. 당신이 영화 A, B, C를 좋아하는데 그 세 작품을 좋아하는 다른 이용자들이 영화 D도 좋아한다면 당신도 영화 D를 좋아할 가능성이 높다. 물론 데이터는 그런 피상적 대응 관계보다 훨씬 복잡하다. 이를테면 당신이 영화 A, B, C에 끌린 이유는 세 작품에 특정 배우가 출연했기 때문인데 영화 D에는 그 배우가 등장하지 않을 수 있다. 반면 다른 이용자들이 네 작품을 재미있게 본 이유는 넷 다 첩보 스릴러물이기 때문일 가능성도 존재한다.


    알고리즘은 데이터를 살펴보고 당신이 특정 영화를 좋아하는 이유를 파악할 수 있어야 한다. 그리고 당신과 같은 이유로 그 영화를 좋아하는 이용자들을 찾아 대조해 볼 수 있어야 한다. 기계 학습 분야가 대체로 그렇듯 처음에는 많은 데이터가 필요하다. 기계 학습의 주요 원리 중 하나는 컴퓨터가 인식 대상을 이해하려면 인간들을 이용해 데이터를 분류해야 한다는 것이다. 알고리즘은 우선 데이터를 그렇게 분류해 놓아야만 숨어 있는 패턴을 찾아낼 수 있다.


    이는 넷플릭스가 2006년에 ‘넷플릭스 프라이즈(Netflix Prize)’라는 대회를 개최했을 때 하고자 했던 일이다. 넷플릭스는 플랫폼을 이용하는 개인 고객을 그들이 좋아할 만한 영화로 유도하는 알고리즘을 직접 개발해 이미 사용 중이었다. 하지만 대회를 개최하면 더 나은 알고리즘을 찾는 데 도움이 될지도 모른다고 생각했다. 당시 넷플릭스는 이용자가 영화를 보고 1점에서 5점까지 점수를 매겨 놓은 데이터를 아주 많이 가지고 있었다. 그들은 대회를 위해 익명의 고객 48만 189명이 영화 1만 7,770편에 매긴 평점 1억 48만 507개를 공개하기로 했다. 하지만 1만 7,770편이 어떤 영화인지는 알려 주지 않고 번호만 붙여 놓았다. 2666번 영화가 <블레이드 러너>(Blade Runner)인지 <애니 홀>(Annie Hall)인지는 확인할 길이 전혀 없었다. 대회 참가자들이 접근할 수 있는 정보는 고객 48만 189명 중 일부가 해당 영화에 매겨 놓은 평점뿐이었다.


    사람들은 대부분 2666번 영화가 공상 과학물인지 코미디물인지조차 알 수 없다면 그런 데이터에서 무언가를 알아내기란 거의 불가능하다고 생각할 것이다. 하지만 미가공 데이터 자체에서도 놀랍도록 많은 것을 알아낼 수 있다. 각 이용자가 17,770차원 공간 속의 한 점이라고 생각해 보라. 차원 하나하나는 각각의 영화에 해당한다. 각 점은 그 이용자가 높이 평가한 특정 영화에 해당하는 한 차원에서 많이 이동해 있을 것이다. 그런데 사실 수학자가 아닌 사람은 이용자를 17,770차원 공간 속의 점으로 생각하는 것을 어떻게 해야 할지 감이 잘 잡히지 않는다. 하지만 사실상 이는 평점이 매겨진 영화가 세 편뿐일 때 이용자를 그래프로 나타내는 방법을 확장한 것에 불과하다.


    가령 1번 영화는 <라이온 킹>(The Lion King), 2번 영화는 <샤이닝>(The Shining), 3번 영화는 <맨해튼>이라고 해 보자. 한 이용자가 세 작품에 각각 1점, 4점, 5점을 매겼다면, 3차원 좌표계에서 (1, 4, 5) 자리에 그 이용자를 점으로 표시할 수 있다. 거기서 x축과 y축과 z축은 각각 이용자가 1번 영화, 2번 영화, 3번 영화를 얼마나 좋아하는지를 나타낸다.


    물론 실제로 17,770차원 공간에 이용자를 점으로 표시할 수는 없지만, 수학을 이용하면 그들의 위치가 공간에 분포하는 상태를 이론적으로 나타낼 수 있다. 이와 비슷하게 각각의 영화 역시 480,189차원 공간 속의 한 점으로 생각해 볼 수 있다. 각 점은 이용자별 차원에서 해당 영화의 평점에 따라 위치할 것이다. 당장은 그런 초고차원 공간에 흩어져 있는 수많은 점에서 어떤 패턴도 포착하기 어렵다. 여기서 알고리즘의 임무는 공간을 붕괴해 차원을 대폭 줄여 패턴이 드러나게 할 방법이 있는지 알아내는 일이다.


    이것은 예를 들어 사람 머리의 그림자가 다양한 모양으로 나타나는 것과 같다. 어떤 그림자는 다른 그림자보다 그 사람에 대해 훨씬 많은 걸 알려 준다. 예를 들어 히치콕(Hitchcock)의 옆얼굴 윤곽은 아주 쉽게 알아볼 수 있지만, 누군가의 얼굴 정면에 손전등을 비췄을 때 생기는 그림자로는 그에 대해 알아낼 수 있는 게 별로 없다. 요컨대 영화와 이용자는 얼굴 위의 특정 지점과 같다는 것이다. 특정 각도로 드리워진 그림자에서는 그런 지점들이 모두 죽 늘어선 모양으로 보이는데 다른 각도로 드리워진 그림자에서는 어떤 패턴도 눈에 띄지 않을 수 있다.


    어쩌면 우리는 그 초고차원 공간의 2차원 그림자(사영: 射影)를 그리는 방법을 찾을 수 있을지도 모른다. 그래서 잘하면 이용자와 영화가 평면에 투영된 결과로 이용자가 각자 좋아할 만한 영화 바로 옆에 위치하게 할 수 있을지도 모른다. 여기서 관건은 영화와 이용자의 잠재적 특징을 제대로 드러내 보여 주는 그림자를 찾는 일이다.


    나에게는 이것이야말로 이런 새로운 알고리즘에서 정말 흥미진진한 부분이다. 알고리즘은 우리 자신에 관해 무언가 새로운 것을 알려줄 잠재력을 품고 있다. 어떻게 보면 딥러닝(deep learning) 알고리즘은 인간 코드에서 우리가 지금껏 말로 표현하지 못했던 특징들을 집어내고 있는 셈이다. 이는 마치 색에 대한 개념이 부족해 빨강과 파랑을 구별할 말조차 없었는데, 알고리즘이 우리의 호불호 표현에 근거해 여러 물체를 빨갛고 파란 두 종류로 떡하니 나눠 놓은 것과 같다. 우리가 특정 영화를 좋아하는 이유를 제대로 표현하지 못하는 까닭은 그런 취향에 결정적 영향을 미친 매개 변수가 너무 많기 때문이다. 취향과 관련된 인간 코드는 쉽게 겉으로 드러나지 않고 숨어 있다. 하지만 컴퓨터 코드는 우리가 직감하기는 하지만 표현하지는 못하는 우리의 취향적 특징들을 식별해 냈다.



    대가에게 배우기

    렘브란트가 돌아왔다

    예술가들은 대부분 자신의 창작 과정을 설명하지 못한다. 이는 그 과정을 간단히 코드화할 수 없다는 뜻이다. 예술 작품은 여러 잠재의식적 본능과 결정에 따른 결과물이다. 그런데 인간이 감지하지 못하는 패턴과 규칙을 찾아내는 기계라면 의식적인 창작 과정의 표현이 필요 없지 않을까? 이 명제를 검증하기 위해 나는 알고리즘이 저승에 있는 역대 최고 수준의 화가에게서 그림을 한 점 더 얻어 낼 수 있는지 알아보기로 했다.


    프로젝트 팀은 렘브란트 작품 346점을 살펴보며 150기가바이트에 달하는 디지털 그래픽 데이터를 만들었다. 데이터 수집 과정에서 렘브란트 작품 모델들의 성별, 나이, 얼굴 각도 등을 탐지하기도 하고, 얼굴의 여러 주요 부위를 기하학적으로 분석하기도 했다. 그들은 렘브란트의 여러 초상화를 면밀히 분석한 후 렘브란트가 다음에 그렸을 법한 인물을 모델로 설정했다. 수염을 기른 30~40대 백인 남성. 어두운색 옷을 입고 목깃을 내놓고 모자를 쓰고 오른쪽을 향하고 있는 모습. 물론 렘브란트 작품 모델들의 성비는 거의 50대 50이었으므로 이번 작품의 모델로 여자가 설정될 수도 있었으나, 남자들의 초상화가 분석 가능한 세부 특징을 더 많이 띠고 있었다. 여기까지는 굳이 복잡한 데이터 없이도 할 수 있는 일이었다. 기계 학습이 진가를 발휘한 것은 초상화를 물감으로 구현하는 과정이었다.


    프로젝트 팀은 알고리즘을 이용해 렘브란트가 인물의 눈, 코, 입을 그린 방식을 분석했다. 렘브란트가 빛을 사용한 방식은 그의 독특한 특징 중 하나다. 그는 인물의 한 부분에 마치 스포트라이트를 비추듯 빛을 집중시키는 경향이 있었다. 그렇게 하면 얼굴의 몇몇 부분은 유난히 두드러지고 나머지 부분은 흐릿해지는 효과가 나타난다.


    프로젝트 팀은 처음에 평면 이미지만 분석했다. 하지만 그림은 2차원 이미지가 아니다. 캔버스에 물감을 바르면 높낮이가 생기고 이로 인해 독특한 효과가 나타난다. 많은 미술가가 이 특징을 그림의 구도 못지않게 중요시한다. 고흐가 유화 물감을 덧바른 방식을 생각해 보라. 그는 그림인 동시에 조각품이기도 한 작품을 만들었다. 그림의 질감성은 알고리즘으로 그림을 그리려는 사람들이 자주 간과하는 특징이다. 그들의 작품은 보통 화면상에서 구현되다 보니 2차원 디지털 캔버스의 제약에서 벗어나지 못한다. 하지만 고야에서 빌럼 더 코닝(Willem de Kooning)에 이르기까지 다양한 예술가를 구별 짓는 특징은 물감으로 만들어 내는 이미지만이 아니다. 물감을 캔버스에 바르는 방식도 이미지 못지않게 중요하다. 렘브란트가 물감을 덧바른 방식은 분명히 그의 후기 작품의 주요 특징이다. 프로젝트 팀은 현대식 3D 프린터를 이용해 렘브란트 작품 특유의 입체 형태를 분석해 구현할 수 있다는 걸 깨달았다. 그들이 3D 프린터로 만든 최종 결과물은 페인트계 UV 잉크를 열세 겹 덧발라 그린, 1억 4,800만여 픽셀로 구성된 그림이다.


    18개월간 데이터를 처리하고 500시간 동안 렌더링을 진행한 후 그 팀은 마침내 렘브란트를 부활시키려 했던 그들의 결과물을 세상에 보여 줄 준비를 마쳤다. 그 그림은 2016년 4월 5일에 암스테르담에서 공개되었는데 곧바로 대중의 관심을 끌어 전시된 지 며칠 만에 트위터에서 1,000만 번 넘게 언급됐다. 결과물은 상당히 인상적이다. 알고리즘이 렘브란트의 화풍을 어느 정도 담아냈다는 것은 아무도 부정할 수 없다. 사람들에게 그 그림을 누가 그렸을지 알아맞혀 보라고 하면 아마 대부분은 어느 렘브란트파 화가의 작품이라고 볼 것이다. 그런데 그 그림에 렘브란트의 마력도 담겨 있을까? 영국의 미술 평론가 조너선 존스(Jonathan Jones)는 그렇지 않다고 봤다. 그는 <가디언>에 경멸감과 혐오감을 담아 이렇게 썼다.


    “인간의 창조적 본성이 반영된 온갖 작품을 희화화한, 참으로 끔찍하고 무미건조하고 투박하며 비천한 졸작이다. 최고의 두뇌들이 어리석기 짝이 없는 ‘도전’에 전념하는 시대, 기술이 절대 쓰이지 말아야 할 일에 쓰이고 디지털화된 것이라면 뭐든 워낙 숭배하다 보니 그런 냉혹한 결과물에도 왠지 모두가 갈채를 보내야 할 것 같은 이 이상한 시대의 참으로 졸렬한 산물이다.”


    존스는 렘브란트가 발휘한 창조적 천재성의 요점을 프로젝트 팀이 완전히 잘못 이해했다고 생각했다. 중요한 것은 화풍과 표면적 효과가 아니라 렘브란트가 그림으로 자기 내면을 드러내 보이고 또 그럼으로써 우리 자신의 내면세계도 드러내 보일 수 있었다는 점이다. 이를 통해 두 영혼이 만날 수 있어야 했다. 인공 지능이 만든 그 그림은 존스가 ‘렘브란트 전율감’이라 부르는 것, 즉 렘브란트의 진정한 걸작들 앞에서 우리가 경험하는 느낌을 전혀 불러일으키지 못했다.


    마이크로소프트가 렘브란트 프로젝트에 참여한 동기는 아마 예술적이라기보다는 상업적이었을 것이다. 누구든 렘브란트 모작을 그럴듯하게 만들어 내면 자기 코드의 우수성을 보여 줄 수 있다. 알파고가 이세돌을 이긴 것도 바둑을 좀 더 새롭고 창조적으로 두는 법을 찾기 위해서라기보다는 딥마인드의 인공 지능 기술력을 널리 알리기 위해서였다. 그것이 문제가 될까? 창조력은 상업적인 생각과 결합하지 않아야 하는 걸까? 고흐는 생전에 그림을 두 점밖에 팔지 못했다.(얼마간의 그림을 먹을거리나 화구와 맞바꾸긴 했지만.) 어쩌면 본인이 검소하게 살고 싶어 했을 수도 있지만 어쨌든 고흐에게 돈은 그다지 창작의 원동력이 되지 않은 듯하다. 그렇다 해도 눈앞에 매달린 돈이 (적어도 낮은 수준에서는) 창조력을 자극할 수 있다는 증거가 있다.


    2007년에 미국의 한 심리학 연구 팀은 학생 115명에게 냄비 안에서 팝콘이 튀겨지는 상황을 그린 짤막한 글을 읽고 그 글에 제목을 붙여 달라고 했다. 학생들 중 절반에게는 이렇게 말했다. “전에 이 연구에 참여했던 다른 학생들이 지은 제목을 기준으로 여러분이 지은 제목의 독창성을 평가할 겁니다. 여러분 중에서 이전 참여자들의 80퍼센트보다 낫다는 평가를 받은 제목은 정말 잘 지은 겁니다.” 나머지 절반에게는 똑같이 말한 후 독창성에 대한 보상으로 10달러를 주겠다는 말도 덧붙였다. 아니나 다를까 보상금을 내건 경우에 훨씬 독창적인 결과가 나왔는데 그중에는 ‘냄비규환(PANdemonium)’이나 ‘아팝칼립스 나우(A-pop-calypse Now)’같은 기막힌 제목도 있었다.



    음악, 그 아름다운 수학의 멜로디

    얼마 전에 작곡가 에밀리 하워드(Emily Howard)와 음악적으로 흥미로울 만한 기하 구조에 대해 얘기하던 중 나는 한 아이디어가 떠올렸다. 나는 그녀에게 쌍곡 기하학이라는 수학 분야를 소개해 주고 그녀는 나에게 작곡을 가르쳐 주면 어떨까. 하워드 역시 그렇게 해 볼 만하다고 생각했기에 얼마 후에 우리는 커피를 마시며 첫 교습을 시작했다.


    하워드는 숙제를 내 주었다. 단순한 리듬으로 선율을 하나 만든 다음 프롤라티오 카논 기법을 이용해 현악 삼중주곡으로 발전시켜 볼 것. 이는 충분히 해 볼 만한 간단한 일이었다. 게다가 수학식으로도 쉽게 나타낼 수 있는 일이기도 하다. 곡의 형태가 잡혀 가자 나는 마치 정원사가 된 듯한 기분이 들었다. 내가 아무것도 없는 상태에서 만들어 낸 짤막한 리듬은 오선지에 심어 놓은 씨앗 같았다. 그다음에 하워드가 알려 준 알고리즘으로 그 씨앗을 다른 형태로 키워 나갔다. 그 알고리즘을 이용하면 처음의 씨앗과 밀접히 연관돼 있으면서도 그와 아주 똑같지는 않은 음악적 아이디어로 오선지의 나머지 부분을 채워 나갈 수 있었다. 내 음악 정원이 그 간단한 규칙을 밑거름 삼아 커 가는 모습을 지켜보니 무척 뿌듯했다.


    그렇게 단순한 곡을 만들어 보니 알고리즘과 작곡의 밀접한 연관성을 이해하는 데 도움이 되었다. 알고리즘은 입력된 자료를 토대로 어떤 결과를 유도해 내는 규칙의 집합이다. 처음에 입력된 자료는 씨앗에 해당한다. 알고리즘은 달리 말하면 그 씨앗을 키우는 방법인 셈이다. 어떤 두 수를 선택하고 유클리드의 알고리즘(호제법)을 적용하면 그 수를 둘 다 나누어떨어지게 하는 가장 큰 정수를 알아낼 수 있다. 어떤 알고리즘은 이미지를 분석해 그 속의 사물이 무엇인지 알려 준다. 또 어떤 알고리즘은 단순한 기하학적 이미지에 특정 수학식을 거듭 적용해서 복잡한 프랙털 그래픽으로 발전시킨다.


    음악에 적용되는 알고리즘도 그와 비슷한 특성을 띤다. 필립 글래스의 초기작 중 하나를 살펴보면 왜 알고리즘이 작곡가에게 매우 중요한 수단이 되는지 알 수 있다. <1+1>이라는 작품에서는 연주자 한 명이 소형 마이크가 부착된 탁자의 윗면을 리듬 패턴에 따라 두드린다. 그 작품의 씨앗은 두 가지 리듬이다. 첫째 리듬 A는 반의반 박 두 개 다음에 반 박 하나가 오는 형태이고(♬♪), 둘째 리듬 B는 그냥 반 박 하나다(♪). 글래스는 연주자에게 일반적인 등차수열 중 하나를 이용해 두 가지 리듬을 조합하라고 지시했다. 그리고 이것이 바로 그 씨앗을 키우는 알고리즘이다.


    알고리즘의 세부 사항은 연주자가 자기 마음대로 선택할 수 있지만, 글래스는 이 작품을 발전시키는 데 사용할 만한 등차수열의 예를 몇 가지 소개한다. 그중 하나는 ABAABBBAAABBBBB……와 같은 리듬인데, 여기서 A의 출현 횟수는 1씩 증가하지만 B의 출현 횟수는 2씩 증가한다. 아마 수많은 사람이 이렇게 말하며 글래스를 비난해 왔을 것이다. "이게 뭐야, 무슨 음악이 이래? 너무 단조롭잖아." 하지만 내 생각에 이 작품은 음악의 본질을 명확히 해 주는 듯하다. 우리가 <1+1>을 들을 때 우리의 뇌는 이 작품이 무작위적인 소리도 아니고 그저 단순히 반복되기만 하는 소리도 아니라는 것을 인식한다. 그리고 이러한 감상 과정에는 작품의 구조를 분석하고 토대가 되는 패턴을 발견해 보는 재미가 있다. 바로 그 패턴이란 개념 때문에 음악이 수학 세계와 그토록 밀접히 연관되는 듯하다.


    그러므로 그 작곡 과정에 쓰인 (과학적) 기술은 두 가지다. 하나는 흥미로운 음악을 만드는 데 쓰일 만한 새로운 알고리즘을 고안하는 기술이고, 나머지 하나는 알고리즘에 입력할 만한 갖가지 음악 씨앗을 선택하는 기술이다. 이처럼 알고리즘이 실제로 작곡에 쓰인다면 이러한 방식이 컴퓨터가 작곡을 시도하는 데 실마리가 될 수도 있지 않을까?


    딥바흐, 바흐의 음악을 완벽하게 재창조하다

    바흐는 코랄을 389곡 만들었다. 이들은 글래스가 성부 확장 연습곡으로 삼고, 코프가 손수 분석한 바로 그 4성 찬송가다. 바흐의 <요한 수난곡>(St. John Passion)이라는 유명한 오라토리오풍 수난곡에는 중간중간 코랄이 몇 곡 끼어 있다. 바흐의 수학적 집착에 대해 알고 싶다면 바로 여기에 그 일례가 있다. 바흐는 14라는 수를 유난히 좋아했다. 당대 유럽의 사상가와 철학자 중 상당수는 유대교 신비주의 교파의 ‘게마트리아(gematria)’라는 관습을 흥미로워했다. 이는 문자를 수치로 변환하고 단어 간의 수치적 관계를 탐구해 내밀한 연관성을 추론하는 방법이었다. 분명히 바흐는 자기 성의 네 글자(BACH)를 수치로 변환하고 합산하면 2+1+3+8=14가 된다는 사실을 알았다. 14는 그에게 축구 선수의 등번호처럼 특별한 수가 되었다. 예를 들어 바흐는 제자 미츨러가 설립한 음악학 통신 협회에 가입할 때 일부러 시간을 끌다가 열네 번째 회원이 되었다. 또 그 수를 곡에 적용하는 흥미로운 방법을 알아내기도 했는데 <요한 수난곡>에는 코랄이 열한 곡 들어 있다. 그중 앞 열 곡의 마디 수를 세 보면 다음과 같다.


    11, 12, 12, 16, 17, 11, 12, 16, 16, 17


    그런데 열한째 코랄은 특이하게도 마디가 28(2×14)개다. 하지만 그 앞의 열 곡을 바깥쪽에서부터 둘씩 짝지어 보자. 첫째 코랄과 열째 코랄의 마디 수를 합치면 11+17=28이다. 둘째 코랄과 아홉째 코랄의 마디 수를 합치면 12+16=28이 된다. 이 코랄을 이렇게 대칭적인 방식으로 둘씩 짝지어 보면 마디 수의 합이 모두 28이 된다는 걸 확인할 수 있다. 우연의 일치라고? 아닐걸.


    아제르는 바흐 코랄을 둘로 나누었는데, 80퍼센트는 알고리즘 훈련용 데이터로 쓰고 20퍼센트는 시험용 데이터로 쓰기로 했다. 온라인으로 진행한 그 시험에 참여한 사람들은 딥바흐가 만든 코랄과 시험용 데이터의 진짜 바흐 코랄을 듣고, 각 코랄의 작곡자가 컴퓨터와 바흐 중 누구라고 생각하는지 표시해야 했다. 참여자들은 자신의 음악 소양도 밝혀야 했는데, 이는 그들의 음악적 소양이 평가 내용의 신뢰도에 확실히 영향을 미칠 것이기 때문이었다.(작곡과 학생들은 청음 훈련을 받지 않은 사람들이 놓칠 만한 부분도 들을 수 있다.)


    결과는 놀라웠다. 딥바흐의 작품이 바흐 작품으로 판정받은 경우가 50퍼센트나 차지했다. 작곡과 학생과 전문 음악가들은 적중률이 조금 더 높았다. 하지만 그들도 딥바흐의 모작을 식별하지 못한 경우가 45퍼센트였다. 이 정도면 훌륭한 결과다. 코랄은 꽤 까다로운 장르다. 한 음만 잘못 들어가도 가짜 티가 확 난다. 바흐는 곡을 실수 없이 만들었는데도 그의 코랄이 기계의 작품으로 판정받은 경우가 25퍼센트나 됐다! 잘난 척하는 것으로 비치지 않았으면 좋겠는데 사실 내가 듣기에 바흐의 코랄은 바흐 작품 중에서 가장 지루한 편이다. 그 찬송가는 바흐가 빠르게 만들어 내야 했던 곡이기도 했고 아무튼 바흐 작품 중에서 내게 정말 감동을 주는 곡은 아니다. 그렇다 해도 딥바흐가 내놓은 결과물 정도면 상당히 훌륭한 것이다.


    일반적으로 알고리즘이 대가에게 무언가를 배우게 하는 일의 주요 난점은 데이터 부족이다. 코랄 389곡은 꽤 많아 보일 수도 있지만 실은 컴퓨터가 간신히 학습 대상으로 삼을만한 양에 불과하다. 컴퓨터 비전 같은 성공적인 기계 학습 분야에서는 알고리즘이 수백만 개의 이미지를 바탕으로 훈련을 쌓는다. 이에 비하면 바흐의 코랄은 389가지 사례 밖에 되지 않는다. 게다가 다른 작곡가 대부분은 작품 수가 그에 훨씬 못 미친다. 그럼에도 바흐 코랄은 한 가지 현상의 매우 비슷비슷한 변형이라는 점에서도 특히 유용하다. 보통 한 작곡가의 작품 세계는 전체적으로 너무나 다채로워서 기계가 학습 대상으로 삼기 버겁다.


    어쩌면 결국은 바로 이런 점이 인간의 예술 영역에 기계가 쳐들어오지 못하게 막아 주는 요소일지도 모른다. 훌륭한 작품의 수가 워낙 적어서 기계가 그런 것을 만드는 법을 배울 수가 없는 것이다. 기계는 단조로운 음악이야 얼마든지 만들 수 있지만 아직 훌륭한 음악은 만들지 못한다.


    * * *


    본 도서 정보는 우수 도서 홍보를 위해 저작권자로부터 정식인가를 얻어 도서의 내용 일부를 발췌 요약한 것으로, 저작권법에 의하여 저작권자의 정식인가 없이 무단전재, 무단복제 및 전송을 할 수 없으며, 원본 도서의 모든 출판권과 전송권은 저작권자에게 있음을 알려드립니다.