본문 바로가기

IT

이세돌과 알파고 대결, 어떤 알고리즘이 사용됐을까?



알파고의 인공지능에 관해 세계적인 전문가로부터 자문을 받았습니다. 그것을 글로 옮기려면 저의 공부가 추가적으로 이루어져야 합니다. 그분이 추천해준 책(영문)을 읽지 못했기에 확실하게 답해드릴 수 없음을 이해해주십시오. 알고파의 인공지능에 대해 구글검색을 해보시면 수없이 많은 자료들이 뜨는데 그것만 봐도 충분한 이해가 생길 것으로 보입니다. 아래의 글박스는 제가 받은 자문 내용입니다. 다시 한 번 자문에 응해준 것에 감사한 마음을 전합니다.  





바둑문제는 rule(바둑판위에 돌을 놓는다 등)이 있고 명백한 답(승리 수순)이 있는 문제입니다. 이 문제는 NP-complete 문제로 대표적인 것이 salesmans travel 문제이며 Graph theory에 의해 해결됩니다. 예를 들어 10개의 점을 종이 위에 찍고 선으로 연결해서 삼각형을 그리는 문제와 같은 것입니다. 그러나 점이 많아지면 경우의 수가 엄청 많아져서 유한한 시간 내에 답을 찾기가 쉽지 않습니다. 


과거에는 사람이 더 빨랐는데 지금은 컴퓨터가 더 빠른 문제의 하나입니다.이 문제의 확장판은 핸드폰 지구국 설치 문제와 비슷합니다(또는 VLSI 설계). 지난 20-30년 동안 통신네트워크 발전과 함께 이 분야를 연구하는 사람들도 많아 져서 엄청 큰 graph search 문제를 효과적으로 접근할 수 있는 수학 정리(theorem, heuristics)들이 많이 발견되었고 병렬컴퓨터를 써서 시간 단축이 가능한 기법도 개발되었습니다.


과거 인공지능 개발은 rule을 입력하는 expert system 위주였는데 학습을 추가한 neural network이 적용된 후에도 발전이 느리다가 최근 10~20년에는 graph search 문제와 결합해서 알파고와 같은 프로그램 개발이 가능하게 되었지요. 현재는 '대상 문제의 rule을 정해 주면 빠른 시간 내에 아주 복잡한 NP-complete 문제를 해결할 능력을 갖추었다'라고 보면됩니다.


아직은 문제의 rule이 무엇인지 컴푸터가 알아 듣게 하는 것은 사람의 역할 입니다. 앞으로 인공지능이 다른 인공지능을 개발할 능력(문제의 rule을 도출)을 가지는 상태를 (technological) singularity (또는 (기술) 특이점)라고 부르며 많은 사람들이 우려하고 있지요. wikipedia에서 singularity에 대한 설명이 있습니다. 



위의 자문 내용을 저는 충분히 이해했는데, 그 과정에서 위키백과의 도움을 받았습니다. 먼저 사용된 전문용어에 대해 이해해야 하니, 제가 검색한 내용을 글박스로 옮겼습니다. 최종적인 설명은 그 다음에 하겠습니다. 





다항 시간(多項時間)은 어떠한 문제를 계산하는 데에 걸리는 시간 m(n)이 문제의 크기 n 다항식 함수보다 크지 않은 것을 가리킨다. 대문자 O 표기법을 사용하면 m(n) = O(nk)이 된다. 여기서 k는 문제에 따라 다른 상수 값이다. 일반적으로 입력 길이의 다항 시간이 걸리는 경우를 '빠른', 혹은 '다루기 쉬운'(tractable) 경우라고 표

한다. 반대로 다항 시간보다 오래 걸리는 경우를 초다항 시간(超多項時間)으로 부르며, 이 경우는 '다루기 

든'(intractable) 경우로 표현한다. 초다항 시간에 속하는 예로는 지수 시간이 있다. 결정론적 튜링 기계로 다

항 시간에 풀 수 있는 판정 문제 복잡도 종류 P이다. 다항 시간에 답이 맞는지 틀린지를 검사할 수 있는 판

정 문제의 복잡도 종류는 NP다. 다시 말하면, NP는 비결정론적 튜링 기계로 다항 시간에 풀 수 있는 판정 문

의 복잡도 종류이다.


다항 시간은 바둑처럼 경우의 수가 많은 문제를 계산할 때 걸리는 시간을 말합니다. 알파고의 인공지능은 이런 다항 시간을 최대한으로 줄이는 과정에 있으며, 학습(갈수록 고수와 바둑을 두는 것)을 통해 다항 시간은 줄어듭니다. 음성인식의 첫 번째 단계인 TTS는 텍스트를 음성으로 바꾸는 것으로 해당 텍스트를 여러 번 읽으면 아나운서 수준에 이릅니다. 



가장 초보적인 음성인식이 이렇게 이루어지는데 알파고의 인공지능도 18급에서 시작해 비슷한 방식으로 최고수의 수준에 이르게 됩니다. 지금까지 수천만, 수억 번의 가상대국을 통해 알파고의 인공지능도 지금의 수준에 이르렀고, 다항 시간이 점점 빨라져 이세돌을 3판이나 내리 이길 수 있었습니다. 오늘 알파고의 인공지능이 이세돌을 넘지 못한 것은 학습능력이 부족함을 말해줍니다. 



물론 이세돌과의 대국을 통해 알파고의 인공지능은 한 단계 더 발전합니다. 구글의 연구자들이 미쳐 생각하지 못한 것들도 얻었을 터이고요. 인공지능의 알고리즘에 어떤 부분을 더해야 무적의 바둑고수가 될지, 경우의 수를 어디까지 넓힐지, 그런 것들에 대해 많이 깨달았을 것입니다. 다시 말해 엄청난 비용(모든 방송이 실시간 중계하고 뉴스마다 떠들어댄 것은 구글이 천문학적인 광고비를 풀었음을 뜻한다)을 들였지만 그만큼 회수할 것이 풍부해진 것입니다. 당장 딥마인드의 주가가 폭등했다고 합니다.   


 

                                                  Gragh searching 과정  




NP 비결정론적 튜링 기계(NTM)로 다항 시간 안에 풀 수 있는 판정 문제 집합으로, NP는 비결정론적 다항시간(非決定論的 多項時間, Non-deterministic Polynomial time)의 약자이다. NP에 속하는 문제는 결정론적 튜링 기계로 다항 시간에 검증이 가능하고, 그 역도 성립한다. 또한 결정론적 튜링 기계로 다항 시간 안에 풀 수 있는 문제는 비결정론적 튜링 기계로도 다항 시간 안에 풀 수 있으므로, P 집합은 NP 집합의 부분집합이다. 이때 P가 NP의 진부분집합인지, 혹은 P와 NP가 같은지에 대해서는 아직 알려지지 않았고, 이 문제는 P-NP 문제로 불린다.

NP-complete(NP-완전, NP-C, NPC)은 NP 집합에 속하는 결정문제 중에서 가장 어려운 문제의 부분집합으로, 모든 NP 문제를 다항 시간 내에 NP-완전 문제로 환산할 수 있다. NP-완전 문제 중 하나라도 P에 속한다는 것을 증명한다면 모든 NP 문제가 P에 속하기 때문에 P-NP 문제가 P=NP의 형태로 풀리게 된다. NP-완전 문제 중의 하나가 P에 속하지 않는다는 것이 증명된다면 P=NP에 대한 반례가 되어 P-NP 문제는 P≠NP의 형태로 풀리게 된다.

Gragh theory(래프 이론)에서 말하는 그래프는 기하학적으로 정확한 형식이 있는 것은 아니지만 결절점(結節點:또는 점·꼭지점)과 1쌍의 결절점을 연결하는 선으로 이루어져 있다. 유향(有向) 그래프에서 모든 선은 방향을 가지며, 도로망, 전기회로망, 탄화수소분자구조, 다면체의 꼭지점과 모서리·명령계통·가계도(家系圖) 등은 그래프나 유향 그래프로 나타낼 수 있다. 행정지도와 관계있는 2가지 그래프 가운데 하나는 경계선을 나타내는 그래프이고, 다른 하나는 각 지역에 결절점을 찍고 경계선으로 나눈 각각 1쌍의 결절점을 연결한 그래프이다. 

1735년 스위스의 수학자 레온하르트 오일러는 옛날부터 전해오던 쾨니히스베르크 다리에 대한 수수께끼를 분석·발표했다. 이 수수께끼는 섬을 가운데 두고 양 옆으로 갈라져 흐르는 강에 놓인 7개의 다리를 1번씩만 건너서 모든 다리를 건너는 방법을 알아내는 것이다. 그는 이 수수께끼의 답이 존재하지 않음을 증명했고, 이 문제를 가능한 모든 회로망에 일반화시켜 오늘날의 그래프 이론과 위상기하학(位相機何學)이 나오게 되었다. 

그래프 채색이란 연결된 결절점들을 서로 다른 색으로 칠하는 방법으로서, 이 방법을 이용하여 시간표를 짤 수 있다. 예를 들어 학생과 교사들이 수업시간표를 짤 때 수업시간을 결절점으로 표시하고, 똑같은 교사나 학생이 그 시간에 있을 경우 두 결절점을 연결하여 색칠하면 시간표를 겹치지 않게 짤 수 있다. 이 경우 색깔은 시간표를 나타낸다.




다항 시간을 줄이는 일은 학습으로만 이루어지지 않습니다. 바둑의 경우 경우의 수 10의 170승에 이르기 때문에 경우의 수를 줄일 필요가 있습니다. 바닥판에 놓은 돌이 많아질수록 경우의 수가 주는 것처럼, 무한대가 나오는 맨 첫 수부터 경우의 수를 살펴볼 수 없습니다. 이때 사용되는 것이 NP입니다. 상대의 수준에 맞춰, 수순이 이루어질 때마다 경우의 수를 최소화하면서도 최적화된 수를 찾아낼 수 있도록 다음 수의 범위를 한정하는 것입니다. 



예를 들어 영업사원이 특정 제품이나 서비스를 팔려 할 때 모든 기업과 사람이 대상이 될 수 없습니다. 이익을 남기려면 영업대상을 한정해야 합니다. 최소비용을 통해 최대이익을 거둘 수 있는 영업 플랜을 짜서 그에 따라 움직여야 합니다. 그런 과정에서도 수없이 많은 실수를 하게 되며, 그렇게 영업노하우가 쌓입니다. 영업의 고수가 되는 것이지요. 'salesmans travel'이 이를 말하면 그것을 인공지능에 적용한 것이 Gragh theory(그래프 이론)입니다.  



                                               VLSI가 적용된 마이크로칩



VLSI[뷔엘에스아이]는 컴퓨터 마이크로칩의 소형화 수준을 가리키는 용어로서, 하나의 마이크로칩에 수십 만개, 즉 104개 이상의 트랜지스터가 들어 있는 것을 의미한다. LSI (large-scale integration)는 수천 개의 트랜지스터가 들어있는 마이크로칩을 의미한다. 이전의, MSI (medium scale integration)는 수백 개의 트랜지스터가 들어있는 마이크로칩을, 그리고 SSI (small-scale integration)는 수십 개의 트랜지스터가 집적되어 있는 마이크로칩을 각각 의미하였다.



양자컴퓨터나 슈퍼컴퓨터 정도가 되면 NP의 속도가 빨라집니다. 이럴 경우 인간이 인공지능과 바둑을 둬 이길 가능성은 제로에 가까워질 것입니다. 알파고의 인공지능은 병렬컴퓨터(흔히들 말하는 크라우딩 기법으로 수천 대의 컴퓨터를 하나로 묶어 슈퍼컴퓨터에 해당하는 CPU를 확보하는 것)의 역할을 대행하는 VLSI가 장착돼 있을 것이고, 그것마저도 병렬로 돼있을 가능성도 높습니다. 



알파고의 인공지능이 어마어마한 속도로 어마어마한 양의 계산을 할 수 있는 것도 이 때문입니다. 다만 다항 시간 내에 풀 수 있는 경우의 수, 즉 집합의 크기에 한계가 있기 때문에 오늘은 이세돌에 패했던 것입니다. 음모론적으로 보면 인공지능이 인간의 일자리를 대체할 것이라는 거대한 후폭풍 때문에 구굴이 어제까지의 인공지능보다 낮은 것을 돌렸을 가능성도 배제할 순 없습니다. 



아무튼 알파고의 인공지능이 NP-완전, 즉 최적의 수를 찾는 것이 이전의 어떤 인공지능보다 빨라졌다는 것을 말해줍니다. 이는 알파고의 인공지능을 다른 분야에 넓혀도 최고의 수준에 이른 결과를 낼 수 있다는 것을 뜻합니다. 과학과 기술의 발전이 인간을 풍요롭게 하던 시절은 이미 지났음을 말해주는 것이 알파고의 인공지능입니다. 이제 인공지능은 인간을 대체할 거의 마지막 단계까지 이르렀습니다.



                                                   Deep neural networking                                                  


모든 인류가 걱정하는 마지막 단계는 Gragh theory(그래프 이론)를 넘어서는 것을 말하는데, 그 전에 통신사의 기지국 시스템을 설명해야 할 것 같습니다. 우리가 알고 있는 통신사의 기지국은 스마트폰과 기지국까지만 무선입니다. 기지국들은 유선으로 연결돼 있습니다. 최근에는 인공위성과 wipi 같은 무선랜을 이용하기 때문에 무선의 영역이 넓어졌지만 통화를 하려면 기지국(가상 기지국 포함)을 거치는 것은 변함이 없습니다. 



보통 기지국은 동시접속자수가 한정돼 있습니다. 제가 통신사업을 할 때는 동시접속자수가 274명이었습니다. 그 이상이 동시에 접속하면 기지국이 다운돼 통화가 이루어지지 않았습니다. 이 때문에 하나의 폰은 주변에 있는 3개의 기지국과 15초 간격으로 신호를 주고 받습니다. 동시접속이 몰렸을 때 다른 기지국으로 돌려지게 하기 위함입니다. 이렇게 동시접속을 분산해서 통화불통, 착신지연, 통화품질 등을 최상으로 제공하고자 합니다.



지금은 이런 분산을 최적화하기 위한 기하학적 수학 정리(쉽게 말하면 salesmans travel이 극대로 발전한 것, 뇌의 뉴런과 시냅스가 촘촘한 회로망을 구축해 지식과 학습, 판단의 체제를 형성하는 심층신경회로망(deep neural network)을 모방한 알고리즘이 Gragh theory(그래프 이론)을 활용할 수 있게 만든 프로그램, 구글의 딥마인드는 자신의 인공지능에 몬테칼로식 트리서치를 이용했다고 한다)가 사용되고 있을 것으로 보입니다.  



오늘 알파고의 인공지능이 이세돌에게 패한 것에서 보듯, 현존하는 모든 인공지능은 기술 특이점에 이르지 못한 것은 분명합니다. 기술 특이점이란 학습능력을 지닌 인공지능이 인간의 뇌처럼 작용할 수 있도록 만들어주는 궁극의 수학 정리를 말합니다. 즉, 인간이 rule를 주는 대로 작동하는 인공지능이 스스로 rule을 정해 자기 맘대로 작동하는 것입니다. 우리 모두가 걱정하는 세상, 인공지능이 인간을 지배하는 세상이 도래하는 것입니다. 



필자는 물론, 저를 자문해준 최고의 인공지능 전문가도 기술 특이점이 출현하는 것에 걱정을 하고 있습니다. 그 다음에 벌어질 일들이란 인간이 추론할 수 있는 능력밖이지만, 분명한 것은 인간도 인공지능이 활용하는 one of them에 불과해진다는 것입니다. 그런 세상이란, 리처드 토킨스가 《눈먼시계공》에서 주장했듯이, 인류가 지구의 마지막 지배자로 남아야 할 어떤 근거와 정당성도 없다는 것(도킨스가 신을 부정하는 근거)이 옳았다고 말하는 것이 인류가 할 수 있는 전부인 디스토피아일 수도 있습니다.



과학기술의 발전을 어디까지 허용해야 하는 것일까요? 어쩌면 미국이 일본의 두 개 도시에 핵폭탄을 투하한 순간 과학기술에 적용될 수 있는 윤리학의 마지노선이 무너졌다고 할 수 있습니다. 분명한 것은 인류가 '진보의 낙관론'을 앞세워 스스로의 종말를 향해 맹렬히 달려가고 있다는 것은 확실합니다. 극소수가 부와 권력을 독점하는 신자유주의 세상에서 과학기술의 폭주를 막기 위한 어떤 윤리적 기준도 제시할 수 없고, 그 끝에는 인류의 종말이 자리하고 있다는 것만 다시 한 번 상기하는 것으로 긴 글을 끝낼까 합니다. 



                                                                                                    사진 출처 : 구글이미지