2022.01.18 - [ReinforcementLearning] - TRPO와 PRO 구현
- 연속행동으로 에이전트를 제어하기 위해 폴리시 그래디언트 알고리즘을 로보스쿨이라는 환경이 적용
- 쉬운 구현과 상징성의 이유로 아직까지 제일 유명한 알고리즘.
- first-order optimization 만을 이용해 구현이 매우 쉬우며, TRPO만큼의 성능을 지니면서 data effciency 문제와 TRPO의 복잡하고,noise를 포함한 구조의 문제점들을 해결하였다.
- PPO의 주요 장점은 무엇인가?
- PPO는 TRPO와 유사하지만 1차 최적화 메서드만 사용해 목적함수를 최적화 한다.
- PPO는 목표함수가 너무 커지면 목적함수를 정리 Clipping해 폴리시가 너무 큰 스텝을 취하지 않게 한다.
- PPO가 좋은 샘플 효율성을 달성하는 방법은 무엇인가?
- 다른 폴리시 그래디언트 알고리즘과 마찬가지로 PPO와 TRPO도 on-policy지만,
- TRPO는 2차 미분을 사용해 데이터에서 고차 정보를 추출해 사용하므로 샘플 효율성이 좋고
- PPO는 동일한 온-폴리시 데이터에 대해 여러 폴리시 업데이트를 수행할 수 있어 샘플 효율성이 좋다.
- AC와 reonforce 보다 상대적으로 샘플 효율성이 높아 적은 데이터로도 학습이 가능하다는 장점이 있다.
Abstract
env와의 interaction을 통한 data sampling과 policy gradient ascent 사용한 surrogate objective function optimization를 교대하는 Policy Gradient 방식을 제안한다. 기존의 PG가 data sample당 하나의 gradient update를 수행하는 반면, 우리는 mini batch update의 여러 epoch를 가능하게 하는 새로운 objective function을 제안한다.
제안하는 PPO는 TRPO의 일부 이점이 있지만 구현이 훨씬 간단하고 sample complexity가 empirically하게 더 좋다. 결과적으로 PPO가 다른 online PG 방식보다 성능이 우수하고, 전반적으로 sample complexity, simplicity, wall-time에서 유리한 balance를 유지한다는 것을 보여준다.
PPO algorithm은 fixed-length trajectory segment를 이용한다.
1. 각 iteration에서, N actors는 policy로 T timesteps의 data(T-length trajectory)를 수집한다.
2. T-timestep 만큼의 advantage estimate A_t를 계산한다.
3. NT timestep data에 대해 surrogate loss L^CLIP+VF를 생성한다.
4. surrogate loss를 minibatch SGD로 K epochs만큼 optimize한다.
참고 : https://ropiens.tistory.com/85
https://smj990203.tistory.com/entry/PPOProximal-Policy-Optimization-Algorithms
강화학습 로드맵 : https://ropiens.tistory.com/78
'Machine Learning > ReinforcementLearning' 카테고리의 다른 글
계층적 강화 학습이란? (0) | 2022.03.28 |
---|---|
~ing[논문리뷰]An End-to-End optimal Trade Execution Framework based on Proximal Policy Optimization (0) | 2022.03.22 |
[Book][doit_1]강화학습이란 (2) | 2022.02.01 |
블랙박스 최적화 알고리즘 이해하기 (0) | 2022.01.19 |
DAgger알고리즘으로 모방 학습하기 (0) | 2022.01.19 |