AI/강화학습(RL)
[RL] PPO
seminj
2024. 9. 6. 11:04
728x90
반응형
성능 붕괴(performance collapse)
강화학습에서는 여러 가지 정책들을 탐색
한 정책에 의해 생성되는 궤적을 이용해, 정책의 파라미터를 업데이트
TRPO(Trust Region Policy Optimization)
정책 경사의 문제점
정책을 너무 많이 업데이트하면 최적 정책에서 멀어질 수 있음
정책을 너무 적게 업데이트하면 최적 정책으로 수렴하는데 너무 오래걸림
TRPO
기존의 정책에서 너무 멀리 벗어나지 않는 신뢰 영역을 계산
신뢰 영역 내에서만 정책을 업데이트
기존 정책과 새로운 정책의 차이는 쿨백-라이블러 발산으로 계산
PPO 실습
# 병렬 환경
from stable_baselines3.common.env_util import make_vec_env
vec_env = make_vec_env("CartPole-v1", n_envs=4)
# 학습
from stable_baselines3 import PPO
model = PPO("MlpPolicy", vec_env, verbose=1)
model.learn(total_timesteps=25000, progress_bar=True)
# 시각화
import tqdm
import gymnasium as gym
env = gym.make("CartPole-v1", render_mode="rgb_array")
render_episode(env, model)
728x90
반응형