Proximal Policy Optimization Algorithms(28 Aug 2017)

2025. 5. 6. 19:06친해지기, 논문

*원문 논문 아카이브

https://arxiv.org/abs/1707.06347

 

Proximal Policy Optimization Algorithms

We propose a new family of policy gradient methods for reinforcement learning, which alternate between sampling data through interaction with the environment, and optimizing a "surrogate" objective function using stochastic gradient ascent. Whereas standar

arxiv.org

1. Introduction

  • 최근 신경망을 활용한 다양한 강화 학습 기법들이 제안.
    • Deep Q-learning
    • Vanilla policy gradient methods
    • Trust region
    • Natural policy gradient
  • 위 기법들은 아래와 같은 개선의 여기가 있음.
    • 확장성(대규모 모델 및 병렬 구현)
    • 데이터 효율성(적은 샘플로도 학습)
    • 견고성(하이퍼파라미터 조정없이 다양한 문제 학습)
    • 복잡한 구조
  • 본 논문에서는 TRPO 수준의 데이터 효율성과 안정적 성능 유지, 1차 최적화만을 사용하는 알고리즘 제안.
  • 확률 비율을 클리핑하는 새로운 목적 함수 도입. -> 정책 성능에 대해 '비관적인 추정값(하한선)'을 제공.
  • 정책 최적화를 위해, 정책 이용한 데이터 샘플링 / 샘플된 데이터에 대한 다중 에폭 최적화를 번갈아 수행.
  • 다양한 형태의 대리 목적 함수(Surrogate Objective)에 대한 실험 수행 하였으며 확율 비율을 클리핑한 버전이 가장 좋은 성능.
  • 성능 / 샘플 효율성 / 훨씬 간단한 구조 유지.

* 대리 목적 함수

  • 진짜 목적 함수(True Objective) : 현재 정책하에서 기대되는 누적 보상을 최대화 하는 것.
  • 진짜 목적 함수를 직접 최적화할때 발생하는 문제점.
    • 기대값은 샘플링을 통해서만 계산할 수 있음.
      • 기대값 : 확률적으로 가능한 모든 경우의 수의 평균.
      • 샘플링 : 정책을 따르는여러 에피소드를 실행해 평균을 내 근사한 것.
      • 따라서 기대값은 너무 크고 현실적으로 불가능하므로 샘플링이 필요.
    • 정책 바뀌면 데이터 분포도 바뀜.
    • 계산량이 크고 불안정함.
  • 대리 목적 함수 : 실제 보상 기댓값을 직접 최적화하지 않고, 보상을 늘리는 방향으로 정책을 개선하는 대안. 

2. Background: Policy Optimization(정책 최적화)

2.1. Policy Gradient Methods(정책 경사 방법)

  • 정책 경사(Policy Gradient)의 추정값을 계산한 뒤, 이를 확률적 경사 상승 알고리즘에 넣어 최적화.
  • 유한한 샘플 배치에 대해 경험적으로 평균을 내는 연산으로 샘플링과 최적화를 번갈아 수행하는 알고리즘 구조.

일반적인 경사 추정기의 형태

  • 자동 미분(Auto Diff) 기반 구현에서는 정책 경사 추정기의 그래디언트를 갖는 목적 함수를 정의하고 자동 미분.
  • 정책을 여러번 업데이트 하면 오히려 성능이 안좋아짐.

2.2. Trust Region Methods(신뢰 영역 방법)

  • TRPO(Trust Region Policy Optimization)에서는 대리목적 함수를 정책 업데이트 크기에 대한 제약 조건 하에서 최대화.

TRPO의 형태
제약 조건

  • KL : 쿨백 라이블러 발산으로, 두 확률 분포의 차이를 측정하는 지표.
  • 선형 근사를 사용해 목표 함수를 근사, 이차 근사를 사용해 제약 조건을 근사, 공액 경사법을 사용해 효율적으로 해결.
  • TRPO는 제약 조건 대신 페널티를 사용하는 것이 더 적합하다고 제시. => 제약 없는 최적화 문제.

페널티를 적용한 TRPO

  • 위 식에서 최대 KL발산을 구하는 대신, 평균 KL 발산을 계산해 정책 성능에 대한 하한선 제공.

* 쿨백 라이블러 발산에 대한 포스팅

https://meerkat-developer.tistory.com/3

 

CHAPTER 3. 변이형 오토인코더

변이형 오토인코더는 현재 생성 모델링 분야의가장 기본적인 딥러닝 구조.3.2 오토인코더인코딩 : 네트워크 이미지 같은 고차원 입력 데이터를 저차원 임베딩 벡터로 압축.디코딩 : 네트워크 임

meerkat-developer.tistory.com

* TRPO 논문 아카이브

https://arxiv.org/abs/1502.05477

 

Trust Region Policy Optimization

We describe an iterative procedure for optimizing policies, with guaranteed monotonic improvement. By making several approximations to the theoretically-justified procedure, we develop a practical algorithm, called Trust Region Policy Optimization (TRPO).

arxiv.org

3. Clipped Surrogate Objective

확률 비율 함수

  • 확률 비율 함수란 현재 정책과 이전 정책 간의 확률 비율 즉, 같은 상태에서 동일한 행동을 선택할 확률이 정책 업데이트 전후로 어떻게 변했는지 나타낸 비율.

TRPO에서의 활용

  • TRPO 에서는 위 식과 같이 대체 목적 함수를 최대화.

=> 문제점 : 제약없이 단순한 최대화는 정책이 과도하게 크게 업데이트 되어 확률이 1이 넘어감.

PPO에서의 제안

  • PPO에서는 확률 비율 구간을 ( 1ϵ,1+ϵ)로 클리핑.
  • min 함수를 사용해 클리핑 항과 클리핑 되지 않은 항 중 더 작은 값을 선택.

이득을 기준으로 목적 함수가 클리핑 되는 법을 보여주는 그래프

* x축 r : 확률 비율(정책이 얼마나 바뀌었는지), y축 L^CLIP : 목적 함수의 값(평탄하면 클리핑)

* 빨간 점은 r = 1 즉, 정책 업데이트 전 상태. => 클리핑의 중심.

  • 이득이 0 보다 클 때(A > 0) = 좋은 행동.
    • 선형 증가 하지만 r이 너무 커지면 클리핑을 적용.
  • 이득이 0보다 작을 때(A < 0) = 나쁜 행동.
    • 나쁜 행동 이므로 덜 자주 업데이트. => r이 1보다 작아야됨.(r < 1)
    • r이 너무 작아지면 감소를 막음.

여러 목적 함수들이 어떻게 변화하는지에 대한 그래프

4. Adaptive KL Penalty Coefficient

  • KL 발산 패널티는 대리 목적 함수를 보완.
  • KL 발산이 목표 값(d_targ)에 도달하도록 페널티 계수(β)를 동적으로 조정.
  • 이 방식은 클리핑 대리 목적 함수보다 성능이 떨어지지만 중요한 기준선(Baseline)을 제공. => 다음 정책 업데이트 시에 사용.

여러 에폭에 걸쳐 미니배치 확률적 경사 하강법을 사용해 KL 페널티 목적 함수 최적화
KL 발산
β 값 조정법

* 1.5와 2는 경험적으로 정한 것이며, 알고리즘은 이에 크게 반응 하지 않음.

5. Algorithm

  • 대리 손실 함수는 기존 정책 경사 구현에 약간의 변경만 가하면 계산 및 미분이 가능.
  • 또한, 충분한 탐색을 보장하기 위해 엔트로피 보너스를 추가해 목적 함수를 확장.

S 항이 정책의 엔트로피 보너스

  • 정책 경사 구현 방식은 순환 신경망(RNN)에 적합.
    • 정책을 T 타임 스텝 동안 실행.(T는 에피소드 길이보다 훨씬 짧음.)
    • 수집된 샘플로 업데이트를 수행.
    • T 시점 이후를 참조하지 않는 어드밴티지 추정기를 필요.

어드밴티지 추정기

99. 성능 지표

감상

  • Q-Learning 이후로 오랜만에 읽은 강화 학습 관련 논문이라 어려웠다.
  • Q-Learning으로 강화 학습 모델 학습 당시 데이터의 다양성과 복잡도가 늘어나면 학습이 잘되지 않았던 문제들에 대해 이해할 수 있을 것 같다.
  • PPO를 알게 된 것은 Chat GPT 서비스에 사용된다는 것 때문에 알게 되었다.
  • 해당 논문도 있던데 다음엔 그것을 읽어 봐야 겠다.
  • KL 발산을 오랜만에 다시 보아 공부가 필요했다.
728x90