[igc] 엔씨소프트 이경종 - 강화 학습을 이용한 npc ai 구현

Post on 15-Apr-2017

938 Views

Category:

Technology

3 Downloads

Preview:

Click to see full reader

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팀 팀장]

이 경 종

top related