블소와 AI #2 기계를 학습시켜라, 강화 학습

Blade & Soul(이하 ‘블소’)의 ‘무한의 탑’은 엔씨소프트 게임AI팀에서 기계학습 기반의 AI(인공지능) 기술을 MMORPG에 최초 적용한 콘텐츠입니다.

AI개발진들은 AI를 사람처럼 학습시키는 데 가장 많은 시간과 노력을 들였다고 하는데요. 기계를 반복적으로 학습시키는 ‘강화 학습’에 얽힌 비하인드 스토리를 소개합니다. *ㅁ*//


# 파트너의 기술을 익히는 AI

체스나 바둑 같은 게임에 AI를 적용시킬 땐 이전에 사람 vs 사람으로 겨뤘던 경기의 데이터를 모두 입력시키면 된다. 하지만 격투 경기인 블소의 비무는 데이터가 많이 쌓여 있기는 하나, 기계 학습에 적합한 형태로 데이터를 추출하기는 어려웠다.

그래서  플레이를 하며 데이터를 만들어 가는 ‘강화 학습’ 방식을 통해 AI를 훈련시켜야 했다. 강화 학습은 반복을 통해 AI가 스스로 학습을 해 나가는 것. 데이터가 없는 상황에서도 가능한 유일한 기계 학습 방식으로, 게임 AI를 비롯한 다양한 AI 연구에 활용하고 있다.

인터뷰3분할_160215

왼쪽부터 게임AI팀 이경종 팀장, AI Lab TD 이준수 차장, 장한용 과장 

“아무 데이터도 입력되지 않은 AI에게 스파링 파트너로 AI를 붙여서 AI들끼리 비무를 하게 해요. 그럼 파트너 AI와 직접 플레이하는 과정에서 AI가 각 상황마다 써야 할 스킬들을 배우면서 비무를 익혀요. 이런 식으로 반복 학습한 결과를 바탕으로 더 폭넓은 플레이를 할 수 있죠.” (이준수 차장)

강화 학습에서 가장 중요한 건 AI에게 다양한 경험 데이터를 만들어 주는 것이었다.

“간단한 규칙으로 만들어진 스파링 파트너 AI와의 대전만으로는 한계가 있어서, 게임AI팀 내 프로게이머 출신 개발자를 스파링 파트너의 코치로 섭외했어요. 사람이 지닌 비무 지식을 바탕으로 스파링 파트너 AI를 훈련시킨 거죠. 웬만큼 학습이 되면 그 AI를 상대로 다시 대전을 벌이는 형태로 AI의 성능을 계속 향상시켰고요.” (장한용 과장)

 

# 감격의 첫 승을 거두기까지

게임은 스포츠와 비슷해서, 열심히 한다고 해서 반드시 잘한다는 보장은 없다. 이는 AI도 마찬가지였다. 훈련된 AI들의 수준을 파악하려면 냉정한 테스트 과정이 필수였다. 그리고 이 과정에서 AI개발진들의 멘탈에 금이 가기 시작하는데…!

“2015년 4월부터 2주에 한 번씩 블소 사업팀 내  고수 분들을 섭외해서 AI와 인간의 대결을 했어요. 첫 대결이 지금도 생생한데, 워낙 고수들이라 AI가 밀릴 거라 예상하긴 했지만 그렇게 처참할 줄은 몰랐어요. 고수 세 분과 AI가 5판 3승제로 겨뤘는데, AI가 한 판도 못 이겨서 아홉 경기만에 끝났죠. 개발자 입장에선 정말 가슴이 찢어지는 거 같았어요(웃음).” (이경종 팀장)

개발 초기 사람 고수의  one-콤보에 죽는 검사 AI

“그 당시 저희의 목표는 첫 승, 단 한 번이라도 AI가 사람을 이기는 거였어요. 대망의 첫 승을 한 날, 저희 팀 회식했잖아요. 너무 좋아서(웃음).” (장한용 과장)

“그때  2002년 월드컵에서 황선홍이 첫 골을 넣었을 때보다 더 크게 환호했어요. 사실 테스트를 시작할 때 이미 AI들이 저희 개발진보다는 더 잘하는 상태였거든요. 그래서 저희는 AI의 실력을 믿고 있었는데, 고수 분들이랑 붙으니까 한 대도 못 때리는 거예요. 그때 느꼈죠. 사람의 능력은 참 대단하구나…(일동 웃음)” (이준수 차장)

1453193027SXUdLnroxGFJLX6qWxmFv3T9tjSGkQ

첫승을 거둔  AI개발진들의 반응은 이랬다 

훈련된 AI라 해도 사람의 세심한 움직임과 순간적인 판단력을 뛰어넘기는 역부족인 상황. 하지만 시간이 흐르면서 AI도 나름의 노하우를 터득해 나가기 시작했다.

캡처

 

정말 억울해서 강해졌다고 합니다

“석달 정도 테스트 과정을 거쳤더니 고수 분들과 붙어도 어느 정도 대결은 되는 수준까지 AI의 성능이 올라가더라고요. 그때 한 번 더 감격했죠. 아직은 사람의 실력을 뛰어넘긴 힘들지만, 6개월 동안 정말 장족의 발전을 했어요.” (이경종 팀장)

개발 막바지 사람과 AI 대결 영상 (부제: 우리 AI가 달라졌어요)

“지금 와서 생각해 보면 블소 사업팀 내 고수 분들의 도움이 없었으면 AI가 이렇게까지 발전하지 못했을 것 같아요. 처음에 처참하게 질 때는 살짝 밉기도 했는데(웃음), 지금은 아주 감사할 따름이죠.” (장한용 과장)

 

# 클래스 별 특성에 따른 차이

블소에는 다양한 클래스가 존재한다. 공격 방식에 따라 근거리 / 원거리 클래스로 나눌 수 있는데, 이에 따라 AI 기술도 다르게 적용돼야 했다.

“제일 처음 검사(근거리)와 기공사(원거리) 클래스로 테스트를 시작했어요. 첫 승 이후 역사를 추가했고, 이후 다른 클래스들도 추가했죠. 권사는 처음 추가하자마자 이겨서 또 한 번의 감격을 줬어요.” (이준수 차장)

“검사나 권사 같은 근거리 캐릭터는 스킬에 집중해서 AI를 훈련시키면 됐어요. 하지만 은신 플레이 위주의 암살자는 뭐랄까…얄밉게 플레이하잖아요. 타격보단 전략적 플레이 위주고요. 그런 노림수까지 파악해서 훈련시키는 게 힘들었어요.” (이경종 팀장)

uploaded_chop

교란과 은신이 주특기인 (얄미운)암살자는 AI를 훈련시키는 것도 쉽지 않았다 

“각각의 클래스마다 고유의 플레이 스타일이 있어요. 기공사는 적의 발을 얼려 접근을 봉쇄하고, 암살자는 은신해서 상대의 허를 찔러요. 주술사 캐릭은 소환수 뒤에 숨기도 하죠. AI가 이런 특성을 보여주지 못하면 어색하다는 피드백을 받게 되요. 못 싸우는 것보다 무서운 게 어색한 거죠(웃음). 그래서 작업 하나하나에 정성을 쏟아야 했어요. ” (장한용 과장)


블소와 AI  2편, 재미있게 보셨나요?

대망의 3편에서는 비무 월드 챔피언들과 AI의 대결 후기를 공개합니다!