[igc] 엔씨소프트 이경종 - 강화 학습을 이용한 npc ai 구현
TRANSCRIPT
강화 학습 기반 NPC AI
[B&S 무한의 탑 AI 활용 사례]
Inven Game Conference
NCSOFTAI Center / Game AI팀
이경종
INDEX1
ChapterOverview
2
Chapter강화 학습 기반 AI
3
Chapter강화 학습 시스템
4
Chapter향후 R&D 방향
Chapter [1]
Overview
Inven Game Conference
1Overview
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
1Overview
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
1Overview
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
1Overview
오늘 이야기: 무한의 탑 AI
• 동양 세계관 무협 액션 MMORPG (2012년 6월 상용화 서비스 시작)
• 다수 PvE 콘텐츠, PvP 콘텐츠 서비스 중
Blade & Soul
• 한계점
진입 장벽 /
다른 사람과 대결에
대한 거부감
• 한계점
Boss Monster의
고정된 전투 패턴
공략 해법이 존재
일대일 PvP 콘텐츠: ‘비무’ 개인 PvE 콘텐츠: ‘무신의 탑’
• AI와 일대일 비무를 하는 콘텐츠
• ‘비무’와 ‘무신의 탑’의 한계점을 AI를 활용하여 보완
• 난이도 별로 배치된 AI에서 승리하면 위층으로 올라감
• 무한의 탑 AI: 고정된 전투 패턴이 아닌 상황에 따라 기술을 선택
무한의 탑 2016년 1월 출시•
7
1Overview
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
Chapter [2]
강화 학습 기반 AI
Inven Game Conference
2강화 학습 기반 AI
강화 학습이란? [1/2]
•
•
Learning Without a Teacher
10
2강화 학습 기반 AI
강화 학습이란? [2/2]
• Task: 로봇 팔의 움직임을 제어하여 팬케익 뒤집기
•
•
팬케익 뒤집기 로봇 Example
Trial 성공, 실패 Feedback 관절에 입력되는 힘을 조정 다시 Trial ….
11
2강화 학습 기반 AI
무한의 탑 AI 강화 학습
• Task: B&S 1:1 대결에서 승리
•
•
팬케익 뒤집기 로봇과의 비교
내부적으로는 어떤 과정으로 학습이 되고 있는 것일까?
12
2강화 학습 기반 AI
강화 학습 과정 Example
State Action 기대 Reward
State 1HP=30,Dist.=20
돌진 9
막기 5
State 2HP=20,Dist.=20
돌진 4
막기 6
AI
State 1 Action 1: 돌진 State 2
State Action 기대 Reward
State 1HP=30,Dist.=20
돌진 9
막기 5
State 2HP=20,Dist.=20
돌진 4
막기 6
AI
Action 2: 막기
PolicyPolicy
① AI vs. AI 대결 시뮬레이션
② 학습 로그 수집
③ AI 학습 및 성능 개선
State에서 기대 Reward가가장 높은 Action 선택
13
2강화 학습 기반 AI
강화 학습 과정 Example
State Action 기대 Reward
State 1HP=30,Dist.=20
돌진 9
막기 5
State 2HP=20,Dist.=20
돌진 4
막기 6
AI
Action 1: 돌진State 1 State 2
State Action 기대 Reward
State 1HP=30,Dist.=20
돌진 9
막기 5
State 2HP=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
2강화 학습 기반 AI
강화 학습 과정 Example
State Action 기대 Reward
State 1HP=30,Dist.=20
돌진 9
막기 5
State 2HP=20,Dist.=20
돌진 4
막기 6
AI
Action 1: 돌진State 1 State 2
State Action 기대 Reward
State 1HP=30,Dist.=20
돌진 9
막기 5
State 2HP=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 1HP=30,Dist.=20
돌진 4
막기 5
State 2HP=20,Dist.=20
돌진 4
막기 11
AI Update !!
① AI vs. AI 대결 시뮬레이션
② 학습 로그 수집
③ AI 학습 및 성능 개선
State, Reward Design에 많은 Know-how 필요!!
State에서 기대 Reward가가장 높은 Action 선택
15
2강화 학습 기반 AI
Neural Fitted Q Learning
실제 문제를 풀 때 Example처럼 간단하게 풀릴 것인가?
• 무엇이 문제일까? State의 수가 너무 많아서 Table의 형태로 만들 수 없음
• 해결방법: Table을 Regression 함수로 대체
Approximated Q Learning
State Action 기대 Reward
State 1HP=30,Dist.=20
돌진 9
막기 5
State 2HP=20,Dist.=20
돌진 4
막기 6
Function f(state, action) = reward
f(state1, 돌진) = 9f(state2, 막기) = 5…
• Approximation 함수를 어떻게 만들 수 있을까?
• 해결방법: Neural Network으로 Regression 학습
Neural Fitted Q Learning
16
2강화 학습 기반 AI
학습 영상
학습 실험 단계 영상: Reward 변경에 따른 학습 과정
17
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
2강화 학습 기반 AI
Evaluation
HUMAN PLAY TEST 영상 #2: 후반기 영상
19
Chapter [3]
강화 학습 시스템
Inven Game Conference
3강화 학습 시스템
강화 학습 시스템 구조
강화 학습을 하려면 무엇을 만들어야 할까?
• Gorila: Google Reinforcement Learning Architecture
Environment
(Simulator)
Actor
(Q Network / AI Agent)Learner
핵심 Component
20
3강화 학습 시스템
B&S 무한의 탑 AI 구조
Environment
(Simulator)B&S Game Server
Actor
(AI Agent)LearnerAI Server
TrainerAI Agent
TraineeAI Agent
Learning Server
Client
Q Network Q Network
Learning Process Coordinator
Game State
Game State
Action(Skill)
Action(Skill)
Action Log
Network Weight
21
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
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
3강화 학습 시스템
난이도 조절
난이도 조절의 필요성
• 무한의 탑은 100층으로 구성되어 있고, 층수가 올라갈수록 강력한 AI가 등장
• 단계별로 AI 난이도를 조절할 수 있는 Factor 개발
난이도 FACTOR 개발
• 분리된 공격/방어 난이도 Factor: 하위 Level에서는 방어 Factor를 매우 낮춤
• 기능 단위 난이도 Factor: 중요 스킬 Block / 일부러 당해주기(쉽게 반격할 수 있는 스킬 사용)
• 반응 속도 Factor: 방어 스킬 사용 시, 행동 불가 이후, 스킬 사용 후 등 여러 상황에 각기 다른 반응속도 설정
난이도 설정 과정
• 각 직업별 AI 난이도 설정
• AI 학습 완료 이후 실험적으로 결정
• 난이도 Factor 조절을 통해 승률 35% (ELO Rating 100점) 차이가 나도록 조정
• 이 과정을 반복해서 하위 Level AI 생성
24
Chapter [4]
향후 R&D 방향
Inven Game Conference
4향후 R&D 방향
무한의 탑 AI의 미래
• MMORPG에 강화 학습 기반 NPC AI 상용화 성공. 그러나, 여전히 많은 숙제가 남아있음
B&S 무한의 탑 AI
AI 전투 성능 향상 목표: 최고레벨 플레이어 수준 Human like AI 기계적인 반응의 완화
사용자 로그 활용 다른 장르의 게임 적용
27
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
감사합니다
[AI Center / Game AI팀 팀장]
이 경 종