‘알파고 제로 이후 시대’, 한국이 선도하려면

2018/08/02 by 조성배
공유 레이어 열기/닫기
주소가 복사되었습니다.

삼성전자 뉴스룸이 직접 제작한 기사와 사진은 누구나 자유롭게 사용하실 수 있습니다‘알파고 제로 이후 시대’, 한국이 선도하려면 / 세상을 잇는 이야기 / IT 산업의 현주소를 읽다. 급변하는 IT 분야에선 매일같이 새로운 아이디어와 기술이 각축을 벌이고 있습니다. IT 트렌드와 업계 흐름을 읽고 가치있는 정보를 선별할 수 있는 시야가 필요한 이우죠. 각 분야 전문가들이 날카로운 통찰로 풀어낼 IT 산업의 현주소와 미래, 삼성전자 뉴스룸의 기획연재 '세상을 잇는 이야기'를 통해 만나보세요.

작금의 인공지능 열풍에 불을 지핀 건 단연 알파고[1]다. 요즘 알파고는 축구, 심지어 TV 예능 프로그램에서조차 인공지능을 뜻하는 말로 쓰인다. 얼마 전엔 “인간이 제공한 데이터 없이 무(無)에서 출발, 혼자 대국하며 스스로 기력을 쌓았다”는 알파고 제로가 발표됐다. 알파고 제로는 딱 사흘 학습한 후 (이세돌 9단을 물리친) 알파고를 100대 0으로 이겼다. 인류가 수천 년에 걸쳐 축적한 실력을 인간의 도움 없이 돌파한 것이다. 알파고 제로는 어떤 원리로 작동할까? 그리고 한국 과학계에선 왜 그런 걸 만들지 못하고 있는 걸까?

게임 인공지능, 일부 경우의 수 따져 이후 승률 추정

바둑 같은 보드게임을 수행하기 위한 인공지능을 개발할 때 핵심은 ‘현재 판 모양을 입력, 이길 가능성이 가장 높은 지점을 출력하는 함수’를 만드는 것이다. 인간은 다년간의 경험을 통해 “이런 판에선 여기 둬야 이길 확률이 크다”는 직관으로 게임에 임한다.

컴퓨터가 모든 경우의 수를 따져 바둑 게임에서 승리하는 건 불가능하다. 이 때문에 인공지능 연구진은 기술 개발 과정에서 몬테카를로 방식<a href=

물론 컴퓨터도 판 모양을 유형화해 다음 수를 결정할 수 있다. 하지만 보다 확실한 방법은 자기 차례가 됐을 때 모든 지점에 대해 실제로 끝까지 둬보고 이기는 지점을 택하는 것이다. 즉 자신이 둘 수 있는 지점 전체에 대해 상대가 둘 수 있는 지점 전체, 또 그에 대해 자신이 둘 수 있는 지점 전체 등 경우의 수를 끝까지 따져보고 그중 이긴 지점에 해당하는 경로의 첫 수를 다음 수로 두는 것이다. 이런 방식을 ‘트리(tree)탐색’이라고 한다.

가야할 곳을 찾고 있는 AI

트리탐색 방식으로 모든 경우의 수를 따지는 건 시간상 불가능하다. 이 때문에 실제 상황에선 ‘트리의 모든 분기를 전부 시도하지 않고 확률적으로 일부만 따지는’ 몬테카를로 방식[2]과 ‘트리의 끝까지 다 해보지 않고 도중에 그 이후 승률을 추정하는’ 경험함수가 사용된다. 이렇게 하면 다음 수를 빠르게 계산할 수 있다. 하지만 경험함수를 완벽하게 만들긴 어려웠던 게 사실이다.

알파고의 대국 승리 비결은 ‘심층신경망’과 ‘강화학습’

알파고 개발자가 프로기사 못지 않은 ‘알파고-제로’를 만들기 위해 단계별로(점층적으로) 학습시키는 모습

알파고엔 분기결정·승률계산 등 두 개의 함수가 활용된다. 전자는 정책망으로, 후자는 가치망으로 각각 구현된다. 알파고 개발진은 두 함수를 만들기 위해 영상 인식에 널리 쓰이는 컨볼루션 심층신경망[3]을 16만 개 기보로 학습시켰다. 이렇게 학습된 두 개의 신경망을 이용하면 몬테카를로 트리탐색 알고리즘으로 바둑 게임에서 다음 수를 계산하는 프로그램이 완성된다. 하지만 16만 개 기보에 바둑 형세를 모두 포함시키는 건 불가능하므로 이 역시 완벽한 함수라고 하긴 어렵다.

알파고 개발자들은 영상 인식에 쓰이는 컨볼루션 심층신경망을 16만 개 기보로 학습시켜 두 개의 함수를 만들었다. 또 함수의 정확도를 높이기 위해 강화학습 방식이 여기에 추가로 동원됐다

이 때문에 로봇의 제어나 의사 결정에 활용되는 강화학습[4]이 추가로 동원된다. 예를 들어보자. 알파고 프로그램을 복제해 하나는 검은 돌의 수를, 다른 하나는 흰 돌의 수를 각각 계산하게 하면 두 프로그램으로 바둑 게임을 할 수 있다. 강화학습에선 그 게임의 승패에 따라 이긴 프로그램 함수엔 보상을, 진 프로그램 함수엔 벌을 각각 주는 방식으로 함수의 정확도를 개선시킨다.

물론 여기서 ‘보상’이나 ‘벌’은 은유적 표현이며 실제 상황에선 신경망의 가중치를 올리거나 낮추는 식으로 매개변수를 보정한다. 즉, 무작위로 설정된 함수 Fº와 16만 기보 데이터를 사용해 F¹을 만들고 이를 다시 강화학습으로 조정해 F²를 만드는 것이다.

고성능 PC와 다량의 데이터가 핵심? ‘제로’는 달랐다

알파고 제로는, 앞서 설명한 내용에 따르면 F¹ 생성 과정을 생략하고 무작위로 설정된 Fº에서 직접 F²를 만든 형태다. 알파고에 비해 적은 컴퓨팅 자원을 투입하고도 알파고보다 훨씬 빠르고 정확한 게임 능력을 갖춘 셈이다.

알파고 제로는 알파고에 비해 적은 컴퓨팅 자원을 투입하고도 알파고보다 빠르고 정확한 게임 능력을 갖췄다. 기보 없이 강화학습만으로 함수를 만들었단 점에서 상식과도 배치된다

알파고 제로가 만들어진 과정은 상식과도 배치된다. 무작위 함수에서 시작하는 것보다 데이터에서부터 초기화된 함수를 최적화하는 게 더 효율적일 것 같은데 알파고 제로는 기보를 사용하지 않고 강화학습만으로 함수를 만들었기 때문이다. 기본 데이터로 조정되지 않은 무작위 함수에서 출발해 적은 계산만으로 최적 함수를 만든 비결, 대체 뭘까?

알파고 제로 개발진은 정책망과 가치망으로 분리돼있던 승률평가 함수를 하나로 단순화하고 몬테카를로 방식으로 미리보기 탐색 기능을 갖추는 등 알파고보다 한층 개선된 강화학습 알고리즘을 선보였다. 그 결과, 함수 개선 속도는 빨라지고 안정적이면서도 정확한 학습이 가능해졌다.

수많은 데이터로 땀빼며 공부하고 있는 고성능PC(또는 알파고) 옆에 알파고제로는 바둑판 전체를 영상으로 스캔해 머리 속에 입력하고 있음. 능력치는 알파고제로가 더 높음.

또한 알파고 제로엔 컨볼루션 신경망의 최신 구조를 도입한 레스넷(ResNet) 신경망이 사용됐다. 알파고는 바둑에 필요한 특징을 추출, 딥러닝으로 학습했다. 그에 반해 알파고 제로는 흑백 돌이 놓이는 바둑판 자체를 영상으로 입력한 후 더 많은 층을 쌓는 데 유용한 잔여 학습을 통해 보다 정확한 함수를 얻는 데 성공했다. 4개의 TPU[5]가 사용된 알파고 제로를 사흘 만에 학습시킬 수 있었던 비결이다(알파고에 쓰인 TPU는 48개였다). 요컨대 알파고 제로는, “요즘 인공지능은 고성능 컴퓨터와 다량의 데이터로 완성된다”는 사람들의 통념과 반대로 그 둘이 배제된 알고리즘이 핵심이란 점에서 독특하다.

‘바둑 넘어서는 인공지능’ 만드는 건 결국 유능한 인재

바둑게임에서 승승장구하는 알파고 제로. 그 뒤엔 똑똑한 소프트웨어 개발자가 버티고 있음.

알파고 제로까지 나왔으니 이제 인간 지식 없이 스스로 성장하는 인공지능이 가능해진 걸까? 안타깝게도 그 질문에 대한 답변은 “바둑 게임에서만 그렇다”다. 알파고 제로가 인간 도움 없이 스스로 성장하려면 바둑 규칙에 따른 ‘승률함수 기반 트리탐색 알고리즘’이 필요한데 그걸 만드는 건 결국 똑똑한 소프트웨어 개발자, 즉 인간의 몫이다.

최근 불고 있는 오픈소스[6] 열기에 힘입어 인공지능 분야 기술도 대부분 공개되고 있다. 자연스레 다음 의문은 ‘그런데도 우린 왜 이런 걸 만들지 못했을까?’로 이어진다. 일단 “강화학습만으로 무작위 함수에서 심층신경망을 만들 순 없을 것”이라고 막연히 생각해 시도조차 안 해봤을 수 있다. 컨볼루션 신경망에 강화학습을 적용하는 과정에서 간단한 문제 해결의 가능성만 확인한 채 완성시키지 않고 중단했을 가능성도 높다.

알파고 제로를 만든 구글 딥마인드조차 그 기술을 활용, 실질적 제품이나 서비스를 완성하진 못했다. 따라서 유능한 리더가 역량 있는 개발자를 결집한다면 지금부터라도 승산은 충분하다

하지만 아직 완전히 포기하기엔 이르다. 구글 딥마인드조차 알파고 제로 개발에 쓰인 기술로 실질적 제품이나 서비스까지 완성하진 못한 상태이기 때문. 따라서 ‘기술의 핵심을 꿰뚫고 비전을 제시하는’ 리더가 ‘문제 해결 능력을 갖춘’ 소프트웨어 개발자의 능력을 결집한다면 충분히 해볼 만하다.

알파고 제로는 양질의 데이터를 확보하기 어려운 분야에 관한 한 강화학습 방식이 (바둑처럼 기보가 제공되는) 지도학습 방식보다 훨씬 유용할 수 있단 사실을 보여줬다. 당장 현실에선 의료∙법률∙투자∙예측 등 여러 문제가 도움을 받을 수 있다. 따라서 이 같은 문제를 적극적으로 발굴하는 것, 더 나아가 불치병이나 에너지 문제 같은 인류 난제를 해결하는 것이야말로 ‘알파고 제로 이후’를 고민해야 할 인류의 당면 과제다. 기술의 원리와 시사점을 이해하는 동시에 냉철한 자기 반성과 함께 그 기술의 활용 방안까지 모색해야 하는 시점인 것이다.

※이 칼럼은 해당 필진의 개인적 소견이며 삼성전자의 입장이나 전략을 담고 있지 않습니다


[1] AlpahGo. 구글의 인공지능개발 자회사 구글 딥마인드(Google DeepMind)가 개발한 인공지능 프로그램
[2] Monte carlo method. 문제에 포함된 변수들의 분포에서 반복적 무작위 추출을 수행하고, 문제에서 주어진 수치를 계산함으로써 결과값을 얻어내는 계산 알고리즘
[3] Convolutional Neural Network(CNN). 딥러닝(인공 신경망을 기반으로 구현된 기계 학습 기술)의 기본 구조 중 하나다
[4] reinforcement learning. 기계학습(machine learning)의 구현 방식 중 하나다
[5] Tensor Processing Units. 구글이 자체적으로 개발한 인공지능 전문 칩
[6] open source. 인터넷 등을 통해 소프트웨어의 설계도에 해당하는 소스코드를 무상으로 공개해 누구나 개량, 재배포할 수 있도록 하는 것

 

by 조성배

연세대학교 컴퓨터과학과

기획·연재 > 오피니언 > 세상을 잇(IT)는 이야기

기획·연재 > 오피니언

삼성전자 뉴스룸의 직접 제작한 기사와 이미지는 누구나 자유롭게 사용하실 수 있습니다.
그러나 삼성전자 뉴스룸이 제공받은 일부 기사와 이미지는 사용에 제한이 있습니다.
<삼성전자 뉴스룸 콘텐츠 이용에 대한 안내 바로가기>

TOP