|
[이세돌 VS 알파고] | 감동근 2016-02-07 오전 11:15 |
▲ 구글의 알파벳의 인공지능이 수순을 탐색하고 결정하는 트리, 출처(구글) |
지난 2월 4일 아주대 전자공학과 감동근 교수의 'AlphaGo’(알파고)와 이세돌 9단의 대결에 부쳐' 가 오로뉴스에 게재되었습니다. 감동근 교수는 2월 6일 '2편'을 보내왔습니다. 2편에서 감동근 교수는 현재 알파벳에 적용된 인공지능 기술의 놀라운 성과와 능력치, 알고리즘을 알기쉽게 설명하고 '이세돌-알파고'대결의 향방을 예측합니다. '2편'을 게재합니다. - 오로바둑
'AlphaGo’(알파고)와 이세돌 9단의 대결에 부쳐 1편
'AlphaGo’(알파고)와 이세돌 9단의 대결에 부쳐 – 두 번째
1. 서론
첫 번째 글이 나간 이후 몇몇 인공 지능 분야를 연구하고 계신 지인들께서 최근 deep learning (딥러닝) 기법이 이룬 놀라운 성과들을 소개해주셨다.
사례 1: http://youtu.be/U_Wgc1JOsBk
사례 2: http://youtu.be/-R9bJGNHltQ
지난 글에서 컴퓨터의 인지 능력을 개와 고양이를 어렵게 구분하는 수준으로 여겼는데 요 며칠 딥러닝 분야를 공부하면서 내가 과문했음을 알게 됐고, 잘못 전달한 정보를 바로잡기 위해 두 번째 글을 쓰기로 했다. 나는 딥러닝 분야의 전문가는 전혀 아니지만 (내 전공은 반도체 시스템에서의 전자파 장해 문제이다) 내 눈높이에서 파악한 딥러닝 기법을 설명하고, 그것을 바탕으로 이번 대결과 그 이후에 벌어질 일들을 예상해보고자 한다.
2. 인공 신경망
이전 글에서 설명한 것처럼 사진을 보고 개와 고양이를 구분하는 등의 인지 문제를 규칙 기반 프로그래밍으로 접근하는 방식은 규칙을 (모든 예외를 포함해서) 정의하기도 어렵고 성능도 떨어진다. 이의 대안으로 제시된 인공 신경망 (artificial neural network)은 인간 및 인간과 유사한 동물의 뇌가 동작하는 방식에 관해 우리가 알고 있는 사실에서 영감을 받아 만든 것이다. 인간의 지능이 아무리 강력하고 신비한 존재라 하더라도, 물리적인 차원에서 보면 뇌 안에 시냅스로 연결된 뉴런들이 주고받는 전기 신호의 상호작용으로 벌어지는 현상이다. 즉, 특정한 순간 인간의 정신 상태는 복잡한 신경망 내에서 어떤 뉴런들이 활성화되어 있느냐로 나타낼 수 있다. 그렇다면 이러한 현상을 흉내 냄으로써 지능도 흉내 낼 수 있지 않을까 하는 시도인 것이다.
파블로프는 개에게 먹이를 줄 때마다 종소리를 들려주면 나중에는 종소리만 들어도 개가 침을 흘리게 된다는 실험을 통해 ‘조건 반사’라는 일종의 학습 능력을 증명했다. 이 실험을 신경망 이론으로 설명하면 그림 1과 같다. 원래 개는 음식을 봐야 침을 흘린다. 이는 무조건적인 반사 행동으로, 뉴런 1이 시각 신호에 의해서 활성화되면 그 신호가 시냅스 1을 통해 뉴런 3에 전달되고 그 결과 침 분비 신호가 근육으로 보내진다. 그런데 개에게 음식을 줄 때마다 종소리를 들려주면, 시냅스 1이 활성화될 때마다 시냅스 2도 활성화되고, 그 결과 시냅스 2가 강화된다고 설명한다. 나중에는 시각 신호 없이 청각 신호만 줘도 뉴런 2의 활성 상태가 시냅스 2를 통해 뉴런 3에 전달되고 결국 침이 분비되는 것이다.
직관적인 설명을 위해 간단하게 도식화한 위 모델을, 지능을 구성하는 더 복잡한 기능을 흉내내기 위해 확장해서 프로그램으로 구현한 것이 다음 그림 2와 같은 인공 신경망이다. 각각의 노드 (실제 신경망의 뉴런에 해당)가 하는 역할은 아주 단순해서, 자기보다 앞 단의 노드들이 내놓은 출력값에 각각 가중치 (시냅스의 결합 세기에 해당)를 곱한 다음 모두 더해 특정 값을 넘으면 활성화된다 (즉, 다음 단으로 신호를 출력한다).
인공 신경망의 핵심은 바로 각 노드가 사용하는 가중치에 있다. 아직 ‘학습’을 전혀 거치지 않은 인공 신경망은 무작위로 설정한 가중치를 갖고 있다. 이를 갖고 입력 값을 처리했더니 옳지 않는 출력 값이 나왔다고 하자. 이번 실수를 올바른 결과로 바로잡기 위해 자기가 가진 노드 가중치들을 조금씩 조정하는 것이 인공 지능에서 말하는 ‘학습’이다. 반복되는 실수와 학습을 거칠수록 인공 신경망의 정확도는 향상된다.
3. 알파고
바둑에서 다음 수를 결정할 때 모든 경우의 수를 따지는 것은 슈퍼 컴퓨터에 몬테 카를로 탐색 기법을 적용하더라도 턱도 없이 불가능하다. 그러나 사람은 돌의 형태에 따라 떠오르는 몇 가지 급소(흔히 일감, 이감이라고 하는)를 중심으로 탐색(수읽기) 공간을 효과적으로 줄여 나간다. 이 과정은 고도로 추상적인 지능 활동이다. 현재의 모양을 간략화해서 특징을 찾아내고, 기존에 알고 있는 모양과 유추해서 급소를 찾아내야 하기 때문이다. 또한, 판 전체의 배석 관계에 따라 부분적인 형태에 따른 급소가 정수가 아닌 경우도 많다.
이러한 고도의 패턴 인식 문제를 푸는데 유력한 방법이 그림 2의 은닉 층(hidden layer)을 다수 개 사용한 인공 신경망 (deep neural network 혹은 deep learning) 기법이다. 바둑의 경우에는 현재 돌의 배치와 다음 착점을 나타내기 위해 최소한 19 x 19개의 입력(input) 노드와 19 x 19개의 출력(output) 노드가 필요하다. 특정 입력(현재 상황)으로부터 특정한 출력(다음 수)이 어떻게 결정되는지 도무지 알 수는 없지만 (단순한 수식으로 표현할 수는 없지만), 앞서 설명한 대로 이는 고도로 추상적인 지능 활동이므로 입력 층과 출력 층 사이에 다수의 중간 단계를 넣어 흉내 내고자 한 것이다.
인공 신경망에서 ‘학습’이란 시행착오를 통해 각 연결의 가중치(계수, coefficient)를 찾는 과정이라고 했다. (논문에 발표된) 알파고는 13개의 은닉 층을 썼다. 1층에 19 x 19개의 입력 노드가 있고 15층에 19 x 19개의 출력 노드가 있는데, 그 사이 2층부터 14층까지 층마다 수십~수백 개의 중간 노드를 둔 것이다. 그러면 노드 간 총 연결 수는 수백만 개에 이를 것으로 추측된다. 이러한 아이디어 자체는 이미 1970년대에 나온 것이다.
다만, 이 정도로 복잡한 신경망의 학습을 위해서는 막강한 계산 능력 외에도 풍부한 샘플(big data)이 필요한데, 컴퓨터 하드웨어의 끊임없는 발전과 인터넷 바둑의 활성화로 축적된 전자 기보가 이를 가능케 했다. 알파고는 KGS의 6~9단 유저들의 기보 16만 건에서 추출된 약 3천만 건의 데이터를 사용해서 수백만 개의 미지수(가중치)를 각종 최적화 기법으로 찾은 것이다. 각각의 중간 노드와 연결 가중치가 어떤 의미를 갖는 지는 이 문제를 푸는 데 별로 중요하지 않다. 딥 러닝 기법의 핵심은 컴퓨터가 취약했던 고도의 인지 문제를, 컴퓨터가 강력한 힘을 발휘할 수 있는 계산 문제로 치환하는 데 있다.
4. 알파고 vs 이세돌
판후위 2단과의 대결이 벌어졌던 작년 10월의 알파고의 기력은 비공식 대국에서 3승 2패를 거둔 것으로 볼 때 판후위와 비슷하거나 약간 센 정도로 생각된다. 여러 프로 기사들의 증언에 따르면 초일류 레벨과는 두 점 이상 차이가 난다.
내가 DeepMind의 알파고 개발자라면 3월에 있을 이세돌 9단과의 대결을 위해 알파고를 다시 학습(알파고2라고 하자) 시킬 것이다. 기존의 알파고(알파고1)는 KGS의 6~9단 유저들의 기보 16만 건을 닥치는 대로 학습했는데 이 중에는 절대 배워서는 안될 행마도 수두룩할 것이다. 이것이 최종 학습 결과(즉, 도출된 연결 가중치)에 어떤 식으로든 악영향을 끼쳤을 가능성이 높다.
그렇다면 알파고2는 보다 엄선된 기보 만으로 학습하는 것이다. 프로 기사들의 기보 만으로 한정한다든지, 샘플 수가 부족하다면 인터넷 사이트 기보 중에서 양질의 것을 추려서 추가하는 식으로 말이다. 적당히 돌아가는 인공 신경망이 있으면 왜곡된 샘플을 배제하기가 쉽다. 즉, 이미 상당한 기력을 갖춘 알파고1으로 하여금 각 기보를 평가하게 해서 참고할 가치가 있는 것만 자동으로 수집하게 할 수 있다.
또한 은닉 층의 개수를 늘리는 등 좀 더 복잡한 신경망을 시험해볼 수도 있겠다. 알파고1이 수백만 개의 연결(시냅스에 해당)을 갖췄지만 이는 하등 동물의 뇌에도 못 미치는 수준이다. 인간은 대뇌 피질에만 약 100억 개 이상의 뉴런이 10의 100만승 개나 되는 시냅스로 연결돼 있다고 한다. 알파고2가 3월까지 얼마나 강해질 수 있을지 궁금하다.
앞으로 딥 러닝 기법이 발전하고 컴퓨터의 연산 능력이 발전함에 따라, 또 엄선된 데이터베이스가 증가함에 따라, 알파고가 진화를 성공적으로 거듭한다면 궁극적으로는 초일류 프로기사의 ‘감각’을 갖출 수 있을 것이다.
3인 상담기로 벌어진 지난 금용성배 결승에서 우리의 박정환-김지석-이동훈 팀은 거의 완벽한 기보를 남기며 우승했다. 20xx년, 알파고10과 겨룰 당대 최고 기사는 100인 상담기를 상대하는 듯한 느낌을 받을 것이다. 작전의 일관성이 떨어질 소지가 있지만 알파고10의 초, 중, 종반에 어디 하나 빈틈이 없다면 선으로도 어려울 지 모르겠다.
단, 아무리 복잡한 신경망이라도 전혀 새로운 패턴이 입력되었을 때 황당한 값을 출력할 가능성은 여전히 유효하다. 그럴 일이 없기를 바라지만, 혹시 이세돌 9단이 궁지에 몰리면 초반 괴초식으로 승부를 걸어봐야 한다.
누군가 “인공 지능의 반대편에 베팅하는 것은 어리석다”고 했다지만, 나는 이세돌 9단의 승리를 고대한다. 바둑에는, 수백만 개의 별 의미도 없는 가중치를 계산하는 것으로는 극복할 수 없는, 더 높은 차원의 무엇인가가 있다고 믿고 싶기 때문이다!
|