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)에서는 대리목적 함수를 정책 업데이트 크기에 대한 제약 조건 하에서 최대화.
- KL : 쿨백 라이블러 발산으로, 두 확률 분포의 차이를 측정하는 지표.
- 선형 근사를 사용해 목표 함수를 근사, 이차 근사를 사용해 제약 조건을 근사, 공액 경사법을 사용해 효율적으로 해결.
- 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 에서는 위 식과 같이 대체 목적 함수를 최대화.
=> 문제점 : 제약없이 단순한 최대화는 정책이 과도하게 크게 업데이트 되어 확률이 1이 넘어감.
- 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)을 제공. => 다음 정책 업데이트 시에 사용.
* 1.5와 2는 경험적으로 정한 것이며, 알고리즘은 이에 크게 반응 하지 않음.
5. Algorithm
- 대리 손실 함수는 기존 정책 경사 구현에 약간의 변경만 가하면 계산 및 미분이 가능.
- 또한, 충분한 탐색을 보장하기 위해 엔트로피 보너스를 추가해 목적 함수를 확장.
- 정책 경사 구현 방식은 순환 신경망(RNN)에 적합.
- 정책을 T 타임 스텝 동안 실행.(T는 에피소드 길이보다 훨씬 짧음.)
- 수집된 샘플로 업데이트를 수행.
- T 시점 이후를 참조하지 않는 어드밴티지 추정기를 필요.
99. 성능 지표
감상
- Q-Learning 이후로 오랜만에 읽은 강화 학습 관련 논문이라 어려웠다.
- Q-Learning으로 강화 학습 모델 학습 당시 데이터의 다양성과 복잡도가 늘어나면 학습이 잘되지 않았던 문제들에 대해 이해할 수 있을 것 같다.
- PPO를 알게 된 것은 Chat GPT 서비스에 사용된다는 것 때문에 알게 되었다.
- 해당 논문도 있던데 다음엔 그것을 읽어 봐야 겠다.
- KL 발산을 오랜만에 다시 보아 공부가 필요했다.