AIㆍML / BI|분석 / 데이터ㆍ분석 / 미래기술 / 애플리케이션

알파고란 무엇인가: 알고리즘과 학습 방법으로 이해하는 알파고

이대영 기자 | ITWorld 2016.03.17

"일어나 보니 세상이 달라져 있었다." 이는 이세돌과 알파고 둘 모두에게 해당하는 말이다.
3월 9일부터 15일까지 구글 딥마인드 챌린지 매치에서 이세돌은 인간지능의 대표로, 알파고는 인공지능의 대표로 바둑 대결을 펼쳤다. 이세돌은 인간만이 가질 수 있는 불굴의 의지와 도전정신, 그리고 마지막까지 최선을 다하는 모습을 보여줘 감동을 줬으며, 알파고는 세계 정상급의 바둑 실력을 발휘함으로써 전세계를 놀라게 했다.
이세돌 9단과의 대결에서 4승 1패로 승리한 구글 딥마인드의 알파고(Alphago)는 구글의 인공지능만이 아닌 인공지능 발전의 대표격으로 부각됐다.

발전한 것은 사실이지만 거품과 환상 많다
알파고(AlphaGo)는 구글 딥마인드가 개발한 인공지능 바둑 프로그램으로, 기존 인공지능 바둑 프로그램과의 대결에서 495전 494승을 기록(승률 99.8%)했으며, 지난해 10월에는 유럽 바둑 챔피언인 판후이를 상대로 5대 0 승리를 한 바 있다.

특히 알파고는 세계 최고의 프로바둑기사 이세돌 9단과의 대결에서 4승 1패로 승리를 거둬 인공지능의 우수성을 입증했다. 사실 바둑은 인공지능이 후세대까지 풀지 못할 과제로 인식되어 왔기 때문이다.

그렇지만 알파고는 현존 최강의 인공지능도 아니며 모든 일을 해낼 수 있는 것도 아니다. 알파고는 바둑에 특화된 인공지능 프로그램이며 특정 문제를 해결하는 데 활용될 수 있는 딥러닝 기술이 어느 정도 발전했는 지를 보여줬다는 것이 정확한 평가가 될 것이다. 특히 기존 방법론들을 제대로 융합해 잘 활용한 것에 불과할 뿐 혁신적인 알고리즘이나 방법론을 개발한 것은 아니다.

구글의 딥마인드는 이번 바둑 대결 이벤트를 통해 지금까지 IBM의 왓슨(Watson)이 주도하던 인공지능 인지도를 자사로 가져왔다. 이 점에서 훌륭한 마케팅이었다고 평가할 수 있다.

하지만 현재 각종 미디어에서 전파하는 알파고에 대한 환상과 과대 포장은 인공지능에 대한 일반인들의 선입견이나 두려움을 부풀려 전체 인공지능 발전을 저해할 위험성도 적지 않다.

알파고의 전체 구조
우선 알파고에 대해 알아보자. 알파고는 알려진 대로 인공지능 바둑 프로그램이다. 알파고를 개발한 구글의 딥마인드는 <딥러닝 신경망과 트리 검색으로 바둑 마스터하기(Mastering the game of Go with deep neural networks and tree search)>라는 2016년 1월 네이처 논문을 통해 알파고의 기반 기술과 알고리즘을 자세히 설명해놓았다.

소프트웨어정책연구소에서는 <알파고의 인공지능 알고리즘 분석>이라는 보고서를 통해 알파고의 알고리즘과 기술에 대해 분석했다. 알파고의 일부 소스코드는 깃허브(github)에 공유되어 있다.

알파고는 단일 컴퓨터 버전과 분산 컴퓨터 버전으로 각각 구현됐다. 단일 컴퓨터는 CPU 48개, GPU 8개, 분산 컴퓨터는 CPU 1,202개, GPU 176개로 구성되어 있다. 분산 컴퓨터 버전은 다수의 컴퓨터를 활용해 제한된 시간 내에 최대한의 경로를 탐색하기 위해 개발된 것으로 이세돌 9단과의 대국에서도 분산 버전이 사용됐다.

알파고는 딥러닝 신경망(deep neural networks)과 몬테카를로 트리 검색(Monte-Carlo tree search)을 결합해 전문가로부터의 지도학습(supervised learning)과 자체 경기를 통한 강화학습(reinforcement learning)으로 훈련해왔다.

한 마디로 알파고는 딥러닝으로 구현된 정책과 가치를 활용해 몬테카를로 트리 검색 기법을 통해 바둑을 둔다는 것이다.

몬테카를로 트리 탐색을 통한 착수
알파고의 알고리즘은 현재 바둑에서 가장 널리 사용되는 인공지능 알고리즘인 몬테카를로 트리 탐색이다. 몬테카를로 트리 탐색은 최소-최대(Minimax) 알고리즘의 성능을 개선한 것으로 모든 경로를 탐색하기가 불가능한 상황에 효율적이다.

몬테카를로 트리 탐색의 절차는 선택(Selection), 확장(Expansion), 시뮬레이션(Simulation), 역전파(Backpropagation)라는 과정을 거친다. 현재 바둑판 상태에서 특정 경로로 수읽기를 진행(선택)한 뒤, 일정 수 이상 수읽기가 진행되면 그 지점에 한 단계 더 착수 지점을 예측(확장)한다.

확장에서 선택한 경로를 바둑이 종료될 때까지 랜덤 방식으로 자체적으로 진행한다(시뮬레이션). 계산 속도가 빠르므로 여러 번 수행할 수 있지만 예측 착수의 적정성에는 의문이 있다. 이후 시뮬레이션의 결과를 종합해 확장 선택한 경로에서 가치를 파악(역전파)하고 승산 가능성을 다시 계산한다.

특히 알파고는 확장이 된 후 가치를 평가하기 위한 시뮬레이션 과정에서 마지막 착수 지점부터 게임 종료에 이르기까지 고속 시뮬레이션(Fast rollout) 방식을 수행한다. 고속 시뮬레이션 방식은 빠르게 다음 수를 예측해 게임 종료까지 시뮬레이션 하는 정책으로, 딥러닝 기반의 정책보다는 정확도가 떨어지지만 계산 속도는 약 150배 빠르다. 특히 롤아웃 방식은 전체적인 바둑 상태가 아닌 3x3의 국소적인 위치로부터 다음 수를 예측한다.

착수를 결정하는 '정책'과 바둑 형세를 판단하는 '가치'
몬테카를로 트리 탐색의 핵심에는 정책과 가치라는 두 가지 요소가 있다.

- 정책: 트리의 폭을 제한하는 역할로, 확장 과정에서 주로 사용된다. 측정 시점에서 가능한 모든 수 가운데 가장 승률이 높은 것을 예측한다. 이는 바둑기사의 착수를 결정하는 것이다.

- 가치: 트리의 깊이를 제한하는 역할로, 현재 대국상황의 승산을 나타낸 것이다. 승산이 높을수록 많은 수를 볼 필요가 없다. 가치 네트워크는 바둑의 전체적인 형세를 파악해 현재 승률을 추정한다.

정책은 정확한 가치를 산정하는데 중요한 역할을 하며 게임의 미래 상태를 예측하는 것이어서 게임의 특성과 경험을 반영한다. 알파고는 더 효율적인 정책과 가치를 구현해 바둑 성능을 프로기사 수준으로 끌어올렸다는 데 의미가 있는데, 정책과 가치를 향상시키기 위해 스스로 대국하는 학습기법을 활용했다.


딥러닝 방식, 지도학습, 강화학습을 제대로 결합
알파고와 기존 인공지능 바둑 프로그램과의 차별점은 학습 방법에 있다. 알파고는 딥러닝 방식과 기존 지도학습 기법에 자체 대국을 통한 강화학습 등을 잘 결합했다.
정책 학습에서 알파고는 지도학습과 강화학습 방법을 동시에 활용했으며, 바둑의 전체적인 형세를 파악하는 가치 학습에서는 자체 대결에서 생성된 3,000만 개의 기보로부터 학습했다.

알파고가 선택한 딥러닝 방식은 이미지 처리에 강한 딥러닝 컨볼루셔널 신경망(Deep Convolutional Network) 학습 방식이었다. 이는 국지적인 패턴을 인식하고 이를 결합해 전체를 인식하는 특성이 있다. 딥러닝 컨볼루셔널 신경망은 이미 페이스북의 안면인식 기술인 딥페이스(Deepface)에 적용된 기술이다.

딥러닝 신경망은 기존의 인공 신경망을 확장한 개념으로, 이미 빅데이터 분석이나 안면 인식, 이미지 분류 등에서 활용되고 있는 머신 러닝(machine learning)의 일부다. 딥러닝의 특성은 사람처럼 학습한다는 것에 있다.

이를 통해 알파고는 KGS GO라는 온라인 바둑 사이트의 최고수 기보 16만 개를 5주 만에 학습했다. 알파고는 바둑 기보를 19x19픽셀 이미지로 입력받아 다음 착수를 학습하는 과정을 거쳤다. 이는 바둑 입문자가 기보를 공부해 바둑 기사의 패턴을 습득하는 것과 유사하다.

이런 지도학습의 결과치로 나타나는 정책네트워크는 사람의 착수 선호도를 표현하는 것일뿐 이것이 승리로 가는 최적의 선택이라 판단하기는 힘들었다. 그래서 이를 보완하기 위해 지도학습으로 구현된 정책과 자체 경기를 통해 얻은 3,000만 개의 기보를 통해 결과적으로 승리하는 선택을 강화 학습 과정을 거쳤다.

알파고가 실제 기보로 학습하지 않고 자체 경기를 통해 강화 학습을 한 이유는 바로 과적합(Overfitting) 문제 때문이다. 과적합이란 인공지능이 기존 학습 데이터에 너무 고정되어 새로운 상황을 맞이하면 정책 결정에서 오류를 범한다는 것이다. 이는 머신 러닝 분야에서 풀어야 할 과제 가운데 하나로, 인공지능에서 종종 발생한다.

이번 대국의 목적 가운데 하나 또한 과적합과 같은 문제를 도출해내는 데 있었다. 사실 알파고의 문제점을 파악하는 것은 그리 쉬운 일이 아니다. 이미 엄청난 바둑 실력을 보유한 알파고를 격파하고 오류를 일으키게 할 바둑 실력자는 이미 소수에 불과했다.

앞서 설명한 대로, 알파고는 현존 최고의 인공지능 바둑 프로그램으로, 이제 개념 증명(proof of concept, PoC) 단계에 불과하다. 향후 문제점을 보완한 알파고의 인공지능을 활용한다고 해도 특정 문제를 해결하는 데에서만 구현할 수 있다.
물론 알파고는 수십 년간의 쌓아온 인공지능 기술을 잘 결합하고 발전된 컴퓨팅 역량을 아주 잘 활용했다는 점에서 높이 평가받을 수 있다.

하지만 알파고가 인공지능의 한계나 이 분야에서 산재해 있는 난제들을 혁신적으로 해결한 것이 아니며, 또한 기존의 모든 문제를 해결할 수 있는 인공지능의 만능열쇠처럼 알려져서는 안된다.

KAIST 전산학부 김기응 교수는 한 매체의 기고를 통해 "이번 대국 결과가 '인공지능의 완성'을 보여주는 것도 절대 아니다. 알파고에 탑재된 기술은 진정한 의미의 범용 인공지능이라 부르기 힘들다. 바둑이 갖는 속성에 가장 적합한 인공지능 요소 기술들을 조합해 만든, 바둑에 특화된 알고리즘이다. 예컨대 컴퓨터 체스에는 알파고의 핵심 기술인 몬테카를로 트리 탐색이나 딥러닝 신경망이 사용되지 않는다. 최고 수준의 체스 실력을 보이기에는 적합하지 않은 기술이라는 게 통설이다. 알파고는 수많은 대국을 통해 이기고 지면서 강화학습을 수행했는데, 무인자동차나 로봇과 같이 자칫 실수할 때마다 사람이 죽거나 큰 피해를 본다면 알파고의 학습 알고리즘을 그대로 적용하기 힘들다. 아직 인공지능의 원대한 목표까지는 길이 멀다"고 전했다.

최근 들어 인공지능은 적극적인 활용 속에 급속도로 발전하고 있다. 딜로이트의 한 보고서에 따르면, 올해 말까지 소프트웨어 대기업 가운데 80%는 인공지능 기능을 자사의 제품 속에 통합시킬 것이며, 2020년에는 전세계 100대 소프트웨어 기업의 95%가 적용할 것이라고 예상했다.

하지만 인공지능 발전으로 인해 지금 당장 직장을 잃을 걱정은 하지 않아도 된다. 이를 제어하고 실행하는 것은 너무 어려우며 인공지능 기술에 대한 진전 또한 아주 더디다. 이는 인공지능 분야의 알려진 비밀이다. editor@itworld.co.kr

회사명 : 한국IDG | 제호: ITWorld | 주소 : 서울시 중구 세종대로 23, 4층 우)04512
| 등록번호 : 서울 아00743 등록발행일자 : 2009년 01월 19일

발행인 : 박형미 | 편집인 : 박재곤 | 청소년보호책임자 : 한정규
| 사업자 등록번호 : 214-87-22467 Tel : 02-558-6950

Copyright © 2024 International Data Group. All rights reserved.