Author : Tuomas Haarnoja*, Aurick Zhou*, Kristian Hartikainen*, George Turker, Sehoon Ha, Jie Tan, Vikash Kumar, Henry Zhu, Abhishek Gupta, Piter Abbeel, Sergey Levine 
Paper Link : https://arxiv.org/abs/1812.05905

0. Abstract

  • Model free deep RL은 샘플링 효율이 매우 낮고, 수렴이 불안정함.
  • 이를 극복하고자 maximum-entropy (MaxEnt) RL 프레임워크에 기반한 Off-poliy actor-critic 알고리즘을 제안함

1. Introduction

  • Real-world 에서의 model free RL의 단점
    1. 샘플링 비효율
    2. Hyperparameter에 민감
  • On-policy는 샘플을 업데이트 할때마다 버리므로 샘플 효율이 높은 off-policy가 좋으나,
  • Q-learning기반 알고리즘의 단점 존재
    1. 고차원 NN 썼을때 불안정하며 수렴이 잘 안됨
    2. Continuous space에서 악화
  • "어떻게 하면 Continuous space에서도 샘플 효율적이고 안정하게 만들까?"
  • MaxEnt를 RL에 적용 (MaxEnt RL) 하면 탐색과 강건성을 향상시키나 여전히 on/off policy문제 존재
  • Soft actor-critic (SAC): off-policy MaxEnt actor-critic 알고리즘 고안
  • 샘플 효율적이면서도 안정하며 Continuous space에서도 잘 동작

2. Related Work

  • Actor-critic (AC)는 actor와 critic모두 수렴 보장이 안되며 동시에 최적화 필요
  • 기존의 AC에도 Entropy (Ent)를 추가한 접근들이 있으나 Ent를 regularizer로 사용 (=Policy의 잘못된 학습 억제)
  • On-policy이므로 샘플 효율에 있어 한계
  • 이에 DDPG (https://arxiv.org/abs/1509.02971) 와 같은 off-policy 등장
  • But! 한계 존재
    1. Deterministic + Q-function은 안정화 어려움
    2. 복잡한 task에선 성능 낮음
  • Off-policy이면서도 stochastic하고 MaxEnt RL프레임을 사용하는 알고리즘 필요
  • 저자의 이전 논문 Soft Q-learning (https://arxiv.org/abs/1702.08165) 에선 MaxEnt RL + Q-function의 soft-Q function을 도입하고 이를 따르는 (아래 그림의 오른쪽), $expQ$를 energy function으로 하여 energy based model 분포를 policy로 사용하는 알고리즘을 제안

  • Entropy의 도입으로 강건하고 안정하나, DDPG의 성능을 넘지 못하며, policy의 수렴이 posterior를 얼마나 잘 근사 했는가에 의존하며, continuous space에서 별도의 샘플링 기법이 필요하다는 한계 존재
  • 제안한 SAC는 policy의 parameterization에 관계없이 policy가 항상 optimal에 수렴하며 성능도 DDPG를 큰 차이로 앞서며 continuous space에서도 쉽게 사용 가능

3. Preliminaries

  • 기존 RL의 목적은 reward expection의 합을 최대화 하는 policy를 찾는 것

  • MaxEnt RL의 목적함수와 policy

Entropy term이 추가. alpha는 기존 RL term과 entropy term간의 조절 위한 temperature parameter

  • MaxEnt RL의 장점
    1. policy의 탐험을 하면서도 동시에 보상을 최대화
    2. 하나의 optimal이 아니라 near optimal을 여러개 배울 수 있어 강건함

4. From Soft Policy Iteration to Soft Actor-Critic

4.1. Soft Policy Iteration (Tabular case)

  • Policy iteration: policy evaluation과 policy improvement를 번갈아 진행하여 Q-function의 수렴과 policy의 수렴을 반복해 학습하는 방법
  • Soft Bellam euation: policy를 evaluation하는 기존의 Bellam equation에 policy entropy의 개념을 추가

  • 행동이 유한하다는 가정하에, 위 soft Bellam backup을 반복하면 soft Q-function으로 수렴

  • 이 step을 통해 어떠한 policy에 대해서도 Soft Q-function을 구할 수 있음
  • policy improvement에선 Energy based model 의 개념을 도입 (Envergy based model에 대해선 Yann Lecun 교수님의 저서 참조, http://yann.lecun.com/exdb/publis/pdf/lecun-06.pdf)
  • KL Divergence를 사용하여 exp(Q)를 parameterized된 policy set에 information projection을 하여 새로운 policy 도출

  • 일반적으로 intractable한 partition function Z는 추후 설명할 SAC의 목적함수에서 KL Divergence를 최소화 하는 gradient descent 과정에서 무시됨
  • 이때, 행동이 유한하다는 가정 하에, 위 최적화를 만족하는 새로운 policy는 이전 policy에 비해 항상 높은 기대보상을 가짐

  • Soft policy iteration: 위 soft policy evaluation과 soft policy improvement의 과정을 parameterized policy set 내의 임의의 policy에 대해 번갈아 진행하면 policy set 내의 optimal MaxEnt policy로 수렴

  • 위 Lemma와 Theorem은 tabular space에서 증명됨
  • continuous space에서 적용하려면 NN과 같은 function approximator가 필요하지만 수렴에 너무 큰 계산량을 요구하는 한계 존재

4.2. Soft Actor-Critic (function approximator)

  • Soft policy iteration는 수렴을 위해 evaluation과 improvement를 반복하는것이 continuous space에선 비현실적
  • 따라서 같은 프레임워크에서, Soft Q-function(evaluation)과 policy(improvement)를 NN으로 근사하고 두 network를 Stochastic gradient descent 하는것으로 대체
  • 첫번째 SAC 논문(https://arxiv.org/abs/1801.01290) 에서는 Soft Value function, Soft Q-function, policy 셋을 모두 parameterize했으나, 이 두번째 SAC 논문에서는 Soft Q-function와 policy만 근사
  • Replay buffer (~D)에 저장된 (state, action) pair 데이터를 가져와 Soft Q-function와 Target soft Q-function 을 계산하고, 이 차이(Bellman residual)를 최소화 하는것이 objective function

  • 이때  은 Target Soft Q-function
  • 위 objective의 Soft value function V 는 Soft Q-function으로 풀어 쓸수 있으며, 최적화로 Stochastic gradient descent(SGD)를 사용하기 위해 objective function의 gradient를 구하면 다음과 같음

SGD를 사용하므로 Expectation은 제거 가능하다

  • 여기서 S,A,R,S'까지는 Replay buffer(D)에서 추출한 값이며, Soft Target에서의 A'는 현재의 policy에 따름
  • policy의 objective function은 위 tabular policy improvement단계에서의 KL divergence 에 Replay buffer (D)에서 추출한 State 와 현재 policy를 사용

  • KL-divergence는 다음과 같이 expectation 꼴로 다시 쓸 수 잇음

출처 https://medium.com/activating-robotic-minds/demystifying-kl-divergence-7ebe4317ee68

  • 이를 다시 policy의 loss function에 적용하면 아래와 같이 쓸 수 있음

log partition function은 상수이므로 생략하고 alpha 추가. Q의 S_t는 오타 -> a_t

  • Expectation은 intractable하므로 보통 이를 위해 Monte Carlo Sampling을 사용 
  • 하지만 gradient와 두번째 Expectation 모두 policy의 파라메터에 의존하므로 Monte Carlo sampling을 하면 연산 그래프가 끊어져 back-propagation이 불가능. 이에 reparameterization trick을 사용

 

Sampling이 NN 파라메터와 무관해져 gradient를 계산 가능

  • 최종적으로 policy objective의 gradient는 다음과 같음

 

 

5. Automating Entropy Adjustment for Maximum Entropy RL

  • Entropy에 대한 temperature를 H.P. 로 두기엔 학습에 따라 바뀌는 reward에 상응하는 적절한 값을 찾기가 어려움
  • 또한 optimal이든 아니든 동일하게 entropy를 최대화 하므로 exploration에도 부적합
  • "temperature alpha를 H.P.가 아닌 dual optimization contraint로 하여 autotunning 되도록 바꾸자"
  • MaxEnt RL을 contrainted optimization 문제로 바꿔쓰면 다음과 같음

H 는 엔트로피의 lower bound. Policy가 deterministic하여 upper bound는 필요 없음

  • 이를 Lagrangian을 사용하여 dual problem으로 나타내면 다음과 같으며, 이때 Lagrangian multiplier인 alpha는 temperature parameter에 해당함

  • 이를 dynamic programing으로 policy가 최적이라 가정하고 alpha를 최적화하는 step과 alpha가 최적이라 가정하고 policy를 최적화 하는 step을 반복할때, alpha의 optimal problem은 step에 관계 없이 항상 다음과 같음

증명: https://lilianweng.github.io/lil-log/2018/04/08/policy-gradient-algorithms.html#sac-with-automatically-adjusted-temperature

 

6. Practical Algorithm

  • 알고리즘의 실제 적용에선 TD3에서 value기반 알고리즘들의 policy improvement 단계의 positive bias문제를 해결하기 위해 사용한 것과 같은 맥락으로, 2개의 soft Q-function을 독립적으로 학습하여 더 작은 Q를 사용하며 이는 복잡한 task에서의 성능과 학습속도를 향상시킴
  • Duality 적용한 접근은 convexity를 가정했을때 수렴성을 보여줌 (Boyd & Vandenberghe, 2004)
  • 이 가정은 NN과 같은 비선형 근사함수에는 해당하지 않지만 실질적으론 사용 가능함
  • 이에 alpha의 목적함수는 다음과 같음

  • 지금까지의 SAC 알고리즘의 pseudocode는 다음과 같음
  • SAC는 policy를 바로 gradient로 업데이트 하는 방법이지만, 기존 actor-critic기반 on-policy learning과 달리 replay buffer의 상태 데이터로 학습이 가능하여 off-policy learning에 해당함

 

7. Experiment

  • 실험 결과 거의 모든 continuous action space의 환경에서 기존 off-policy 및 on-policy 알고리즘들보다 빠른 학습속도와 높은 성능을 보임
  • 특히 환경이 복잡할수록, 큰 batch를 사용하는 on-policy 방법에 비해 SAC가 빠른 초기 학습속도를 보여줌

  • SAC 학습의 효율성 덕분에 model-free RL 알고리즘임에도 불구하고 real-world환경 (locomotion & dexterous manipulation) 에서도 바로 학습가능한것을 실험으로 증명함

+ Recent posts