[알파고: 진화의 시작] 인공지능과 프로그램의 차이
[IT동아 강일용 기자] 구글 딥마인드가 개발한 바둑 인공지능 알파고가 이세돌 9단과의 대국에서 먼저 1승을 거둠으로써 인공지능에 대한 관심이 점점 더 커지고 있다. 농업 혁명, 산업 혁명, 그리고 정보화 혁명에 이은 인류 역사의 4 번째 혁명이 될 것으로 예측되는 인공지능 혁명. 어쩌면 우리 삶이 다하기 전에 그 역사적인 순간을 지켜볼 수 있을지도 모를 일이다.
하지만 많은 사용자가 인공지능이 정확히 무엇인지를 잘 모른다. 언론조차 인공지능과 프로그램의 차이를 이해하지 못하고 둘의 개념을 섞어서 사용하고 있다. 인공지능이 무엇인지, 그리고 컴퓨터 프로그램과 어떤 차이가 있는지 자세히 알아보자.
특명: 사람의 뇌를 흉내내라
인공지능(artificial intelligence)이란 뭘까. 사람을 흉내낸 것이다. 사람의 전유물이었던 지성을 갖춘 그 무엇인가를 인공지능이라고 부른다. 때문에 사람과 같은 사고 방식을 가지고, 사람의 행동 방식과 사고를 인식하는 컴퓨터라면 감히 인공지능이라고 부를 수 있을 것이다.
사람의 지성은 어디서 오는 것일까. 뇌에서 온다. 사람과 지성을 이해하기 위해 많은 학자들이 뇌를 연구하고 있다. 인공지능 연구도 여기서 시작됐다. 사람의 뇌의 구조와 작동 원리를 이해하고 이를 흉내낼 수 있다면 사람과 같은 인공지능을 구현할 수 있지 않을까.
<인공지능의 핵심은 사람의 뇌를
컴퓨터에서 구현하는 것이다>
때문에 현재 인공지능은 사람의 뇌를 흉내내는 것에 초점을 맞추고 있다. 뇌 과학자들의 연구에 따르면 사람의 지성은 신경(뉴런)의 집합체인 신경망(뉴럴 네트워크, neural networks)에서 나온다. 이 신경망을 컴퓨터 상에서 흉내내기 위해 고안된 것이 인공 신경망(아티픽셜 뉴럴 네트워크, artificial neural networks)이다.
많은 연구자들이 인공 신경망을 구현하기 위해 다방면으로 노력하고 있다. 하드웨어적으로 구현하려는 노력도 있고, 소프트웨어적으로 구현하려는 노력도 있다. 현재 대세는 소프트웨어를 활용한 인공지능이다. 하드웨어는 현재 널리 사용되는 범용 CPU와 GPU를 이용한다. 대신 인공신경망과 머신러닝(기계학습)을 소프트웨어적으로 구현하려는 연구가 활발히 진행되고 있다.
인공지능과 프로그램의 차이
프로그램은 기본적으로 목적을 가지고 만든다. PC를 실행하기 위한 목적을 가지고 만든 프로그램도 있고, 문서 작성이나 이미지 편집을 위해 만든 프로그램도 있다.
인공지능은 다르다. 인공지능으로 무엇을 하겠다는 목적을 가지고 개발하지 않는다. 사람의 신경망을 재현하는 것에만 초점을 맞춘다. 인공지능으로 무엇을 할지는 일단 만들고 그 다음 고민할 일이다.
구글, IBM, 마이크로소프트 등 많은 개발사가 자체 개발한 인공지능으로 바둑, 퀴즈풀이, 얼굴인식 등에 꾸준히 도전하는 이유가 여기에 있다. 인공신공망이 제대로 구현됐는지, 사람의 신경망과 어느 정도 유사한지 등의 데이터를 얻기 위해 컴퓨터와 프로그램이 접근하지 못하는 사람만의 분야에 지속적으로 도전하고 있다.
그렇다면 이쯤에서 의문이 생긴다. 알파고는 바둑을 두기 위한 인공지능 아니었던가? 바둑을 둔다는 명백한 목적이 있는 것 아닌가?
그렇지 않다. 알파고는 프로그래머와 관계 없이 스스로 기력을 향상시켰다. 알파고는 딥마인드가 구현한 기본 인공신경망에 머신러닝(기계학습)을 활용해 바둑을 가르쳐서 완성한 인공지능이다. 아이에게 바둑을 알려준 것으로 비유할 수 있다. 딥마인드는 알파고의 인공신경망 속에 3,000만 가지 이상의 수를 입력했다. 사람의 도움과 교육으로 성능을 개선한 것을 감독학습이라고 부른다. 사람으로 치면 바둑 수업을 받은 것이다. 이어 알파고는 딥마인드의 개입 없이 100만 번 이상의 자체 대국을 거쳐서 기력을 향상시켰다. 사람의 도움과 교육 없이 성능을 개선한 것을 비감독학습이라고 부른다. 사람으로 치면 자습을 한 것이다.
프로그램은 프로그래머가 의도한 것 이상의 성능을 내지 못한다. 프로그램의 성능을 강화하고 싶다면, 이를 프로그래머가 일일이 개선해야만 한다. 만약 프로그래머가 의도한 것과 다른 현상이 나타나면 이는 단순히 버그에 불과하다.
인공지능은 다르다. 머신러닝을 통해 프로그래머와 연구자가 의도한 것 이상의 성능을 낼 수 있다. 알파고의 개발자의 기력은 아마추어 6단에 불과하지만, 알파고의 기력은 프로 9단과 대등하다는 것이 그 증거다.
때문에 엄밀히 말해 1997년 공개된 IBM의 체스 프로그램 '딥블루(Deep Blue)'는 인공지능이라고 할 수 없다. 단지 슈퍼컴퓨터와 그에 설치된 체스 프로그램일 뿐이다. 딥블루는 모든 체스 기보를 프로그래머들이 일일이 입력했고, 그에 맞춰 경기를 진행했다. 프로그래머들이 입력한대로 성능이 강화되었고, 딱 그만큼의 성능만 냈다. 반면 (기초적인 수준이지만) 인공지능인 알파고는 프로그래머들이 일일이 개선하지 않아도 성능이 강화되었고, 그 이상의 성과를 냈다.
딥마인드는 현재 자체 개발한 인공신경망을 기반으로 다양한 머신러닝(교육)을 진행 중이다. 바둑을 가르치면 알파고, 비디오 게임을 가르치면 DQN, 의료 데이터 분석을 가르치면 딥마인드헬스가 되는 식이다. 현재는 지구 환경 변화를 예측하고 분석할 수 있도록 기후 데이터를 보는 방법을 가르치고 있다. 다른 인공지능도 마찬가지다. 먼저 인공신경망을 구현하고, 여기에 머신러닝으로 퀴즈, 얼굴인식 등을 가르치고 있다.
인공지능의 한계
이렇게 인공지능이 스스로의 능력을 개선할 수 있다면 결국 사람을 따라잡고 뛰어넘을 수 있는 것 아닐까? 아직은 불가능하다. 머신러닝을 통해 바둑, 퀴즈, 얼굴인식 등 특정 기능의 처리 능력을 강화할 수는 있지만, 결국 그 처리 능력의 근간이 되는 인공신경망이 강화되지는 않기 때문이다.
사람은 교육을 받으면 받을 수록 신경망이 강화된다. 신경망이 강화됨에 따라 보다 다양한 행동과 고차원적인 사고를 할 수 있게 된다. 현재 인공지능은 이것이 불가능하다. 인공신경망은 사람이 일일이 연구하고 강화해줘야만 한다. 알파고 역시 기본 인공신경망을 '정책망(policy network)'과 '가치망(value network)'이라는 바둑에 특화된 인공신경망으로 강화하는 작업을 거쳤다.
또한 현재 인공지능은 머신러닝으로 배운 한가지 행동을 보다 빠르고 강력하게 할 수 있을 뿐이다. 한 가지 행동을 통해 얻은 배움을 다른 행동으로 확장하지 못한다.
알파고를 개발한 딥마인드 데미스 하사비스 대표 역시 "인공지능이 사람 수준에 도달하려면 수십 년이 걸릴 것"으로 전망했다. 하지만 이는 바꿔 말해 수십 년 후에는 인공지능이 사람을 따라잡을 것이라는 발언이기도 하다. 인공신경망에 관한 연구가 진행되면 결국 특이점(기술이 사람의 이해 수준을 넘어서는 현상)이 올 것이다. 인공지능이 자신의 인공신경망을 스스로 개선하고, 한 가지 행동에서 얻은 배움을 다른 행동에도 적용할 수 있게 된다는 뜻. 그날이 오면 마침내 사람과 인공지능이 대등한 자리에 설 전망이다.
글 / IT동아 강일용(zero@itdonga.com)