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
반응형