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
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
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
1
Overview
오늘 이야기: 무한의 탑 AI
• 동양 세계관 무협 액션 MMORPG (2012년 6월 상용화 서비스 시작)
• 다수 PvE 콘텐츠, PvP 콘텐츠 서비스 중
Blade & Soul
• 한계점
진입 장벽 /
다른 사람과 대결에
대한 거부감
• 한계점
Boss Monster의
고정된 전투 패턴
공략 해법이 존재
일대일 PvP 콘텐츠: ‘비무’ 개인 PvE 콘텐츠: ‘무신의 탑’
• AI와 일대일 비무를 하는 콘텐츠
• ‘비무’와 ‘무신의 탑’의 한계점을 AI를 활용하여 보완
• 난이도 별로 배치된 AI에서 승리하면 위층으로 올라감
• 무한의 탑 AI: 고정된 전투 패턴이 아닌 상황에 따라 기술을 선택
무한의 탑 2016년 1월 출시
•
7
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
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 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
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
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
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
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
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
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
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
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