2017-09-26 6 views

답변

6

PPO는 정책 최적화 알고리즘 클래스 (DQN과 같은 값 기반 방법과 반대)에 속하는 간단한 알고리즘입니다. RL 기초를 "안다"면 (적어도 예를 들어 Sutton's book의 일부 첫 번째 장을 신중하게 읽은 경우), 첫 번째 논리적 단계는 정책 그래디언트 알고리즘을 익히는 것입니다. this paper 또는 Sutton's book 새 버전의 13 장을 읽을 수 있습니다. 또한 TRPO에서 this paper을 읽을 수도 있습니다.이 글은 PPO의 첫 번째 저술가에서 나왔던 이전 작품입니다 (이 논문은 여러 가지 표기법상의 실수가 있습니다. 희망이 도움이됩니다. --Mehdi

3

PPO를 포함하며 TRPO를 포함하여 정책을 보수적으로 업데이트하려고 시도하지만 각 정책 업데이트간에 성능에 영향을주지 않습니다.

이렇게하려면 업데이트 할 때마다 정책이 변경된 정도를 측정해야합니다. 이 측정은 업데이트 된 정책과 이전 정책 사이의 KL 차이를 확인하여 수행됩니다.

이것은 제한된 최적화 문제가됩니다. 새 정책과 기존 KL 차이가 미리 정의 된 (또는 적응 형) 임계 값을 초과하지 않는다는 제약 조건에 따라 정책을 최대 성능 방향으로 변경해야합니다.

TRPO를 사용하여 업데이트하는 동안 KL 제약 조건을 계산하고 피셔 매트릭스 및 공액 그라디언트를 통해이 문제에 대한 학습률을 찾습니다. 이것은 구현하기에 다소 지저분합니다.

PPO를 사용하면 KL 발산을 제약 조건에서 페널티 용어로 바꾸는 등의 방법으로 L1, L2 중량 패널티와 유사하게 큰 값으로 키울 수 있습니다. PPO는 정책 비율 (업데이트 된 정책과 이전 정책의 비율)을 1.0 주변의 작은 범위 내에서 하드 클리핑하여 KL 분산을 모두 계산할 필요를 제거함으로써 추가 수정을합니다. 여기서 1.0은 새 정책이 이전 정책과 동일 함을 의미합니다.