본문 바로가기

논문 리뷰

강화학습 논문 리뷰: Soft Actor-Critic:Off-Policy Maximum Entropy Deep ReinforcementLearning with a Stochastic Actor

728x90

Author: Joonhee Lim
Date: 2022/07/21

 

 

참고한 블로그(5. Experiments 그대로 인용): https://americanoiceonly.tistory.com/36

 

대망(大亡)의 SAC(Soft Actor-Critic) 논문 정리

Soft Actor-Critic은 정말 연이 깊은 알고리즘이다. 잇님들의 꾸준한 요청이 있었던 (자신감이 떨어져 올리고 싶지 않았던) sac 논문 정리를 올려본다. 수식이 많은 논문은 내용이 어떻든 읽는데 속도

americanoiceonly.tistory.com

논문 원문: Soft Actor-Critic: Off-Policy Maximum Entropy Deep Reinforcement Learning with a Stochastic Actor

arxiv.org/pdf/1801.01290.pdf


0. Abstract

Model-free RL은 일반적으로 매우 높은 샘플 복잡성(많은 학습 필요)과 수렴하기 어려운 특성(하이퍼 파라미터에 민감)이라는 두 가지 주요 과제를 겪는다. 본 논문에서는 최대 엔트로피 강화 학습 프레임워크를 기반으로 한 Off-Policy Actor-Critic 심층 RL 알고리즘인 SAC(Soft Actor-Critic)을 제안한다. 이 프레임워크에서 Actor는 엔트로피를 최대화하는 동시에 기대 보상을 최대화하는 것을 목표로 한다. 즉, 가능한 한 무작위로 행동하면서 미션을 성공하는 것이다. 또한 다른 Off-Policy 알고리즘과 달리 우리의 접근 방식은 매우 안정적이며 서로 다른 무작위 시드에서도 매우 유사한 성능을 달성한다는 것을 보여준다.


1. Introduction

우리는 연속적인 상태와 행동 공간을 위한 효율적이고 안정적인 Model-free 심층 RL 알고리즘을 설계하는 방법을 탐구한다. 이를 위해 표준 최대 보상 강화 학습 목표를 엔트로피 최대 항으로 보강하는 최대 엔트로피 프레임워크를 활용한다. 더 중요한 것은 최대 엔트로피 공식은 탐색과 견고성에 상당한 개선을 제공한다. 본 논문에서, 우리는 샘플 효율적인 학습과 안정성을 제공하는 소프트 액터-크리틱(SAC)이라고 하는 Off-Policy 최대 엔트로피 액터-크리틱 알고리즘을 고안할 수 있음을 보여준다.  이는 DDPG를 상당히 개선한 알고리즘 모델이다.


2. Related Works

Skip..


3. Preliminaries

기존의 RL은 Reward의 합의 기댓값을 최대화하였다.

해당 알고리즘은 Reward + 엔트로피를 최대화하는 것을 목적으로 한다.

이 Objective는 많은 개념적이고 실용적인 이점을 가지고 있다. 첫째, 이 Policy은 기존의 방식보다 광범위하게 탐구하도록 장려된다. 둘째, 정책은 최적에 가까운 동작의 여러 모드를 캡처할 수 있다. 여러 동작이 똑같이 매력적으로 보이는 상황에서 정책은 해당 동작들에 대해 동일한 확률 질량을 부여한다. 마지막으로, 학습 속도를 크게 향상시킨다. 우리는 기대 보상과 엔트로피의 합계가 유한하다는 것을 보장하기 위해 할인 요인을 도입하였다. Policy Iteration을 통해 SAC를 고안하는 방법에 대해 논의할 것이다. 여기서 우리는 대신 현재 정책의 Q-함수을 평가하고 Off Policy 그레이디언트 업데이트를 통해 정책을 업데이트한다. 이러한 알고리즘은 기존 강화 학습을 위해 이전에 제안되었지만, 우리의 방법은 최대 엔트로피 강화 학습 프레임워크에서 Off policy Actor-Critic이다.


4. From Soft Policy Iteration to Soft Actor-Critic

SAC 알고리즘은 정책 반복 방법의 최대 엔트로피 변형에서 파생될 수 있다. 먼저 이 도출을 제시하고, 해당 알고리듬이 최적의 정책으로 수렴되는지 확인한 다음, 이 이론에 기초한 실용적인 심층 강화 학습 알고리즘을 제시한다.

1. Derivation of Soft Policy Iteration

우리는 최대 엔트로피 프레임워크에서 정책 평가와 정책 개선을 번갈아 하는 최적의 최대 엔트로피 정책을 학습하기 위한 일반적인 알고리즘인 소프트 정책 반복을 도출하는 것으로 시작한다. 우리는 이론적 분석과 수렴 보장을 가능하게 하기 위해 표 설정을 기반으로 하며, 우리는 다음 절에서 이 방법을 일반적인 연속 설정으로 확장한다.

다음과 같이 수정된 Soft Bellman Equation을 기반으로 반복적으로 정책을 평가한다. 

Soft State-Value Function은 다음과 같다.

 

정책 개선 단계에서 우리는 새로운 Q-함수의 지수화를 위해 정책을 업데이트한다. 이러한 특정 업데이트 선택은 소프트 Value 측면에서 개선된 정책을 가져올 수 있음을 보장할 수 있다. 원칙적으로 우리는 어떤 예측이든 선택할 수 있지만, 쿨백-라이블러 발산 측면에서 정의된 정보 예측을 사용하는 것이 편리하다. 즉, 정책 개선 단계에서 각 상태에 대해 다음과 같이 정책을 업데이트합니다.

소프트 정책 반복 알고리즘은 소프트 정책 평가와 소프트 정책 개선 단계를 번갈아 가며 최적의 최대 엔트로피 정책으로 수렴할 것이다. 이 알고리즘은 최적의 솔루션을 찾을 수 있지만 표 형식의 경우에만 정확한 형태로 수행할 수 있다. 따라서, 우리는 Q-값을 표현하기 위해 함수 근사기에 의존해야 하는 연속 도메인에 대한 알고리즘을 근사할 것이며, 이 근사치는 소프트 액터-크리틱이라고 불리는 새로운 실용적인 알고리즘을 만들어낸다.

2. Soft Actor-Critic

대규모 연속 도메인은 Soft 정책 반복에 대한 실질적인 근사치를 도출해야 한다. 이를 위해 Q-함수정책 모두에 함수 근사기를 사용하고, 수렴에 대한 평가와 개선 대신 확률적 경사 하강법으로 두 네트워크를 최적화하는 방법을 번갈아 사용할 것이다. 매개 변수화된 상태 값 함수 V(st), 소프트 Q-함수 Q(st, at) 및 정책 φ(at|st)를 고려할 것이다.

State-Value Function은 Soft-Value를 근사한다. 위 식은 Q-함수 및 정책과 관련되므로, 원칙적으로 State Value 별도의 함수 근사기를 포함할 필요가 없지만 실제로는 Soft Value에 대한 별도의 함수 근사기를 포함하면 훈련을 안정화시킬 수 있으며 다른 네트워크와 동시에 훈련하는 데 편리하다. Soft Value function는 잔차 오차 제곱을 최소화하도록 학습한다.

Q-Value는 다음과 같은 Objective를 최소화시킴으로써 학습시킨다.

이 업데이트는 Target State Value 네트워크 V¯를 사용하며 현재 State Value Function의 가중치와 일치하도록 Target Network의 가중치를 주기적으로 업데이트할 수 있다.

마지막으로, Policy 매개변수는예상되는 KL-분산을 직접 최소화함으로써 학습할 수 있다.

각 Objective를 미분하면 다음과 같은 식들이 도출된다.

Value-Based 방법의 성능을 저하시키는 것으로 알려진 Policy 개선 단계에서 긍정적인 편견을 완화하기 위해(과대평가 막기) 두 가지 Q 함수를 사용한다. 우리의 알고리즘은 단 하나의 Q-Function 근사기를 사용하여 21차원 휴머노이드를 포함한 어려운 작업을 학습할 수 있지만, 우리는 두 가지 Q-Function 근사기가 특히 더 어려운 작업에서 훈련 속도를 크게 향상시킨다는 것을 발견했다. 이 방법은 현재 Policy를 사용하여 환경으로부터 experience를 수집하는 것과 Replay Buffer에서 샘플링된 Batch에서 확률적 그레이디언트를 사용하여 함수 근사치를 업데이트하는 것 사이에서 번갈아 나타난다. Value 추정기와 Policy이 모두 Off-Policy 데이터에 대해 완전히 학습할 수 있기 때문에 Replay Buffer의 Off-Policy 데이터를 사용하는 것이 가능하다.


5. Experiments

실험의 목적은 샘플 복잡성과 안전성을 이전의 off-policy와 on-policy deep RL의 성능과 비교하는 것이다. 어려운 OpenAI gym 환경과  humanoid task에서부터 간단한 태스크까지  여러 환경에서 실험을 진행했다. baseline으로는 DDPG,PPO와 SQL을 사용한다. SQL도 두개의 Q 펑션을 가지고 있고 이 점은 대부분의 환경에서 성능을 향상 시킨다. 추가로 TD3와 Trust-PCL을 사용한다. 

 

 

태스크들의 학습 곡선. SAC(주황곡선)이 대부분의 태스크들에서 좋은 성능을 보여준다.

 

5.1. Comparative Evaluation

전반적으로 SAC의 성능이 좋은 것을 위의 그래프를 통해서 알수있다. DDPG는 ant와 Humanoid(e와 f)모두 좋은 성적을 보이지 못했다. SAC는 PPO보다 빠르게 학습했는데 이것은 PPO가 복잡한 태스크에서 batch size가 크기 때문에 나타난 결과이다. SQL은 모든 태스크를 성공했지만 SAC보다 학습 속도도 느리고 성능도 조금씩 떨어진다.

5.2. Ablation Study

두 곡선을 보면 stability 차이를 확인할 수 있다. stochastic이 더 안정된 모습. 어려운 태스크 일수록 학습 안정성은 중요해진다.

 

Stochastic vs. deterministic policy :SAC는 maximum entropy objective를 사용하여 stochastic policy들을 학습한다. 

Ant-v1 task에서의 sensitivity를 보여주는 그래프. 

 

Policy evaluation. SAC는 stochastic policy로 수렴하기 때문에 최상의 성능을 만드는 최종 정책 선정에 도움을 준다. 평가를 위해 정책 분포의 평균을 근사하였다. 위 그래프에서 (a)를 보면 deterministic이 stochastic보다 좋은 성능을 보여준다.

 

Reward scale. SAC는 확률성을 제어하기 때문에 reward signal의 scaling에 민감하다. 그래프 (b)는 reward scale이 바뀌면 어떻게 성능에 변화가 생기는지를 보여준다. 작은 reward magnitude에서는 정책이 uniform해지고 점차 reward signal 사용이 어려워진다. 큰 reward magnitude는 처음에는 학습이 빨리 되는 것으로 보이나 결과적으로 deterministic으로 변하고 좋지 않은 local minima로 이끌게 되어 적절한 탐색을 불가능하게 한다.

 

Target network update. 안정성을 위해서 target network를 별도로 사용하는 것이 일반적이다. 스무딩 상수인 τ를 이용하여 target network의 weight를 업데이트한다. 그래프 (c)는 τ에 따라 달라지는 성능을 보여준다. 너무 큰 값에서는 불안정성이 발생하고 너무 작으면 학습 속도가 느려진다. 0.005로 고정한 후 모든 태스크들을 비교했더니 (exponentially moving average) 모든 태스크에서 좋은 성능을 얻었다.

 

타우를 0.005로 고정한 태스크 결과. 


6. Conclusion

우리는 엔트로피 최대화와 안정성의 이점을 유지하면서 샘플 효율적인 학습을 제공하는 Off-Policy 최대 엔트로피 심층 강화 학습 알고리즘인 SAC를 제시한다. 우리의 이론적 결과는 Soft 정책 반복을 통해 최적의 정책으로 수렴함을 보여준다. 이 결과로부터 우리는 SAC를 공식화할 수 있으며 DDPG 알고리즘과 PPO 알고리즘을 포함하여 Model free 심층 RL 방법들보다 강력하다는 것을 보여준다. 실제로 이 접근 방식의 샘플 효율성은 DDPG의 샘플 효율성을 크게 능가한다.

반응형