이 글은 현재 활동중인 팀블로그에 함께 작성 되었습니다.

https://ropiens.tistory.com/215

 

editor, Seungeon Baek(백승언)

Reinforcement learning Research Engineer


 

[Kor]

안녕하세요, 오랜만에 블로그를 쓰게 되네요! 이번 글은 논문 리뷰가 아닌, 강화학습 관련한 저의 첫 포스팅 글입니다.

 

 이번에 작성하는 글에서 다루고자 하는 내용은 "강화학습은 어떤 문제를 풀 수 있는가?"입니다. 이와 관련하여, 비슷한 글이 있는지 여러 키워드로 검색을 해 보았는데 강화학습이 어떤 문제를 풀 수 있는지에 대한 내용보다는, 강화학습이 현재 적용되고 있는 분야와 관련된 블로그들이 대부분임을 알 수 있었습니다. (Application of RL, Usage of RL,... etc)

 

 그렇기에, 부족하지만, 제가 한 번 강화학습이 어떤 문제를 풀 수 있는지에 대한 것을 주제로 글을 작성해보자 하는 생각이 들어, 해당 주제를 선정하였습니다. (요즘 핫한 ChatGPT도 슬쩍 끼워 넣어 보았습니다 :D)

 

그럼, 본격적인 포스팅 시작 하겠습니다!

 

[Eng]

 Hello, it's been a while since I wrote a blog post! This post is not a review of a paper but rather my first post on the topic of reinforcement learning.

 

 In this post, I want to cover the topic of "What problems can reinforcement learning solve?". In researching this topic, I searched for various keywords to see if there were any similar articles. Still, I found that most of the blogs related to reinforcement learning were focused on the current fields where it is being applied(Application of RL, Usage of RL,..., etc.) rather than what problems reinforcement learning can solve. (I also sneakily inserted ChatGPT, which is trendy these days :D)

 

Therefore, even though it may be lacking, I have decided to write a post on what RL can do.

 

So without further ado, let's get started with the post!

 

제목

[Kor]

 이번 포스팅 자료의 제목은 What can RL do?로 선정하였습니다. 최근 들어, 유명한 ChatGPT에도 강화학습(RLhf)이 적용 되며, 강화학습에 대한 관심이 늘었지만, 과연 "내 문제에도 강화학습을 적용할 수 있을까?"를 고민하고 계시는 분들께 도움이 될만한 자료라고 생각해주시면 될 것 같습니다.

 

[Eng]

 The title of this post is "What can RL do?". Recently, reinforcement learning(RL) has been applied to famous models like ChatGPT, which has increased interest in RL. However, for those who are wondering, "Can RL be applied to my problem?" this post can be a helpful resource

 

목차

[Kor]

 발표 순서는 다음과 같습니다. 먼저 도입부에서 강화학습이 무엇인지에 대해 간단히 설명을 드리고, 강화학습이 집중해서 풀어온 문제들에 대해, 알고 있는 지식 하에서, 8가지 범주로 나누어 설명을 드리고자 합니다. 흐흐 이렇게나 많은 문제를 풀 수 있다니!

  • Control problem
  • Multi-armed bandit problem
  • Combinatorial optimization
  • Cooperative behavior learning
  • Competitive behavior learning
  • Mixed behavior learning
  • Learning from human experts
  • Learning from human feedback

 

[Eng]

 The presentation order is as follows. First, in the introduction, I will briefly explain what RL is. Then, based on existing knowledge, I will explain the problems that reinforcement learning has been focused on solving, divided into eight categories. Wow, RL can solve so many problems!

  • Control problem
  • Multi-armed bandit problem
  • Combinatorial optimization
  • Cooperative behavior learning
  • Competitive behavior learning
  • Mixed behavior learning
  • Learning from human experts
  • Learning from human feedback

 

[Kor]

먼저, 도입부입니다.

 

[Eng]

First, let's begin with the introduction

 

Basics of RL

[Kor]

이 장과 다음 장에서는, 강화학습의 정의, 목적, 강화학습의 몇몇 중요 요소들에 대해서 말씀을 드리고자 합니다.

 

 강화학습의 정의는 다음과 같습니다.

  • "agent와 환경이 상호 작용을 하며, 이를 통해 얻은 행동에 대한 피드백과 경험들을 토대로 agent를 학습할 수 있게 하는 머신러닝 기법의 종류 중 하나".

 

 또한, 강화학습의 목적은 다음과 같습니다.

  • "에피소드의 끝까지 agent가 받는 보상의 총 합(sum of reward)를 최대화하는 것"
  • 혹은 "최대화 할 수 있게끔 하는 정책(policy)을 학습하는 것" 

 

 강화학습의 중요 요소들은 다음과 같습니다. 이 장에서는, 공학적인 용어보다는 중요한 용어들을 위주로 준비해 두었습니다.

  • Agent: 강화학습 내에서 학습을 수행하는 것 혹은 의사 결정자
  • Environemnt: 에이전트를 제외한 모든 것들을 포함하는 것
  • Step: 환경과 에이전트의 단위 상호작용
  • Episode: 시스템이 끝나거나, 종료 상태에 도달 할 때까지의 스텝의 길이

 

[Eng]

In this slide and the next, I would like to discuss the definition, purpose, and some important components of RL.

 

The definition of RL is as follows:

  • "Type of machine learning technique that enables an agent to learn in an interactive environment by trial and error using feedback from its action and experience"

 

In addition, the purpose of RL is as follows:

  • "To maximise the total sum of rewards(return) received by the environment until the end of the episode"
  • Or "To learn a ppolicy that can maximise the reward"

 

The important elements of RL are as follows. In this chapter, I have prepared important terms rather than mathematical terms.

  • Agent: What performs learning and decision-making in RL
  • Environment: Everything outside the agent
  • Step: Unit interaction between the agent and the environment
  • Episode: The length of steps until the system ends or reaches a terminal condition(state)

 

Basics of RL

[Kor]

강화학습의 중요 요소들은 다음과 같습니다.

  • Action: Agent가 실행 가능한 모든 가능한 움직임들
  • State: 환경으로 부터 받은 현재 상황
  • Reward: 마지막 행동에 대한 평가로써, 환경으로 부터 받은 순시 반환 값피드백
  • Policy: 현재 상황을 기반으로, 다음 액션을 정의함에 있어서, 에이전트가 활용하는 전략
    •  정책 policy는 state space S로부터 action space A로의 사상이며(정의역이 상태 공간, 치역이 행동 공간인 함수!) 보통 theta라고 하는 파라미터로 모수화 되어 있음.

 

 이러한 사전 지식을 활용하여, 장애물을 모두 피해서 도착 지점에 잘 도착하는 슈퍼 마리오(agent)를 학습시키는 예제에 대해서 설명해 보겠습니다.

 

 슈퍼 마리오(RL agent)는 방향키와 대쉬, 점프 키(action) 등을 활용하여, 도착 지점(terminal state)에 도착하기 위해 스테이지 내에서(environment) 이런저런 시도를 해보며(trial and error), 환경으로 부터 점수(feedback)를 받고(굼바를 못 피하면 -10, 거북이를 못 피하면 -10, 금화를 먹으면 +1, 도착점에 도착하면 + 200 등), 이를 통해 특정 상황(state)에서, 어떤 방향키(action) 및 특수 키를 눌러야 하는지에 대한 승리 전략(policy)을 수립하게 된다!

 

어지럽다고요? 죄송합니다. 필력이 좋지가 않네요ㅎ

 

[Eng]

The important elements of reinforcement learning are as follows.

  • Action: All the possible moves that the agent can exert
  • State: Current situation returned by the environment
  • Reward: An immediate return sent back from the environment to evaluate the last action
  • Policy: The strategy that the agent employs to determine the next action based on the current state
    • Policy, parameterized with \theta is a mappping from state space S to action space A

 Using this prior knowledge, let me explain an example of training Super Mario(agent) to arrive at the destination point by avoiding all obstacles.

 The Super Mario(reinforcement learning agent) uses directional keys, dash, jump key(action), etc., to try various approaches(trial and error) to reach the destination point(terminal state) in certain stage(environment). The Super Mario receives score(feedback) from the environment(such as -10 if it fails to dodge a Goomba, -10 for failing to dodge a Koopa Troopa, +1 for collecting a coin, and +200 for arriving at the destination point). Through this, the agent establishes a 쟈ㅜwinning strategy(policy) for which direction key(action) and special key to press in a specific situation(state).

 

Confusing? I'm sorry. My writing skills are not that great.

 

[Kor]

 이 장부터는 본격적으로 강화학습이 집중해서 풀어온 문제들에 대해, 각각의 카테고리 별로 간단한 설명과, 예제 문제들을 소개해 드리도록 하겠습니다.

 

[Eng]

 Starting from this slide, I will focus on the problems RL has been tackling and introduce summaries and examples for each category.

 

Control problem

[Kor]

 먼저, 강화학습 agent는 control problem을 해결할 수 있습니다. Control problem이란, 특정 환경 내에서, 강화학습 agent가 object를 제어하는 문제라고 말씀드릴 수 있을 것 같습니다.

 

 이때, 강화학습 agent는 해당 문제를 다양한 레벨로 다룰 수 있습니다. 인지 - 의사결정 - 제어의 모든 과정을 end-to-end로 다룰 수가 있고, 이러한 연구는 한정된 환경에서 학습을 수행하는 로봇 연구에서 많이 채택됩니다. 또한, 의사결정 - 제어의 부분만 강화학습 agent가 다룰 수 있습니다. 이는 인지 기술이 많이 발달한 자율주행자동차 연구에서 주로 행해지는 것 같습니다. 뿐만 아니라, 강화학습은 시스템의 일부를 제어만 할 수도 있습니다.

 

 이러한 강화학습을 이용해 control problem을 해결 해온 연구의 예시로는, 로봇 팔 도메인에서 블록 쌓기 등의 복잡한 task를 end-to-end로 학습하는 사례들이 있으며, 또한, 자율주행 자동차 도메인에서 decision and control problem을 학습하는 사례 등이 있을 것 같습니다.

 

[Eng]

 First, an RL agent can solve control problems. Control problems can be described as problems where the RL agent controls an object in a particular environment.

 

The RL agent can handle the problem at various levels in this case. It can handle the entire perception, decision-making, and control process end-to-end. This type of research is often adopted in a robot domain where learning is performed in a limited environment. In addition, the agent can only handle decision-making and control as part of the process. This is mainly done in autonomous driving research, where perception technology has advanced. Furthermore, RL can also control only part of the system.

 

 Examples of research that have solved control problems using RL include learning complex tasks such as block stacking in the robot arm domain through end-to-end learning and learning decision and control problems in the autonomous driving domain.

 

Multi-armed bandit problem

[Kor]

 두 번째로, 강화학습 agent는 multi-armed bandit problem을 해결할 수 있습니다. Multi-armed bandit problem이란 특정 집합에서 행동을 선택하는 문제라고 말씀드릴 수 있을 것 같습니다.

 

 이때, 강화학습 agent는 해당 문제를 다양한 horizon으로 다룰 수 있습니다. 유한한 길이의 문제 뿐만 아니라, 무한한 길이의 문제도 잘 다룰 수 있다는 것이 근본 책, 논문 등에서 수학적으로 다루어져 왔습니다.

 

 이러한 강화학습을 이용해 multi-armed bandit problem을 해결해온 연구의 예시로는, 보드 게임 도메인에서의 연구가 있을 것 같습니다. 바둑 같은 경우, 매 스텝 빈칸 중 승률이 높아 보이는 칸을 선택하는 문제로 해석할 수 있지요! 또한, 추천 시스템 도메인 역시 매 트리거 타임마다 user에게 item set 중 아이템을 선택하여 유저에게 추천해 주기 때문에, 많은 연구가 수행되고 있는 것으로 알고 있습니다. 또한, CS 도메인에서는 매 스텝 머신에게 job을 할당하는 문제인 job-shop scheduling 문제에서 강화학습이 이러한 관점으로 적용이 되고 있다고 알고 있습니다.

 

[Eng]

 Secondly, an RL agent can solve the multi-armed bandit problem, which can be described as a problem of selecting actions from a specific set.

 

 In this case, the RL agent can handle this problem from various horizons. It has been mathematically treated in the literature as well as in papers, not only for finite-length problems.

 

 Examples of research that have solved the multi-armed bandit problem using RL include studies in board game domains. For example, in the game of Go, the problem can be interpreted as selecting a blank space with a high winning probability at each step. In addition, in the domain of recommendation systems, many studies have been conducted as the system recommends an item to a user by selecting an item from an item set at each trigger time. Also, in the computer science domain, RL is being applied from this perspective in job-shop scheduling problems where a machine is assigned a job at each step.

 

Combinatorial optimization problem

[Kor]

 다음으로, 강화학습 agent는 combinatorial optimization problem을 해결 할 수 있습니다. Combinatorial optimization problem이란 주어진 특정 집합 내에서 최적의 결정들(결정들의 조합)을 내리는 문제라고 말씀드릴 수 있을 것 같습니다.

 

 이때, 강화학습 agent는 이를 1 step MDP로 간주 하여, 해당의 조합 최적화 문제를 해결해 낼 수 있다는 것이 최근 들어 많은 연구 사례들이 보여주고 있습니다.

 

 이러한 강화학습을 이용해 combinatorial optimization problem을 해결 해 온 연구의 예시로는, 웨이퍼 상에 칩들을 배치하는, chip placement도메인에서의 연구가 있을 것 같습니다. 또한, routing problem 분야에서도, 단일 차량 혹은 다중 차량의 운행 순서를 정해주는 등 강화학습을 이용하여 여러 연구들이 진행되고 있는 것으로 알고 있습니다.

 뿐만 아니라, 강화학습은 수학 문제를 해결할 수 있는데, 지도학습에서 특정 task를 학습하기 위해 어떤 loss 식이 좋은지를 graph 혹은 symbolic으로 표현된 term들의 최적의 조합을 찾는 방식으로 해당 문제를 해결하는 것이 가능합니다.

 

[Eng]

 Next, an RL agent can solve combinatorial optimization problems. Combinatorial optimization problems refer to problems of making optimal decisions(combination of decision) witn a certain set.

 

 In this case, the reinforcement learning agent can consider it as a 1-step MDP and solve the combinatorial optimization problem, as many recent reserach cases have shown.

 

 Examples of research that has used reinforcement learning to solve combinatorial optimization problems include chip placement domains, where chips are placed on a wafer, and the routing problem field, where reinforcement learning is used to determine the operating order of single or multiple vehicles.

In addition, reinforcement learning can solve mathematical problems. In supervised learning, it is possible to solve problmes by finding the optimal combination of graph or symbolically expressed terms that are good for a given loss function used to learn a specific task.

 

Cooperative behavior learning problem

[Kor]

 또한, 강화학습 agent는 cooperative behavior learning problem을 해결할 수 있습니다. 협력적인 행위를 학습한다는 것은, 주어진 특정 환경 내에서 여러 객체들이 하나의 목표를 달성하기 위한 행위들을 학습한다는 것으로 말씀드릴 수 있을 것 같습니다.

 

 이때, 강화학습은 해당 문제를 individual reward만을 줘서 해결 할지, team reward를 주어 credit assignment까지 풀어낼지를 세팅하여 해결할 수 있습니다.

 

 강화학습을 이용해 cooperative behavior를 학습해온 연구의 예시로는, 통신 도메인에서 기지국이 모든 사용자들을 고려해 편익이 최대로 하는 방향으로 resource를 분배하는 등의 연구가 있을 것 같습니다.

또한, 게임 분야에서도, 이러한 협력적인 행위를 학습하기 위한 연구들이 많이 수행되고 있으며, 대표적으로 SMAC이라고 하는, 3s vs 5z 등 다중 유닛이 협력하여 상대방을 쓰러뜨리는 행위를 학습하는 환경에서 여러 연구들이 수행되고 있는 것으로 알고 있습니다.

 

[Eng]

 Moreover, an RL agent can solve cooperative behavior learning problems. Learning cooperative behavior menas learning actions by multiple objects within a given environment to archive a team goal.

 

 In this case, RL can solve the problem by setting wheter to give individual rewards or team rewards, and solving the credit assignment when giving team rewards.

 

 Examples of research that has used RL to learn cooperative behavior include studies in the communication domain, such as the dstribution of resource by base stations considering all users for maximum benefit.

In addition, in the game domain, many studies are being conducted to learn such cooperative behavior, and there are several studies carried out in environments where multiple units cooperate to take doooown opponents, such as 3s vs 5z, known as SMAC envrionment.

 

Competitive behavior learning problem

[Kor]

 더욱이, 강화학습 agent는 competitive behavior learning problem을 해결 할 수 있습니다. 경쟁적인 행위를 학습한다는 것은, 주어진 특정 환경 내에서 여러 객체들이 zero-sum game을 수행하고, 각자가 상대에 대응해 이기기 위한 전략을 학습한다는 것으로 말씀드릴 수 있을 것 같습니다.

 

 강화학습을 이용해 competitive behavior를 학습해온 연구의 예시로는, 가장 유명한 AlphaGo, AlphaStar 등이 있을 것 같습니다. 워낙 유명한 연구들이지요.

 

[Eng]

 In addition, an RL agent can solve competitive behavior learning problems. Learning competitive behavior menas that multiple objects perform a zero-sum game in a given environment and learn strategies to truimph against each other.

 

 Examples of studies that have used RL to learn competitive behavior include the famous AlphaGo and AlphaStar. Theses studies are very well known!

 

Mixed behavior learning problem

[Kor]

 이 뿐만 아니라, 강화학습 agent는 cooperative behavior와 competitive behavior가 혼합된, mixed behavior를 학습할 수 있습니다. 예시로 슬라이드에 첨부한 Predetor-Prey game 환경처럼, 동일 그룹 내에서는 협력적인 행위를, 타 그룹과는 경쟁적인 행위를 동시에 학습할 수 있는 것이죠.

 

 이러한 강화학습의 능력에 힘입어, game domain에서는 11 vs 11 축구를 관제하는 big brother와 같은 centralized agent를 학습할 수 있었고(Google Research Football Environment), 자율주행 자동차 도메인 내에서는 Mixed autonomy 하에서 일반 차량들과 조화를 이루는 자율주행 자동차의 제어 방법이 연구되고 있습니다.

 

[Eng]

 Furthermore, an RL agent can learn mixed behaviors, which combine cooperative and competitive behaviors. For example, in an environment such as Predetor-Prey game figured to the slides, agents can learn both cooperative behavior within the same group and competitive behavior with other groups.

 

 Thanks to this ability of RL, centralized agents like the big brother controlling 11 vs 11 soccer games in the game domain(Google Research Football Environment) have been developed, and in the autonomous vehicle domain, research is being conducted on controlling autonomous vehicles that harmonize with human vehicles under mixed autonomy. 

 

Learning from human experts problem

[Kor]

 그리고, 강화학습 agent는 learning from human experts(demonstration)컨셉으로 학습할 수 있습니다. 해당 방법론을 이용하는 강화학습 기법들은 인간(전문가)의 시연데이터를 통해 학습을 수행하기 때문에, 밑바닥부터 학습하는 기존의 강화학습들에 비하여 복잡한 task를 상대적으로 쉽게 학습해 낼 수 있다고 말씀드릴 수 있을 것 같습니다.

 

 이러한 방식을 통해 학습한 강화학습 연구의 예시로는, 자율주행 자동차 도메인 내에서 복잡한 시나리오(회전 교차로, 신호 교차로, 도심부 주행 등) 에서의 계획 및 제어를 수행하는 연구가 있을 것 같습니다. 또한, 금융 분야에서 복잡한 시장 상황을 고려하여 주식을 사고파는 트레이딩 봇 같은 경우도 이러한 RLfD(Reinforcement Learning from Demonstration) 컨셉의 연구들이 있는 것으로 알고 있습니다.

뿐만 아니라, 최근 DeepMind의 GATO라고 하는 agent는 실제 사람처럼 "여러 개"의 게임을 사람 이상의 실력으로 클리어하는 괴물과 같은 모습도 보여주었습니다. 해당 agent는 human experts의 demonstration을 통해 학습이 이루어졌답니다.

 

[Eng]

 And then, an RL agent can learn from human experts(demonstration). RL techniques that use this concpet can leaern complex tasks relatively easily compared to traditional RL methods, as they leveraging the knowledge through human demonstration data rather than starting from scratch.

 

 Examples of RL research learned through this approach, there are studies that perform planning and control in complex scenarios(such as turning intersections, signal intersections, and urban driving) in the autonomous vehicle domain. Also, in the finantial sector, there are studies on trading bots that buy and sell stocks considering complex market situations based on the RLfD(Reinforcement Learning from Demonstration) concept.

Moreover, DeepMind's recent agent called GATO showed a monstrous capability to clear "multiple games" with human-level proficiency. The agent learned through demonstration from human experts.

 

Learning from human feedback(preference) problem

[Kor]

 마지막으로, 강화학습 agent는 learning from human feedback(preference)컨셉으로 학습할 수 있습니다. 해당 방법론을 이용하는 강화학습 기법들은 인간의 직접적인 feedback을 받아 학습을 수행하기 때문에, 자연스러운 action을 생성해 낼 수 있다는 것이 장점으로 생각됩니다.

 

 이를 실현하기 위해, 기존의 강화학습과는 조금 다르게, 환경은 reward를 제공하지 않게 됩니다. 대신에, 사람이 observation을 보고 feedback을 주면, 특별한 모델인 reward predictor가 사람의 feedback을 통해 reward 함수를 모델링, 해당 reward 모델과 함께 강화학습 agent가 학습되는 방식인 것 같습니다.

 

 이러한 방식을 통해 학습한 강화학습 연구의 예시로는, 유명한 Open AI의 로봇 "손" 큐브 풀기 연구(DAgger)가 있을 것 같습니다. 사실은 reward predictor를 이용해 학습이 되지는 않았지만, 계속하여 사람이 더 좋은 행위를 개입해서 알려주는 DAgger의 방식이 RLhf(RL frorm human preference)와 철학적으로는 비슷하다고 생각하여 넣어 보았습니다.

더욱이, 해당 방식은 LLM(Large Language Model)과 결합하여, 최근 돌풍을 일으키고 있는 ChatGPT!!를 가능하게 한 기술이기도 합니다. RLhf 덕분에 ChatGPT는 조금 더 친절하고, 조금 더 자연스럽고, 또한 혐오 발언 등을 자제할 수 있었다고 합니다.

 

[Eng]

 Finally, an RL agent can also learn from human feedback(preference). The RL techniques that use human feedback can generate natural actions as they receive direct feedback from humans.

 

 To achieve this, the environment does not provide rewards as in traditional RL. Instead, humans give feedback based on observations, and a special model called the reward predictor models the reward function based on the human feedback. The RL agent is trained with this reward model.

 

 An example of RL research using this approach is the famous OpenAI's robot hand solving a Rubik's cube using the DAgger algorithm. Although not trained using the reward predictor, the DAgger approach continuously incorporates better behaviores informed by human feedback, which is similaar philosophically to RLhf(Reinforcement Learning from human preference)

Moreover, this approach can be combined with LLM(Large Language Model) technology, which has recently gained popularity in the form of ChatGPT. Thanks to RLhf, ChatGPT can be more friendly, natural, and also avoid hate speech.

 

Thank you!!

[Kor]

 정말로 오랜만에 블로그 글을 쓰게 되었는데, 여기까지 읽어 주신 모든 분들께, 짧지 않은 글을 읽어 주셔서 감사하다는 말씀을 드립니다. 궁금하신 점들은 댓글을 통해 질문을 주시면 가끔씩이라도 들러 답변을 드릴 수 있도록 하겠습니다.

 

[Eng]

 This is my first time writing a blog post in Eng, and I would like to thank those who have read this lengthy post. If you have any question, please feel free to leave a comment and I will try to drop by and provide answers whenever possible.

강화학습 논문 리뷰 연재 네번째입니다.

 

이번 논문 리뷰는, 기존의 DeepMind control suite, 상용 동역학 시뮬레이션 프로그램 등의 continuous control 환경에서 좋은 성과를 거둬온 DDPG(Deep Deterministic Policy gradient) 알고리즘을 한단계 진보시킨, TD3(Twin Delayed DDPG)라고 하는 off-policy actor-critic algorithm에 대한 내용을 포함하고 있습니다.

 

작년과 재작년, 연구실에서 차량의 Adaptive Cruise Control과 관련된 연구를 수행할 때, DDPG를 성공적으로 활용한 논문이 여럿 있는 것을 보고 놀랐던 기억이 있는데, TD3의 경우, 이러한 DDPG에서 발생한 문제를 해결한 알고리즘이라고 하니, 제어 문제에 굉장히 좋은 성능을 낼 수 있는 알고리즘이 아닐까 하는 생각이 듭니다.

 

그럼, 본격적인 리뷰 시작하겠습니다!

 

 

논문의 제목은 직관적이지는 않습니다. "Actor-Critic Methods 에서 발생하는 function approximation error를 다스리기"이지요.

제목이 크게 와닿지는 않지만, 이어지는 내용을 읽으면, 저자들의 의도를 충분히 느낄 수 있는 제목이였던 것 같습니다.

 

목차는 다음과 같습니다.

가장 먼저, TD3가 포함된, Open AI의 model RL algorithm 분류표를 보며 TD3와 TD3의 전신인 DDPG가 어떤 알고리즘으로 분류되는지 먼저 설명 드리고, DDPG 꼭지에서 핵심 개념인 deterministic policy와 DDPG에 대해 간단히 설명드리겠습니다.

 

그후, 본론에서는 TD3가 어떠한 이유로 출현하게 되었는지 설명드리기 위해 기존의 DDPG에서 발생한 문제에 대한 설명 드리고, TD3가 어떤 방법으로 이러한 문제를 해결하였는지, 그리고 어떤 환경에 적용하여 TD3의 성능을 검증하였는지에 대해 설명을 드리는 것으로 자료를 준비했습니다.

 

OpenAI spinningup 사이트를 들어가보면, openAI에서 baseline으로써 제공하는 유명한 알고리즘들 몇몇과 함께, moden RL algorithm을 자체적으로 분류한 사진을 다음과 같이 확인할 수 있습니다.

 

DDPG와 TD3의 경우, 그림에서 볼 수 있듯이 model-free RL 알고리즘으로 분류할 수 있으며, 세부 계열로는 policy optimization과 Q-learning 계열의 중간 단계로 분류되어 있다는 것을 확인할 수 있습니다.

 

Policy optimization 계열(PG계열) 알고리즘 중 유명한 A2C/A3C, PPO, TRPO와 DDPG, TD3가 다른 카테고리로 분류가되는 이유는 이 알고리즘들은 policy gradient 계산시 Q-value가 아닌 Advantage function을 활용하고, DDPG와 TD3는 'deterministic policy gradient'계산시 Q-value가 활용되기 때문입니다.

 

이후의 page에서 DDPG와 TD3에 대한 설명을 이어나가겠습니다.

 

먼저, DDPG입니다.

 

DDPG에 대한 본격적인 설명 이전에, deterministic policy와 stochastic policy에 대해 먼저 다루도록 하겠습니다. deterministic policy란, 특정한 state에 대해 action이 확정적으로 정해지는 정책을 뜻합니다. deterministic policy의 경우, 기존에 정책에 사용하던 notation인 pi가 아닌 mu를 notation으로 사용합니다.

 

Stochastic policy의 경우, 기존에 강화학습 알고리즘들이 다루던 정책이라고 보면 되며, 특정한 state에 대해 action이 확률적으로 정해지는 정책을 뜻합니다. 기존의 PG계열 알고리즘은 이 stochastic policy를 정책으로써 활용하며, 이러한 policy 종류에 따라서, 비단 action을 뽑는 방법 뿐만 아니라 policy gradient 계산식도 달라지는데 이 식은 뒤 슬라이드에서 확인하실 수 있습니다.

 

이 장에서 추가적으로 알고 넘어가야할 지식은, 상식적으로 생각할 수 있는 사실과는 다르게도 제어, planning등과 같은continuous control problem문제에서 stochastic policy 기반 알고리즘에 비해 deterministic policy 기반의 알고리즘이 성공적인 성과를 이뤄왔다는 것입니다. (주로 DDPG알고리즘과 LSTM등의 RNN 네트워크를 활용하여 많은 성공을 얻어왔습니다.)

 

그에 대해 논문에서 제공하는 지식과 더불어, 제가 분석한 이유는 다음과 같습니다.

1) continuous control problem의 경우, 필연적으로 high dimensional action space를 가지게 되는데, 이러한 환경에서 stochastic policy에 비해 deterministic policy mu(s)를 활용할 경우, 비교적으로 탐색할 공간이 적어지고, 그에 따라 빠른 수렴이 일어난다는 것입니다.

 

2) 또한, stochastic policy를 사용하는 PG 계열의 여타 알고리즘과는 달리, off policy 학습이 가능하다는 장점이 있기 때문에, 많은 sample들을 replay memory에 담아서 학습을 할 수 있다는 장점이 있기 때문입니다. 물론, PPO, A3C등의 알고리즘들의 경우, V-trace를 이용한 semi-off policy 학습이 가능하지만, 이에는 컨셉과 수식의 태생적인 한계가 존재합니다. 

 

3) 기존의 stochastic policy를 사용하는 PG 계열의 여타 알고리즘의 경우 탐험을 종용하는데 있어서 entropy term을 이용하게 되는데, DDPG와 TD3의 경우, 이러한 복잡하고 튜닝이 어려운 방법을 사용할 필요 없이, action에 미리 정의된 의사 noise를 사용할 수 있다는 것에서 큰 장점을 가진다고 생각합니다.

 

이어서 2장에 걸쳐 DDPG에 대한 간단한 설명을 진행하겠습니다.

 

DDPG의 경우, Actor-Critic algorithm과 DQN algorithm의 특징을 모두 담고 있는 알고리즘입니다. 그리하여, 슬라이드 하단 주석된 논문에서 참고한 DDPG arcthitecture를 보시게 되면,

1) Actor network와 Critic network를 통해 각각 Q와 action을 예측하는 것을 확인할 수 있으며,

2) DQN 계열에서 사용한 experience replay memory를 사용하는 것을 확인할 수 있습니다.

3) 또한, 학습된 Q-value를 policy gradient 계산시 직접적으로 사용한다는 것을 확인할 수 있습니다.

 

추가적으로, 그림에 표현은 되어있지 않지만,

4) 안정적인 update를 위해 target network update시 main network의 weight을 정확히 전달해 주는것이 아니라, delay를 주어 update 시켜준다는 것을 알 수 있습니다.

5) 마지막으로, 미리 정의된 의사 noise를 사용합니다.

 

이장에서는 OpenAI에서 제공하는 DDPG의 pseudo code를 확인할 수 있습니다. 12, 13 line에서 Q-value가 업데이트 되며, 14 line을 통해 deterministic policy gradient를 예측된 Q-value를 이용해 계산한다는 것을 알 수 있습니다.

 

또한,  target network의 weight update시 미리 정의된 rho값을 이용해 지연을 가한다는 것을 알 수 있습니다.

 

이어서, 본론인 TD3에 대한 설명을 진행하겠습니다.

 

TD3는 다음과 같은 DDPG의 문제점으로 인해 출현했습니다.

1) DDPG는 성능을 내기 위해서, hyperparameter 및 여러 종류의 parameter들의 튜닝 과정을 거쳐야하는 민감한 알고리즘이라고 TD3의 저자들은 얘기하고 있습니다.

 

2) 그 이유는, DDPG에서 deterministic policy gradient (policy loss)계산 시 Q-value가 직접적으로 사용되는데, 이러한 Q-value가 vanilla DQN에서 사용한 main, target Q-network만으로 학습함에 있어서 overestimate와 같은 문제들이 발생했다는 것입니다. 이부분은 Advantage function을 policy loss 계산시 사용하는 여타 PG계열 알고리즘에 비해 자주 발생하는 문제였다고 합니다.

 

이러한 문제를 해결하기 위해 TD3 알고리즘이 제안되었으며, 이때 DQN에서 이문제를 해결하기 위해 적용한 방식들에서 영감을 얻은 것 같습니다.

 

이 장부터는 TD3에 대한 설명을 진행하도록 하겠습니다.

 

밑의 주석의 논문에서 참고한 TD3 arthictecture를 통해 설명을 드리도록 하겠습니다. TD3의 경우, 몇가지 trick을 통해 DDPG에서 치명적인 Q-value overestimate 문제를 잠재웠습니다.

 

1) 먼저, vanilla Q-learning에 비해 안정적인 학습을 한다는 것이 증명된 Double Q-learning컨셉을 활용하였습니다. DDQN과는 사뭇 다르게 사용되었으며, target network update시 더 작은 값의 Q-value를 학습에 활용하는 방법을 통해 overestimate를 방지하려고 노력하였습니다.

 

2) 또한, critic과 actor entwork를 번갈아 업데이트 하던 DDPG와 달리, policy update를 critic network update보다 더욱 적은 빈도로 업데이트 하여, 안정된 Q-value를 policy loss 계산시 사용할 수 있도록 하였습니다.

 

이 두가지 방법을 통해 DDPG에 비해 hyperparameter에 둔감한 알고리즘을 설계하였으며, 제가 test 해본 결과, MDP parameter인 distcount rate gamma와, weight delay parameter인 tau를 제외하면 batch size, neural network의 hyperparameter등을 수정하여도, 정책이 강건하게 수렴한다는 것을 확인할 수 있었습니다.

 

OpenAI에서 제공하는 TD3의 psudo code에서는 이러한 과정들이 어떻게 적용되었는지 확인할 수 있습니다. 이 pseudo code에서 아쉬운점은 더 작은 Q-value를 policy gradient 계산시 사용한다는 것이 명시적으로 드러나지 않았다는 것이지만, 그래도 보기좋게, 깔끔하게 서술이 되어 있어 사용하게 되었습니다.

 

이 장에서는, TD3의 저자들이 TD3를 MuJoCo physice engine에서 다른 PG 계열 SOTA 알고리즘과 비교한 그래프 및 표를 보여드리겠습니다. 저자들은 여러 scenario를 학습 시켰으며, 그중 HalfCheetah, Hopper, Walker, Ant의 그래프를 ppt에 도시해 두었습니다.

 

결과를 비교해보면,

1) TD3가 다른 PG계열 알고리즘에 비해 월등한 수렴성능을 보여준다는 것과,

2) 수렴한 average return의 값이 다른 알고리즘들에 비해 굉장히 높다는 것을 알 수 있습니다.

 

물론, ppt에 도시하지 않은 reacher, inverted pendulum, inverted double pendulum의 경우에도 미미하지만 더 높은 성능을 보여준다는 것을 밑에 도시한 표와, 원문에서 확인하실 수 있습니다.

 

이번에도 긴 글을 읽어주신 점 감사드립니다.

 

논문의 링크와, 전체 슬라이드는 밑에 준비되어 있습니다.

 

https://arxiv.org/pdf/1802.09477.pdf

 

0123456789101112

 6장 강화학습 심화 2: 카트폴은 김응현 학생이 스터디를 리딩하였습니다. 밑의 자료는 김응현 학생이 직접 공부하고 제작한 발표자료 입니다.

 

***주의***

1) 책에서 설명을 위해 사용한 그림을 발표 당시에 설명을 위해 촬영하였으며, 블로그에 업로드하는 과정에서 저작권 문제가 발생할 수 있음을 고려하여, 그림은 가린 상태로 업로드 하게 되었습니다.

2) 책에서 사용한 코드의 경우, Github를 통해 이미 공유가 되어있기 때문에, 문제가 되지 않으리라고 생각하여 그대로 올리게 되었습니다. 문제가 생길 경우, 삭제 혹은 수정을 하도록 하겠습니다.

 

파이썬과 케라스로 배우는 강화학습 교재 내 코드는 github.com/rlcode/reinforcement-learning-kr 에 모두 존재합니다.

 

 제가 대학생일때보다 지금의 제 후배들이 더욱 잘하고 열심히 하는 것 같아 비록 학번 차이는 얼마 안나지만, 선배로서 굉장히 뿌듯했습니다.

 

 

오랜만에 강화학습 논문 리뷰를 하게 되었습니다.

 

오늘 준비한 논문은 강화학습에서 많이 사용되는 환경, 최근에 구글에서 공개한 환경과 관련된 논문들입니다.

각각 논문의 제목은 다음과 같습니다.

 

1) The Arcade Learning Environment: An Evaluation Platform for General Agetns

2) DeepMind Lab

3) Google Research Football: A Novel Reinforcement Learning Environment

 

그럼, 본격적인 리뷰 시작하겠습니다!

 이번에 리뷰를 하게된 1번 논문(ALE)의 경우, DeepMind에서 제공한, 유명한 Atrai 2600 game을 이용한 환경입니다. 얼마전 Agent57이 정복한 환경이기도 하고, 입문자와 중급자들에게는 정말 친숙한 환경이 아닐수가 없습니다.

 

 2번 논문의 경우 또한 DeepMind에서 제공한 Quake III 게임을 이용한 환경입니다. 3D 환경이며, partial observable한 환경을 제공하는 것으로 잘 알려져 있습니다.

 

 3번 논문의 경우, 2020년 Google 에서 제공한 환경으로, multi-agent 강화학습과 self-play 훈련 시스템을 적용해보는 것을 주 목적으로 만들어진 환경입니다.

 

 이러한 환경들은 각기 다른 목적을 가지고 제공 되고 있으며, 연구자들은 환경을 직접 만드는 것이 여의치 않다면, 이러한 환경들 중 자신의 목적에 맞는 환경을 정하여 강화학습 알고리즘을 테스트해 볼 수 있어야 할 것 같습니다.

 

목차는 다음과 같습니다.

가장 먼저, ALE 논문에서 강조하는 domain-independent agent에 관련한 내용에 대한 설명과, 강화학습 알고리즘을 설계하는데에 있어 Benchmark 환경의 중요성이 무엇인지에 대해 도입부에서 설명드리려 합니다.

 

그 후, 본론에서는 ALE, DeepLab, GRF 이 3개의 환경에 대해 각각 설명을 드리는 것으로 자료를 준비했습니다. 각 환경들을 비교하는 것도 물론 의미가 있겠지만, 목적 자체가 많이 다른 환경들이기 때문에 자료에 추가하지는 않았습니다.

 

 이번 리뷰에서 소개드릴 3개의 강화학습 환경과 관련된 논문들 중, 가장 먼저 작성된 논문인 ALE에서는 AI의 장기적이고 지속적인 목표가 domain에 대한 구체적인 지식이 없이도 다양한 분야에서 다양한 task를 수행할 수 있는 agent을 설계하는 것이라고 언급하였습니다.

 

 이 논문에서는 이러한 agent를 domain-independent AI 혹은 general AI라고 칭하였으며, 이러한 agent를 연구하기 위해 ALE 환경을 공유하게 되었다고 했습니다. ALE는 고전 게임인 Atari 2600 game의 수 백여개의 게임을 agent를 학습하기 위한 환경으로써 제공하며, 이러한 다양한 game을 수행할 수 있는, domain-independent AI를 최종 목표로 삼는다는 설명이 되어있었습니다. 

 

 ALE가 지향하는, domain-independent agent의 설계와 같은 궁극적인 목표를 이루기 위해서는, 혹은 협소하게 바라보았을 때, 강화학습 알고리즘의 성능을 테스트 하기 위해서는, ALE에서 제공하는 것과 같은 Benchmark가 필요합니다.

 

 저는 이번 리뷰에서 이러한 benchmark의 역할을 하는 환경들이 대표적으로 어떤 것들이 있으며, 어떤 특징이 있는지에 대해 앞으로 설명 드리고자 합니다. 그럼, 하나 하나 소개를 시작하겠습니다.

 

 첫 번째로 설명드릴 환경은 DeepMind에서 제공한 ALE, Arcade Learning Environment 입니다. 이 환경은 2012년 논문을 통해 세상에 공개가 되었으며, 현재까지도 많이 사용되는, Atari 2600 game을 강화학습 알고리즘의 학습과 검증에 사용할 수 있는 interface를 제공 해 주었습니다.

 

 또한, ALE 논문에서는 이 환경을 통해 다음과 같은 재미있는 컨셉의 학습/검증 방법을 제안하였습니다. 그것은, "몇 몇 게임들을 training game으로써 사용하여 agent를 학습시키고, test game으로써 다른 게임들을 사용하여 agent의 general AI competency를 시험할 수 있다!" 입니다. 이 컨셉은 실제 알고리즘 테스트를 할때 많이 사용되진 않지만, DeepMind가어떠한 철학으로 ALE 환경을 공유하였는지를 엿 볼 수 있는 문장인 것 같습니다.

 

 이러한 ALE는 또한 다음과 같은 특징을 가지고 있습니다. 먼저, 내부 source code는 C++로 되어 있으며, 다양한 언어를 통해 상호작용이 가능하도록 설계가 되었다고 합니다. 또한, ALE 논문을 공유할 당시에는 SARSA(lambda), human performance 등의 baseline performance를 제공하여 알고리즘의 성능을 비교해 볼 수 있게끔 해주었다고 하며, 현재에는 DQN(2015)~Agent57(2020)등 더욱 많은 알고리즘들이 다양한 게임들에 대해 score등의 지표로 성능을 공유하고 있습니다.

 

 또한, 이 논문에서는, ALE 환경을 이용하는 연구자들이 학습을 더욱 수월하게 진행할 수 있도록, ALE에서 어떤 feature를 통해 학습하는 것이 성능이 좋았는지에 대한 case study를 수행하여 그 결과를 공유해주고 있습니다. 저는 저자들이 어떠한 case를 수행했는지에 대해 간단히 설명드리겠습니다.

1) 게임 화면의 색 정보만을 feature로 사용하는 basic

2) 주변의 색 정보 또한 고려한 BASS

3) 움직이는 object만을 feature로 사용한 DISCO

4) RAM상의 rwa data를 직접 이용하는 RAM

DeepMind는 이렇듯 학습의 전 단계에서 여러 feature 추출 방법을 실험하였으며, 오른쪽 표로 각각에 대한 결과를 보여주고 있습니다.

 

 두 번째로 설명드릴 환경은 DeepMind에서 제공한 DeepMindLab이라고 하는 환경입니다. 이 환경은 2016년 논문을 통해 세상에 공개가 되었으며, Quake III 라고 하는, 3D game을 강화학습 알고리즘의 학습과 검증에 사용할 수 있는 interface를 제공해 주었습니다.

 

 이 환경은, 2D 고전 게임인 Atari game과 비교하면 매우 복잡하고, 부분적으로 관측가능하며, 시각적으로 다양한 환경(다양한 상태)을 agent에게 훈련 시킬 수 있는 기회를 환경을 이용하는 연구자들에게 제공해 주었습니다. 또한, Atari 2600 game을 통해 구축한 ALE와 유사하게 이번에도 기존에 존재하였던 게임 엔진을 이용해 3D game platform을 구축했다고 하며, fps를 조절하는 기능 정도를 추가적으로 제공한다고 합니다.

 

 이러한 DeepLab 환경에서 이용자가 사용할 수 있는 observation, action 등은 다음과 같이 정의가 되어 있습니다.

1) observation의 경우에는 환경에 포함되어 있는 reward, 현재 화면의 rgbd, 객체의 velocity information 등을 agent가 받을 수 있게끔 정의가 되어있습니다.

2) action의 경우에는 그림에 표현 되어 있는 6방향의 움직임과 시선 이동, tagging(laser 발사) 등을 선택할 수 있게 정의가 되어 있습니다.

 

 이러한 DeepLab은 또한 다음과 같은 특징을 가지고 있습니다. 내부 source code는 C로 되어 있으며, C와 python에서 이 환경을 사용할 수 있도록 API를 제공한다고 합니다.

 

 또한, 환경을 이용하는 연구자들은, agent 학습에 사용할 수 있도록 여러 예제 게임을 4개의 난이도 별로 제공한다고 하며, 각 난이도에 대한 명칭과 자세한 설명은 PPT에 옮겨 두었기에 생략하겠습니다. 연구자들은 이러한 예제들을 이용하여 궁극적으로 Quake 게임 상에서 적을 때려잡는 괴물 agent를 학습시키기 위하여, 단계적으로 agent를 학습할 수 있는 것입니다.

 

 마지막으로 설명드릴 환경은 DeepMind의 모회사 Google에서 제공한 Google Research Football이라고 하는 환경입니다. 이 환경은 2020년 아카이브 논문을 통해 세상에 공개가 되었으며, Multi-agent 강화학습 알고리즘의 학습과 검증에 사용할 수 있는 벤치마크 환경을 제공해 주고 있습니다. 

 

 이 환경은 비교적 최근인 2020년에 공유가 되었기 때문에, 현재 SOTA로 여겨지는 알고리즘인 PPO와, DeepMind에서 공유한 분산 강화학습 아키텍쳐, 알고리즘인 IMPALA, Ape-X DQN 등을 통해 학습한 baseline performance를 제공한다는 것 또한 눈여겨 볼만한 내용이었습니다.

 

 또한, 논문에서 저자들이 말하는 GRF가 기존의 환경과 다른 3가지 특징은 다음과 같습니다.

1) 먼저, 기존에 사용된 환경들의 경우, 환경의 모델이 deterministic 하여, stochastic한 실제 세상을 표현하는데 한계가 있었다는 내용을 언급합니다. 또한, model의 P를 학습할 수 있는 model-based learning을 통한 학습의 가능성도 이러한 특징과 엮어 언급하고 있었습니다.

 

2) 두 번째로, ALE, DeepLab 등 현재 많이 사용되고 있는 환경들과 달리, GRF는 open source로써 내부 코드를 공개한다는 점을 언급 및 강조하였습니다. 연구자들이 조금 더 자유로운 연구를 할 수 있는 기회를 제공한다는 점에서 의미가 있을 것 같습니다.

 

3) 마지막으로 언급된 특징은, single agent만을 학습시킬 수 있었던 이전에 제안된 환경들과 달리, GRF는 multi-agent간의 협업, 경쟁을 시험할 수 있는 환경이라는 것이었습니다.

 

 이러한 3가지 특징을 통해, GRF는 다음과 같은 장점을 제공한다고 저자들은 또한 주장하였습니다.

1) GRF는 이전에 제안된 환경들에 비하여 self-play, multi-agent leraning, model-based RL을 학습하고 검증하기에 이상적인 환경이라고 주장하였습니다.

 

2) 내부 소스 코드를 수정할 수 있는 자유로움과, 뒤에서 얘기할 다양한 수준의 예제 제공을 통해, 연구자들이 다양한 단계의 의사결정 (decision, strategy, tactics)를 학습할 수 있을것이라고 주장하였습니다.

 

 이 장에서는, GRF의 환경을 이용하기 위해 알아야하는 정보를 간단히 말씀드리겠습니다. GRF는 기존의 축구 게임에서 지원하는 규칙들이 대부분 구현되어 있다고 합니다. 또한, 스탯이 다양한 선수들의 초기 포지션을 이용자가 자유롭게 설정할 수 있으며, 난이도를 설정할 수 있는 AI bot을 탑재하고 있다고 합니다.

 

 이러한 GRF에서 제공하는 Observation과 Action 역시 정말 다양했습니다. 이 부분은 하나하나 설명하기 보다, 논문 혹은 공식 문서를 통해 참고해야 할 정도로 굉장히 많습니다. (115 차원의 vector를 통한 내부 게임 정보, 게임 화면 등의 observation, 이동, pass를 포함한 굉장히 다양한 action set)

 

  또한, 환경을 이용하는 연구자들이 단계별 reward 검증 및 새로운 research idea test를 하기 위한 11개의 예제 scenario set을 저자들은 제공해 주고 있었습니다. 연구자들은 이러한 예제들을 이용하여 궁극적으로 레바뮌에 맞먹는?! 최강의 agent를 만들기 위하여, 단계적으로 goal을 잘 넣는 공격수와 goal을 잘 막는 골키퍼 등 단계적으로 agent를 학습시킬 수 있을 것입니다.

 

 

 

 지금까지 설명드린 ALE 환경과 DeepLab, GRF이외에도 여러 유명한 환경들이 있습니다. 그 중, 대표적인 두 개의 환경에 대해서 간단히만 소개해 드리도록 하겠습니다.

 

첫 번째는, DeepMind에서 제공한 Control Suite라고하는 환경입니다. 이 환경은 2족 보행 등의 continuous control 문제를 해결하기 위해 DeepMind에서 제공하는 환경입니다. 그림에서도 볼 수 있듯 다양한 continuous control 예제들이 준비되어 있습니다.

 

두 번째는, GRF 이전에 Multi-agent 강화학습 문제를 풀기 위해 Geek-ai에서 제공한 MAgent라고 하는 환경입니다. 이 환경에서는, 2차원의 군집 점 객체들의 battle, move 등 다양한 시나리오를 학습 할 수 있도록 인터페이스를 제공합니다.

 

강화학습이 trial-and-error 방식을 통해 학습 되기 때문에, 바로 필드로 나가 학습하는 것은 거의 불가능하고, 그렇기에 이처럼 다양한 simulator 혹은 환경들의 가치가 높을 수 밖에 없다는 생각이 듭니다.

 

이번에도 긴 글을 읽어주신 점 감사드립니다.

 

전체 슬라이드와 논문 링크는 밑에 준비되어 있습니다.

arxiv.org/abs/1207.4708

 

The Arcade Learning Environment: An Evaluation Platform for General Agents

In this article we introduce the Arcade Learning Environment (ALE): both a challenge problem and a platform and methodology for evaluating the development of general, domain-independent AI technology. ALE provides an interface to hundreds of Atari 2600 gam

arxiv.org

arxiv.org/abs/1612.03801

 

DeepMind Lab

DeepMind Lab is a first-person 3D game platform designed for research and development of general artificial intelligence and machine learning systems. DeepMind Lab can be used to study how autonomous artificial agents may learn complex tasks in large, part

arxiv.org

arxiv.org/abs/1907.11180

 

Google Research Football: A Novel Reinforcement Learning Environment

Recent progress in the field of reinforcement learning has been accelerated by virtual learning environments such as video games, where novel algorithms and ideas can be quickly tested in a safe and reproducible manner. We introduce the Google Research Foo

arxiv.org

 

012345678910111213

강화학습 논문 리뷰 연재 두번째입니다.

 

DeepMind의 이번 연구는, 기존 강화학습 알고리즘의 benchmark로써 자주 활용되곤 하는 모든 Atari 2600 게임에서(수 백개중 벤치마크로써 사용되는 57개의 게임) 사람보다 뛰어난 성능을 보여준 Agent 57이라고하는 agent에 대한 내용을 포함하고 있습니다.

 

계속해서 대단한 성과를 보여주는 DeepMind가 다음엔 어떤 연구를 보여줄지 기대가 되네요ㅎㅎ

 

그럼, 본격적인 리뷰 시작하겠습니다!

 

논문의 제목은 굉장히 직관적입니다. "Atari 2600 game 환경에서 human benchmark를 상회하는 실력을 보여주는 Agent57!" 이지요.

이 논문을 기점으로, DeepMind는 DeepMind에서 제공한 강화학습 환경인 Arcade Learning Environment에서의 연구를 졸업했다? 라고 생각해야 할지도 모르겠습니다.

 

목차는 다음과 같습니다.
가장 먼저, Atari 2600 game으로 강화학습을 시험해 볼 수 있는 환경인, Arcade Learning Environment(이후 ALE로 사용)에 대한 설명과, 이전의 ALE에서 얻은 성과, ALE에서 학습을 수행할 시 발생했던 challenging issue들을 먼저 도입부에서 설명드리려고 합니다.

 

그 후, 본론에서 Agent 57의 핵심 개념인 Decomposition of Q funciton, Meta-controller에 대해 설명을 드리고, 실험 및 결과를 평가한 내용에 대해 설명을 드리는 것으로 자료를 준비했습니다.

 

이 논문에서 ALE는 DeepMind에서 제공하는, 강화학습 agent 개발을 쉽게 할 수 있도록 해주는 개발 프레임워크라고 설명이 되어 있습니다.

 

이 ALE는 고전 게임인 Atari 2600 game의 수 백여개의 게임을 환경으로써 사용할 수 있도록 하는 interface를 제공하고 있으며, 특히 그중 57개의 game은 RL 관련 논문에서 벤치마크로써 주로 사용되곤 합니다. 

 

제 세대(94년생입니다..ㅎ)들도 한 번쯤 들어보았던 Space invader(갤러그), break-out(벽돌 부수기 게임) 또한 이 환경에서 제공해준다고 합니다.

 

저는 Agent 57의 결과가 어느 정도로 대단한 것인지 알기 위하여, ALE에서 기존의 deep RL Agent들이 얻은 성과들을 정리해 보았으며, 이 장은 정리한 결과를 보여주고 있습니다.

 

1) 2015년 DQN 논문으로도 유명한 Human-level control through deep RL에서는, DQN agent가 23개의 Atari game에서 HNS, Human noalized score를 넘었다고 합니다. HNS의 식은 자료에 기술해 두었습니다. 같은 해에 나온 DRQN 논문의 경우 일부 십 여 개의 게임에 대해서만 성능 평가가 이루어 져서, 생략 하겠습니다.

 

2) 2018년, DQN, PER, DDQN, Double DDQN 등 DQN 계열 아이디어의 집합체였던 Rainbow DQN의 경우, 괄목할만한 성과를 거두어 53개의 Atrai game에서 HNS를 능가하는 결과를 얻었다고 합니다.

 

3) 또한, 2019년 R2D2의 경우도, 52개의 Atari game에서 HNS를 능가하는 결과를 얻었다고 합니다. 하지만, Rainbow와 R2D2의 경우, sparse reward가 주어지는 환경 등에 약한 모습을 보여 모든 게임에서 좋은 결과를 얻지는 못하였습니다.

 

4) 2019년, AlphaGo, AlphaZero에 이어  Model-based learning 알고리즘인 MuZero가 발표 되었고, 이 Agent의 경우, 57개의 게임 중 51개의 game에서 HNS를 능가하는 정도의 결과를 얻었지만, 전체 game에서 평균 점수 등이 R2D2, IMPALA 등을 상회화는 결과를 얻었다고 합니다.

 

이렇듯, 최근에 발표된 deep RL Agent들은 Agent57이 정복한 57개의 게임 중, 몇몇 게임들은 해결하지 못 하였으며, 이러한 문제는 다음과 같은 해결해야할 이슈들을 남겼습니다.

 

1) 첫 번째는 Long-term credit assignment 문제입니다.

이 문제는, 현재 많은 강화학습 알고리즘들이 MDP를 수학적 프레임워크로 사용하고 있기 때문에 생긴 문제로써, 이전에 행했던 일련의 행동들(long-term) 중 어떤 행동에 credit을 주고, 어떠한 행동에 penalty를 줘야할 지 분배(assignment)하는 것이 어렵기 때문에 발생했습니다.

이 문제를 설명하기 위한 예시로, 이 논문은 Atari game중 하나인 Skiing에 대한 예시를 들었습니다.

 

2) 두 번째는 Exploration in large high dimensional state space 문제입니다.

이 문제는 sparse reward를 주는 환경인 몬테수마의 복수(Montezuma's revenge) 게임 등에서 특히 발생한 문제로, reward를 적게 받더라도 agent가 문제 해결을 하기 위해서 지속적인 탐험을 해야한다는 문제였습니다.

이 문제 또한 MDP 프레임워크를 사용할 경우 immediate reward만을 받기 때문에 기존의 강화학습 알고리즘이 해결하기 어려운 문제였습니다.

 

2 번째 문제는 초창기 강화학습 알고리즘에서도 많이 다루어 왔던 문제로, 이를 해결하기 위해 여러 방법들이 제시되어 왔으며, 보통 다음과 같은 범주에 속한다고 합니다.

1) Randomize value function

2) Unsupervised policy learning

3) Intrinsic motivation

4) Combining handcrafeted features of domain-specific knowledge

 

이 중, general AI의 컨셉에 맞는, 가장 팬시한 방법은 3) intrinsic motivation이라고 생각이 되며, 이에 관련하여 DeepMind는 Agent 57이전에 Never Give Up!(이후 NGU)이라고 하는 논문을 발표하기도 하였습니다.

 

이 장부터는, Agent57이 어떻게, benchmark로서 자주 사용되는 57개의 game을 모두 정복할 수 있었는지에 대해 말씀드리겠습니다.

 

간단히 요약하면, Agent57의 경우 완전히 새로운 개념을 도입한 것은 아니고, NGU에서 발표한 intrinsic reward 개념과 R2D2를 기반으로 조금 엔지니어링을 첨가한?! 논문이라고 볼 수 있을 것 같습니다.

 

그리하여 저자들이 말하는 Agent57의 contribution은 다음과 같다고 합니다.

1) State-action value function(Q-function)을 intrinsic reward와 extrinsic reward로 decomposition하여 구한 점

2) Meta-controller 개념을 이용해 exploration/exploitation을 adaptive하게 선택한 점

3) 1)과 2)를 통해 결과적으로 57개의 atari game 모두에서 human baseline을 능가한 점 이라고 합니다.

 

여기서 Intrinsic reward와 extrinsic reward에 대해 간단히 말씀 드리면, intrinsic reward는 내적 동기 즉, 호기심, 배움의 의지, 행동의 의미 와 관련이 있다고 생각하시면 될 것 같고, extrinsic reward는 점수, 즉각적인 보상, 페널티에 대한 두려움 등과 관련이 있다고 생각하시면 될 것 같습니다.

 

이 장에서는 3개의 주된 contribution 중 첫 번째에 대해서 먼저 말씀드리겠습니다.

Agent 57의 경우 state-action value를 extrinsic reward를 통해 학습 되는 Q_extrinsic과 intrinsic reward를 통해 학습 되는 Q_intrinsic의 두 개의 component로 나누어 구했으며, 이를 beta라고 하는 hyper parameter를 통해 조절하였습니다.

 

여기서 extrinsic reward는 우리가 알고 있는 환경에서 주는 immediate reward이며, intrinsic reward의 경우 NGU에서 소개한 호기심과 관련된 reward를 의미합니다. 이에 대해 자세한 내용은 추후 NGU를 리뷰하며 다시 한 번 다루도록 하겠습니다.

 

또한, 이 논문에서는 Q value function network를 두 개로 나누어 학습한 결과와, NGU에서 제시한 single network로 reward만 extrinsic, intrisic reward로 나누어 받도록 학습한 결과가 최적점에서 같다는 증명을 수행 하였으며, 실제 학습시에는 network를 decomposition 하는 것이 결과가 좋았다는 얘기를 했습니다. 

 

Agent57의 주된 contribution 중 두 번째인 Meta-controller입니다.

Meta-controller는 최신 연구 분야 중 하나인 Meta-RL과 관련되어 나온 개념이 아닌가 생각됩니다. 이 부분은 저의 뇌피셜이니, 논문에 기술된 내용만 소개하자면...

 

이 논문에서 Meta-controller은 다음과 같이 동작합니다.

1) Agent가 탐험이 필요한 초기에는 intrinsic reward의 계수인 beta를 크게, 할인율 gamma를 작게 선택하고, 학습이 진행될 수록 그 반대의 pair를 선택합니다.

2) 또한, 이렇게 pair를 선택하는 방식을 multi-arm bandit algorithm을 통해 구현했다고 하며, 이 multi-arm bandit algorithm의 경우 r_extrinsic 만을 이용하는 UCB(Upper confidence bounds) algorithm을 통해 동작하게끔 구현했다고 합니다.

 

정리를 해 보면, Agent57의 agent는 1) 호기심을 통해 선택해 본 적이 없는 행동에 대한 선택을 할 수 있으며, 2) 현재 호기심을 부려야 할지, 지금껏 학습한 대로 행동해야 할지 또한 판단할 수 있는 agent라고 할 수 있습니다. 이것을 수학적으로, 그리고 프로그래밍적으로 설계하고 구현한 DeepMind가 정말 대단한 것 같습니다.

 

다음 장 부터는 실험을 수행한 내용과 그 결과에 대해서 설명드리겠습니다.

 

이 장부터는, Agent57과 타(他) agent사이의 비교를 어떻게 수행했는지에 대한 내용과, Agent57의 학습 결과에 대해서 말씀드리겠습니다.

 

1) Agent57을 이용해 57개의 모든 게임을 학습 시켜 본 뒤, 학습이 오래 걸렸던 10개의 게임을 선택했습니다.

2) 10게의 게임에 대해 자료에 도시한 3개의 대조군 및 여러 대조군들과의 비교 및 분석을 수행했다고 합니다.

 

이 장에서 소개한 대조군에 대해 간단히 설명 드리면, seperate net, long trace, bandit이 NGU와 Agent57의 차이라고 볼 수 있고, 그렇기 때문에 상기의 3개의 대조군을 비교를 위해 설정했다고 보시면 될 것 같습니다.

 

그래프를 보시게 되면, 결과는 물론 Agent 57이 가장 좋았습니다.

 

R2D2 논문을 읽어야 더욱 정확한 분석이 가능할 것 같아, 현재 분석 및 작성 중입니다.

 

결론은 다음과 같습니다.

 

1) 환경으로써 사용된 57개의 game에 대해 Agent57의 경우, 모든 게임에서 human score를 능가하는 결과를 얻었다고 합니다.

2) 모든 게임에 대해 평균과 중앙 값을 계산해보면 MuZero가 가장 뛰어나다는 것을 알 수 있었지만, MuZero의 경우, Pitfall, Venture등의 게임에서 random policy 정도의 성능을 보여주었음을 알 수 있었다고 합니다.

3) 또한, R2D2에 meta-controller 개념을 추가시켜 학습한 결과, 기존의 R2D2와 비교하여 더욱 좋은 성능을 보였다는 것과 함께 meta-controller의 성능을 과시하였습니다.

 

본문에는 Appendix로 추가한, 전체 57개 게임에 대한 결과입니다. 표의 열은 각각 game 명, Average human, random, Agent 57, 타 알고리즘 들로 구성되어 있습니다.

 

몇 몇 game에서는 타 알고리즘이 Agent 57을 압도하는 경우도 있지만, 전체 game에서 Average human을 이긴 Agent 57이 ALE 환경에서 DeepMind가 얘기하였던 general AI에 가장 가까운게 아닌가 생각이 듭니다.

 

이번에도 긴 글을 읽어주신 점 감사드립니다.

 

논문의 링크와, 전체 슬라이드는 밑에 준비되어 있습니다.

 

arxiv.org/abs/2003.13350

 

Agent57: Outperforming the Atari Human Benchmark

Atari games have been a long-standing benchmark in the reinforcement learning (RL) community for the past decade. This benchmark was proposed to test general competency of RL algorithms. Previous work has achieved good average performance by doing outstand

arxiv.org

0123456789101112

강화학습 연구 관련 트렌드를 파악하기 위하여, 블로그에서 강화학습 논문 리뷰 연재를 시작하게 되었습니다.

 

꾸준히 작성하여 많은 사람들에게 도움이 되었으면 좋겠습니다!

 

DeepMind의 연구진들이 블리자드사의 Starcraft2를 정복한 논문을 발표함에따라, 강화학습이 cartpole, Atrai 2600 등의 간단한 게임들 뿐만 아니라, 상업적 프로리그가 존재하는 더욱 어려운 게임들을 해결할 수 있다는 것을 증명해 냈습니다.

 

그에 맞서, OpenAI의 연구진들도 Dota2라고 하는, 가장 어려운 게임 장르 중 하나인 AOS 장르의 게임에서 현재 세계 챔피언인 Team OG를 꺾은 논문을 발표하였습니다.

 

General AI를 꿈꾸는 강화학습 연구진들의 꿈이 점점 현실로 다가오는 것 같아서 무서우면서도 대단하네요.

 

그럼, 본격적인 리뷰 시작하겠습니다!

 

DeepMind의 Starcraft II를 정복한 agent의 이름은 Alphastar였죠, Open AI의 Dota2를 정복한 agent의 이름은 Five로 지었다고 합니다. 논문의 제목은 굉장히 심플하게 지었다는 느낌이 듭니다.

 

목차는 다음과 같습니다. 가장 먼저 AI, 특히 RL이 이루어낸 이전의 마일스톤들에 대해 간단히 설명을 드리고, Dota2가 어떤 게임인지에 대한 설명을 드린뒤, 본론인 training system관련 내용과 실험 및 결과를 평가한 내용에 대해 준비 하였습니다.

 

강화학습을 연구하는 많은 연구진들은, 실제 세상의 복잡하고 연속적인 문제를 풀 수 있는 AI를 설계하기 위한 초석으로써, 게임이라는 환경을 많이 선택해오곤 했습니다. 그리하여, 그림에 표현된 것 처럼 1992년 비교적 간단한 게임인 Backgammon을 고전적인 알고리즘인 TD - labmda algorithm을 통해 해결하기도 하였습니다.

 

그후, 강력한 function approximator인 신경망의 등장에 힘입어 수 백여개로 이루어진 Atari 2600 게임 중 50여 개에 대한 학습이 어느정도 성공적으로 이루어졌으며, 저를 포함한 많은 사람들을 놀라게한 Alpha Go 또한 등장하기도 하였습니다.

 

이러한 흐름의 일부로써, 그리고 종착지 중 하나로써 Open AI는 Team game이며 상업적인 리그가 존재하는 Dota2를 학습하는 결정을 내렸으며, 이 페이지에서는 Dota2의 특성과 RL의 관점에서 본 Dota2의 challenging issue들을 설명하고 있습니다.

 

Dota2의 경우, 기존의 학습 대상이었던 게임과 다른점은 다음과 같습니다.

1) Dota2는 Multi-player game입니다. 즉, single agent를 control 하던 문제와는 한 차원 다른 협업/경쟁 이라는 task를 수행해야 하는 게임입니다.

2) Dota2는 실시간으로 전황이 바뀌는 AOS 장르의 게임입니다. 그리하여, Dota2를 정복하기 위한 RL agent는 학습을 통해 최적의 decision 뿐만 아니라, 최적의 tactics, 최적의 strategy 모두 학습을 해야합니다.

3) 프로/아마추어 대회가 존재하는 상업적으로 성공한 게임입니다. 그렇기에, 경기와 관련된 데이터를 획득하기 쉽고, 랭크 시스템, 프로팀 과의 대결 등을 통해 RL agent의 실력을 가늠하는 것이 가능합니다.

 

이러한 Dota2를 RL의 관점에서 보았을 때, challenging한 이슈들은 다음과 같습니다.

1) 먼저, Dota2의 경우, 기존의 chess, Go와 같이 수 백여 번의 action으로 끝나는 게임이 아니며, 약 15~30분 동안 20000번의 action을 수행해야 끝나는 long-horizon planning이 필요한 게임입니다.

2) Dota2는 Chess, Go 처럼 모든 정보가 공개된, 관측 가능한 게임이 아닙니다. 팀원 혹은 게임 내 팀원 몬스터 등이 존재하는 지역이 아니면 안개가 끼는, partial observable한 게임입니다.

3) Dota2는 매우 높은 차원의 observation and action space를 가지는 게임입니다. 단적으로 Open AI에서 설계한 agent의 경우, 1 step에 8000~80000 개의 action을 선택 해야 했다고 하니 agent입장에서 굉장히 난해한 문제였다고 볼 수 있을 것 같습니다.

4) Complex rules, Dota2의 장르인 AOS는 인간에게도 입문이 쉽지 않은 게임 중 하나에 속합니다. 물론 저도 꽤나 즐기고 있는 장르이지만, 처음 입문했을 당시를 생각하면 팀원에게 욕먹고, 포탑과 일기토를 하다 죽던 제가.... 스킵하겠습니다.

 

그러면, 이 장 부터는 Open AI가 이렇게 어려운 게임인 Dota2를 어떻게 학습 시켰는지에 대해 말씀드리겠습니다. 일단, Open AI의 경우 Dota2를 해결하기 위해 다음과 같은 제약을 두었습니다.

1) Case study를 통해, 117개의 전체 영웅 중 17개의 영웅만을 적과 아군이 고를 수 있도록 하였습니다.

2) 상대방을 조종하는 등 변수를 너무 많이 줄 수 있는 item을 배제한 뒤 학습을 수행하였습니다.

이러한 제약 조건은 Observation space를 줄여주어, agent가 탐험해야할 공간을 줄여준 것으로 볼 수 있을 것 같습니다.

 

뿐만 아니라, 몇몇 행위는 policy를 통해 선택하는 것이 아니라, hand-script를 사용하였다고 합니다.

1) 아이템과 ability의 구매 행위

2) 특정 탈것 유닛의 제어

3) item을 보관하는 행위

Open AI Five는 이러한 방법을 통해 action space를 줄여주는 효과를 얻은 것 같습니다.

 

이렇게, 그나마 간소화된 Dota2를 Open AI는 다음과 같은 model architecture를 통해 훈련시켰다고 합니다. 그 안을 자세히 들여다 보겠습니다.

 

먼저, Open AI의 Five의 경우, DeepMind의 Alphastar와 달리 observation을 간단한 processing만을 거친 뒤 사용하였다고 합니다. 이를 두고 Visual processing보다 planning 문제를 해결하는데 초점을 맞추고 싶었다는 주장을 하고 있긴 하지만, 저는 feature를 잘 선정하는 것도 planning 문제를 해결하기 위해 필요한 과정이라고 생각하기 때문에, 이 의견에 백 퍼센트 동의하지는 않습니다.

 

이렇게 processing, flatten 된 observation은 4096-unit의 거대한 LSTM으로 입력된다고 하며, 이러한 모델은 각 영웅 별로 가지게 된다고 합니다. 그리하여, 전체 신경망의 parameter는 159 million.. 이라고 합니다. Dota2가 굉장히 어려운 문제였다는 것을 방증하는 parameter의 개수라는 생각이 듭니다.

 

또한, 전체 강화학습 신경망의 학습은 슬라이드에 첨부한 그림과 같은 방법으로 훈련을 시켰다고 합니다. 그림에 대한 설명을 드리기에 앞서 몇 가지 설명을 드리도록 하겠습니다.

1) 먼저, 강화학습 알고리즘은 Policy gradient 계열에서 SOTA로 인정받는 PPO를 사용했다고 합니다.

2) 또한, Go, Star를 학습 시킨 방법과 유사하게, Dota2 역시 self-play를 활용하여 학습을 수행했다고 합니다.

3) Dota2가 패치될 때 마다 학습을 bottom to scratch로 진행하는 것이 불가능 하므로, transfer learning과 유사한 surgery를 이용했다고 합니다.

 

이제 본격적인 학습 시스템에 대해 설명을 드리겠습니다.

1) 먼저, 이름을 따로 붙이지는 않았지만, Policy network가 내재되어 있는 Forward pass GPU에서는, rollout worker로부터 observation을 받고 action을 전달해 줍니다. 

2) Rollout worker는 각각 Dota2 engine을 포함하고 있으며, Python control code와 gRPC를 이용한 통신을 통해 Dota2 엔진에서의 step을 수행하고, sample을 모으는 역할을 합니다.

3) 이렇게 모아진 sample은 experience buffer로 전달이 되며, Optimizer에서 PPO algorithm에서 사용하는 clipped gradient 등을 이용해 학습이 수행된다고 합니다.

4) 마지막으로, 이러한 학습된 parameter들을 controller를 통해 신경망으로 다시 전달해주는 것으로 전체 학습 시스템이 동작합니다.

 

최근 어려운 문제를 해결한 DeepMind의 Alphastar, Open AI의 Dota2 모두 self-play 개념을 이용하여 강화학습 신경망의 학습에 있어서 탁월한 결과를 얻었다는 점은 눈여겨 볼 만한 자료인 것 같습니다. 또한, 패치에 대응하는 transfer learning 개념과 FIVE의 분산학습 구조도 눈여겨 볼 만한 점이라고 생각이 되는 것 같습니다.

 

이러한 신경망 구조와, 학습 방법을 이용하여 Open AI는 약 10개월 동안 학습을 수행했다고 합니다. 이 10개월 간 신경망의 학습에는 약 770 P flops/s.day의 연산이 수행 되었다고 하는데, 엄청난 스케일이라고 느껴지는 것 같습니다..

이 규모를 논문에서는 DeepMind의 AlphaGo와 비교 하였는데, AlphaGo에 비해 50~150배로 큰 batch size, 20배로 큰 network model, 25배로 긴 학습 시간이 소요되었다고 합니다. 가슴이 웅장해지는... large scale입니다.

 

학습한 결과는 다음과 같습니다. Open AI의 경우, 수행한 연산량에 따라 Agent가 어느정도 수준에 도달 했는지를 보여주고 있습니다.

학습이 수행된 이래, 100 P flops/s.day의 연산이 수행 되기도 전에, FIVE는 armature와 semi-pro를 이겼다고 합니다. 그 후, 200 P flops/s.da이상의 연산이 수행되자 casters라는 프로팀을 꺾었으며, 전체 학습이 끝난 시점엔 World champion인 Team OG를 꺾었다고 합니다.

 

AOS 장르를 한 때 즐겼던 제 입장에선, 이게 얼마나 대단한 일인지 피부로 와닿고 있지만, AOS 장르 게임에 생소하신 분들에게는 '뮌헨을 이긴 로봇 축구단이 탄생했다!' 정도의 임팩트라고 생각해 주시면 될 것 같습니다.

 

Open AI는 AlphaStar와 유사하게, 여러 hyperparameter 들에 따른 case study를 수행하여, 후대 연구자들에게 인사이트를 주고자 한 것 같습니다. 이 장은 그에 대해 설명하고 있습니다.

1) Batch size에 따른 학습 성능 평가: Optimizer에서 gradient 계산과 update를 수행함에 있어 sample을 쌓아둔 batch size의 경우, 크면 클 수록 좋다고 합니다. '장인은 도구를 가리지 않는다.'는 말은 적어도 이러한 대규모 스케일의 AI에선 통하지 않는 말인 것 같습니다.

2) Data quality에 따른 학습 성능 평가: 이는, experience buffer 내의 sample을 몇 회 재사용 할 것이냐에 따른 학습 성능을 보여주고 있습니다. 그 결과는, sample reuse 회수가 적을 수록 학습 성능이 좋았다고 하며 이 또한, Rollout worker가 얼마나 빠르게 수행되어 많은 sample을 줄 수 있는지(computing power)와 관련된 문제인 것 같습니다.

3) Planning horizon에 따른 학습 성능 평가: Open AI의 경우, 감사하게도 planning horizon에 대한 실험도 수행해 주었습니다. 막연히, horizon이 길 수록 좋지 않겠냐는 생각은 누구나 할 수 있지만, 이렇게 실험을 통해 입증을 해준 것은 또 다른 의미를 가지는 것 같습니다.

 

원래는 PPT slide 별로 이러한 설명을 달 생각은 없었지만, PPT만 딱 올리는 것은 너무 불 친절한게 아닐까? 라는 생각이 들어 글을 수정하게 되었습니다. 하지만, 저도 현생에서의 업무를 수행하는 직장인이라 얼마나 많은 논문을 리뷰할 수 있을지는 모르겠습니다. 힘이 닿는데까지, 최대한 열심히 해보겠습니다!

 

논문의 링크와, 전체 슬라이드는 밑에 준비되어 있습니다.

arxiv.org/abs/1912.06680

 

Dota 2 with Large Scale Deep Reinforcement Learning

On April 13th, 2019, OpenAI Five became the first AI system to defeat the world champions at an esports game. The game of Dota 2 presents novel challenges for AI systems such as long time horizons, imperfect information, and complex, continuous state-actio

arxiv.org

 

0123456789101112
 

+ Recent posts