딥러닝 & 어텐션 메커니즘과 흄의 인식론
2022년 11월 30일, 오픈 AI가 챗GPT라는 대화형 AI를 출시했다. 이 AI 모델의 출시 이후, 인류 문명은 완전히 새로운 국면으로 접어들게 되었다. 그런데 이러한 AI 모델을 철학적으로 예견(?)한 인물이 있었으니 바로 근대 경험론의 거두, 데이비드 흄(David Hume)이다. 그의 인식론을 통해서 챗GPT가 기반한 딥러닝 알고리즘과 트랜스포머 모델의 어텐션 메커니즘의 철학적 의미에 대해서 알아보자.
흄의 인식론은 아찔할 정도로 파격적이다. 그는 기존의 철학이나 신학에서 일체의 형이상학을 걷어내고자 노력했다. 어찌 보면 근대 의심의 철학자들 니체, 프로이트, 마르크스는 데카르트보다 흄에게 더 많은 빚을 진 게 아닐까 싶다. 왜냐? 흄은 데카르트가 말하는 제 1원리, Cogito Ergo Sum(나는 생각한다. 고로 존재한다)도 부정하고 인식 주체마저 부정한다. 흄의 인식은 대단히 심플하다. 오직 경험만 존재한다. 다른 일체의 것은 존재하지 않는다. 경험지상주의, 이보다 더 깔끔할 수 없다.
지각, 인상, 복사, 관념
경험은 눈, 코, 입 같은 감각 기관을 통해서 지각한 것들을 통해서 이루어진다. 지각에는 두 종류가 있다. 인상과 관념이다. 조금 더 직접적이고 생생한 지각이 '인상'이고 일반화되고 흐릿한 지각이 '관념'이다. 인상은 1차 자료고, 관념은 1차 자료로 가공한 2차 자료다.
인상은 어떻게 관념이 되는가? 복사를 통해서다. 캠프 파이어를 하면서 활활 타오르는 모닥불을 보았다고 해보자. 이때 모닥불을 본 경험을 통해서 모닥불의 이미지가 뇌에 새겨지는데 이것이 인상이다. 그런데 집에 와서 모닥불 생각이 문득 떠오른다. 눈 앞에 모닥불이 없는데도 모닥불 이미지가 머릿속에 떠오른다. 이 이미지는 캠프 파이어를 할 때 보았는 그 모닥불 이미지의 복사다. 인상이 복사되어 뇌에 남겨진 것이 관념이다. 관념 때문에 우리는 모닥불이 없어도 모닥불 생각을 할 수 있다. 그런데 관념이 진실성을 얻기 위해서는 반드시 대응하는 인상이 있어야 한다. 그가 형이상학을 부정하는 이유는 형이상학이란 인상 없이 관념만으로 지식이나 진리를 만들어 내고자 하기 때문이다. 인상은 기초고 관념은 그 위에 세워진 건물과 같다.
관념들의 연합, 연상
이제 관념들이 수없이 많이 생겼다. 그런데 수없이 많은 관념들은 무질서하게 흩어져있지 않다. 마치 만유인력이 우주의 먼지와 물질들을 서로 잡아당겨서 별이 되듯이 수많은 관념들은 서로 잡아당긴다. 잡아당기는 힘은 크게 세 가지다. 하나는 유사성, 또 하나는 근접성, 또 하나는 인과성이다.
1) 유사성: 닮은 것들끼리 서로 잡아당긴다. 친구의 초상화를 보자 친구의 얼굴(관념)이 떠오르고, 그 친구와의 과거 기억이 떠오른다.
2) 근접성: 시공간적으로 근접한 것들이 연속적으로 떠오르는 사고 습관이다. 바늘을 보면 실이 떠오르고, 사과를 보면 빨간색이 떠오른다.
3) 인과성: 인과 관계로 관념들이 연결된다. 불의 관념이 떠오르면 연기가 떠오르거나 산불이 떠오르는 것이 그 예이다.
그런데 이렇게 관념들이 서로 잡아당겨서 연결되는 것을 '연상'이라고 부른다. 그리고 이 연상으로 관념들이 연결될 때 이 연상에 의존한 믿음을 그는 지식이라고 부른다. 데카르트는 확실한 진리를 찾았으나 흄은 말한다. 모든 지식은 믿음이라고! 확실한 지식은 존재하지 않는다. 모든 지식은 관념들의 집합일 뿐이다.
인과율의 부정
흄의 논리에 따르면 '자연 법칙'이라고 하는 것도 존재하지 않는다. 가령 '내일 해가 뜬다는 법칙'은 없다. 지금까지 우리는 매일 아침 해가 뜨는 것을 경험했을 뿐이며 그러한 경험의 축적이 내일 해가 뜰 것이라고 미루어 짐작하게 만들 뿐이다. 내일 해가 반드시 떠야 할 필연적 이유는 없다. 자연 안에 새겨진 자연 법칙이란 존재하지 않는다. 인간의 사고 습관일 뿐이다.
한걸음 더 나아가 그의 인식론에서 가장 파격적인 것은 '인과율'을 부정한 것이다. '아니 땐 굴뚝에 연기 나랴'는 속담에서 불과 연기는 인과 관계로 연결된다. 불이 연기의 원인이고, 연기는 불의 결과다. 오랫동안 인간들은 이러한 인과율을 자연 법칙 중 하나라고 생각했다. 하지만 흄은 이를 부정한다. 인과율이란 자연에 존재하는 법칙이 아니다. 단지 경험이 축적되어 그렇게 사고하는 습관이 만들어진 것일 뿐이라는 것이다. 여기서 중요한 전환이 발생한다. 인과율은 자연에 존재하는 것이 아니라 인간이 사고 안에 존재한다는 것이다. 즉 인과율은 뇌 속에 존재한다!
주체의 부정
그는 심지어 주체의 존재도 의심했다. 영국 출신 흄은 당시 대륙의 철학자 르네 데카르트의 합리론과 주체 철학의 흐름을 정면으로 부정한 것이다. 근대 철학의 위대한 발견이라고 할 수 있는 '주체'를 부정하다니 흄은 근대인도 뛰어넘는 사람이 아닌가 싶다. 어쩌면 그는 대륙의 합리론을 넘어 주체의 해체를 주업으로 하는 포스트모던 철학을 예견했는지도 모르겠다. 그는 주체란 그저 감각 기관을 통해서 지각하고 경험한 것들의 축적일 뿐이라고 보았다. 통상 이를 번들 이론(bundle theory)라고 하는데, 이는 자아/주체란 그저 '지각들의 다발/묶음'이라는 것이다. 주체를 부정한다면 그는 영혼도 부정할 것이 뻔하다.
이러한 흄의 인식론은 너무나 급진적이어서 자칫 독단주의와 허무주의에 이르게 된다. 자연법칙, 인과율, 주체와 자아 등.. 모든 것이 흄에 의해 해체된다. 당연히 그는 '이성에 대한 신뢰'에 대해서도 의문을 제기했다. 또한 그는 우리의 인상, 관념, 지식, 경험.. 이 모든 것들을 오로지 한 개인만의 것으로 가두어 버렸다. 내가 경험하는 것과 타인이 경험하는 것을 같다고 할 수 있을까? 결국 우리가 확실하게 알 수 있는 것은 아무 것도 없다.
그런데 흄의 인식론은 챗GPT와 같은 LLM(Large Language Moded: 거대 언어 모델)의 초기 모델과 닮았다. LLM의 초기 모델은 제프리 힌턴 교수가 제안한 딥러닝(deep learning) 알고리즘에 상당부분 의존했다. 그 이전에 AI를 개발하기 위해서는 규칙 기반 알고리즘을 발전시켰다. 가령 고양이를 알아보는 이미지 인식 AI를 개발하기 위해서 과거의 개발자들은 고양이 귀는 뾰족하게 생겼고, 눈은 똥그랗게 생겼고, ... 이런 고양이의 특징들을 무수히 알려주었다. 그런데 이러한 규칙 기반 AI는 어느 정도 성능이 발전하다가 어느 지점이 되면 더는 성능 개선이 되지 않는다. 아무리 많은 규칙을 정교하게 넣어줘도 성능이 개선되지 않았던 것이다. 그런데 제프리 힌턴은 딥러닝 알고리즘을 써서 이 임계점을 돌파해 버렸다. 그러더니 AI가 고양이도 알아보고, 사람의 표정도 알아보고, 대화도 하고, 코드도 짜기 시작한 것이다. 그렇게 해서 챗GPT의 시대가 열리게 된 것이다.
대체 어떻게 실리콘 덩어리가 고양이와 개를 구분하고, 인간의 언어를 이해하며, 대화를 할 수 있을까? 한 마디로 딥러닝을 통한 방대한 데이터의 학습 덕분이다. (물론 데이터만 가지고 안 된다. 데이터와 함께 엔비디아 GPU를 통한 거대한 연산 능력, 그리고 수천억 개의 매개변수(parameter)가 같이 있어야 한다.) 핵심은 데이터의 학습이었다. 과거의 개발자들이 고양이를 인식하게 하기 위해서 고양이의 특징들을 무수히 많이 알려주었으나 힌턴 교수는 고양이 사진 10만장을 보여주며 '이게 고양이야'라고 알려주었다. 그랬더니 갑자기 AI가 '아, 이게 고양이구나!'라고 스스로 깨달아버린 것이다. 그러더니 보여주지 않은 이미지를 보고도 고양이를 알아보고, 개와 고양이를 구분하기 시작한 것이다. 어떻게 그렇게 갑자기 알아보게 되었는지는 모르지만 AI가 스스로 고양이란 무엇인지 정의하게 된 것이다.
방대한 데이터의 학습을 통해서 AI가 '어느 순간 갑자기' 사진을 알아보더니, 사고하고 말하고 대화하기 시작한 것, 이를 스케일링의 법칙(Law of Scaling: 스케일/규모 증가의 법칙)이라고 한다. 연산 능력, 데이터, 매개변수의 '양(scale)'을 무한히 늘리다 보니 어느 순간 갑자기 실리콘 덩어리가 사람처럼 말하기 시작한 지점이 발생하더라는 것이다. 이것을 '창발성'이라고 한다. 이것이 왜 중요할까? 똑같은 딥러닝 알고리즘이라도 데이터가 적으면 AI는 제대로 작동하지 않았다. 그런데 데이터의 양이 임계점을 넘어서자 갑자기 AI가 엄청나게 똑똑해지며 개와 고양이도 구분하고, 말도 하고, 코드를 짜게 된 것이다. 여기서 핵심은 데이터의 축적이라는 사실을 개발자들이 깨닫게 된 것이다. 왜 갑자기 AI가 말을 하고, 코드를 짜고, 인간처럼 생각하는지 알 수 없는데 암튼 그렇게 되더라는 것이다. 그런데 한 가지 확실한 것은 데이터가 축적되어야 된다는 것이었다.
이것을 통해서 우리는 AI의 원리와 흄의 인식론의 놀라운 유비 관계(analogy)를 확인할 수 있었다. 흄은 그저 감각 기관을 통한 방대한 경험이 반복적이고 지속적으로 축적될 경우, 그것들이 축적되어 지식을 이룬다고 했다. 이것은 딥러닝 알고리즘의 작동 원리와 유사하다. 전통적인 규칙 기반 알고리즘으로는 사고하지 못하던 AI가 딥러닝 알고리즘으로 사고하기 시작했다. 어떻게 가능한가? 방대한 데이터를 지속해서 축적해서 임계점을 넘겼더니, AI가 어느 순간 스스로 패턴을 찾아내서 고양이와 사람을 알아보고, 말하고, 대화하게 된 것이다. 인간이 알려준 것이 아니라 AI가 스스로 그 방식을 찾아냈다는 것이 중요하다. 어떻게? 데이터의 학습으로... 물론 감각 기관을 통한 '인상'의 생성과 수학화된 '데이터'의 학습을 동일시할 수는 없겠으나 분명 상당한 유비(analogy)가 존재한다. 즉 이렇게 결론내릴 수 있는 것이다. 방대한 데이터의 학습을 하던 중에 갑자기 AI가 인식을 하고 사고하며 말하기 시작했으니 지식이란 결국 경험의 축적이라고 했던 흄의 인식론이 상당 부분 옳았음이 입증된 것이다.
챗GPT는
G: Generative(생성형)
P: Pretrained(사전학습된)
T: Transformer(트랜스포머)
의 약자다.
'생성형'이란 기존에 존재하지 않던 정보나 이미지를 새롭게 만들어 낸다는 의미일 것이고,
'사전학습된'은 미리 데이터를 학습시켜서 모델을 만들었다는 의미일 것이다.
그런데 '트랜스포머(Transformer)'가 뭘까? 트랜스포머는 뭔가를 휙휙 변환/변신한다는 뜻이 아닌가. 이 말은 자동차가 로봇으로 바뀌는 영화 제목을 연상케 한다. AI 개발자들끼리 서로 얘기하다가 이렇게 이름을 정했다고 하는데, 솔직히 왜 그렇게 정했는지 잘 납득이 되지 않는다. 다만 대체로 입력치가 연산 과정을 거치면서 역동적으로 변환되는 프로세스를 표현하기 위해서 이 말을 썼다고 한다. 그리고 또 쿨(cool)한 느낌 때문에 이렇게 표현했다는데...
트랜스포머는 AI 개발을 위해서 데이터를 학습시키는 방식을 혁신시킨 방식이다. AI가 이미지를 알아보자 이제 AI가 말을 알아듣고, 대화도 할 수 있게 만들고 싶었다. 그러자니 문서 텍스트를 학습시켜야 했다. 처음에는 한 문장, 한 문장을 차례로 학습시켰다. 이것이 소위 RNN 방식이다. 그러다가 컴퓨터에게 굳이 한 문장씩 학습시킬 필요가 없다는 사실을 알게 되었다고 한다. 그래서 여러 개의 문장을 동시에 병렬로 학습시키고 처리할 수 있게 만들었다. 이것이 Attention 메커니즘이라고 한다. 이 어텐션 메커니즘을 활용한 혁신적인 아키텍처가 바로 트랜스포머 방식이다.
어텐션 메커니즘
그런데 트랜스포머 아키텍터에서 중요한 것은 '어텐션(attention)' 메커니즘이다. 본래 트랜스포머라는 이름도 '어텐션 넷'으로 지을 뻔 했다고 한다. 그러니까 트랜스포머에서 어텐션 메커니즘이 핵심이라는 말이다. 어텐션 없는 트랜스포머는 상상하기 어렵다. 그럼 어텐션이 뭘까?
방대한 문서 데이터를 학습시키던 중 문제를 발견했다. 사람도 간결체로 된 문장을 읽을 때는 이해하기 쉽지만 만연체로 된 문장을 읽다보면 중간에 무슨 글을 읽는 지 잊어버릴 때가 있다. 마찬가지로 AI도 긴 데이터를 학습하다 보면 앞 부분의 데이터를 까먹어버린다는 사실을 알게 되었다. 그러다 보니 제대로 데이터 학습이 불가능하고, 오차율도 감소하지 않는 것이다. 특히 트랜스포머는 한 문장이 아니라 여러 개의 문장을 한꺼번에 학습하는 방식이다. 그러자니 전체 데이터를 한꺼번에 전부 학습하는 데 더 어려움이 있을 수밖에 없다.
이 문제를 개선하기 위해서 제시된 것이 어텐션 메커니즘이다. 가령 긴 문장의 텍스트를 입력하여 학습한다고 해보자. 이때 긴 문장을 입력할 때, 그 문장 안에서 연관성이 강한 몇몇 단어들을 추출해서 그것들끼리 묶어서 학습하게 하자는 제안이다. 자, 다음 문장을 입력하여 학습시킨다고 해보자.
전통적인 방식은 이 두 문장을 통째로 학습시키는 방식이었다. 그러니까 전통적인 학습 방식에 따르면 위의 9개 단어의 값을 똑같이 부여해서 입력을 시켰다. 그런데 그러자니 단어가 많아지면 AI가 자꾸 까먹어 버렸다. 그래서 어텐션 메커니즘을 제안했는데, 어텐션 방식의 경우 가령 'It'이라는 단어를 학습시킬 때, It을 제외한 8개의 단어들에 서로 다른 값을 부여해서 학습시키자는 것이다. 각 단어마다 다른 단어와의 연관성에 대한 가중치를 부여하는 방식이다. 그러다 보면 It은 Cat과 매우 가깝고, sat, mat, fluffy 등의 단어와도 비교적 가깝지만, 다른 단어들은 거리가 더 멀다는 사실을 알 수 있다. 이 가까운 정도와 연관성의 정도를 높은 어텐션 점수를 부여해서 데이터를 학습시키면 긴 문장을 학습시키더라도 서로 연관성이 강한 단어들을 뽑아서 학습을 시킬 수 있게 되는 것이다. 그렇게 하자 학습 도중 앞의 문장을 잊어버리는 문제를 해결할 수 있었다. 이렇게 단어들의 연관성들을 추출할 수 있도록 가능케 한 것이 바로 어텐션 메커니즘이다.
어텐선 값은 어떻게 구하는가? 어텐션 메커니즘에 따르면 위의 단어들 모두 Query, Key, Value라는 기준을 따라서 값을 배정받는다. Query는 질문자(나라는 단어는 어떤 단어에 대해서 관심이 많지?)라는 척도이고, Key는 식별자(나라는 단어는 뭐라고 이름붙일 수 있을까?)라는 척도이고, Value는 내용물(나라는 단어의 내용들은 어떠어떠한 것들이 있을까?)이라는 척도이다. 각각 값을 배정받아서 3중 행렬로 표시한다. 그렇게 각 단어들의 Q, K, V의 값을 맞추다 보면 It은 cat과 매우 높은 연관성을 가진다는 사실을 알게 되고, sat, mat, fluffy와도 어느 정도 연관성이 있다는 사실을 알게 된다 .이렇게 서로 연관성이 있는 단어들끼리 추출해서 데이터를 학습하게 하는 것이 바로 어텐션 메커니즘이다.
이것은 우리가 책을 읽을 때, 밑줄을 긋거나 형광펜을 칠하는 것과 유사하다고 할 수 있다. 책 전체의 내용을 한 번에 다 기억하기란 쉽지 않다. 그러나 밑줄을 긋거나 형광펜을 칠해서 책을 읽을 경우, 책의 핵심 개념들을 머릿속에 넣을 수 있다. 그리고 그 핵심 개념을 활용해서 나머지 책 내용들도 연관해서 떠올릴 수 있는 것이다. 어텐션 메커니즘을 통해서 AI는 방대한 데이터를 잊어버리지 않고 학습할 수 있게 되었다.
흄의 연상 개념과 어텐션 메커니즘
그런데 이거 어디서 많이 본듯한 내용이다. 그렇다. 이것은 흄이 말했던 '연상' 개념과 유사하다. 그는 오감을 통해서 '인상'이 만들어지고 그것이 복사 작용을 통해서 '관념'이 만들어진다고 했다. 우리의 마음 속에는 무수히 많은 관념들이 존재하는데, 그 관념들이 마치 만유인력의 법칙처럼 서로가 서로를 잡아당겨서 클러스터를 형성한다고 했다. 유사성, 근접성, 인과성이라는 척도에 따라서 관념들이 서로 연결되며 관련성을 맺는다고 했다. 그리고 이러한 연상 작용을 통해서 인간은 규칙을 만들기도 하고, 인과율을 추론하기도 한다는 것이다.
그런데 어텐션 메커니즘은 흄의 인식론과 상당히 유사하다. 일단 먼저 딥러닝 알고리즘을 통해서 방대한 데이터의 학습을 통해서 AI가 인식하고, 사고하고, 말할 수 있게 되었다는 사실은 흄이 결국 지식이란 경험의 축적이라고 했던 것을 연상케 한다. 더불어서 마음 속에 존재하는 어마어마하게 많은 관념들이 서로 만유인력의 법칙처럼 유사성, 근접성, 인과성이라는 상호인력에 의해 연합하고, 연결되어 연상작용을 일으킨다는 사실은 어텐션 메커니즘을 상기시킨다. AI를 학습시킬 때, 모든 단어들을 한꺼번에 학습시키면 잘 되지 않는다. 그런데 각 단어들이 다른 단어들과 맺는 관계를 수치화시켜서 학습시킨다면 긴 텍스트 속에서 몇몇 단어들을 뽑아서 학습을 시킬 수 있는 것이다. 그럴 때 보다 효과적으로 데이터 학습이 가능하다. 이것이 작동된다는 사실에서 다시 한 번 흄의 인식론은 매우 과학적이며 사실에 부합한다는 점을 확인할 수 있었다.
흄의 인식론은 놀라울 정도로 챗GPT의 원리와 유사하다. 딥러닝 방식을 통한 방대한 데이터 학습과 어텐션 메커니즘을 통해서 연상 작용으로 단어들을 상호 연결한다는 점이 특히 그러하다. 그러나 흄의 인식론의 한계가 금새 노출되었다. 흄은 인과율이 경험의 축적으로 인한 사고의 습관이라고 했다. 인과율은 존재하지 않으며 경험의 축적, 곧 데이터의 축적을 통해서 사고 습관이 형성된 결과라는 것이다. 실제로 챗GPT의 초기 모델은 방대한 데이터 학습을 통해서 인과율을 어느 정도 학습할 수 있었다. 그래서 곧잘 원인과 결과를 제대로 찾아낼 수 있었다.
그러나 이 방식은 금새 고질적인 문제와 부닥치게 되었다. 그것은 바로 할루시네이션의 문제였다. 데이터의 축적만으로 AI는 인과 관계를 파악할 수 있었으나 실수를 너무 많이 했다. 아무 인과 관계가 없는데 무작정 인과 관계를 만들어 냈다. 가령 '세종대왕이 맥북 프로를 던진 사건'의 일화는 유명하다. 세종대왕과 맥북 프로는 아무 관련이 없지만 AI는 그 두 사건을 인과 관계로 연결시켜 버렸던 것이다.
또한 데이터의 학습만으로 AI가 수학 계산을 할 수 있을까? 가령 2 + 2 =? 이라는 질문을 하면 데이터 학습만으로 개발된 AI는 학습했던 데이터를 바탕으로 4를 답할 수 있다. 학습했던 데이터 중에 2 + 2 = 4라는 데이터가 충분히 있었기 때문이다. 하지만 23450825 X 200325 + 2221520 = ? 이런 질문에 답할 수 있을까? 이것은 충분한 데이터를 찾기 어려울 것이기 때문에 제대로 답하기 곤란할 것이다. 경험의 축적으로 인한 사고의 습관이라는 흄의 인식론은 상당 부분 작동되지만 많은 오류를 발생시킬 수 있다는 결론에 이르게 된다. 이런 점에서 할루시네이션으로 인해 챗GPT의 한계는 드러났고 이것은 흄의 인식론의 한계라는 사실도 확인되었다.
AI는 새로운 아키텍처가 필요하다는 사실을 알게 되었다. 그리고 이것이 흄의 인식론이 충분치 못했음을 드러냈다.