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

 

이번 논문 리뷰는, 기존의 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

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

 

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

+ Recent posts