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.

[IGC] 엔씨소프트 이경종 - 강화 학습을 이용한 NPC AI 구현

4,435 views

Published on

기계 학습을 이용한 NPC AI 제작 방법과 강화 학습 적용 사례를 소개합니다. 또한, 상용화 과정에서의 문제점 및 해결 사례 등과 R&D 과정에서 이용할 수 있는 실험 과정 및 에피소드를 이야기합니다.

Published in: Technology
  • Be the first to comment

[IGC] 엔씨소프트 이경종 - 강화 학습을 이용한 NPC AI 구현

  1. 1. 강화 학습 기반 NPC AI [B&S 무한의 탑 AI 활용 사례] Inven Game Conference NCSOFT AI Center / Game AI팀 이경종
  2. 2. INDEX 1 Chapter Overview 2 Chapter 강화 학습 기반 AI 3 Chapter 강화 학습 시스템 4 Chapter 향후 R&D 방향
  3. 3. Chapter [1] Overview Inven Game Conference
  4. 4. 1 Overview NCSOFT Game AI팀 소개 • Team Mission: Game AI에 필요한 기술을 R&D하고 실용화 NCSOFT GAME AI팀 Game에 필요한 AI 기술 개발 NPC AI / Strategic, Tactical AI … Game에 필요한 기능을 AI 기술을 활용해서 개발 Matching / Game Interface … AI 중심의 새로운 Game Play 연구 및 테스트 • Game AI • Machine Learning / Pattern Recognition • Planning / Tree Search • Optimization / Problem Solving TECHNOLOGIES • Game AI 알고리즘 개발 • Game AI Prototype 개발 및 Library 제작 • AI R&D Framework 개발 Machine Learning 환경, 실험 게임 환경 등 TASK 4
  5. 5. 1 Overview What is the Game AI? [ 최근 동향 ] • Decision Making: Machine Learning / MCTS based AI • Procedural Content Generation / Interactive Storytelling • General Game Playing / Reinforcement Learning • AI Competition ① Intelligent NPC: Techniques to produce the illusion of intelligence in the behavior of NPCs ② Intelligent Opponents: Behavior and decision-making process for game-playing opponents ** ③ Good Gameplay: Centered on appearance of intelligence and good gameplay within environment restrictions * GAME AI [ 전통적인 Game AI ] • Movement, Path-finding • Decision making: FSM, Behavior Tree, HTN • Tactical & Strategic AI • Board Game / Adversarial Search GAME AI 기술 분야 Trend 변화 AI Breakthrough 5
  6. 6. 1 Overview Why R&D in Game AI? • Games can be enriched by more intelligent agents1 : can generate more entertaining game-plays or create exciting new genres of game Game-perspective • Game is an ideal domain for the study and application of AI algorithms 1 : provides competitive dynamic environments simulating real-world AI-perspective Visual Doom AI Competition @ CIG 2016  Doom 게임에서 상대방을 찾아서 공격하는 FPS AI 개발  입력으로 Raw Visual 데이터만을 사용 6
  7. 7. 1 Overview 오늘 이야기: 무한의 탑 AI • 동양 세계관 무협 액션 MMORPG (2012년 6월 상용화 서비스 시작) • 다수 PvE 콘텐츠, PvP 콘텐츠 서비스 중 Blade & Soul • 한계점 진입 장벽 / 다른 사람과 대결에 대한 거부감 • 한계점 Boss Monster의 고정된 전투 패턴  공략 해법이 존재 일대일 PvP 콘텐츠: ‘비무’ 개인 PvE 콘텐츠: ‘무신의 탑’ • AI와 일대일 비무를 하는 콘텐츠 • ‘비무’와 ‘무신의 탑’의 한계점을 AI를 활용하여 보완 • 난이도 별로 배치된 AI에서 승리하면 위층으로 올라감 • 무한의 탑 AI: 고정된 전투 패턴이 아닌 상황에 따라 기술을 선택 무한의 탑 2016년 1월 출시 • 7
  8. 8. 1 Overview B&S 무한의 탑 AI 필요한 AI는 무엇인가? HumanAI 1:1 PvP [ Input ] • 현재 상황 (State) • 직업별 사용 가능한 스킬 (Action, 최대 50개) • 총 9개 직업 [ Output ] • 매 순간마다 현재 상황에 가장 적절한 스킬 선택 • 상용 게임의 복잡한 게임 규칙 - 50여 개의 상이한 Action • 실시간 전투 - 1초 내 2~3개 스킬 사용 - Action 중간에 상대가 대응  엄청나게 다양한 상황에 AI가 모두 대응해야함 Challenging Point 전통적으로 NPC AI를 제작하던 FSM, Behavior Tree 등 규칙 기반 기법으로 구현 불가능 8
  9. 9. Chapter [2] 강화 학습 기반 AI Inven Game Conference
  10. 10. 2 강화 학습 기반 AI 강화 학습이란? [1/2] • • Learning Without a Teacher 10
  11. 11. 2 강화 학습 기반 AI 강화 학습이란? [2/2]   • Task: 로봇 팔의 움직임을 제어하여 팬케익 뒤집기 •  •  팬케익 뒤집기 로봇 Example Trial  성공, 실패 Feedback  관절에 입력되는 힘을 조정  다시 Trial …. 11
  12. 12. 2 강화 학습 기반 AI 무한의 탑 AI 강화 학습 • Task: B&S 1:1 대결에서 승리 •  •  팬케익 뒤집기 로봇과의 비교    내부적으로는 어떤 과정으로 학습이 되고 있는 것일까? 12
  13. 13. 2 강화 학습 기반 AI 강화 학습 과정 Example State Action 기대 Reward State 1 HP=30,Dist.=20 돌진 9 막기 5 State 2 HP=20,Dist.=20 돌진 4 막기 6 AI State 1 Action 1: 돌진 State 2 State Action 기대 Reward State 1 HP=30,Dist.=20 돌진 9 막기 5 State 2 HP=20,Dist.=20 돌진 4 막기 6 AI Action 2: 막기 PolicyPolicy ① AI vs. AI 대결 시뮬레이션 ② 학습 로그 수집 ③ AI 학습 및 성능 개선 State에서 기대 Reward가 가장 높은 Action 선택 13
  14. 14. 2 강화 학습 기반 AI 강화 학습 과정 Example State Action 기대 Reward State 1 HP=30,Dist.=20 돌진 9 막기 5 State 2 HP=20,Dist.=20 돌진 4 막기 6 AI Action 1: 돌진State 1 State 2 State Action 기대 Reward State 1 HP=30,Dist.=20 돌진 9 막기 5 State 2 HP=20,Dist.=20 돌진 4 막기 6 AI Action 2: 막기 PolicyPolicy ① AI vs. AI 대결 시뮬레이션 ② 학습 로그 수집 ③ AI 학습 및 성능 개선 학습 로그(Replay Memory) ( State 1, 돌진 ) ( State 2, 막기 ) …. …. ( Final State, 승리) State에서 기대 Reward가 가장 높은 Action 선택 14
  15. 15. 2 강화 학습 기반 AI 강화 학습 과정 Example State Action 기대 Reward State 1 HP=30,Dist.=20 돌진 9 막기 5 State 2 HP=20,Dist.=20 돌진 4 막기 6 AI Action 1: 돌진State 1 State 2 State Action 기대 Reward State 1 HP=30,Dist.=20 돌진 9 막기 5 State 2 HP=20,Dist.=20 돌진 4 막기 6 AI Action 2: 막기 PolicyPolicy Feedback • Reward = Positive (적 HP 감소) : +5 Negative(내 HP 감소) : -5 (State 1, 돌진)  Negative  Reward -5 (State 2, 막기)  Positive  Reward +5 State Action 기대 Reward State 1 HP=30,Dist.=20 돌진 4 막기 5 State 2 HP=20,Dist.=20 돌진 4 막기 11 AI Update !! ① AI vs. AI 대결 시뮬레이션 ② 학습 로그 수집 ③ AI 학습 및 성능 개선  State, Reward Design에 많은 Know-how 필요!! State에서 기대 Reward가 가장 높은 Action 선택 15
  16. 16. 2 강화 학습 기반 AI Neural Fitted Q Learning 실제 문제를 풀 때 Example처럼 간단하게 풀릴 것인가? • 무엇이 문제일까? State의 수가 너무 많아서 Table의 형태로 만들 수 없음 • 해결방법: Table을 Regression 함수로 대체 Approximated Q Learning State Action 기대 Reward State 1 HP=30,Dist.=20 돌진 9 막기 5 State 2 HP=20,Dist.=20 돌진 4 막기 6 Function f(state, action) = reward f(state1, 돌진) = 9 f(state2, 막기) = 5 … • Approximation 함수를 어떻게 만들 수 있을까? • 해결방법: Neural Network으로 Regression 학습 Neural Fitted Q Learning 16
  17. 17. 2 강화 학습 기반 AI 학습 영상 학습 실험 단계 영상: Reward 변경에 따른 학습 과정 17
  18. 18. 2 강화 학습 기반 AI Evaluation HUMAN PLAY TEST • 이슈: AI vs. AI 승률 ≠ AI vs. 사람 승률 • 주기적으로 Platinum 급 유저(ELO 1900점, 상위 2%)와 HUMAN PLAY TEST 실시 HUMAN PLAY TEST 영상 #1: 초창기 영상 HUMAN PLAY TEST 영상 #1: 초창기 영상 18
  19. 19. 2 강화 학습 기반 AI Evaluation HUMAN PLAY TEST 영상 #2: 후반기 영상 19
  20. 20. Chapter [3] 강화 학습 시스템 Inven Game Conference
  21. 21. 3 강화 학습 시스템 강화 학습 시스템 구조 강화 학습을 하려면 무엇을 만들어야 할까? • Gorila: Google Reinforcement Learning Architecture Environment (Simulator) Actor (Q Network / AI Agent) Learner 핵심 Component 20
  22. 22. 3 강화 학습 시스템 B&S 무한의 탑 AI 구조 Environment (Simulator) B&S Game Server Actor (AI Agent) LearnerAI Server Trainer AI Agent Trainee AI Agent Learning Server Client Q Network Q Network Learning Process Coordinator Game State Game State Action(Skill) Action(Skill) Action Log Network Weight 21
  23. 23. Trainee AI Agent 1 Trainer AI Agent 1 3 강화 학습 시스템 대규모 시뮬레이션을 위한 구조 AI ServerGame Server Trainee AI Agent 2 Trainer AI Agent 2 Trainee AI Agent 3 Trainer AI Agent 3 Trainee AI Agent 4 Trainer AI Agent 4 Learning Server 학습용 전투 로그 AI Agent Update Learning Process Coordinator Instance Zone 생성 AI Agent 생성 22
  24. 24. 3 강화 학습 시스템 Performance Tuning Information Extractor Skill Filter Skill Decision Maker Tactical Decision Maker AI Agent Logger Information Extractor Human Player Agent • Skill Availability: Cool Time, MP, Skill Tree • Skill 사정거리: Targeting 범위, 효과 영역 Bottleneck !! • 프로 파일링 및 코드 리뷰 • Array, Map 속도/Data Copy 횟수 감소 • Domain Knowledge 적용해서 불필요한 정보 Update 줄임 • 난이도 Factor 연동하여 Decision Making 횟수 감소 저 Level AI Decision Tick을 2배로 증가  난이도 재설정 코드 최적화 구조 최적화 • 1 msec 미만 / 1 decision ( 초기 버전: 10 msec 이상 ) Performance Requirement 23
  25. 25. 3 강화 학습 시스템 난이도 조절 난이도 조절의 필요성 • 무한의 탑은 100층으로 구성되어 있고, 층수가 올라갈수록 강력한 AI가 등장 • 단계별로 AI 난이도를 조절할 수 있는 Factor 개발 난이도 FACTOR 개발 • 분리된 공격/방어 난이도 Factor: 하위 Level에서는 방어 Factor를 매우 낮춤 • 기능 단위 난이도 Factor: 중요 스킬 Block / 일부러 당해주기(쉽게 반격할 수 있는 스킬 사용) • 반응 속도 Factor: 방어 스킬 사용 시, 행동 불가 이후, 스킬 사용 후 등 여러 상황에 각기 다른 반응속도 설정 난이도 설정 과정 • 각 직업별 AI 난이도 설정 • AI 학습 완료 이후 실험적으로 결정 • 난이도 Factor 조절을 통해 승률 35% (ELO Rating 100점) 차이가 나도록 조정 • 이 과정을 반복해서 하위 Level AI 생성 24
  26. 26. Chapter [4] 향후 R&D 방향 Inven Game Conference
  27. 27. 4 향후 R&D 방향 무한의 탑 AI의 미래 • MMORPG에 강화 학습 기반 NPC AI 상용화 성공. 그러나, 여전히 많은 숙제가 남아있음 B&S 무한의 탑 AI AI 전투 성능 향상 목표: 최고레벨 플레이어 수준 Human like AI 기계적인 반응의 완화 사용자 로그 활용 다른 장르의 게임 적용 27
  28. 28. 4 향후 R&D 방향 NCSOFT Game AI Good AI: playing to win Fun AI: playing to lose • Intelligent AI Agent • Supervised Learning • Reinforcement Learning Machine Learning based Decision Making I’ll kill you… I’ll entertain you… 28
  29. 29. 감사합니다 [AI Center / Game AI팀 팀장] 이 경 종

×