“바둑이 워낙 복잡한 게임이다 보니 결과야 섣불리 예측할 수 없겠지만 50:50이라고 봅니다.

구글 산하 딥마인드 창업자인 데미스 하사비스(Demis Hassabis)의 말이다. 그가 말한 승부는 오는 3월 서울에서 열린다. 세계 최고수 이세돌 9단과 구글 딥마인드가 머신러닝 기술을 바탕으로 개발한 인공지능 프로그램인, 알파고(AlphaGO)가 상금 100만 달러를 걸고 5판 승부를 펼치는 것. 승자의 타이틀을 과연 누가 거머쥘까.

알파고는 이미 한 차례 인간을 넘어섰다. 중국계 유럽 바둑 챔피언 판 후이 프로2단을 상대로 5번의 대국에서 모두 승리를 거둔 것이다. 이 대결에서 알파고는 바둑에서 처음으로 프로 기사를 이긴 세계 첫 인공지능 프로그램이라는 명칭을 얻게 됐다. 이세돌 9단과의 승부를 앞두고 있지만 승리 여부와 상관없이 알파고는 인공지능 기술의 가능성을 보여준 상징적 사건으로 기억될 것이다. 사실 1997 IBM의 딥블루가 인간과의 대결에서 체스 챔피언을 무너뜨린 바 있고 한술 더 떠서 2011년에는 IBM의 인공지능 프로그램인 왓슨(Watson)이 인간과 퀴즈 대결을 펼치며 퀴즈 챔피언을 꺾기도 했다. 그런데 이번 알파고에 더 놀라는 이유는 뭘까.

 


1996년 게리 카스파로프와 딥블루의 첫 체스 대결에서는 카스파로프가 6 321패로 딥블루를 물리쳤다. 그러나 1년 뒤에 벌어진 대국에서는 기존보다 성능이 향상된 딥블루가 213무의 전적으로 세계 체스의 전설을 물리쳤다.


전통적인 게임 트리 탐색

그 비밀을 풀어보려면 1997년 딥블루가 당시 체스 세계 챔피언인 게리 카스파로프를 상대로 체스 경기를 이겼을 당시로 돌아가 볼 필요가 있다. 당시, 인간과 인공지능의 게임 대결을 위해 취한 방식은 게임 트리 탐색(Game Tree Search) 알고리즘이다. 2명이 번갈아 가면서 수를 놓는 체스 같은 게임에서 인공지능을 구현할 때 쓴 것인데 상대방이 A에 두면 B에 놓는 식으로 게임 트리를 구성하는 것이다. 말의 위치에 따라 다음 수를 예측해서 인공지능이 더 유리해질 수 있는 수를 찾는 방식이다. 쉽게 말하자면 모든 경우의 수를 입력해줘야 한다.

IBM은 당시 딥블루에 모든 경우의 수를 입력하는 무작위 대입 방식(Brute Force)을 적용했다. 체스를 기준으로 보면 모든 경우의 수는 3580개다. 모든 경우의 수를 미리 입력해뒀으니 게리 카스파로프가 한 수를 두면 나머지 수는 찾기만 하면 그만이다. 또 딥블루는 대결 전에 이 체스 거장이 둔 게임 결과와 관련 정보를 전부 사전에 머릿속에 입력해둔 상태였다.

2011년 왓슨은 TV 퀴즈쇼인 제퍼디에서 인간 챔피언을 눌렀다. 게임 트리 탐색 알고리즘을 쓴 건 아니지만 특별한 사례를 DB화한 다음 모두 입력하고 특정 주제에 한정해 찾아서 답변하는 단순화된 계층화 프로세스였다는 점에선 크게 다르지 않다. 이들 방식은 “미리 입력된 정보를 얼마나 빨리 찾느냐”의 성격이 강했다.

하지만 인공지능을 구현하는 이러한 방식의 한계는 앞선 예로 따지면 딱 체스까지다. 바둑에서 발생할 수 있는 경우의 수는 250150에 달한다. 경우의 수를 놓고 비교해보면 바둑의 돌 놓는 위치는 체스보다 10100 이상 많다고 한다. 구글이 보도자료에 자랑스럽게 “우주에 있는 원자 수보다 많다”고 말하는 이유도 여기에 있다. 경우의 수가 늘면 그것을 입력했다고 쳐도 또 다른 문제가 발생한다. 엄청난 처리량, 계산량을 감당해야 한다는 것이다. 단순 입력으로는 감당하는 데 한계가 있다.

알파고는 물론 요즘 인공지능은 몬테카를로 트리 탐색(Monte Carlo Tree Search) 알고리즘을 이용한다. 최근 개발되는 인공지능에 많이 쓰이는 것으로 게임 트리 탐색 알고리즘 같은 고전적인 방식에 시뮬레이션을 결합한 것이다. 앞서 설명했듯 기존 게임 방식은 모든 트리 구성을 한다. 그러니까 경우의 수를 모두 넣는 것이다. 하지만 몬테카를로 트리 탐색은 이런 모든 트리를 대상으로 하는 게 아니다. 시뮬레이션을 이용해 가장 가능성이 크다고 판단되는 쪽으로 의사를 결정하게 하는 탐색 방법이다.

인공지능이 이런 가능성을 찾으려고 할 때 도움을 주는 보좌관 격인 게 정책망(Policy Network)과 가치망(Value Network)이다. 정책망은 다음 수를 읽어서 승리 가능성이 큰 방향을 알기 위한 것이다. 가치망은 트리마다 위치별 가치를 평가해 승리 가능성을 추정하기 위한 것이다. 이 두가지 함수를 이용해 인공지능은 한 수만 둬도 무조건 최종 단계까지 수를 예상하는 대신 시뮬레이션을 통해 일정 단계까지 추정 계산을 한다.

하지만 몬테카를로 트리 탐색만으로는 부족하다. 바둑에서 ‘가치망’에 해당하는 것은 바로 ‘형세’다. 문제는 이 ‘형세’가 게임을 끝까지 보지 않는 시뮬레이션만으로는 계산이 매우 어렵다는 데 있다. , 형세의 파악이 어려워 가치망은 똑똑한 조언을 할 수 없고, 이렇게 되면 인공지능도 아마추어 기사 수준 이상을 넘어설 수 없다. 알파고가 프로 바둑 기사를 뛰어넘은 비결은 다른 곳에 있다.

 


·  게임 트리 탐색 (Game Tree Search) 알고리즘

컴퓨터 프로그램으로 플레이되는 게임에서 발생 가능한 모든 상황들을 나타내기 위해 구성된 트리. 상대의 말의 위치에 따라 미리 입력된 모든 경우의 수에서 인공지능이 유리해질 수 있는 수를 찾는 방식.

 


알파고는 정책망을 통해 엄청난 경우의 수를 한 번 걸러낸 뒤, 가치망으로 각각에 대한 승률을 평가해 승리가능성이 가장 높은 자리에 바둑을 둔다

·  몬테카를로 트리 탐색 (Monte Carlo Tree Search) 알고리즘

모든 경우의 수를 전부 방문해서 결과를 얻는 대신, 샘플링해서 나온 결과를 가지고 대략적인 근사치를 내는 기술. 바둑에서 일종의 수읽기 기술이라고 할 수 있다.


딥마인드(DeepMind)

구글이 4억 파운드에 인수한 영국 인공지능 개발 기업. 인간의 뇌가 학습하는 구조를 재현한 머신러닝 범용 학습알고리즘, DQN(DeepQ-Network)을 개발해 주목을 받았다.

 

인공지능은 자가 훈련 중

알파고를 만든 딥마인드는 DQN(Deep Q-Network)이라는 인공지능 에이전트 프로그램을 개발한 바 있다. 프로그램을 실행시키면 사람이 손을 대지 않아도 알아서 특정 게임을 마음대로 연습해 점수를 높이는 훈련을 하는 것. 입력이 아니라 훈련이다. 컴퓨터가 혼자서 마음대로 ‘자율학습’을 한다는 얘기다. 실제로 DQN에 게임 49종을 넣고 알아서 학습하게 한 결과 29종에서 인간보다 높은 점수를 냈다고 한다. DQN은 훈련을 거듭할수록 점수를 어떻게 하면 더 잘 낼 수 있는지 알게 된다. 이를 통해 인간보다 무려 13배에 달하는 높은 점수를 냈다고 한다. 여기에서 놀라운 점은 DQN이 애당초 각 게임의 공략 방법을 전혀 몰랐다는 것이다. 단순 알고리즘이라고 생각하기 어려울 만큼 학습 능력을 갖추고 스스로 규칙을 학습했다는 얘기다.

DQN이 이용한 건 바로 강화학습(Reinforcement Learning)이다. 강화학습이란 특정 상황에 있는 에이전트가 일련의 행동을 통해서 보수를 가장 많이 얻을 수 있는 방안을 스스로 학습하게 해주는 것이다. 마치 사람이 게임에서 높은 점수를 얻기 위해 모든 방법을 시도하는 것과도 같다. 처음에 인공지능은 마치 아기와도 같지만 이런 훈련을 거듭하면서 방법을 찾고 이런 관찰 결과를 행동으로 옮기는 것이다.

강화학습처럼 인공지능이 수많은 데이터를 바탕으로 패턴을 찾아 자가 학습하는 방식을 딥러닝(Deep Learning)이라고 한다. 지난 2013 MIT테크놀로지리뷰는 세계를 바꿀 와해성 기술 10개를 뽑으면서 딥러닝의 이름을 올렸다. 딥러닝에 주목하는 이유는 인공지능의 성능을 획기적으로 개선할 수 있기 때문이다.


강화학습 프레임워크 (Reinforcement Learning Framework) 



딥러닝의 혜택은 범용성

딥러닝이나 강화학습은 ‘학습 알고리즘’이라는 인공지능 강화를 위한 새로운 분야다. 딥마인드 창업자인 데미스 하사비스는 이들의 목적을 ‘지능을 해명하는 것(Solve Intelligence)’이라고 말한다. 기계가 조금이라도 인간에 가까운 결정을 내릴 수 있는 시스템을 만드는 게 목적이라는 얘기다.

지금은 음성인식 비서 기능조차 제한적 범위에서만 사용할 수 있지만 자가 학습 능력을 갖춘 인공지능이라면 가능성은 무한대로 확장된다. 이들 인공지능 기술은 다방면에 응용할 수 있다. 예컨대 G메일 인박스는 스마트 답장이라는 기능을 지원한다.

수신한 이메일 텍스트를 분석해 인공지능이 알아서 세 종류의 회신 내용을 제시해주는 것이다. 과거에는 인간이 컴퓨터에 일일이 명확한 정책을 제시해줘야 했다. 확장성이 전혀 없던 정책이다. 하지만 인공지능은 강화학습, 딥러닝을 통해 스스로 학습을 반복해가며 정책을 만들 수 있다. 이런 이유로 심지어 앞으로 10년 뒤에는 인공지능이 과학자가 되리라고 예측하는 전문가도 있다.

어떤 준비를 해야 할까. 물론 이런 서비스 도입에서 중요한 건 툴보다는 데이터가 될 것이다. 구글 같은 기업은 인공지능 엔진인 텐서플로우를 오픈소스로 공개하고 있다. 야후나 네이버 같은 곳도 데이터 세트 일부를 머신러닝을 위해 공개하기도 한다.

하지만 핵심 역량 격인 데이터를 모두 공개하는 경우는 아직까지 없다. 이들 데이터를 지배하지 않으면 직접 개발은 쉽지 않은 게 현실이다. 이러한 면을 고려할 때, 우리는 ‘사물인터넷과의 결합’에 주목할 필요가 있다. 사물인터넷은 지금과는 전혀 다른 거대한 데이터를 모을 수 있는 기회를 만들어줄 것이다. 어떻게 사물인터넷과 인공지능을 접목할 것인지에 대한 아이디어가 새로운 비즈니스를 창출해줄 것이다.

 



머신러닝과 딥러닝, 어떻게 다를까?

머신러닝이란 데이터를 분석해서 특정 패턴을 발견하고 이를 학습하는 모델을 구축하는 기술이다. 또 주어진 데이터에서 일반화된 지식을 추출하는게 목표다. 딥러닝 역시 이런 머신러닝의 일종이다. 다만 딥러닝은 이런 특정 패턴을 발견하고 학습하는 방식 자체가 자율학습이라는 게 가장 큰 차이다. 머신러닝은 데이터를 분석해서 패턴을 인지할 때 분류기를 사용한다. 이런 분류기는 인간이 직접 설계하고 정의한 것이다. 그렇기 때문에 정의되지 않은 내용에 대해서는 아무리 데이터에 다른 형태로 존재하는 패턴이 있더라도 반영되지 않는다.

이에 비해 딥러닝은 자율학습, 즉 인간이 만든 분류기가 아니라 전적으로 데이터에만 의존하는 학습이다. 주어진 데이터에 맞는 특징과 패턴을 추출할 수 있다는 얘기다. 딥러닝의 이런 장점은 구글이나 페이스북, 바이두 등 다양한 기업의 인공지능 기술에 활용되고 있다.



♣ 출처 : SK주식회사 C&C 사보 ‘Create & Challenge 2월호




 

저작자 표시 비영리 변경 금지
신고

티스토리 툴바