강화학습: PPO
ㅁ 강화학습
ㅇ 정의:
강화학습은 에이전트가 환경과 상호작용하며 보상을 최대화하는 행동을 학습하는 기계학습 방법이다.
ㅇ 특징:
– 환경과의 상호작용을 통해 데이터 수집.
– 보상을 기반으로 정책을 업데이트함.
– 탐색(exploration)과 활용(exploitation) 간의 균형이 중요.
ㅇ 적합한 경우:
– 명확한 목표와 보상 체계가 정의된 문제.
– 환경이 동적이거나 복잡한 경우.
– 시뮬레이션이 가능한 환경.
ㅇ 시험 함정:
– 강화학습과 지도학습/비지도학습의 차이를 혼동하는 경우.
– 보상 설계가 학습에 미치는 영향을 간과하는 경우.
ㅇ 시험 대비 “패턴 보기” 예시:
– O: 강화학습은 보상을 기반으로 정책을 학습한다.
– X: 강화학습은 정답 레이블을 기반으로 학습한다.
================================
1. PPO
ㅇ 정의:
PPO(Proximal Policy Optimization)는 정책 기반 강화학습 알고리즘으로, 정책 업데이트 시 큰 변화가 발생하지 않도록 규제하는 방법이다.
ㅇ 특징:
– 신뢰 영역(trust region) 내에서 정책을 업데이트하여 안정성을 보장.
– 샘플 효율성이 높고, 비교적 구현이 간단함.
– 클리핑(clipping)을 통해 정책 변화 폭을 제한함.
ㅇ 적합한 경우:
– 대규모 시뮬레이션 환경.
– 안정성과 성능 간의 균형이 중요한 문제.
– 정책 기반 알고리즘의 장점을 활용하고자 할 때.
ㅇ 시험 함정:
– PPO와 TRPO(Trust Region Policy Optimization)를 혼동하는 경우.
– 클리핑 기법이 정책 안정성에 미치는 영향을 간과하는 경우.
ㅇ 시험 대비 “패턴 보기” 예시:
– O: PPO는 정책 업데이트 시 클리핑을 사용하여 큰 변화를 방지한다.
– X: PPO는 신뢰 영역을 계산하지 않는다.
ㅁ 추가 학습 내용
1. 강화학습에서 탐색과 활용의 균형을 유지하기 위한 ε-탐욕 정책(epsilon-greedy policy):
– ε-탐욕 정책은 탐색(exploration)과 활용(exploitation) 사이의 균형을 유지하는 데 사용되는 대표적인 방법입니다.
– ε의 값은 [0, 1] 범위의 확률로 설정되며, ε의 확률로 무작위 행동을 선택(탐색)하고, 1-ε 확률로 현재 최적의 행동을 선택(활용)합니다.
– ε 값을 학습 초반에는 높게 설정하여 탐색을 강조하고, 학습이 진행됨에 따라 점진적으로 감소시켜 활용을 늘리는 방식(예: ε-감소 스케줄링)이 일반적입니다.
– 이 정책은 새로운 상태를 탐색하면서도 현재까지 학습된 정보를 활용할 수 있도록 균형을 유지해 줍니다.
2. PPO(정책 기반 알고리즘)와 가치 기반 알고리즘(DQN 등)의 비교와 적합한 상황:
– 가치 기반 알고리즘(DQN)은 Q-함수를 근사하여 행동 정책을 결정하며, 이산적인 행동 공간(discrete action space)에 적합합니다. 예를 들어, 게임 플레이와 같은 상황에서 잘 작동합니다.
– 반면, 정책 기반 알고리즘(PPO)은 정책을 직접 학습하며, 연속적인 행동 공간(continuous action space)에서도 효과적으로 동작합니다. 예를 들어, 로봇 제어와 같은 문제에서 PPO가 더 적합합니다.
– PPO는 정책 업데이트 시 클리핑(clipping)을 사용하여 급격한 변화(불안정)를 방지하며, 안정적인 학습을 제공합니다. 따라서, 환경이 복잡하거나 노이즈가 많은 상황에서도 성능이 우수합니다.
– 가치 기반 알고리즘은 샘플 효율성이 높지만, 정책 기반 알고리즘은 높은 차원의 상태 공간에서 더 유리할 수 있습니다.
3. PPO의 주요 하이퍼파라미터와 성능에 미치는 영향:
– 클리핑 값(clip range): PPO는 정책의 업데이트를 제한하기 위해 클리핑을 사용하며, 클리핑 값이 너무 작으면 학습 속도가 느려지고, 너무 크면 정책이 불안정해질 수 있습니다. 적절한 클리핑 값 설정이 중요합니다.
– 학습률(learning rate): 학습률은 정책의 업데이트 크기를 결정하며, 너무 크면 불안정한 학습을 초래하고, 너무 작으면 수렴 속도가 느려질 수 있습니다. 학습률은 실험을 통해 최적값을 찾아야 합니다.
– 배치 크기(batch size): 배치 크기는 한 번의 업데이트에 사용되는 샘플의 수를 의미하며, 큰 배치 크기는 안정성을 제공하지만 계산 비용이 증가합니다. 작은 배치 크기는 더 빠른 업데이트를 가능하게 하지만, 변동성이 커질 수 있습니다.
– 에포크 수(epochs): 한 번의 업데이트에서 데이터를 몇 번 반복해서 학습할지 결정하며, 에포크 수가 너무 많으면 과적합(overfitting)이 발생할 수 있습니다.
– 감마(γ): 할인율로, 미래 보상에 대한 중요도를 결정하며, 0에 가까울수록 단기 보상을, 1에 가까울수록 장기 보상을 더 중시합니다.
위의 내용을 정리하여 학습 노트에 추가하면 강화학습의 개념과 알고리즘을 더 깊이 이해하는 데 도움이 될 것입니다.