행동 복제를 통한 다양한 플레이 스타일 중심의 에이전트 생성

행동 복제를 통한 다양한 플레이 스타일 중심의 에이전트 생성

2023월 10월 06일 제19회 AAAI 인공지능 및 대화형 디지털 엔터테인먼트 컨퍼런스

Creating Diverse Play-Style-Centric Agents through Behavioural Cloning | Proceedings of the AAAI Conference on Artificial Intelligence and Interactive Digital Entertainment Creating Diverse Play-Style-Centric Agents through Behavioural Cloning 행동 복제(Behavioural Cloning)를 통한 다양한 플레이 스타일 중심의 에이전트 생성

개요

  • 다양한 수준의 다양한 플레이스타일을 포괄하는 에이전트를 만든다
  • 비지도 플레이 스타일 식별과 정책 학습 기술을 결합했다
  • PCPG(Play-style-Centric Policy Generation: 플레이 스타일 중심 정책 생성) 파이프라인을 제안

소개

  • 인간 플레이어가 보여주는 다양한 플레이 스타일을 표현하고 싶음
  • 기존의 행동을 복제하는 것을 목표로 하는 대안적 접근 방식은 인간과 유사한 행동을 생성하는 데 효과적
  • 유사한 행동 정책을 학습할 수 있는 특성 집합을 설계하거나 자동으로 식별해야 한다
    • 원하는 플레이 스타일을 설명하는 관련 특징을 세분화한 다음, 이러한 특징을 행동에 매핑하는 정책을 학습
    • 또는 클러스터링이나 차원 재연결 같은 기술을 사용하여 데이터에서 관련 플레이 스타일 특징을 자동으로 추출한 다음 이를 통해 정책을 학습
  • PCPG 파이프라인
    • 비지도 플레이 스타일 식별과 정책 학습 기법의 조합
    • 비지도 식별 프로세스를 통해 식별 가능한 행동에 따라 시연을 하위 집합으로 나눈다
    • 정책 학습 방법을 적용하여 특정 플레이 스타일을 모방할 수 있는 에이전트를 훈련
  • 목표: 게임 내 다양한 플레이 스타일을 다양한 수준의 숙련도로 정확하게 표현

관련 작업

  • 보상 중심
    • Reinforcement learning
    • Reward Function 보상함수
      에이전트가 특정 행동을 취할 때 얼마나 잘햇는지 평가하여 숫자로된 보상 반환
    • Reward Shaping 보상 구조 수정
      기존 보상함수에 추가적인 보상을 더하는 과정. 특정행동을 하거나 스타일을 따를 때 보상을 주어 구체적인 스타일을 따르도록 함.
      • 각 행동에 얼마나 보상을 주어야하는지 결정할 때 전문 지식이 필요해서 설계가 까다로움.
  • 데이터 중심
    • Imitation Learning
    • Supervised Learning 지도학습
      모방학습에서 기본적으로 사용하는 학습 방식. 사람이 하는 행동을 학습 데이터로 활용
    • Expert Demonstrations 전문가 시범
      전문가의 시범을 보고 이를 바탕으로 학습
    • State and Action 상태와 행동
      환경의 상태를 보고 그 상태에서 어떤 행동을 취해야하는지 학습
    • 복잡한 행동을 학습 가능하고 실제 환경에서 활용하기 좋다
    • 한계
      • 데이터를 뛰어넘어서까지 행동할 수 없음. 시범을 보이지 않은 항목에 대해서는 오류 발생 (Distributional Shift 분포이동)
      • 대규모의 데이터가 필요
    • DAGGER 알고리즘
      에이전트가 잘못된 행동을 할 때, 전문가가 다시 피드백
    • Unsupervised Clustering 비지도 학습 클러스터링
      • 플레이어가 어떤 스타일로 게임을 진행하는지 알지 못하는 상태에서, 유사한 행동 패턴을 가진 그룹으로 데이터를 자동으로 묶어내는 비지도 학습 기법
      • Clustering
        비슷한 데이터를 하나의 그룹으로 묶는 방법
        • 비지도학습에서는 클러스터링 과정에서 데이터를 미리 라벨링 하지 않고, 데이터 내의 패턴을 찾아 자동으로 그룹을 나눔
        • 게임 플레이 경험에 존재하는 시간적 측면이나 시간 경과에 따라 또는 레벨에 따라 플레이 스타일이 어떻게 변화하는지를 반영하지 못함

Behavioural Cloning

모방 학습의 한 형태로, 전문가를 활용하여 원하는 행동을 시연한다.

  • state ∈ Trajectory
    • state: 에이전트가 현재 처한 환경의 정보
    • Trajectory: 에이전트가 특정 시점부터 목표에 도달할 때까지의 상태와 행동의 연속적인 기록
    • 특정 시점에서 에이전트가 처한 상태 sss는 궤적이라는 일련의 상태 변화 중 하나
  • Trajectory에서 에이전트가 겪는 각 상태를 나타내는 시퀀스가 있다
  • (Dataset) ={X0,X1,…,Xh}
    • Dataset: 전문가가 시범을 보이며 생성한 상태-행동 묶음
    • Xs: 각 Trajectory
    • 즉 모든 Trajectory를 묶어 데이터셋을 생성
  • policy−π: 에이전트의 정책(주어진 상태에서 어떤 행동을 취할지를 결정)

정책을 뽑아내는 식으로는…

  • arg min
    • 손실을 최소화하는 정책π을 찾겠다​​
    • i는 각 데이터 포인트
    • N개의 데이터 포인트에 대해 학습하는 과정
  • l(ai​,ai′​;π)
    • 손실함수 loss function
    • 에이전트가 예측한 행동 (a’i)과 전문가가 실제로 취한 행동(ai)간의 차이 측정
    • 예측이 행동과 다를수록 손실이 커진다

방법론

  • Play-Style-Centric Policy Generation (PCPG)

A단계: 클러스터링 기법을 사용하여 관찰 데이터 = 다차원 Trajectory 데이터를 식별 가능한 다양한 플레이 스타일에 따라 분리 B단계: 특정 기술 범위에 따라 분리된 관찰 데이터를 필터링할 수 있도록 순위 함수를 기반으로 궤적의 순서를 매김 C단계: 생성된 각 하위 집합에 대해 개별 BC 모델을 훈련

각 선택 항목에는 특정 행동과 관련된 데이터가 포함되어 있으므로 ‘플레이 스타일 중심 정책 생성’이라고 명명

Trajectory Clustering (A단계)

플레이어의 다양한 스타일을 식별하기 위해, 유사한 행동 패턴을 가진 궤적을 클러스터로 묶는 단계

  • 궤적을 더 작은 차원으로 변환(차원 축소)한 후
  • LSTM 오토인코더라는 신경망을 사용
    • LSTM(장단기 기억 네트워크): 시간 흐름에 따른 데이터를 처리하는 신경망 플레이어가 시간에 따라 어떻게 행동했는지를 추적 가능하다
    • 오토인코더: 데이터를 입력받아 중요한 특징만 남기고 불필요한 정보를 압축하는 신경망
  • 각 궤적을 특정 잠재 공간(latent space)에 매핑 (잠재 공간은 궤적을 축약한 표현)
  • 클러스터링 알고리즘을 사용하여 유사한 Trajectory들을 하나의 그룹으로 묶음

인코더가 궤적의 중요한 특징을 남기고, 불필요한 정보는 제거하는 과정의 수식

  • Xi: 원래의 Trajectory
  • Encoder: = LSTM 인코더, Trajectory를 축약된 표현으로 변환하는 신경망
  • Zi: latent space 잠재공간 차원 축소(dimensionality reduction technique)를 이용하여 실제 관찰 공간(observation space)을 관찰 대상들을 잘 설명할 수 있는 잠재 공간(latent space)으로 축소
  • Decoder: 잠재 공간의 데이터를 다시 원래 Trajectory로 복원
  • X’i: 재구성된 Trajectory

Trajectory Ranking (B단계)

성능에 순위를 매기는 단계. 각 클러스터 안에서 Trajectory의 성능(기술 수준)에 따라 순위를 매긴다. = 즉, Trajectory를 상위 플레이어와 하위 플레이어로 구분하는 단계.

  • 각 Trajectory를 Ranking Function을 사용하여 성능 기준으로 정렬
  • Performance: Trajectory의 길이(ex. 얼마나 빨리 도달했는가?)를 사용하여 순위를 매긴다. 짧을 수록 더 나은 성과를 뜻함
  • 상위 p%의 Trajectory만 선택하여 최상위 기술 수준을 학습하는 에이전트를 훈련

궤적의 성능을 평가하는데, 궤적이 짧고 목표 상태에 도달할수록 더 높은 성능을 부여하는 수식

  • Performance(X): 각 Trajectory X의 성능
  • ∣X∣: Trajectory의 길이. 짧을수록 목표 달성을 빨리 한 것 즉 1/∣X∣ 는 짧을수록 값이 높아지게 만드는 역할
  • xT: 궤적의 마지막 상태.
  • β: 목표 상태에 도달하지 못했을 때 성능을 벌점으로 조정하는 상수

Policy Learning (C단계)

각 클러스터에서 추출된 Trajectory를 바탕으로, 해당 플레이 스타일을 모방하는 정책(Policy)을 학습하는 단계

  • 행동 복제(Behavioural Cloning): 지도 학습을 사용하여, 상태-행동 쌍을 학습
  • 주어진 상태에서 행동을 예측하고, 그 예측된 행동과 실제 행동 사이의 차이를 최소화하려 함
  • 각 클러스터에 맞는 스타일 중심 정책을 학습

예측한 행동과 실제 행동 사이의 차이를 줄이는 방향으로 정책을 수정하는 수식

  • πk​,p: 특정 스타일 k와 성능 수준 p에 맞춘 정책
  • ∑in=1: N개의 Trajectory에 대해 반복적으로 학습을 수행
  • l(ai​,ai′​;π): 손실함수(전문가와의 행동 차이가 클수록 손실 값이 커짐)
  • arg min π: 손실함수의 값을 최소화하는 정책 ​π 찾기

실험

  • 검증을 위해 세 가지 데이터셋에서 모델을 평가
    • 두개의 인공 데이터셋(synthetic datasets)
    • 하나의 자연 데이터셋(natural datasets)

GridWorld

랜덤하게 생성된 GridWorld 환경

  • GridWorld 데이터셋
    • 격자형 환경에서 플레이어가 목표지점을 찾아가는 게임
    • 두 개의 선택적(옵션) 목표를 추가. 즉 추가 목표를 달성할 수 있음
    • 플레이어가 어떤 스타일로 게임을 했는지 명확하기에 모델이 얼마나 잘 학습했는지 정확하게 평가가 가능하다

다양한 플레이 스타일을 정의하고, 각 스타일에 따른 보상 구조를 설명

  • G: 목표
  • B1, B2: 보상 추가 지점

Preference-Based Trajectory Generation (PBTG) 보상 기반 Trajectory 생성 알고리즘

procedure PBTG(Environment E) # 주어진 환경 E에서 동작한다
  보상함수 R 정의
  Trajectories 집합 D를 초기화
  for all 보상함수 R do
	Q-learning을 사용해 주어진 보상 함수에 대해 최적의 정책 πr을 학습
		for Trajectory의 개수만큼 do
			# 플레이 스타일 안에서 약간의 다양성을 만들기 위해
			학습한 최적 정책을 약간 변형하여 새로운 정책 πrn을 생성
			Generate X(n,r) from πrn 그리고 D에 추가
	    end for
	end for
end procedure

MiniDungeons

  • MiniDungeons 데이터셋
    • 2D 던전 탐험 게임. 여러 레벨이 존재한다.
    • 비디오 게임 연구에서 많이 사용되는 표준 데이터셋
    • 인간 같은 행동을 바탕으로 만들어진 데이터. 2D 레벨에서 다양한 행동을 보이는 플레이어들의 데이터를 포함한다.
    • 인간 같은 행동을 얼마나 잘 학습하고 재현하는지 평가가 가능하다

미니던전에서의 플레이어의 행동 스타일

  • Safe Runner: 안전하게 이동하는 플레이어. 몬스터를 피하고 던전을 빠르게 완료하는 것이 목표
  • Wreckless Runner: 무모한 플레이어. 던전을 가능한 빨리 완료하려고 하지만, 몬스터를 피하지 않고 진행. 가능한 한 빠르게 진행하려는 점은 같지만, 안전을 고려하지 않는다
  • Brave Treasure Hunter: 용감한 보물 사냥꾼. 적이 있는 구역이라도 보물을 찾기 위해 돌진. 몬스터가 지키고 있는 보물을 찾는 것이 목표
  • Pure Treasure Hunter: 순수한 보물 사냥꾼. 몬스터가 없는 구역에서만 안전하게 보물을 수집. 즉, 적이 없는 곳에서만 보물을 찾는 것이 목표
  • Safety-First: 안전 우선 플레이어. 몬스터와의 전투를 피하면서, 보물과 포션만 수집. 전투는 최소화
  • Monster Killer: 몬스터 사냥꾼. 최대한 많은 몬스터를 처치하는 것이 목표. 던전클리어보다 몬스터 처치가 우선

Mario

  • Super Mario Bros 데이터셋
    • 라벨이 없는(unlabelled) 데이터 = 플레이어가 어떤 스타일로 게임을 했는지 미리 정의된 정답이 없다
    • 자연 데이터셋(natural domain)
    • 모델이 실제 환경에서 얼마나 잘 작동하는지를 평가가 가능하다

슈퍼 마리오 브라더스의 11개 레벨에 걸친 74개의 플레이로 구성함. 상태를 (j,k,r,c,d,e)로 주어진 튜플로 정의

  • j: 점프 횟수
  • k: 죽인 적의 수
  • r: 플레이어가 달리기 시작한 횟수
  • c: 수집한 코인의 갯수
  • d: 죽은 횟수
  • e: 고유 액션 인코딩

훈련

Trajectory Clustering

  • 사전 학습된 비지도 LSTM(Long Short-Term Memory 장단기 메모리) 클러스터링 모델을 사용
    • 시계열 데이터를 처리하는 데 효과적인 신경망
    • 셀과 세개의 게이트로 구성되어 있음
      • 입력 게이트
        망각 게이트와 동일한 시스템을 사용하여 현재 셀 상태에 저장할 새 정보를 결정
      • 출력 게이트
        이전 및 현재 상태를 고려하여 정보에 0~1 사이의 값을 할당하여 현재 셀 상태에서 어떤 정보를 출력할지 제어
      • 망각 게이트
        이전 상태와 현재 입력을 0과 1 사이의 값으로 매핑하여 이전 상태에서 삭제할 정보를 결정
    • 셀은 임의의 시간 간격에 걸쳐 값을 기억
    • 세 개의 게이트는 셀로 들어오고 나가는 정보의 흐름을 조절

Play-style-centric Model 플레이스타일 중심 모델 구조

  • 3개의 완전 연결 레이어(Fully Connected Layers)로 구성되어있음
  • 각 레이어에는 5개의 노드가 존재
  • 타임스텝: 시간 흐름에 따른 각 상태. (ex. 에이전트가 이동할 때 매 순간마다 상태가 변함) 단일 타임스텝: 하나의 순간에서의 상태. 이 상태에서 에이전트는 어떤 행동을 해야할지 결정함
  • 입력: 현재 상태 출력: 어떤 행동을 할 지 예측
  • 타임스텝 길이 (복잡한 환경을 처리할 때 더 많은 입력값을 필요로 함)
    • GridWorld: 4 (한번에 4개의 값을 보고 어떤 행동을 취할지 결정)
    • MiniDungeons: 15
    • Mario: 6

실험 설정

  • 4개의 시드를 사용하여 5개의 GridWorld, MiniDungeons, Mario 도메인에서 진행
  • 각 실험의 평균 정확도를 기록
  • 2000번의 학습을 통해 최적의 정책을 학습

초기 데이터셋

각 플레이어가 목표 지점까지 이동하는 다양한 행동 패턴 포함

  • GridWorld: 4000개의 Trajectory 사용
  • MiniDungeons: 780개의 Trajectory 사용
  • Mario: 74개의 Trajectory 사용

Ranking Mertic 순위 지표

  • Equation 3
    성능 평가 수식. 최종상태가 목표상태에 도달했는지를 기준으로 성능을 평가
  • Performance(X): Trajectory X의 성능을 나타내는 값
  • ∣X∣: Trajectory의 길이. (ex. 에이전트가 목표지점까지 이동하면서 몇 번의 상태 변화를 겪었는지)
  • 1/∣X∣: 짧을 수록 성능이 더 좋게(높게) 평가됨
  • 목표도달 성공​: 최종 상태xT 목표에 도달했을 경우 성능을 1로 설정
  • 목표도달 실패: β (패널티 상수): 궤적이 목표 상태에 도달하지 못했을 경우 벌점을 준다
    • β=0.5 점수가 절반으로 줄어든다
    • 이 연구에서는 β=0.1을 사용 (매우 큰 페널티라는 뜻)

실험에서는 상위 퍼센트의 궤적만 사용해 훈련하는 방식을 사용

  • p=1p: 전체 궤적을 사용해 훈련하는 경우.
  • p=0.1p: 상위 1%의 궤적만 사용하여 훈련하는 경우.

평가

모델이 현재 상태에서 다음 상태로 넘어가기 위해 올바른 행동을 예측할 수 있느냐를 평가.

  • Autoregressive 자동회귀 방식
    • 이전 예측값에 따라 다음 상태를 예측하는 방식
    • 모델이 매번 이전 상태를 기반으로 다음 상태를 예측
    • 오차 축적 문제발생: . 한 번 예측이 잘못되면 그 잘못된 예측을 계속 기반으로 하여 오류가 점점 더 커짐
  • Ground Truth State 입력으로 해결
    • 실제 상태(Ground Truth State)를 모델에 입력으로 제공
    • 모델이 이전에 예측한 값을 사용하지 않음
    • 매번 실제 상태 데이터를 사용해서 다음 행동을 예측

C단계를 사용하지 않은 기준 모델과의 비교

  • 랜덤 기준 모델(Random Baseline)와 비교
    • 모델이 임의의 행동을 선택하는 모델
  • 단, 마스킹을 사용하여 특정 상태에서는 Invalid한 행동은 막아서 성능을 높임
    • ex. 차단된 경로가 있다면 해당 경로 외의 경로를 선택

결과

PCPG 모델은…

  • 정확하게 플레이 스타일을 재현
  • 모든 도메인에서 좋은 성능을 기록

행동 및 기술 기반 다양성

  • 다양한 행동 패턴을 학습하는 데 성공함
  • 얼마나 잘 플레이하는지(기술 수준)도 모델이 학습할 수 있었음

클러스터링이 모델에 미치는 성능 영향

  • 플레이어의 스타일을 더 세분화하고 그 스타일에 맞는 행동을 학습할 수 있었기 때문에 더 나은 성능을 발휘했다고 주장
  • 클러스터링 임계값(Threshold)에 따른 성능 변화가 존재했음 (상위 p%로만 학습시킴)

한계

  • 모델의 예측 정확도가 노이즈로 인해 떨어진다. 에러가 누적되면서 결과의 정확도가 낮아질 수 있음
  • 임계값 설정을 통해 성능을 조절했지만 어떤 임계값이 가장 적합한지 최적화 과정이 부족했음

발전내용

  • 더 복잡한 도메인으로 실험
  • 다양한 행동 패턴의 확장
  • 노이즈 처리 기법 개선
  • 강화 학습과의 결합

결론

  • PCPG 모델로 다양한 플레이 스타일을 성공적으로 학습하고 재현할 수 있음
    • 플레이어의 행동을 세분화해서 학습
    • 정확하고 전문화된 행동 예측이 가능
  • 클러스터링은 중요하다…
    • 모델 성능을 향상
    • 특정 플레이 스타일에 더 전문화된 학습이 가능

© 2022. All rights reserved.