(인터뷰) “게임 AI와 강화학습, 쉽고 재밌게 배우자” 유튜브 채널 ‘팡요랩’의 노승은님 + 전민영님

인공지능 업무를 담당하는 실무자나 연구자의 목소리를 직접 듣는 연속 인터뷰!

오늘은 강화학습 관련 콘텐츠를 다루는 유튜브 채널 ‘팡요랩‘의 노승은 (엔씨소프트 Game AI랩)님과 전민영 (SNOW)님을 만나보겠습니다.

1. 강화학습 (reinforcement learning)은 기계학습 (machine learning)의 한 방법론으로 알고 있습니다. 본격적인 질문에 앞서 강화학습의 개념을 쉽게 설명해주실 수 있을까요?

강화학습이 무엇인지 사람의 학습 과정에 빗대어 설명해보겠습니다.

초등학교 저학년 아이 정훈이가 두발자전거를 타는 법을 배우고자 한다고 해 봅시다. 이때 정훈이는 아버지와 함께 근처 공터에 가서, 아버지의 지도를 통해 자전거 타는 법을 배울 수 있습니다. 이게 바로 머신러닝에서 지도학습에 대응됩니다.

반면 정훈이는 씩씩하게, 보호대를 착용하고 혼자 자전거를 끌고 공터로 가서 넘어지고 구르면서 배울 수도 있습니다. 처음에는 1미터도 못 가 넘어지겠지만, 그런 경험이 계속 쌓이다 보면 어떻게 해야 넘어지지 않는지 조금씩 학습해 나갈 것입니다.

예컨대 “아, 넘어지려는 방향으로 오히려 핸들을 더 꺾으면 넘어지지 않는구나!” 등의 지식을 말이죠. 이게 바로 강화학습입니다. ‘환경’에 ‘에이전트’를 던져놓고, 에이전트가 다양한 경험을 축적하면서 환경 속에서 잘 행동하는 법을 배워 나가는 것입니다.

바로 이 부분이 제가 느끼는 강화학습의 매력입니다. 선생님도 필요 없습니다. 그냥 경험만 쌓게 해주면 됩니다. 마치 고등학교 때 학원 열심히 다니면서 공부 잘하는 친구가 있고, 그냥 자기 혼자 공부하면서 잘하는 친구가 있지 않나요? 강화학습은 꼭 후자와 같은 느낌입니다. 아무 것도 알려주지 않아도 경험을 쌓을 수 있는 환경만 제공해주면 불도저처럼 최적의 전략을 찾아냅니다.

Image result for reinforcement learning bicycle
때론 넘어지고, 때론 즐기면서 자전거 타는 법을 스스로 배우는 아이처럼, 강화학습은 주어진 환경에서 가장 큰 보상을 받을 수 있는 최적의 행동을 알고리즘이 학습해 나간다.

2. 강화학습이 실제 적용된 사례에는 어떤 것들이 있나요?

그 유명한 알파고가 바로 강화학습을 통해 만들어졌습니다. 알파고는 바둑을 두는 AI가 자기 자신과 스스로 경기를 하면서 어떻게 하면 이기는지, 어떻게 하면 지는지를 학습해 나갔습니다. 이겼을 때 했던 행동들을 조금 더 자주하게, 졌을 때 했던 행동들을 조금 덜 하도록 자신의 전략을 아주 조금씩 수정해나갔습니다.

참고로 이 과정은 강화학습의 본질입니다. 여기서 만일 한 쌍의 AI가 경기를 펼치며 학습한다면 매우 오랜 시간이 필요하겠지만 알파고는 자기 자신의 복제본을 수천대의 컴퓨터 안에 띄워놓고, 단숨에 수십, 수백만 개의 경기를 펼치며 아주 빠른 속도로 지식을 습득해 나갔습니다.

그 결과 사람 챔피언을 이겼죠. 만일 알파고가 사람의 지식을 습득하는 방식인 “지도학습”을 통해 학습했다면 결코 사람을 이기지 못했을 것 입니다. 스스로 생각에 제한을 두지 않고 다양한 경기를 펼쳤던 덕분에 사람은 생각하지 못하는, 사람의 의표를 찌르는 수를 학습할 수 있었습니다.

사실 바둑이 수천년간 전해내려온 인간의 유희인데 인간이 아직까지 발견하지 못한 전략을 학습해 냈다는 것이 저에게는 너무 놀랍습니다. 인간이 생각하지 못한 것을 해내는 것, 그것이 인공지능 연구의 지향점 아닐까요? 강화학습은 바로 그 지점을 향하는 방법론입니다.

바둑 외에도 컴퓨터 게임 (스타크래프트, 도타 등)에서 인간 챔피언을 뛰어넘는 성과를 보였고, 로봇 제어나 금융 등 다양한 분야에서 강화 학습이 활발히 연구 및 적용되고 있습니다.

3. 강화학습이 인공지능의 핵심 기술이지만 어려움도 만만치 않을 것 같습니다. 어떤 난관들이 있을까요?

강화학습은 앞서 강조한 바와 같이 ‘환경’을 필요로 합니다. 환경이란 결국 에이전트가 다양한 액션을 해보고, 그에 따른 결과를 관측할 수 있는 시뮬레이터를 가리킵니다.

그런데 많은 경우 ‘완벽한 시뮬레이터’를 얻는 데에 제약이 있습니다. 예컨대 자율주행하는 에이전트를 강화학습을 통해 학습하고자 한다고 해 봅시다. 실제 세계에서 차를 운전하게 하면 에이전트는 학습 초기에는 거의 원숭이가 운전하는 것과 다름이 없기 때문에 많은 사고를 낼 것입니다.

그런데 차 사고는 인명, 재산 등의 막대한 피해를 초래할 수 있습니다. 따라서 우리 에이전트를 실제 세계에서 경험을 쌓게 할 수는 없습니다. 그래서 가상의 시뮬레이터가 필요한데, 과연 실제 도로를 완전히 모방하는 시뮬레이터가 존재할까요?

어찌저찌 도로를 모방했다 하더라도 과속하는 차량, 끼어들기 하는 차량, 급정거 하는 차량, 사고난 차량, 졸음 운전하는 차량 등 모든 운전 패턴까지 완전히 구현되어야 그 환경 안에서 올바른 주행 전략을 학습할 수 있을 것 입니다.

뿐만 아니라 SUV, 경차, 트럭, 자전거, 오토바이 등 도로 위의 여러 주체, 비 내리는 도로, 눈이 쌓인 도로, 안개 낀 도로 등의 기후 변화 등 모든 변수를 시뮬레이터 안에 완전히 녹여내기란 불가능합니다.

이처럼 완벽한 시뮬레이터를 얻기 어렵기 때문에 강화학습을 바로 적용하는 데에 현실적인 어려움이 있는 것이 사실입니다. 일단 시뮬레이터를 얻는데 성공했다면, 강화학습을 적용하기 위한 팔부능선은 넘었다고 보아도 좋을 정도입니다.

4. 그럼 현업에서는 어떤 인공지능 기술을 활용하고 계신가요?

엔씨소프트의 경우 인공지능 기술을 다양한 분야에 적용 및 연구하고 있습니다. 엔씨소프트는 Game AI, Speech, Vision, Language, Knowledge 등 5개의 랩을 운영하고 있는데, 각각의 랩에서 해당 분야의 인공지능 기술을 게임에 녹여내기 위해 고민하고 있다고 생각하시면 됩니다.

예를 들어 Game AI 랩에서는 직접 유저들이 맞붙어 볼 수 있도록 ‘블레이드앤 소울 – 무한의 탑’ 안에 강화 학습을 이용해 학습한 AI 캐릭터를 도입하기도 했습니다. 유저는 다양한 난이도의 상대와 맞붙으며 자신의 실력을 연마할 수 있습니다.

또 Speech 랩의 연구 주제 중 하나로는 음성으로 게임을 조작할 수 있는 ‘보이스 커맨드’ 기술이 있습니다. 그 외에도 게임 속 캐릭터의 모션 생성, 음성에 따른 입모양 자동 생성, 원화 자동 채색 등 게임 제작 단계에서의 수고를 덜어주기 위한 다양한 기술 또한 연구하고 있습니다.

요약하면 게임 기획부터, 개발, 미술 작업, 그리고 검증 단계 까지 거의 모든 단계에 적용하기 위해 인공지능 기술을 연구 및 개발하고 있습니다. 

5. 인공지능 기술을 도입했을 때와 그렇지 않을 때 해당 업무는 어떤 차이를 보일까요?

‘음성에 따른 입모양 자동생성’을 예로 들어 설명해보겠습니다.

RPG 게임에는 수많은 NPC 캐릭터가 등장하며, 각 캐릭터는 나름의 대사를 발화합니다. 그런데 그 때 입모양을 자세히 관찰해 보면 대사에 따라 입모양의 차이가 없는 경우가 많습니다. “안녕하세요” 와 “사랑해”는 서로 다른 입모양으로 말해야 할 텐데, 그렇지 않은 경우가 대부분이죠.

모든 캐릭터의 모든 대사에 대해 그에 맞는 입모양을 제작하려면 수많은 애니메이터 분들의 노력과 시간, 자본이 필요할 것 입니다. 하지만 이를 인공지능으로 자동 생성할 수 있다면 어떨까요?

그저 성우분들이 녹음해주신 음성 파일만 있으면 그에 맞는 입모양이 자동 생성되는 것이죠. 그러면 애니메이터 분들의 노고를 크게 줄일 수 있을 것 입니다. 게다가 유저는 더 몰입하게 되겠죠. 큰 틀에서는 게임 개발의 비용이 줄어들고, 컨텐츠의 질은 올라가는 것입니다.

여기서 한 단계 더 나아가 보겠습니다. 위의 이야기는 모든 대사의 음성 녹음 파일은 주어져 있다는 전제 위에서 작동합니다. 그런데 모든 대사를 일일이 녹음하는 것도 큰 노력을 필요로 하는 과정입니다.

만일 성우분께서 해당 캐릭터의 목소리로 5분 정도 아무 주제에 대해 녹음한 데이터를 가지고, 해당 목소리가 읽어주는 문장을 생성해 낼 수 있다면 어떨까요?

하나의 대작 RPG 게임을 제작하는데 드는 비용과 시간은 매우 크지만 이처럼 각 단계에 인공지능이 도입될 때 마다 해당 단계의 자동화가 이루어지며 비용과 시간을 효율화 할 수 있는 것 입니다. 위 이야기는 하나의 예시일 뿐 인공지능은 다양한 과정에서 도움을 줄 수 있습니다.

6. 유튜브 채널 ‘팡요랩 (Pang-Yo Lab)’ 소개와 향후 어떤 계획을 갖고 계신가요?

팡요랩은 저희가 운영하고 있는 유튜브 채널 이름입니다. 저희 회사가 판교에 있는데, 판교가 영어로 ‘Pangyo’ 입니다. 이게 꼭 ‘팡요’ 같아 보여서 팡요에서 하는 Lab(연구소)이다 해서 민영님이 팡요랩으로 이름을 지었습니다.

팡요랩은 인공지능 중에서 강화학습이라는 분야에 대해 소개하는 콘텐츠를 다루고 있습니다. 런던대학교에서 진행된 데이비드 실버 교수님의 강화학습 강의를 알기 쉽게 우리말로 풀어 설명하는 총 10개 영상이 메인 콘텐츠이고, 그 외에도 강화학습 관련 논문 리뷰나 구현 등의 콘텐츠를 제작하고 있습니다.

현재는 강화학습을 알기 쉽게 설명해주는 책 저술에 힘을 쏟고 있어 팡요랩 채널은 잠시 휴식기에 들어갔는데요, 책을 완성하는대로 기존과 같이 논문 리뷰 등의 콘텐츠를 계속해서 진행할 예정입니다.

딥마인드에서 개발한 스타크래프트2 인공지능 프로그램 ‘알파스타’ 논문을 쉽게 해설하는 팡요랩의 영상 (2019년 11월 17일 업로드)

7. 끝으로 독자들께 전하고 싶은 메시지는?

강화학습은 정말 재밌는 분야이므로 많은 관심 가져주시고, 관심이 생기셨다면 그 출발점으로 유튜브 팡요랩을 추천드립니다. 나아가 올 상반기에 저희가 출간할 강화학습 책도 많이 기대해주세요. 감사합니다.

인공지능 기술의 대중화 시대가 열리고 있습니다. 전문가가 아니더라도 인공지능 기술을 이해하고 비즈니스에 적용하려는 사람들이 늘고 있습니다.

그러나 우리가 일반적으로 접하는 인공지능 지식은 두루뭉술한 설명으로 감싼 블랙박스 혹은 눈부시게 화려한 장밋빛에 가까워 그 실체를 파악하기 어려운 경우가 많습니다.

이에 국내외에서 인공지능 업무를 담당하는 실무자나 연구자의 목소리를 직접 듣는 인터뷰 시리즈를 비정기적으로 진행합니다.

분야와 직급에 상관없이 자신의 인공지능 관련 업무나 연구, 투자 스토리를 독자들과 공유하고 싶은 분은 jaewan@techneedle.com 으로 메일주세요.

Written by

기술의 발전을 채집하다 jaewan@techneedle.com 소개