등장배경
1) On-policy learning의 낮은 sample efficiency 극복
ex) TRPO, PPO, A3C
→ 이에 따른 대안으로 past experience 사용 (하지만 NN와 사용시 안정성과 수렴성 문제가 존재)
2) brittle 하고 hyper-parameter에 영향을 많이 받음
ex) DDPG → 이 논문의 baseline
Contribution
1) continuous 한 state, action space에서 안정적인 알고리즘 제안
2) maximum entropy framework 소개
3) soft Q-learning에 기반한 maximum entropy 가 approximate inference와 연관되어 갖고 있는 complexity와 potential instability 제거
→ 2022.07.07 이 부분은 추가적인 이해 필요!
배경지식
1) actor-critic 방식에서는 policy(actor)와 value function(critic) 이 joint하게 최적화된다.
2) DDPG의 한계
→ 이를 보완하기 위해 stochastic actor를 도입하고 entropy maximization 목표도 추가로 설정한다
번외) 와 는 policy에 의해 각 action과 state에 흩어져있을 distribution을 의미하는 state와 action-state marginal
3) Maximum entropy RL
위와 같은 objective를 만족해야 하며 의미는 어떤 policy에 대해 이로인한 state marginal에 대해 일반적인 reward 항과 엔트로피항의 합을 최대화해야 함을 의미한다.
는 policy가 얼마만큼의 stochasticity를 가져야 최대가 되는지 결정하는 상수
4) Soft Q Learning
Soft state value function이 아래와 같이 정의된 이유?
참고) 뒤의 policy에 대한 항은 Expectation을 나오면서 아래의 엔트로피와 같이 변형가능하다.
이에 대한 직관적 이해를 위해 다시 식을 다음과 같이 변형시키면
어떤 action을 취할 확률은 state에 대한 평균적인 reward와 마찬가지로 그 state를 취하면서 가장 큰 reward 편차를 기록하는 action의 reward 차의 exp하게 비례하여 할당하면 정당하다는 방식으로 이해할 수 있다.
편리성을 위해 정의된 policy 공간 안의 리스트 중 현재 Q-function 의 exp과 KL distance가 가장 작은 policy를 다음 policy로 설정한다.
수식에서 z는 normalization term이며 gradient에는 영향을 주지 않는다.
이 부분을 항상 까먹음
policy paratmer 는 아래와 같은 objective를 minimize 하면서 얻어지기 때문에
다음과 같은 두 줄의 식이 성립하는 것이다.
이는
과 동치이며 J는 KL divergence의 정의에 의해 아래와 같은 관계로 표현가능하다.
Z는 앞서 말한 것과 같이 단순히 normalization term이므로 제거하면 아래와 같은 inequality를 얻는다.
Soft Bellman equation에 위의 inequality와 의 정의를 재귀적으로 적용하면 최종적으로 아래와 같은 식을 통해 증명하고자 했던 바를 얻는다.
위에 제시한 방법은 모두 tabular case 에 대한 내용으로 continuous domain에 적용을 위해서는 Q 값에 대한 function approximator가 필요하다.
또한 policy evaluation과 policy improvement 를 two step으로 돌리기에는 계산적인 무리가 있으므로 이번 논문의 SAC 알고리즘을 소개한다.
본문내용
1) function approximation
state value function , soft Q-function , policy 로 표현한다.
배경지식에서 소개한 것과 같이 policy evaluation과 improvement를 수렴까지 돌리는 것 대신 SGD를 통해 Q-function과 policy 가 모두 optimize 되도록 alternate 한다.
ex) value function 같은 경우에는 output을 그대로, policy는 Gaussian policy의 mean과 covariance 를 NN을 통해 얻어 사용하도록 한다.
State value function은 위와 같이 정의되었기 때문에 원래 대로라면 별도의 parameter가 필요하지 않지만
과 같은 이점들이 있어 별도의 NN을 사용하고 있다.
각 함수의 objective function과 parameter update 방식은 아래와 같다.
위의 식은 soft state-value function의 정의인 아래와 같은 식을 따라
제곱 합이 최소가 되는 방향으로 업데이트 되며 gradient는 아래와 같다.
주의) 이 때 sample하는 action은 replay buffer가 아닌 현재 policy 로부터 기인한 것이다.
이 때 V의 parameter notation은
하는 방식으로 선정된다.
gradient은 아래와 같다.
앞서 언급한 policy 선정 방식으로부터 우리는 policy에 대해 아래와 같은 objective를 정한다.
위의 식에서 Expectation 내부에 있는 식은 다시 E_{\pi}[log\pi_{\phi}-Q_\theta(s_t,.)] $ 꼴로 표현되는데 policy에 대해 아래와 같이 action을 reparameterize 하는 전략을 사용해 최종적인 objective function은 다음과 같이 표현된다.  아래의 objective function 식을 통해 randomness 는 action 이 아닌 $\epsilon_t에 있음을 알 수 있다.
Reparameterize 전략을 사용하는 이유는 아래의 사이트를 통해 참조하면 좋다.
초짜 대학원생의 입장에서 이해하는 Auto-Encoding Variational Bayes (VAE) (3)
policy에 대한 gradient은 다음과 같은 식으로 정리되는데
이는 아래의 사이트에 제시된 유도 과정을 참고하면 좋을 것이다.
Gradients of the policy loss in Soft-Actor Critic (SAC)
전체적인 알고리즘은 아래와 같다.
여기서 주의할 점은
SAC 성능에 영향을 미치는 요소들
이번 논문에서 엔트로피는 value function과 policy 의 objective function에 등장하는데
policy에서는 premature converge를 제한, value function에서는 exploration을 증가시키는 효과가 있다.
이러한 효과를 비교하기 위해 앞서 reparameterization 전략에서 exploration noise를 고정시켜버려 deterministic 한 상황을 연출한 후 가장 어려운 task 에 대해 성능을 비교한 결과는 아래와 같다.
빨간색 그래프는 확실히 stability가 저하된 모습을 확인할 수 있다.