강화학습에 대한 오해

pabii research

어느 공학 박사 분과 모 국책 연구소에서 만나서 했던 대화의 일부이다.

공학 박사: 데이터로 모든걸 다이나믹하게 “러닝”을 하는 시대가 왔기 때문에….. (중략) 거기다 시뮬레이션으로 모든 데이터를 생성하는 시대가 왔기 때문에 오늘 발표에 나온 IoT 데이터 같은 것도 어쩌면 필요없을지도 모릅니다…..(중략) 알파고 제로를 보면 외부 데이터가 아예 필요없고… (중략) 스타크래프트 인공지능이 게임하는걸 보면…. (중략)

필자의 답변을 포인트 별로 요약 정리해본다.

 

1. 데이터로 모든걸 다이나믹(Dynamic)하게 ‘러닝’을 하는 시대가 왔다

학부 저학년에 배우는 미분방정식 교재들의 후반부를 보면, 거의 모든 교재가 정적 모델링(Dynamic modeling)이라는 챕터가 후반부에 위치해 있는 것을 알 수 있다. 한편 수학 관련 전공으로 학부 고학년이 되면 정적 모델에서 나아가 동적(Dynamic) 모델을 조금 배우다가 학위 과정이 마무리된다. 대학원에 가면 동적 모델을 본격적으로 배우고, 박사 학위 중에는 정적 모델로 연구를 했으면 동적 모델로도 검증이 되어야 좋은 논문이 된다는 조언을 지도교수로부터 듣게 된다. 즉 ‘러닝’이 아니라 통계학적으로 현실상황을 모델링하는 작업을 학부 저학년에는 정적으로, 고학년 및 대학원에서는 동적으로 하는 방법을 배울 뿐이다.

이미 오래전부터 동적 모델링을 하는 계산들을 모든 학문이 해 왔다. 천체물리학은 행성/혜성 같은 천체의 궤도를 계산하는데 그 지식을 썼고, 경제학은 중앙은행이 이자율을 올리거나 정부의 재정정책이 변할 때 다른 경제 지표가 어떻게 변하는지 확인하는데 그 계산법을 썼다. 새로운 계산법, 새로운 시대가 온 게 아니라는 것이다.

예컨대 동적 계산의 기본틀인 해밀토니안(Hamiltonian) 계산은 1833년 논문에 기반해있고, 마르코프 과정(Markov process)를 가정하고 문제를 단순화하여 풀어내는 벨만(Bellman) 계산법도 이미 1850년에 정립된 계산법이다. 거의 200년이 된 계산법이고, 경제학처럼 1960년대 이후에 적극적으로 수학을 활용하기 시작한 학문도 1970년대부터 벨만, 해밀토니안 계산법을 사용해왔다.

 

2. 시뮬레이션으로 모든 데이터를 생성하는 시대가 왔다

모든 시뮬레이션은 기본적으로 변수를 먼저 정한다. 그리고 그 변수가 어떤 분포함수・패턴・규칙을 따라서 움직이는지, 얼마나 노이즈를 갖는지에 대한 가정을 추가한다. 이러한 분포함수・패턴・규칙은 과거 데이터 기반, 또는 연구자의 직관에 의해서 결정된다. 노이즈 값도 이와 마찬가지다. 한편 노이즈를 단순히 분산으로 삼아도 무관한 정규분포와 같은 경우가 아닌, 다양한 패턴・규칙이 포함되어 있으면 시뮬레이션의 난이도는 기하급수적으로 올라가게 된다.

컴퓨터가 위 과정을 모두 알아서 계산하는 것은 불가능하다. 해당 계산을 위해서는 엄청난 수의 변수를 찾아야하고, 심각하게는 얼마나 많은 변수를 넣어야하는지 조차 모르기 때문이다. 가능했다면 알파고가 나온지 몇 년이나 지난 현재 슈퍼컴퓨터로 인류 문명의 역사, 지구의 역사를 완벽하게 복제하는 시뮬레이션이 나왔어야 한다.

시뮬레이션 뿐만 아니라, 모든 계산이 근본적으로 식과 가정을 세워야 한다. 기존 데이터에서 추측할 수 있는 기본 가정 없는 시뮬레이션은 존재할 수 없다.

 

3. 오늘 발표에 나온 IoT 데이터 같은 것도 어쩌면 필요없을지도 모릅니다

눈에 보이는 데이터는 현실의 어떤 특성이 투영된 결과물이다. ‘러닝’이란 결과물을 보고 어떤 인과관계가 있었을지에 대한 추론을 바탕으로 현실을 예측하는 작업이다. 데이터에서 원인에 해당하는 값이 무엇인지 수학적으로 하나씩 추론하는 과정을 거치다보면, 잠재 변수(Latent Variable)라는 것을 찾을 수 있다. 앤드류 응(Andrew Ng) 교수님의 잠재 디리클레 할당(Latent Dirichlet Allocation)에서도 모델의 키워드는 단어들에 숨어있는 핵심 의미, 다시 말해 잠재 변수이다.

IoT 데이터 세트 중에 필요없는 데이터는 없다. 시뮬레이션으로 똑같은 데이터를 만들어내고 싶어도 먼저 그 사람의 행동 패턴을, 최소한 비슷한 사람의 행동 패턴을 관찰하고, 수학・통계적 방법론을 활용해 그 행동 이면에 있는 잠재 변수를 찾아 특성으로 추출하는 과정을 거쳐야한다. 특성을 추출하여 기본적으로 변수를 정하고, 이에 기반해 분포함수・패턴・규칙과 노이즈를 정하여 시뮬레이션을 해야된다는 것이다.

생성적 적대 신경망(Generative Adversarial Network)에서 가짜 이미지를 추출하는 방식이 위의 전형적인 예시이다. 가짜 이미지 제작을 위해 진짜 이미지에서 잠재 변수를 추출하고, 여기에 약간의 무작위 오차값을 넣어 가짜 이미지를 만들어낸다.

 

4. 알파고 제로를 보면 외부 데이터가 아예 필요없다

알파고 제로에 외부 데이터가 입력되지 않고, 해당 계산이 모두 시뮬레이션 데이터로 이루어진 것은 사실이다. 그러나 그 시뮬레이션 데이터는 19×19 격자의 바둑판 위에서 흑・백점을 번갈아 배치한다는 규칙, 2집 이상이 없으면 실패한다는 기본 규칙 위에 가능한 모든 마르코프 경로(Markovian path)를 찾은 것이다. 다시 말해 모든 가능성의 조합을 모두 찾은 것이다.

해당 모델을 38×38 격자로 늘리면 필요한 시뮬레이션 계산은 훨씬 복잡해진다. 이는 오목을 5×5 판에서 둘 때와 50×50 판에서 둘 때의 차이와 비슷한 맥락이다. 5×5는 훨씬 더 제한된 환경이며, 가능한 조합의 숫자도 적다.

흑/백 2개의 플레이어가 점을 어디에 놓는지(이를 수학적으로 control variable;통제 변수라 한다) 이외에 다른 전략이 전혀 없는 상황에서, 내가 과거에 놓은 점과 상대방이 놓은 점이 상태 값(State variable)인 단순한 모델에서도 상대가 어떤 점을 놓을지 예상하기 위해서 몇 백만 대국을 입력하여 확률(State transition probability)를 구했고, 그 몇 백만 대국의 데이터가 전체 셋을 다 커버하지 못한다는 판단 하에 아예 시뮬레이션에 의존했다.

플레이어 숫자가 늘어나고, 통제 변수의 수가 늘어나고, 상태 값의 숫자가 늘어나고, 확률을 구해야하는 조합이 늘어나면 요구되는 컴퓨터가 감당할 수 없을 정도로 계산량은 기하급수적으로 증가한다.

 

5. 스타크래프트 인공지능이 게임하는걸 보면

일반적으로 사람들이 강화학습의 실제 사례를 이야기할 때 스타크래프트 인공지능 이야기가 빠지지 않는다. 1990년대 후반에 나온 스타크래프트라는 게임에 1명의 유저가 조작하는 유닛은 최대 200개이다. 통제 변수(Control variable)이 200개라는 것이다. 그런데 통제 변수 각각에게 줄 수 있는 선택지가 너무나도 많다. 위치를 이동시키는데 옵션은 화면 전체에 해당한다. 또한 위치만 이동하는 것이 아니라 공격・수비하는 값이 실시간으로 바뀐다. 1개 유닛이 아니라 N개 유닛을 동시에 조작해야하는데, N개 유닛이 같은 종류의 유닛이 아니라 조합되 유닛인 경우에는 공격・수비 값 조합도 그에 맞춰서 바뀐다.

이를 완벽하게 시뮬레이션으로 가능한 모든 조합을 찾는다면 예컨대 200의 몇 천 제곱에 해당하는 값들이 모두 가능한 조합이 된다. 일각에서는 이를 매트릭스 및 텐서 형태로 바꿔서 다수의 그래픽 카드로 계산하면 된다고 지적하지만, 시뮬레이션 데이터 생성 작업에서 그래픽 카드는 큰 장점이 없으며, 오히려 데이터 생성 과정(Data Generating Process)은 CPU의 높은 클럭수에 달려있다.

데이터 생성 뿐만 아니라 계산 또한 한계가 있다. 매트릭스 및 텐서 계산을 위해 그래픽 카드를 아무리 많이 쓴다고 하더라도, 그래픽 카드 수를 늘릴수록 서로 간 통신 비용이 커져 계산에 영향을 주기 때문에 확률 계산에는 한계가 있다. 또한 알파고는 200의 제곱수가 아닌, 2의 제곱 계산을 176개의 그래픽 카드를 썼다는 점을 덧붙인다.

그래픽 카드로 계산의 한계를 극복하는 것은 불가능하기 때문에, 시뮬레이션을 다루는 연구자들은 일반적으로 통제 변수를 줄이기 위해 노력한다. 천체의 궤도, 거시경제 지표의 변화, 항공기 이륙에 필요한 양력의 변화 값들을 계산하는 사람들은 일반적으로 강화학습으로 알려진, 동적 모델링에 쓰고 있는 목적함수에 들어가는 변수들간의 특정한 관계를 조건식으로 재구성해 변수의 자유도를 최대한으로 낮춘다. 자유도(Degrees of freedom)이 1차원이라도 낮아져야 계산복잡도가 낮아지고, 시뮬레이션의 난이도가 낮아지기 때문이다.

이를 스타크래프트 인공지능을 만드는 개발자들이 그대로 사용했다. 예컨대 입구를 막고, 처음 5분간 모든 불확실성을 제거해서 게임 초반부 전략에 해당하는 값을 시뮬레이션에서 제거한다. 마르코프 체인(Markov Chain)에서 프로세스 초반의 k개 가능성 조합을 제거하면 2^N이었던 조합이 2^(N-k) 조합으로 바뀌면서 가능성의 조합이 급격하게 줄어드는 것과 같은 이치다.

그 이외에도 어떤 위치로 이동하라는 등의 시뮬레이션 없이도 인간이 판단했을 때 합리적인 행동 알고리즘을 계속 추가하면서 시뮬레이션의 가능성을 줄인다. 계속 자유도를 줄이다보면 시뮬레이션 데이터를 하나도 안 쓰는 경우도 생긴다. 이를 목적함수 값이 조건식대로만 따라가는 모서리해(Corner solution)에 해당한다고 일컫기도 한다. 그러나, 이는 인간이 정한 조건을 그대로 따라가는 프로그램이지, 일반적으로 대중들이 생각하는 ‘인공지능’과는 거리가 있다.

결론적으로, 아무런 가정을 추가하지 않으면 시뮬레이션이 불가능하므로, 인간이 정한 규칙을 조건으로 추가하여 시뮬레이션을 계산이 가능한 영역으로 내린다는 것이다. 그러나, 규칙을 추가할수록 알고리즘의 행동이 인간이 정한 규칙대로 하게되며, 이를 세간에서 말하는 ‘범용 인공지능’으로 보기는 어렵다.

 

6. 그래도 성공 사례가 많으니까

강화학습이 성공적으로 현실에 쓰이는 사례는 과연 몇 개인가?

동적 최적화 계산을 하기 위해서는 대부분의 경우 각 단계별로 조건이 비슷한 마르코프 과정을 가정하고 문제를 풀고, 많은 경우에 모델에 해당하는 수식이 깔끔하게 정리 된다. 이를 수학적으로 분석적 해(Analytic solution)이 존재한다고 한다. 이는 근의 공식, 삼각함수 공식처럼 수치를 대입하면 값이 바로 나오는 형태와 같은 맥락이다.

그런데, 동적 최적화 계산이 마르코프 과정을 벗어나면 쉽게 분석적 해를 못 찾아내는 경우가 생긴다. 이를 시뮬레이션 데이터로 풀어내는 것을 머신러닝에서 Q-러닝이라고 부르는데, 강화 학습의 여러 모델들이 큰 틀에서 이와 같은 출발점을 모두 공유한다. ‘공식’에 해당하는 식을 못 찾았기 때문에, 시행착오(Trial-and-error)로 하나씩 숫자를 넣어보면서 답에 근접하는지 찾아가는 것이다. 강화 학습의 ‘러닝(Learning)’에 쓰는 경사 하강법(Gradient descent)이 위와 같은 대표적인 계산법이며, 이의 가장 간단한 형태는 모두 집에 하나쯤은 가지고 있는 쌀집 계산기다.

수학 기반의 연구자들이 가지고 있는 가장 큰 문제는 모델화를 위해 현실 상황을 심하게 단순화한다는 점이다. 마르코프 과정은 과거에 전혀 영향을 받지 않는 무작위 상황을 가정한다. 그런데, 이러한 가정을 조금씩 완화할 때마다 분석적 해를 찾는 것과는 멀어진다. 학계의 분위기는 ‘공식’이 나오지 않으면 논문으로 인정해주지 않기 때문에, 연구자들은 현실과는 다소 괴리가 있는 마르코프 과정을 포기하지 못하고 있다.

강화학습이라고 불리는 계산법은 ‘공식’이 없어도 답을 찾아준다는 관점에서 분명히 매력적이다. 그러나 계산기는 계산을 잘 해주는 것이지, 만능이라고 볼 수 없다. 인공지능이 주식 투자를 해준다는 로보 어드바이저, 인공지능이 진료를 완벽하게 대체할 수 있다는 시도 등 19×19의 바둑판과 같은 단순한 벡터 공간을 벗어난 데이터들로 하는 모든 ‘현실 적용’은 이미 실패해왔다.

예컨대 주식의 수익률이 정규분포라는 무작위성을 따른다는 전문가들도, 알고리즘도 원래부터 무작위성을 따르는 수익률 분포 자체를 바꾸지 않고는 지속적으로 시장을 이길 수 없다는 사실이 증명이 되었다.  또한 인공지능이 현실 의료를 대체할 수 있을 것이라는 시도는 당장 언어 처리부터 장벽이 있었으며, 간단한 처방 이외의 패턴 매칭도 좋은 퍼포먼스를 내지 못했다.

이 계산기가 유의미한 곳은 마르코프 과정을 약간 느슨하게 따르며, 시뮬레이션을 해야하는 벡터 공간이 크지는 않은 작은 모형 정도일 것이다. 바둑판이 이와 정확하게 일치한다. 19×19 평면을 벗어나지 않기 때문이다. 그런데 우리가 일상에서 만나는 현실은

  • A. 모르는 변수
  • B. 무작위성
  • C. 노이즈

가 점철된 데이터가 만드는 벡터 공간이다. 이러한 현실 세계에서 강화학습, 계산기가 작동하기 위해서는 최소한의 가정이 먼저 수립되어야 한다. 근의 공식이 없는 4차 이상의 방정식도 일단 식을 넣어야 계산기가 답을 구해줄 수 있다는 것이다.

 

나가며 – 인공지능(강화학습)으로 찾아온 인류의 위기?

지금 상황은 컴퓨터 성능이 좋아져서 고급 계산기가 나온 것과 같은 상황이다. 그러나, 계산기가 아무리 좋아져도 문제를 읽고 식을 세워지 못하면 이를 활용하지 못한다. 계산기의 성능이 엄청나게 발전해서 모든 것을 다 ‘예측’할 수 있는 상황이 온다는 이야기는 세상의 모든 일이 결정론적 관점에서 움직인다는 19세기 초반 프랑스 수학자들의 몽상과 같은 이야기와 같다. 당시 결정론으로 모든 젊은이들을 의지박약으로 이끌었던 라플라스의 수학 논리는 ‘라플라스의 악마’로 불렸다.

지난 200년 동안 인류는 나비효과, 하이젠베르그의 불확정성 원리 등 수많은 수학, 물리학, 통계학 지식을 쌓아올려가며 결정론이 보지 못하고 있는 무작위의 위력을 겪으며 살고있다. 오늘날 강화학습으로 모든 것을 해결할 수 있다는 말들이 세상에 만연하고 있다. 이러한 여론이 21세기판 라플라스의 악마, ‘강화학습 악마’를 만들어내고 있는 것은 아닌가 우려가 깊어진다.

위의 부족한 글로 그러한 오해가 조금이라도 해소되었으면 한다.

Similar Posts