Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

[IGC2018] 엔씨소프트 이경종 - 심층강화학습을 활용한 프로게이머 수준의 AI 만들기

1,619 views

Published on

[IGC2018] 엔씨소프트 이경종 - 심층강화학습을 활용한 프로게이머 수준의 AI 만들기

Published in: Software
  • Be the first to comment

[IGC2018] 엔씨소프트 이경종 - 심층강화학습을 활용한 프로게이머 수준의 AI 만들기

  1. 1. 심층강화학습을활용한 프로게이머수준의AI만들기 AICenter GameAILab 이경종실장
  2. 2. 지난번 IGC 강연: 2016-10-07 마지막 Comment: “더 발전시켜 이 자리에서 다시 공유할 수 있는 시간을 가지도록 하겠습 I. Overview
  3. 3. Contents “심층강화학습을 활용한 프로게이머 수준의 AI 만들기” I. Overview II. 강화학습 III. B&S 비무 AI IV. B&S 월드챔피언쉽 Blind Match I. Overview
  4. 4. Game AI Since 2011 Vision AI Since 2017 Speech AI Since 2016 Knowledge AI Since 2011 Language AI Since 2014 Knowledge Lab Language Lab Vision TFSpeech Lab Game AI Lab AI Center NLP Center I. Overview NCSOFT AI R&D 기술 영역
  5. 5. NCSOFT Game AI AI Assistant: 게임과 관련된 일을 도와주는 AI “게임에 필요한 AI를 프로그래밍” 개발자 Assistant 강화학습 기반 게임 Playing AI “그래픽 리소스를 디자인” 아티스트 Assistant AI 기반 애니메이션 기술 “게임을 기획하고 설계” 기획자 Assistant 자동 전투 밸런스 및 콘텐츠 생성 어떻게 하면 지루한 수작업을 줄이고, 사람이 창의적인 일에 전념하게 도울 수 있을까? I. Overview
  6. 6. Game AI Lab Game AI팀 강화학습 팀 Creative AI팀 • Game과 관련된 새로운 R&D 분야 Incubating • 주요 프로젝트 자동 전투 밸런스 및 콘텐츠 생 성 • 강화 학습을 포함한 Game에 필요한 Machine Learning 기술 R&D • 주요 프로젝트 강화학습 기반 게임 Playing AI • 디자인, 설계 등 사람의 창의적 창작 활동을 대체하는 AI 개발 • 주요 프로젝트 AI 기반 애니메이션 기술 Game AI Lab 조직 소개 I. Overview
  7. 7. 강화학습 R&D History 2016 2016. 가을 2018.9.15 무한의 탑 출시 B&S AI v1.0 B&S AI v2.0 개발 시작 B&S 월드챔피언쉽 Blind Match “AI vs. 프로게이머” I. Overview 2016. 가을, B&S 월드챔피언쉽
  8. 8. B&S 월드챔피언쉽 (9.15) 준결승, 결승 사이 Blind Match “AI vs. 프로게이머“ I. Overview
  9. 9. Blind Match: AI vs 프로게이머 대결(3명, 3전2승제 3경기) Full 영상: https://www.youtube.com/watch?v=BY2Srj8yJAM I. Overview
  10. 10. II. 강화학습
  11. 11. • “Learning without a Teacher” • 아기의 학습 과정과 본성을 모델링 • 기거나 걷는 법을 알아가는 과정에서, 직접 행동을 하고 Feedback을 통해 점점 더 나은 행동을 하게 됨 Trial Error Great conceptual leaps 반복된 Trial & Error 과정에서 Feedback에 의해서 학습 강화학습 [1/3] II. 강화학습
  12. 12.  학습 이전  학습 이후 Example ①: 팬케익 뒤집기 로봇 Trial  성공, 실패 Feedback  관절에 입력되는 힘을 조정  다시 Trial …. 강화학습 [2/3] Task 로봇 팔의 움직임을 제어하여 팬케익 뒤집기 What to learn (Action) 각 관절에 입력되는 힘 조절 Feedback (Reward) 팬케익 뒤집기를 얼마나 잘했는가? II. 강화학습
  13. 13. 강화학습 [3/3] Example ②: Playing Atari [Deepmind] Task Breakout 게임을 Play What to learn (Action) Bar를 좌우로 움직임 (2개 동작) Feedback (Reward) 얼마나 고득점을 올렸는가? [ 10분 학습 ] [ 120분 학습 ] [ 240분 학습 ] II. 강화학습
  14. 14. 강화학습의 가치 II. 강화학습 Programming Machine Learning • •
  15. 15. • •  전통적 방식 게임 Playing AI II. 강화학습
  16. 16. 해결책: 강화 학습 기반 AI • Trial & Error를 통해 스스로 학습 • 일반적인 Deep Learning과 달리 학습 데이터가 필요없기 때문에 라이브 서비스 이전 AI 개발에 유용 목표: 고품질 AI 제작 과정 자동화 • 규칙 입력 없이 AI 개발 • Super-human Level AI 개발 문제①: 복잡한 게임을 위한 AI 제작의 어려움 • 다양한 액션, 실시간성으로 인해 엄청나 게 많은 상황이 발생 문제②: 업데이트로 인한 지속적인 수작업 기계학습 기반 게임 Playing AI ex) Blade &Soul 스킬창 (스킬 50개 이상) II. 강화학습
  17. 17. Blue: 평가상대 AI (Hard-coded AI) 강화학습이 얼마나 개발자를 도울 수 있을 까? Red: 강화학습 AI 내부에서 만든 RTS AI 테스트용 게임 개발(학습) 시간 성능 Hard-coded AI 30 Days Human Level 강화학습 AI 2 Days Super Human Level  Super-human Level AI를 빠르게 개발할 수 있었음 II. 강화학습 내부 실험 결과
  18. 18. 산업계 강화학습 R&D 추세 OpenAI Dota2: 1 vs.1 [2017] OpenAI Five: 5 vs.5 [2018] Playing Atari [2013] AlphaGo [2016~2017] Quake III Arena [2018] Starcraft II [2017~] II. 강화학습 Simple, Single Player Game Complex, Multi Player Game B&S AI [2016~]
  19. 19. III. B&S 비무 AI
  20. 20. 강화학습 기반 AI를 개발하여 ‘B&S 무한의 탑’ 컨텐츠 서비스 중 • B&S 비무 AI: 전투 상황에 적절한 액션(공격/방어/이동) 선택 • 무한의 탑: 9개 직업 AI 서비스 (ver.1.0 / 2016년 1월) B&S 기반으로 지속적인 강화학습 기술 R&D 진행 NCSOFT 강화학습 R&D III. B&S 비무 AI [ v1.0: 서비스 버전 ] • 강화 학습 + (학습이 어려운 일부 기능에 규칙 적용) [ v2.0: 개발 진행 버전 ] • 심층 강화 학습Deep Reinforcement Learning : 강화학습 + 딥러닝 • 사용자 전투 로그 활용 • 규칙 없이 기계 학습 만으로 제작 무한의 탑 Play 영상( 칼을 사용하는 캐릭터 = AI )
  21. 21. B&S AI 필요한 AI는 무엇인가? HumanAI 1:1 PvP [ Input ] • 현재 상황 (State) • 직업별 사용 가능한 스킬 (Action, 최대 50개) • 총 11개 직업 [ Output ] • 매 순간마다 현재 상황에 가장 적절한 스킬과 움직임 선택 III. B&S 비무 AI Task 1:1 전투에서 승리 What to learn (Action) 50여 개의 스킬 Feedback (Reward) 장기적: 게임 승패 + 단기적: 체력 감소 등
  22. 22. Alpha Zero 알고리즘을 그대로 적용할 수 없는가? 실시간성으로 인한 속도 제한 III. B&S 비무 AI ※ B&S는 얼마나 어려운 게임인가? 경우의 수 ≒ 10^768GO B&S Action 수 스킬 수 = 약 50개 Moving = 8방향 Targeting = 2가지 경기시간 경기 시간 = 최대 180 sec Tick = 0.1 sec Decision Tick = 1800회 경우의 수 ≒ 800^1800 * • Alpha Zero의 근간이 되는 Monte Carlo Tree Search • 매우 강력하지만 속도 제약 때문에 Turn 제가 아니면 사용할 수 없 음 • 실시간 게임에서 Tree Search 기반 Planning 사용 불가 • B&S는 0.1 sec 내에 Decision 되어야 하는 실시간 게임 • End-to-end Neural Network Only 모델 사용할 수 밖에 없음
  23. 23. B&S AI: 개발 프로세스 Multi-trainer Reinforcement Learning Self Learning Single-trainer Reinforcement Learning Simulator 학습시스템 개발 강화학습은 매우 복잡하고 정교한 알고리즘  단계적으로 시스템과 알고리즘의 철저한 검증이 필 요함 심층강화학습 기반 AI AI가 자기 자신 또는 다른 AI들과 대결해서 스스로 학습하게 함 III. B&S 비무 AI
  24. 24. Simulator & 학습 시스템 III. B&S 비무 AI 학습 시스템 Part Simulator Part AI Server Game Server Game Client • 복잡한 서버 구조: 성능 Bottleneck 및 Scalability 이슈 • 게임 결과의 재현성: 가장 Critical했던 이슈. 실행 환경 등에 따라 게임 결과와 성능이 Deterministic하지 않은 점
  25. 25. Single-trainer Reinforcement Learning III. B&S 비무 AI 고정된 1명의 상대가 주어졌을 때 상대를 이길 수 있는 AI 학습 • 목표: 상대방 1명에 대한 승률 90% 이상 달성 • 목적: Robust하고 학습 속도가 빠른 알고리즘의 확보 • 어떤 상대가 주어지더라도 빠르게 성능을 높일 수 있는 알고리즘 확보 다양한 분류의 알고리즘을 병행해서 테스트 • PDD DQN, DQfD, A3C 등 최신 알고리즘 등을 Parallel하게 테스트 • 최초 실험: ver1.0 또는 사용자 로그로 학습해서 만든 상대로 학습 실험을 통해 검증 • 초기에는 1개 상대로는 대부분 알고리즘 들의 성능이 크게 차이나지 않았음 사용자 로그 기반 Supervised Learning • 사용자들의 1:1 비무장 로그를 수집  Supervised Learning • 좋은 품질의 AI를 빠르게 제작 가능. 또한, 강화학습의 Seed로 사용 가능  최종 버전은 사용자 로그 기반 Seed없이도 학습이 잘 되어서 최종 버전은 적용되지 않음
  26. 26. Self Play Learning III. B&S 비무 AI 자기 자신 또는 과거의 자기 자신을 상대로 스스로 학습 • 목표: 자기 자신을 상대로 계속 학습을 하면서도 꾸준히 전투 성능이 나아지도록 함 • 목적: 최초의 상대가 없더라도 Random Initialize 상태의 AI들만 있어도 학습이 이루어질 수 있도록 함 ※ 기술적 난제: 사람 상대 난이도 • 강화학습: 기본적으로 주어진 Environment에 적응하는 것 • 강화학습으로 만들어지는 AI는 그 환경에 Overfit될 수 밖에 없음 • 체감 난이도 저하: AI 상대 실력 ≠ 사람 상대 체감 난이도  Solution: Multi-trainer 학습법 • 결국 다양한 경험을 지속적으로 주면서 실력을 높이는 방법 이외에는 존재하지 않음 • 복수개의 다양한 여러 상대(자신과 과거의 자기 자신 등)을 상대로 동시에 학습
  27. 27. Multi-trainer Reinforcement Learning & ACER Detail한 알고리즘은 논문으로 정리 중. 논문으로 발표하면 다시 공개해드릴 예정 III. B&S 비무 AI 마지막 난제: Multi-trainer 상대 학습 • 사람 상대 성능을 높이기 위해 Multi-trainer 상대 학습이 필수적 • 그러나, 여러 AI를 상대로 학습이 매우 효율적이지 못하였음 • 어느 정도 수준으로 성능이 높아지긴 하지만 프로게이머 수준까지 이르지 못함 Solution: ACER • 지금까지 테스트한 알고리즘과 B&S 문제를 다시 이론적으로 재검토 • B&S 문제에 잘맞는 알고리즘 (off policy, discrete action space)을 찾아냄  ACER(Actor-Critic with Experience Replay): https://arxiv.org/abs/1611.01224  단일 상대, 복수 상대 모두 학습 성능이 매우 높았음 학습 속도 • 2017년 버전: ver1.0 90% 이상 달성에 48시간 소요 • 2018년 버전: ver1.0 95% 이상 달성에 30분 미만 소요
  28. 28. B&S AI 강화학습 결과 HP를 모두 깎는데 소요되는 시간: 2분 45초 20초 III. B&S 비무 AI [ 학습 시작 단계 ] [ 1 Day 학습 후 ] [ 1 Week 학습 후 ] 사람 AI Full 영상: https://www.youtube.com/watch?v=NGeryFck8sw
  29. 29. 성능 검증: 비공개 프로게이머 테스트 공격형 AI Top Level 프로게이머 III. B&S 비무 AI
  30. 30. 결론 Top Level 프로게이머 2명 상대로 비공개 테스트 실시 - 최정상급 프로게이머 2명을 비공개 섭외하여 다양한 버전의 성능 검증 - 버전 별로 약간의 차이가 있었으나 전체적으로 프로게이머를 이길 수 있는 것을 확인 - 특히, 가장 강한 버전(공격적인 성향을 보인 모델)은 2번의 비공개 테스트 기간 동안 100% 승률 보임 기술적 성취 - 실시간 게임에서 FSM, Behavior Tree와 같은 규칙 Hardcoding 없이 최고 수준의 AI 제작 가능 확인 III. B&S 비무 AI
  31. 31. IV. B&S 월드챔피언쉽
  32. 32. B&S 월드챔피언쉽 IV. B&S 월드챔피언쉽 NCSOFT 대표 e-sports 행사 • Blade & Soul 비무 경기(1:1, 태그매치) e-sports 대회 • 시즌을 거쳐 선발된 각 국가별 대표팀들이 모여서 월드 챔피언을 가림 • OGN 글로벌 생방송
  33. 33. “게임회사 NCSOFT다운 재미있는 Show를 구성해보자“ • 처음 계획: 3전2선승 1게임 이벤트 Match • 예상 문제점  프로게이머 대상 사전 테스트 결과가 상당히 압도적  방송팀의 의견 – “AI가 너무 강해서 방송 분량이 안나올 것 같다” 행사 준비 및 기획 우린 어떤 AI를 목표로 하고 있었는가? IV. B&S 월드챔피언쉽
  34. 34. “게임회사 NCSOFT다운 재미있는 Show를 구성해보자“ • 3가지 Type AI 개발: 공격형, 수비형, 공수균형  3경기로 확장 • 난이도 조절 ‒ 여러 난이도의 AI를 출전시켜 박진감있는 Show를 만들어보자 ‒ 모든 경기마다 1세트는 무조건 난이도가 낮은 AI 출전, 2세트부터 강한 AI가 출전 행사 준비 및 기획 Type 1 공수밸런스형 AI Type 2 수비형 AI Type 3 공격형 AI 1경기 2경기 3경기 프로게이머 1 프로게이머 2 프로게이머 3 3전 2선승제 3전 2선승제 3전 2선승제 IV. B&S 월드챔피언쉽
  35. 35. 이벤트용 AI 추가 개발: Reward 조정에 따른 여러 Type AI 개발 • 공격형 Reward: 시간이 지날수록 Penalty  절대 물러서지 않음 • 수비형 Reward: 자신의 HP가 깎이면 Penalty  가능한 선공을 하지 않음 AI 사람 IV. B&S 월드챔피언쉽
  36. 36. 이벤트용 AI 추가 개발: 프로게이머 사전 검증 수비형 AI Top Level 프로게이머 IV. B&S 월드챔피언쉽
  37. 37. • 프로게이머 사전 테스트 • 전체적인 성능 및 체감 난이도: 공격형 >> 수비형 ≒ 공수균형 • 무조건 1경기는 B 버전, 2경기부터는 A 버전이 출전하여 박빙의 승부를 연출하 자! 1경기: 공수균형 AI 2경기: 수비형 AI 3경기: 공격형 AI (가장 강력한 버전) 균형B 균형A 수비B 수비A 공격B 공격A 프로게이머 대상 사전 비공개 테스트 결 과 33% 50% 50% 100% 66% 100% 목표 시나리오 2승1패 1승2패 2승 이벤트용 AI 추가 개발 IV. B&S 월드챔피언쉽
  38. 38. 이벤트 결과 IV. B&S 월드챔피언쉽 Full 영상: https://www.youtube.com/watch?v=JQfLbEBJCbg
  39. 39. B&S 월드챔피언쉽 (9/15): Blind Match – “AI vs. 프로게이머” 이벤트 결과 교훈: 스포츠는 역시 스포츠답게 그냥 최선을 다하자 T.T 1경기: 공수균형 AI 2경기: 수비형 AI 3경기: 공격형 AI (가장 강력한 버전) 균형B 균형A 수비형B 수비형A 공격형B 공격형A 비공개 테스트 결과 (프로게이머 2명 대상 승률) 33% 50% 50% 100% 66% 100% 목표 시나리오 2승1패 1승2패 2승 실제 결과 1승2패 2패 2승 IV. B&S 월드챔피언쉽
  40. 40. Special Thanks to Reinforcement Learning Team! IV
  41. 41. Contact: 이경종 실장 kjlee@ncsoft.com

×