RL : AI KOREA 2019

AIKOREA 2019

알기 쉬운 강화 학습(4), 강의자 : 중앙대학교 김중헌 교수

Imitation Learning


알기 쉬운 강화 학습(5), 강의자 : UNIST 최재식 교수


알기 쉬운 강화 학습(6), 강의자 : NCSOFT Game AI Lab 정지년 팀장, 오인석 연구원

게임과 강화학습

상용 게임 강화학습 적용 사례

  1. Quake3 Arena : Capture the flag
    • DeepMind에서 진행
    • 상대 진영에 있는 깃발을 뺏어 본인 진영에 가져가는 것 (팀플레이)
    • Agent 입장에서 바라보는 raw image를 이용해서 학습이 진행
    • Population based RL
      • Agent pool을 만들어서 자신과 비슷한 수준과 팀을 만들어 강화 시켜나는 방법
  2. Dota 2
    • OpenAI에서 진행
    • 5:5 팀플레이가 가능 (MultiAgent RL)
    • 문제 특징
      • 한 게임이 길음
      • reward가 매우 늦게 나오기 때문에 어떤 action에서 기인한지 잘 모르게 됨
      • partial observed state
        • 보이지 않는 곳에서 정보를 얻을 수 없음
      • 선택지가 많기 때문에 action complexity, state complexity가 매우 큼
      • PPO를 이용해 학습
      • 개별 reward, 팀원 reward를 나눔
        • 초반은 개별 reward, 후반은 팀원 reward를 이용해 학습
  3. Starcraft 2
    • 실시간 전략 게임으로 높은 복잡도를 가짐
    • Supervised Learning + Reinforcement Learning
    • Population-based
      • 비슷한 수준의 agent 끼리 모아 강화
    • 강화대상을 한정시킴
    • 강화학습 알고리즘 : IMPALA

NCSOFT 강화학습 사례

  1. 미니 RTS 강화학습 (2017)
    • reward : 게임의 승패
      • sparse한 게임 reward
      • 잘하는 상대와 싸우게 되면 학습을 하기 힘들 수 있음
      • time scale을 넣어 reward에 가중치를 줌
    • 어려운 점
      1. 실시간, 공간적 반응
        • VGG Network
      2. sparse 보상
        • Hierarchical RL
      3. 환경 복잡도
        • Hierarchical Architecture
    • 알고리즘
      • GA3C
        • 최근은 Asynchronous가 필요 없음
        • A2C만 해도 됨
        • GPU 학습이라 효율이 좋음
      • HRL
        • 희귀한 보상을 극복하기 위한 모델
        • Meta Network = Action Network + Position Network
          • Goal을 Meta Network에서 설정
          • Action Network는 Goal을 달성하기 위해 시뮬
      • HA
        • action들을 나눠 놓음
        • 해석이 좀 더 편해짐
        • 모듈 별로 학습 역시 가능해 사람이 컨트롤 하기 쉬워짐
  2. Blade & Soul 비무
    • observation, action에 대한 정의
    • 100msec 안에 완료하기 위해 tree-search 등은 사용 불가
    • 실시간 => 신경망
    • 대전상대 풀을 만들어 상대를 계속 바꿔나가며 강화시킴
    • 통제 가능한 개성을 부여해 학습된 agent마다 다른 개성을 가지게 만듦
    • 문제 복잡도를 줄이는 방향으로 나아감

    • 학습 절차
      • ACER
        • Actor-Critic 관련 논문
        • off policy가 되어야 함
        • 상대가 계속적으로 바뀌기 때문에 stochastic policy으로 접근해야함
      • pool에 있는 상대에 있어서 강해지는 방향으로 학습하게 됨
      • pool에는 강한 상대가 있도록 함
    • Reward Shaping
      • 다양성을 의도가 가지고 만들 수 있어야 함
    • 문제의 복잡도
      • Macro Action
        • Moving Decision
      • Action Filtering
      • Feature 전처리