[NDC17] "게임 데이터 분석은 R, 머신러닝은..."

디지털경제입력 :2017/04/26 14:22

“데이터 정리와 분석은 엑셀보다 R이다. 머신러닝 도입을 고민하고 있다면 랜덤 포레스트와 서포트 벡터 머신을 추천한다.”

넥슨의 서정민 크리에이티브 디렉터는 26일 넥슨 개발자 컨퍼런스2017(NDC2017)가 개최된 판교 GBI타워 발표장에서 ‘데이터와 인공지능 시대를 맞이하는 게임기획자 이야기’를 주제로 강연했다.

서정민 디렉터는 ‘카운터스트라이크온라인2’ 프로젝트에서 게임기획 및 데이터 분석 업무를 담당하고 있다. 총 개발 경력 18년차인 그는 리니지2, 엑스틸, 제라, 카운터스트라이크온라인 등의 제작에도 참여한 바 있다.

그는 이날 강연에서 빅데이터와 인공지능 시대를 맞아 게임 기획자가 현장에서 겪었던 일과 순간의 고민, 시행착오 등을 사례를 통해 쉽게 설명했다.

넥슨의 서정민 크리에이티브 디렉터.

서정민 디렉터는 이날 “모든 현상에는 이유가 있고 난 그걸 설명할 수 있다고 생각했다. 그러나 나무에서 사과가 떨어지는데 만유인력법칙만으로 설명이 안 된다는 것을 알게됐다. 바람 등 여러 이유가 있었다”며 “이후 세상을 바라보는 시각이 달라졌다. 다양성 인정과 객관적 원인 파악의 중요성이다”고 말했다.

기획자의 입장에선 명확한 정보를 바탕으로 데이터를 분석하는 게 필요하다고 밝힌 그는 “데이터를 다루는 것이 시작이다. 기록, 신호, 잡음 등 데이터를 바탕으로 기술통계와 시각화가 중요하다. 이후 분석, 해석, 인과관계, 의사결정, 실행 순이다”고 덧붙였다.

데이터 정리 분석에 R을 사용하고 있다고 밝힌 서정민 디렉터.

그렇다면 서정민 디렉터는 데이터를 어떻게 분석하고 활용했을까. 처음에는 엑셀을 주로 했지만, R을 만난 뒤 새로운 세상이 열렸다고 했다. R은 통계처리를 위한 소프트웨어로, 대표적인 빅데이터 분석 도구다. R은 다양한 통계기법과 시각화 도구들이 포함됐다.

그는 “데이터 통계와 시각화에 엑셀을 활용했었다. 하지만 한계에 부딪쳐 좌절했다. 프리징, 긴 로딩시간, 많은 수작업, 생각보다 어려운 VBA. 엑셀 시트 100만 라인 한계였다”며 “그러나 R과 만나면서 다른 세상이 열렸다. R에서 간단하게 데이터를 가져올 수 있는 것을 알게 됐기 때문”이라고 했다.

이어 그는 “각 좌표마다 킬 건수가 몇 건인지를 한 줄의 함수로 만들어주더라. 엑셀과 다른 방식이다. 시각화도 엑셀보다 R이 효율적이다. 이후 R에 매료됐다. 각종 확률 분포계산에 편리했다”고 전했다.

R과 엑셀의 해결 난이도 대비 문제의 복잡도.

기억해야할 R의 특징으로는 함수형 언어를 꼽기도 했다. 그는 “로직을 사용하는 것이 아니다. cmd, 리눅스 명령어를 사용하는 느낌이다. 벡터화 연산이 반복문 보다 수백배 빠르더라. 엑셀의 컬럼과 비슷하다”고 설명했다.

R은 오픈소스 기반이란 것도 장점이었다. 구글에서 검색하면 자신에게 필요한 함수를 찾을 수 있다고 한다.

서 디렉터는 “R은 오픈소스 기반으로, 자신에게 필요한 내용을 구글 등에서 검색해 찾아봐야. R스튜디오, 엔터프라이즈 시장에선 마이크로소프트가 커뮤니티 양대 산맥이다. 난이도로 보면 엑셀이 초반에는 쉽지만, 복잡한 문제를 만나면 R이 쉽다”고 강조했다.

인공지능과 머신러닝, 딥러닝에 대한 생각도 꺼냈다. 머신러닝과 딥러닝을 게임 개발에도 충분히 활용할 수 있다고 했다.

그는 “(머신러닝 중)랜덤 포레스트로 5시간 동안 유저 이탈 데이터를 분석한 결과 값이 다른 방식으로 48일 간 훈련한 것과 비슷하더라”면서 “랜덤 포레스트의 활용도는 높다. (머신러닝 도입을 고려한다면)랜덤 포레스트와 서포트 벡터 머신을 추천한다”고 말했다.

또 그는 “머신러닝에서 좋은 결과를 얻으려면. 데이터 셋 등을 효과적으로 나눠야한다. 데이터 셋은 트레이닝 셋 등과 구분하는 게 편했다. 처음 공부할 때 이것저것 해봤는데, 정교함보다 일반화 차원에선 구분하는 게 좋더라. 이쪽으로 공부하는데 도움이 될 것 같다”고 조언했다.

그는 인공지능 안에 머신러닝, 그 안에 딥러닝이 들어있다고 말하면서도 딥러닝의 활용을 묻는 질문에 어려움을 느꼈다고 귀띔했다. 그에게는 C+로 무슨 게임을 만들 수 있냐는 질문과 같았다.

그는 “(딥러닝의)실체는 정확히 모르지만, 공부를 해본 결과 수학이라고 단정 지었다. 예측(판단)과 함수 적용, 값이 나왔을 때 답이 틀리면 반대로 수정하는 방식. 이게 기본적인 흐름이다”며 “기본 원리는 선형 회귀, 경사하강법, 활성함수, 역전파 등이다. 딥러닝은 이 같은 원리를 활용해 반복 훈련을 하면서 최적의 값을 찾는 것”이라고 했다.

관련기사

그는 “(강화학습의 경우)강아지를 훈련시킬 때 앉아있으면 먹이를 주고, 일어서면 벌칙을 주는 것이 기본이다. 상태에 따른 보상으로, 이를 유도하는 훈련이다. 단점은 훈련속도가 늦다는 것”이라고 설명했다.

그러면서 그는 “(인공지능은 계속 진화하고 있는데)나 뿐 아니라 게임에서 어떻게 활용할 수 있을지에 고민을 많이 하고 있다. 봇을 인간답게, 기존 인공지능 로직과 융합하는 작업이 과제다. 콜럼버스가 될 수 없더라도 신대륙의 바다에 가서 고기를 잡아본다는 마음으로 함께 공부를 해야할 것”이라고 말하며 강연을 마쳤다.